Diferència entre revisions de la pàgina «Programación del ESP32»

De binefa.com
Salta a la navegació Salta a la cerca
(Es crea la pàgina amb «= Placa IoT-02 conectada a Snap! mediante MQTT = [https://snap.berkeley.edu/snap/snap.html#open:https://wa.binefa.cat/snapCodes/IoT-02_board.xml Código Snap! v10] El...».)
 
 
(Hi ha 27 revisions intermèdies del mateix usuari que no es mostren)
Línia 1: Línia 1:
 
= Placa IoT-02 conectada a Snap! mediante MQTT =
 
= Placa IoT-02 conectada a Snap! mediante MQTT =
[https://snap.berkeley.edu/snap/snap.html#open:https://wa.binefa.cat/snapCodes/IoT-02_board.xml Código Snap! v10] El [https://github.com/jordibinefa/IoT-02/tree/master/codes/IoT-02_mqtt_sync_upcSchool_broker1 ''firmware'' IoT-02_mqtt_sync_upcSchool_broker1] enseña el número MAC por la pantalla OLED cuando la placa IoT-02 se conecta a vuestra wifi. (Cambiar el archivo [https://github.com/jordibinefa/IoT-02/blob/master/codes/IoT-02_mqtt_sync_upcSchool_broker1/IoT-02_wifiCredentials.h IoT-02_wifiCredentials.h] en la línea 21 substituyendo ''iotcat'' por el nombre de la SSID de vuestra wifi y ''1234567890a'' por vuestra contraseña).
+
[https://snap.berkeley.edu/snap/snap.html#open:https://wa.binefa.cat/snapCodes/IoT-02_board.xml Código Snap! v10] El [https://github.com/jordibinefa/IoT-02/tree/master/codes/IoT-02_mqtt_sync_upcSchool_broker1 ''firmware'' IoT-02_mqtt_sync_upcSchool_broker1] enseña el número MAC por la pantalla OLED cuando la [[Placa IoT-02 (es) | placa IoT-02]] se conecta a vuestra wifi. (Cambiar el archivo [https://github.com/jordibinefa/IoT-02/blob/master/codes/IoT-02_mqtt_sync_upcSchool_broker1/IoT-02_wifiCredentials.h IoT-02_wifiCredentials.h] en la línea 21 substituyendo ''iotcat'' por el nombre de la SSID de vuestra wifi y ''1234567890a'' por vuestra contraseña).
 +
 
 +
Para evitar errores de compilación, verificad que teneis instalada la biblioteca [https://github.com/adafruit/Adafruit_BusIO Adafruit_BusIO]. No hace falta descargarla, desde el propio IDE de Arduino se puede instalar buscándola por el nombre.
 +
 
 
= Salidas digitales =
 
= Salidas digitales =
 +
* [https://wokwi.com/projects/329845964804194900 Leds] ([https://github.com/jordibinefa/IoT-02/blob/master/codes/IoT-02_01_leds/IoT-02_01_leds.ino IoT-02_01_leds.ino])
 +
 
= Entradas digitales =
 
= Entradas digitales =
 +
* [https://wokwi.com/projects/354037245005603841 Simulación con botones en Arduino Nano]
 +
* [https://wokwi.com/projects/355572920722910209 Simulación con interruptores en Arduino Nano]
 +
* [https://wokwi.com/projects/329840862091543122 Simulación con interruptores en ESP32] ([https://github.com/jordibinefa/IoT-02/blob/master/codes/IoT-02_03_inputs/IoT-02_03_inputs.ino código en ''github''])
 +
* [https://esp32io.com/tutorials/esp32-button ESP32 - Button] Tutorial de [https://esp32io.com/ esp32io.com]
 +
== ''pull-up'' ==
 +
[[Image:Pull-up-button.png|center|thumb|pull-up]]
 +
 
= Entradas analógicas =
 
= Entradas analógicas =
 +
* [https://wokwi.com/projects/329839893260796499 LDR] ([https://es.wikipedia.org/wiki/Fotorresistor fotorresistor])
 +
* [https://wokwi.com/projects/330035502407221843 Lectura de dos potenciómetros]
 +
 
= I2C =
 
= I2C =
 +
[https://www.luisllamas.es/arduino-i2c/ El bus I2C en Arduino]
 +
 +
* [https://wokwi.com/projects/329847579409908306 Escáner de dispositivos I2C]
 +
* [https://wokwi.com/projects/329848007382008404 Indicador de nivel de luz mediante pantalla OLED]
 +
 
= FreeRTOS =
 
= FreeRTOS =
 +
[https://www.freertos.org/ Página oficial de FreeRTOS]
 
== Hilos (''Threads'') ==
 
== Hilos (''Threads'') ==
 +
* [https://wokwi.com/projects/389915605944256513 Ejemplo de multitarea]
 +
 
== Mutex ==
 
== Mutex ==
 +
* [https://wokwi.com/projects/431736585925641217 Ejemplo de uso de ''mutex''] ([https://www.circuitstate.com/tutorials/how-to-write-parallel-multitasking-applications-for-esp32-using-freertos-arduino/ origen del código con explicación])
 +
* [https://github.com/jordibinefa/IoT-02/tree/master/codes/IoT-02_mqtt_sync_upcSchool_broker1 ''firmware'' IoT-02_mqtt_sync_upcSchool_broker1]
 +
 +
= Entradas y salidas en la industria =
 +
[[Maquinari de l'IoT-Vertebrae | Ejemplo de hardware para la interacción de señales industriales con el ESP32]] (Proyecto [[IoT-Vertebrae]])
 +
 
= Ejercicios =
 
= Ejercicios =
 +
* Al pulsar el botón I34 se enciende el led 19, transcurrido un segundo se apaga el led 19 y se enciende el led 23, transcurrido un segundo se apaga el led 23 y se enciende el led 27, transcurrido un segundo se apaga el led 27 y se enciende el led 32, transcurrido un segundo se apaga el led 32 y se enciende el led 19, y así en bucle infinito.
 +
* Al pulsar el botón I34 se enciende el led 19, transcurrido un segundo se apaga el led 19 y se enciende el led 23, transcurrido un segundo se apaga el led 23 y se enciende el led 27, transcurrido un segundo se apaga el led 27 y se enciende el led 32, transcurrido un segundo se apaga el led 32 y se enciende el led 19, y así en bucle infinito. Al pulsar el botón I35 el ciclo se detiene. Solucionarlo '''sin''' hilos.
 +
* Al pulsar el botón I34 se enciende el led 19, transcurrido un segundo se apaga el led 19 y se enciende el led 23, transcurrido un segundo se apaga el led 23 y se enciende el led 27, transcurrido un segundo se apaga el led 27 y se enciende el led 32, transcurrido un segundo se apaga el led 32 y se enciende el led 19, y así en bucle infinito. Al pulsar el botón I35 el ciclo se detiene. Solucionarlo '''con''' hilos.

Revisió de 16:09, 24 maig 2025

Placa IoT-02 conectada a Snap! mediante MQTT

Código Snap! v10 El firmware IoT-02_mqtt_sync_upcSchool_broker1 enseña el número MAC por la pantalla OLED cuando la placa IoT-02 se conecta a vuestra wifi. (Cambiar el archivo IoT-02_wifiCredentials.h en la línea 21 substituyendo iotcat por el nombre de la SSID de vuestra wifi y 1234567890a por vuestra contraseña).

Para evitar errores de compilación, verificad que teneis instalada la biblioteca Adafruit_BusIO. No hace falta descargarla, desde el propio IDE de Arduino se puede instalar buscándola por el nombre.

Salidas digitales

Entradas digitales

pull-up

pull-up

Entradas analógicas

I2C

El bus I2C en Arduino

FreeRTOS

Página oficial de FreeRTOS

Hilos (Threads)

Mutex

Entradas y salidas en la industria

Ejemplo de hardware para la interacción de señales industriales con el ESP32 (Proyecto IoT-Vertebrae)

Ejercicios

  • Al pulsar el botón I34 se enciende el led 19, transcurrido un segundo se apaga el led 19 y se enciende el led 23, transcurrido un segundo se apaga el led 23 y se enciende el led 27, transcurrido un segundo se apaga el led 27 y se enciende el led 32, transcurrido un segundo se apaga el led 32 y se enciende el led 19, y así en bucle infinito.
  • Al pulsar el botón I34 se enciende el led 19, transcurrido un segundo se apaga el led 19 y se enciende el led 23, transcurrido un segundo se apaga el led 23 y se enciende el led 27, transcurrido un segundo se apaga el led 27 y se enciende el led 32, transcurrido un segundo se apaga el led 32 y se enciende el led 19, y así en bucle infinito. Al pulsar el botón I35 el ciclo se detiene. Solucionarlo sin hilos.
  • Al pulsar el botón I34 se enciende el led 19, transcurrido un segundo se apaga el led 19 y se enciende el led 23, transcurrido un segundo se apaga el led 23 y se enciende el led 27, transcurrido un segundo se apaga el led 27 y se enciende el led 32, transcurrido un segundo se apaga el led 32 y se enciende el led 19, y así en bucle infinito. Al pulsar el botón I35 el ciclo se detiene. Solucionarlo con hilos.