teclado con un solo hilo

TECLADO CON UN SOLO HILO PARA ARDUINO

Conexión de teclado con un solo hilo para arduino o raspberry para ahorrar pines de conexión.

Cuando necesitamos usar un arduino uno o nano para nuestros proyectos nos pueden faltar pines, sobre todo cuando pretendemos usar un teclado alfanumérico y display.

Una opción muy buena para ahorrar pines con el teclado es conectarlo con un solo hilo en vez de los 8 que normalmente necesita conectar.

CONEXION DEL TECLADO EN ARDUINO

Para poder conectar un teclado alfanumérico en un arduino con un solo hilo necesitamos crear en las salidas del teclado un divisor de tensión con resistencias en cada uno de sus pines.

En la imagen de la cabecera tenemos un ejemplo de un teclado que solo necesita manda una señal analógica a pin A0 del Arduino.

Las resistencias que he utilizado para este divisor de tensión de Izquierda a derecha son: Una de 1k, cuatro de 47k, cuatro de 6,7k, una de 2,7k.

Puedes ver un tutorial AQUI

En la imagen nos aparece un voltaje 172.80 milivoltios que corresponde a la tecla 4. Se puede ver en el siguiente código en la condición: else if (lectura == 172.80) lcd.print(“4”);


#include  <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);//Pines del arduino conectado al display


void setup()
{
  
 	Serial.begin(9600);
  
  	lcd.begin(16, 2); // Se activa el display

  	delay(100);
  
  	pinMode(A0, INPUT); // Pin A0 configurado como entrada
  
}

void loop()
{
  //La variable lectura lee la señal del pin A0 y multiplicamos por el voltage de entrada
  float lectura = (float) analogRead(A0)*4.8; 
  lcd.clear();
  lcd.setCursor ( 0, 0);
  lcd.print(lectura);
  lcd.print(" Voltios");
 
  Serial.println(lectura);
  lcd.setCursor (0, 1);
  	if(lectura == 436.80)lcd.print("1");   //Si la variable es igual a voltaje se imprime 1 en el display
  	else if(lectura == 556.80)lcd.print("2");// igualmente que la anterior en las demas condiciones
  	else if(lectura == 777.60)lcd.print("3");
    else if(lectura == 172.80)lcd.print("4");
    else if(lectura == 187.20)lcd.print("5");
    else if(lectura == 206.40)lcd.print("6");
    else if(lectura == 105.60)lcd.print("7");
    else if(lectura == 110.40)lcd.print("8");
    else if(lectura == 120.00)lcd.print("9");
   delay(500);
  
 
  
}

Conexión de un teclado con un solo hilo para arduino. Este teclado se puede usar para la alarma de casa con teclado que puedes encontrar en el siguiente enlace: aqui

Deja una respuesta

error: Propiedad de REDINFOR!!