






Utilice un puerto analógico para leer los cinco estados clave del puerto IO de guardado.Con la placa de expansión de sensores se pueden completar y botones de trabajos interactivos.
para el código de prueba de Aruino:
/ / Módulo ADKeyboard
int clave_adc_val [5]={50, 200, 400, 600, 800};
int NUM_ TECLAS=5;
int clave_entrada_adc;
clave ent=-1;
int clave antigua=-1;
configuración nula
{
pinMode (13, SALIDA); // Usaremos el LED de depuración para emitir un latido.
Serial.begin (9600); // 9600 bps
}
bucle vacío
{
adc_key_in=analogRead (0); // lee el valor del sensor
digitalWrite (13, BAJO);
key=get_key (adc_key_in); // convertir en pulsación de tecla
si (clave=oldkey) / / si se detecta una pulsación de tecla
{
retraso (50); // espera el tiempo de rebote
adc_key_in=analogRead (0); // lee el valor del sensor
key=get_key (adc_key_in); // convertir en pulsación de tecla
si (clave=clave antigua)
{
oldkey=clave;
si (clave=0)
digitalWrite (13, ALTO);
interruptor (tecla)
{
case 0: Serial.println ("S1 OK");
pausa
case 1: Serial.println ("S2 OK");
pausa
caso 2: Serial.println ("S3 OK");
pausa
caso 3: Serial.println ("S4 OK");
pausa
caso 4: Serial.println ("S5 OK");
pausa
}
}
}
}
retraso (100);
}
// Convertir el valor ADC a número de clave
int get_key (entrada de int sin signo)
{
entro k;
para (k=0; k
{
si (entrada
{
devolver k;
}
}
if (k=NUM.Keys) k=-1; // No se presionó ninguna tecla válida
devolver k;
}