Teclado analógico Keyestudio AD Key - angelmicelti/Arduineando-en-la-E.S.O. GitHub Wiki

Contenido


Teclados analógicos

Los teclados son muy necesarios en nuestros proyectos, dado que, muy habitualmente, necesitamos que nuestros montajes reaccionen a sencillas pulsaciones del usuario.

Un teclado digital precisa de tres cables para su funcionamiento, además de la colocación de una resistencia para poder realizar un pull-up o un pull-down.

He descubierto unos teclados analógicos que permiten obtener, con una sola placa y tres cables, un número bastante elevado de pulsadores, sin necesidad de añadir más componentes electrónicos. Uno de ellos es éste.

KeyestudioADKey

Teclado analógico Keyestudio AD Key

Este teclado posee 5 botones, y son cinco las salidas que nos ofrece, dado que sólo se ofrece salida cuando se pulsa un único botón (curiosamente, aunque hay más botones, tenemos menos salidas). Podemos encontrar este teclado en este enlace.

He realizado este montaje:

KeyestudioLED

cuya programación puedes ver en Arduinoblocks, en este enlace.

En este teclado, tenemos cinco botones sobre la placa, y ésta tiene también tres pines:

  • OUT, que irá conectado a la entrada analógica
  • Vcc, alimentación.
  • GND, masa.

Calibración del teclado

Vamos a proceder de una forma muy parecida al teclado KC11BC04.

Realizamos el siguiente montaje para la adquisición de datos a un archivo:

KeyestudioAdquisicion

Utilizamos el mismo programa que con el teclado KC11BC04 para enviar los datos a la consola serie, y seguimos el mismo procedimiento descrito allí para guardarlos en un archivo, poder analizarlos y subirlos a esta hoja de cálculo de Google Drive.

SW1 SW2 SW3 SW4 SW5
Valor de A0 0 144-146 330-332 505-507 741-744

Ya sólo nos queda escribir para nuestra placa Keyestudio un programa análogo al que he hecho para la placa KC11BC04. Lo encuentro en este enlace. Aquí debajo os dejo también el código:

double teclado;

void setup()
{
  Serial.begin(9600);

pinMode(A0, INPUT);
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
  teclado = 0;
}


void loop()
{
    teclado = analogRead(A0);
    Serial.println(teclado);
    if ((teclado == 0)) {
      digitalWrite(13, HIGH);

    } else {
      digitalWrite(13, LOW);
      if (((teclado >= 144) && (teclado <= 146))) {
        digitalWrite(12, HIGH);

      } else {
        digitalWrite(12, LOW);
        if (((teclado >= 330) && (teclado <= 332))) {
          digitalWrite(11, HIGH);

        } else {
          digitalWrite(11, LOW);
          if (((teclado >= 505) && (teclado <= 507))) {
            digitalWrite(11, HIGH);
            digitalWrite(12, HIGH);

          } else {
            digitalWrite(11, LOW);
            digitalWrite(12, LOW);
            if (((teclado >= 741) && (teclado <= 744))) {
              digitalWrite(12, HIGH);
              digitalWrite(13, HIGH);

            } else {
              digitalWrite(12, LOW);
              digitalWrite(13, LOW);
            }
          }
        }
      }
    }
    delay(50);
}

Vídeo de funcionamiento

Finalmente, podemos ver el vídeo de funcionamiento:

Pulsador analógico Keyestudio AD Key