Un cordial saludo a toda la comunidad!
Qué tal, estoy programando un teclado matricial 4x4 junto con un LCD en el arduino uno. Esto me ocupa todos los pines digitales, ya que son 8 (pins 0-7) para el teclado y 6 para el LCD (pins 8 - 13). sin embargo no puedo conectar el teclado a los pines 0 y 1 por lo que tengo q usar los pines analógicos A0 y A1.
Aún me falta conectar un RTC y un sensor biométrico y ya no tendré espacio para conectar todo el sistema que estoy programando (Quiero un checador digital con huella digital) En otro tema de este mismo foro, leí que dichos pines no están reservados, que funcionan como los demás pines, pero antes de conectar cualquier cosa en TX y RX (pines 0 y 1) hay que realizar los siguientes pasos:
1.- No tener nada conectado en pines 0 y 1.
2.- Cargar el programa
3.- conectar el circuito
4.- Resetear
Y listo, sin embargo he hecho este procedimiento y no hay resultados. Ya probé esto con dos tarjetas arduino diferentes y el resultado es el mismo. No sé si estoy omitiendo algo o me falta alguna librería. Espero me pudieran ayudar, se los agradecería infinitamente.
Este es el código que estoy usando para declarar mis variables
#include <LiquidCrystal.h>
#include <Keypad.h>
LiquidCrystal lcd(13, 12, 11, 10, 9, 8);
const byte filas = 4;
const byte columnas = 4;
byte pinsFilas[filas] = {7, 6, 5, 4};
byte pinsColumnas[columnas] = {3, 2, 1, 0};
char teclas [filas][columnas] =
{
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
Keypad teclado = Keypad(makeKeymap(teclas), pinsFilas, pinsColumnas, filas, columnas);
char tecla;
void setup(){
Serial.begin(9600);
lcd.begin(16, 2); //Configuramos los números de filas y de columnas del LCD
lcd.clear();
}
void loop(){
tecla = teclado.getKey();
if(tecla != NO_KEY) {
lcd.setCursor(0,0);
lcd.print(tecla);
}
}