Arduino - evento de múltiples botones con pantalla lcd

5

Me gustaría detectar dos botones que se presionan junto con el protector de LCD Arduino. ¿Alguien tiene código de ejemplo para manejar múltiples eventos de botones? Necesito un evento cuando los botones Arriba y Abajo se presionan juntos durante 2 segundos.

La pantalla LCD es la pantalla LCD compatible con HD44780 de 16 * 2 con caracteres BLANCOS & Retroiluminación AZUL que tiene 6 botones. Lo obtuve de www.hotsolder.co.uk . p>     

pregunta stevenvh

2 respuestas

2

Parece que este escudo tiene 5 botones unidos a diferentes resistencias de valor en un solo pin analógico. El sexto botón está cableado para reiniciar. Aquí está el esquema .

texto alternativo http://www.nuelectronics.com/estore/images/nustore/projects /lcd_schematics.jpg

El código de ejemplo tiene una tabla de búsqueda para convertir los valores de ADC en claves:

int  adc_key_val[5] ={30, 150, 360, 535, 760 };

Si tiene suerte, podría detectar dos teclas presionadas al mismo tiempo que una lectura ADC única.

Intente escribir un breve boceto para imprimir el valor de ADC en el puerto serie, luego experimente. Vea si puede encontrar rangos únicos de valores ADC que representan las combinaciones de teclas en las que está interesado.

Para detectar una pulsación durante un período de tiempo, use la función Arduino millis () para registrar el tiempo y luego compare. Esto es muy similar a debouncing a button .

    
respondido por el Toby Jaffey
2

Depende de cómo se conectan los botones, ¿está en una matriz o cada botón se puede leer individualmente? Si es individual, no veo cuál es el problema, solo lea ambos botones, espere hasta que se presionen los dos y luego espere dos segundos para asegurarse de que no se desactiven durante ese tiempo.

Si están conectados en una matriz, es posible que no pueda leerlos a la vez.

    
respondido por el davr

Lea otras preguntas en las etiquetas