Comprobación y configuración de las lecturas de la botonera

Si tu escornabot no funciona correctamente después de cargar el código y conectar la botonera, debes comprobar los valores que está leyendo la placa Arduino. Como ya has visto, el teclado consiste en unas cuantas resistencias y pulsadores conectados al Arduino. Dependiendo del botón que presiones, se colocarán más o menos resistencias en el camino que recorre la corriente eléctrica, y el pin analógico leerá distintos voltajes.

Botonera de 2 hilos (standard)

Conexión

Vamos a conectar la botonera al Arduino como se muestra abajo:

Keypad Connection

Como puedes ver, el pin de abajo del conector no se utiliza, el pin central se conecta a la entrada A4 del Arduino, y el pin de arriba a GND.

Comprobando las lecturas

Abre la IDE de Arduino, copia y pega este sketch, y cárgalo:

 #define KEYBOARD_PIN A4  
    #define KEYBOARD_WIRES 2 // change to 3 in old buttonsets with 3 wires

    void setup() {
      pinMode(KEYBOARD_PIN, KEYBOARD_WIRES == 2 ? INPUT_PULLUP : INPUT);
      Serial.begin(9600);
    }

    void loop() {
      Serial.println(analogRead(KEYBOARD_PIN));
      delay(200);
    }

¿Puedes ver la lupa en la esquina superior derecha de la IDE de Arduino? Si haces clic sobre ella, se abrirá una ventana mostrando números en torno a 1024. Cada vez que pulses un botón, este número cambiará. Anota los valores para cada botón que presiones, ya que cada valor será asignado a un determinado comportamiento del escornabot.

Modificando el firmware del escornabot

Ahora que conoces los valores que da tu botonera, tendrás que incluirlos en el firmware para que el escornabot actúe de acuerdo a cada botón que se vaya presionando. Asumiremos que has descargado el código, lo has abierto y has buscado las siguientes líneas en la pestaña Configuration.h:

 // input values for each key pressed
    #define BS_ANALOG_VALUE_UP 471
    #define BS_ANALOG_VALUE_RIGHT 299
    #define BS_ANALOG_VALUE_DOWN 211
    #define BS_ANALOG_VALUE_LEFT 118
    #define BS_ANALOG_VALUE_GO 158
    #define BS_ANALOG_VALUE_RESET 82   

Estos son los valores que vienen por defecto,así que, si son diferentes a los valores que anotaste anteriormente, debes cambiarlos. Por ejemplo, si la lectura al presionar "GO" era 167, debes poner ese número en lugar de "158". Ya te habrás dado cuenta de que ahí hay seis valores y tu sólo tienes cinco botones en tu botonera... simplemente, pon BS_ANALOG_VALUE_RESET a "0".

¡Ahora tu escornabot debería seguir tus instrucciones al pie de la letra! ;)

Botonera de 3 hilos (Custom)

--ToDo--