domingo, 15 de diciembre de 2019

Comunicacion I2C con Arduino, Teclado y Display


Hola. Espero que todos estén bien.
Este mes he querido aprender acerca de la comunicación I2C “lo más básico posible” para no marearme y lograr algo que me sea de utilidad. Y este pequeño proyecto es uno que me permite hacer muchas cosas por eso quise compartirlo con Uds.
Gracias a este circuito podremos liberar todas las Entradas y Salidas para usarlas en otras cosas. Siendo el Rey de esto; el fabuloso Micro Integrado PCF8574. Siendo económico y muy fácil de utilizar, por todos aquellos que no somos GRAND MASTER en electrónica.
Con respecto a los Links de Descarga de las librerías están en la descripción del Video. Espero que les sirva como ha sido en mi caso personal. les envío un Cordial Saludo y les deseo lo mejor!

[code]

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3f,16,2);
#include <Keypad_I2C.h>
#include <Keypad.h>

const byte FILA = 4;
const byte COLS = 4;
char keys[FILA][COLS] = {
  {'1','2','3','A'},   {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};
byte filaEnt[FILA] = {0, 1, 2, 3};
byte colsEnt[COLS] = {4, 5, 6, 7};
Keypad_I2C Teclado = Keypad_I2C( makeKeymap(keys), filaEnt, colsEnt, FILA, COLS, i2caddress );
int i2caddress = 0x20; int x=0;

void setup(){

  Serial.begin(9600);
  Teclado.begin();
  lcd.init(); // inicializar el LCD
  lcd.backlight();   lcd.clear();   lcd.home();

  lcd.setCursor(0,0); // Ubicación(X,Y)
  lcd.print("Hola Mundo"); }
char Tecla = Teclado.getKey();
void loop(){   if (Tecla){
     if (x>=16){x=0; lcd.setCursor(0,1);lcd.print("                ");}
     Serial.println(Tecla); //debug.
lcd.setCursor(x,1); lcd.print(Tecla);
      x++;   }
}[/code]