ACTIVIDAD DE APRENDIZAJE
AA3. Programar sistemas embebidos para el control en aplicaciones industriales3.3.1
Identifique en el sistema embebido asignado por el instructor (ESP32) identifique los diferentesperiféricos y realice la actividad planteada.
Figura 2.
DOIT ESP32 DEVEKIT V1 PINOUTFuente: https://www.circuitstate.com/pinouts/doit-esp32-devkit-v1-wifi-development-board-pinout-diagram-and-reference/#GPIO
Nota:
consulte la página del fabricante y la hoja de especificaciones del sistema embebido seleccionadopara acceder a esta información.De acuerdo con el estudio de los pines digitales se requiere que realice la siguiente actividad, desarrolle el firmware que le permita la lectura de 8 entradas digitales y la activación de 8 salidas digitales,esta información debe poder observarse en una pantalla LCD 16x2 con comunicación I2C. Siga el siguientepaso a paso.1.Descargar la librería LCD_I2C del gestor de librerías del Arduino.2.Adjunte en el encabezado del programa la librería instalada y configure la dirección de la pantallaLCD según sea el caso.3.Selecciones 8 GPIO de la tarjeta ESP32 que sean INPUT (entradas digitales) y asignarles unnombre a cada GPIO.4.Selecciones 8 GPIO de la tarjeta ESP32 que sean OUTPUT (salidas digitales) y asignarles unnombre a cada GPIO.5.Usar los comandos pinMode para la declaración y configuración de los pines de entrada y salidadigitales.
6.Usar el comando digitalWrite y digitalRead según sea el caso para la activación de salidas digitalesy la lectura de las entradas digitales.7.Adjunte la evidencia del programa desarrollado y de la implementación de la actividad.
CIRCUITO
Figura 1.
CODIGO
.#include <WiFi.h>#include <Wire.h>#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C LCD = LiquidCrystal_I2C(0x27, 16, 2);#define pin_I0 34#define pin_I1 14#define pin_I2 12#define pin_I3 27#define pin_I4 26#define pin_I5 25#define pin_I6 33#define pin_I7 32#define I0 digitalRead(pin_I0)#define I1 digitalRead(pin_I1)#define I2 digitalRead(pin_I2)#define I3 digitalRead(pin_I3)#define I4 digitalRead(pin_I4)#define I5 digitalRead(pin_I5)#define I6 digitalRead(pin_I6)#define I7 digitalRead(pin_I7)#define Q0 2#define Q1 15#define Q2 13#define Q3 4#define Q4 16#define Q5 17#define Q6 18#define Q7 19
void estados (){ LCD.setCursor(0, 0); LCD.print("I"); LCD.setCursor(2, 0); LCD.print(I0); LCD.setCursor(3, 0); LCD.print(I1); LCD.setCursor(4, 0); LCD.print(I2); LCD.setCursor(5, 0); LCD.print(I3); LCD.setCursor(6, 0); LCD.print(I4); LCD.setCursor(7, 0); LCD.print(I5); LCD.setCursor(8, 0); LCD.print(I6); LCD.setCursor(9, 0); LCD.print(I7); LCD.setCursor(0, 1); LCD.print("Q"); LCD.setCursor(2, 1); LCD.print(digitalRead(Q0)); LCD.setCursor(3, 1); LCD.print(digitalRead(Q1));