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

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

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