Curs pràctic de programació d'electrònica encastada de baix cost per a la Internet de les Coses. Edició 5 i 6 d'octubre de 2022
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ó 5 i 6 d'octubre de 2022
Contingut
Microcontroladors d'escala petita[modifica]
Microcontroladors d'escala mitjana[modifica]
Distribució de pins a l'ESP32-VROOM
Exemples bàsics d'actuadors[modifica]
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]
Set / Reset amb un parell de relés sense microcontrolador simulat a Wokwi
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]
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" }
- Exemple amb dispositiu físic: s4a_joystick_grafica.zip
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]
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]
onlinegdb. Simulador de codi en diferents llenguatges de programació
Simulador SPICE d'Infineon (cal registrar-se)
Més documentació[modifica]
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