Diferència entre revisions de la pàgina «Programación del ESP32»
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
Contingut
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
- Simulación con botones en Arduino Nano
- Simulación con interruptores en Arduino Nano
- Simulación con interruptores en ESP32 (código en github)
- ESP32 - Button Tutorial de esp32io.com
pull-up
Entradas analógicas
I2C
FreeRTOS
Hilos (Threads)
Mutex
- Ejemplo de uso de mutex (origen del código con explicación)
- firmware IoT-02_mqtt_sync_upcSchool_broker1
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.