Diferència entre revisions de la pàgina «Curs pràctic de programació d'electrònica encastada de baix cost per a la Internet de les Coses. Edició 27 i 28 d'abril de 2022»

De binefa.com
Salta a la navegació Salta a la cerca
m
 
(Hi ha 8 revisions intermèdies del mateix usuari que no es mostren)
Línia 7: Línia 7:
 
[https://raw.githubusercontent.com/AchimPieters/esp32-homekit-camera/master/Images/ESP32-30PIN-DEVBOARD.png Distribució de pins a l'ESP32-VROOM]
 
[https://raw.githubusercontent.com/AchimPieters/esp32-homekit-camera/master/Images/ESP32-30PIN-DEVBOARD.png Distribució de pins a l'ESP32-VROOM]
  
[https://www.binefa.cat/training/iot02/pdf/iot02_00_ca.pdf Introducció a la placa IoT-02]
+
[https://www.binefa.cat/training/iot02/pdf/iot02_00_ca.pdf Introducció a la placa IoT-02] (Formes de programar la [[Placa IoT-02 | placa IoT-02]])
  
 
= Exemples bàsics d'actuadors =
 
= Exemples bàsics d'actuadors =
Línia 102: Línia 102:
  
 
= MQTT =
 
= MQTT =
 +
[https://www.binefa.cat/IoT/teoria/mqtt_00.pdf Introducció al protocol MQTT], el protocol més emprat a Internet de les Coses.
  
 
[http://formacio.things.cat/snap7/snap.html#open:../codisSnap/esp32_DT.xml esp32_DT.xml] funcionant amb [http://formacio.things.cat/xtra/wsMqtt02/ un exemple Qt amb WebAssembly]
 
[http://formacio.things.cat/snap7/snap.html#open:../codisSnap/esp32_DT.xml esp32_DT.xml] funcionant amb [http://formacio.things.cat/xtra/wsMqtt02/ un exemple Qt amb WebAssembly]
Línia 119: Línia 120:
 
<!-- [https://upcommons.upc.edu/handle/2099.3/36355 Automatismos eléctricos programables] -->
 
<!-- [https://upcommons.upc.edu/handle/2099.3/36355 Automatismos eléctricos programables] -->
 
= Més documentació =
 
= Més documentació =
 +
[[Uso del NodeRED (2022) | Uso del NodeRED]]
 +
 
[[Afegir l'ESP32 a l'IDE d'Arduino]]
 
[[Afegir l'ESP32 a l'IDE d'Arduino]]
  
Línia 125: Línia 128:
 
[http://rebost.binefa.cat/iot/videos/02_IDE_Arduino_ESP32_es.mkv Vídeo de instalación del IDE de Arduino para la placa IoT-02] basada en ESP32
 
[http://rebost.binefa.cat/iot/videos/02_IDE_Arduino_ESP32_es.mkv Vídeo de instalación del IDE de Arduino para la placa IoT-02] basada en ESP32
  
[https://www.binefa.cat/IoT/teoria/mqtt_00.pdf Introducció al protocol MQTT], el protocol més emprat a Internet de les Coses.
+
[https://www.binefa.cat/doc/Dropbox/Public/oshw20161122/20161122_00.pdf Arduino i Raspberry Pi (1/4)],
 +
[https://www.binefa.cat/doc/Dropbox/Public/oshw20161124/20161124_01.pdf Arduino i Raspberry Pi (2/4)],
 +
[https://www.binefa.cat/doc/Dropbox/Public/oshw20161129/20161129_00.pdf Arduino i Raspberry Pi (3/4)] i
 +
[https://www.binefa.cat/doc/Dropbox/Public/oshw20161201/20161201_00.pdf Arduino i Raspberry Pi (4/4)]
 +
 
 +
[https://www.binefa.cat/training/ceic/20220427/ Repositori amb els materials del curset del 27 d'abril de 2022]

Revisió de 08:49, 22 feb 2023

Curs pràctic de programació d'electrònica "embedded low-cost" per a la IoT. Online en Directe a la pàgina del Centre de Formació i Ocupació del Col·legi d'Enginyers Industrials de Catalunya. Edició 27 i 28 d'abril de 2022

Microcontroladors d'escala petita[modifica]

Una introducció a Arduino

Microcontroladors d'escala mitjana[modifica]

Distribució de pins a l'ESP32-VROOM

Introducció a la placa IoT-02 (Formes de programar la placa IoT-02)

Exemples bàsics d'actuadors[modifica]

Carpeta de projectes a Wokwi

Control de 4 leds amb ESP32[modifica]

Control de quatre leds al Wokwi IoT-02_01_leds.ino al GitHub

Control d'un relé[modifica]

Pàgines 13, 17 i 18

Set / Reset amb un parell de relés sense microcontrolador simulat a Wokwi

Relé al TinkerCad

Circuit d'enclavament al TinkerCad

Arduino Uno[modifica]

Control d'un relé a Wokwi emprant Arduino Uno

ESP32[modifica]

Control d'un relé a Wokwi emprant ESP32

Servomotors[modifica]

Pàgines 31 a 40

Arduino Uno[modifica]

Potenciòmetre controlant la posició d'un servo emprant Arduino Uno

Escombrat de posicions d'un servo emprant Arduino Uno

Arduino Mega[modifica]

Exemple de control de 31 servos

ESP32[modifica]

Biblioteca de control de servomotors per a ESP32 a l'IDE d'Arduino

Simulació a Wokwi d'un servo amb ESP32 tenint permisos per a pujar biblioteques

Simulació a Wokwi d'un servo amb ESP32 sense tenir permisos per a pujar biblioteques

Exemples bàsics de sensòrica[modifica]

Entrades digitals: Pàgines 7 a 9

Detecció de final de carrera[modifica]

Control de leds amb botons al Wokwi IoT-02_03_inputs.ino al GitHub

Nivell de lluminositat[modifica]

Lectura de l'LDR al Wokwi IoT-02_05_ldr.ino al GitHub

Mesura de distància per ultrasons[modifica]

Mesura de distància per ultrasons amb ESP32 al Wokwi

Mesura d'inclinacions i acceleracions[modifica]

Mesura d'inclinacions i acceleracions. Arduino Uno + MPU6050 amb Arduino Uno al Wokwi

Visualització gràfica d'inclinacions i acceleracions. Arduino Uno + MPU6050 amb Arduino Uno al Wokwi

Plotter bàsic[modifica]

Plotter bàsic amb ESP32 al Wokwi

Recordant d'afegir una coma al principi per a mantenir el format json, hem afegit al final de l'arxiu diagram.json:

"serialMonitor": { "display": "plotter" }

Mesura d'humitat i temperatura[modifica]

Mesura d'humitat i temperatura amb ESP32 al Wokwi

Mesura de temperatura emprant un termistor de tipus NTC amb ESP32 al Wokwi

Conversió digital/analògica (DAC)[modifica]

Seguint l'exemple ESP32 Arduino IDE code for DAC s'ha fet aquest exemple de DAC per a ESP32 a Wokwi. A la versió actual de Wokwi no es pot veure la il·luminació variant del led.

Exercicis[modifica]

Graficació dels valors de temperatura i humitat[modifica]

Basant-vos amb l'exemple Mesura d'humitat i temperatura amb ESP32 al Wokwi, visualitzeu gràficament els valors de temperatura i humitat. Recordeu de modificar l'arxiu diagram.json.

 Serial.print(data.temperature);
 Serial.print(",");
 Serial.print(data.humidity);
 Serial.println("");

Sistema de tres leds que ens indica la temperatura de comfort[modifica]

Seguint els consells de Determining Thermal Comfort Using a Humidity and Temperature Sensor volem fer un sistema amb tres leds de colors. Basant-vos en l'exemple Mesura de temperatura emprant un termistor de tipus NTC amb ESP32 al Wokwi i l'article anterior seguint la norma ISO7730 (i ignorant l'efecte de la humitat relativa), afegiu tres leds de colors (blau, verd i vermell). El led blau s'encendrà quan la temperatura estigui per sota de 20ºC (els altres dos leds hauran d'estar apagats). El led verd s'encendrà quan la temperatura estigui entre 20ºC i 26ºC (els altres dos leds hauran d'estar apagats). El led vermell s'encendrà quan la temperatura sigui superior a 26ºC (els altres dos leds hauran d'estar apagats).

Comunicació amb components. Protocols I2C, SPI i UART[modifica]

Pàgines 49 a 79

I2C[modifica]

Escaneig d'adreces I2C Codis IoT-02_06_i2cScanner al GitHub

Lectura de l'LDR a la pantalla OLED al Wokwi Codis IoT-02_07_SSD1306 al GitHub

MQTT[modifica]

Introducció al protocol MQTT, el protocol més emprat a Internet de les Coses.

esp32_DT.xml funcionant amb un exemple Qt amb WebAssembly

peticioMqttSincrona.xml per a funcionar amb el simulador ESP32 amb MQTT rebent peticions síncrones del valor llegit a l'LDR

Simuladors en línia[modifica]

Un simulador ladder en línia

Tinkercad

Wokwi

onlinegdb. Simulador de codi en diferents llenguatges de programació

Simulador SPICE d'Infineon (cal registrar-se)

Més documentació[modifica]

Uso del NodeRED

Afegir l'ESP32 a l'IDE d'Arduino

Vídeo introductorio a la placa IoT-02 basada en ESP32

Vídeo de instalación del IDE de Arduino para la placa IoT-02 basada en ESP32

Arduino i Raspberry Pi (1/4), Arduino i Raspberry Pi (2/4), Arduino i Raspberry Pi (3/4) i Arduino i Raspberry Pi (4/4)

Repositori amb els materials del curset del 27 d'abril de 2022