Elegir botones y la mejor manera de programarlos

Buenas:

Hice un ejemplo en el ordenador o PC de solo usar las flechas del teclado y la tecla Enter. Simulando el Shield LCD Keypad.

He hecho un ejemplo en el cual se puede poner un nombre de un relé por ejemplo y se queda guardado en un Archivo.txt. si fuera en Arduino ya sería en una EERPOM interna o externa o una microSD, también archivo de texto si quieres.



Les dejo un ejemplo que pueden probar en su casa. Pueden escribir cualquier nombre solo con teclas flecha y Enter. Quiero implementar esto mismo en Arduino UNO.

¿Qué botones usarías?

En mi caso da problemas si uso el analógico A0. Preferiblemente prefiero digitales, pero ya me optaría por Arduino Mega, uno con mucho pines para escoger.

¿Cómo programarías las tecla y por qué?

Saludos.
 

Adjuntos

  • LCD_nombre_archivo_consola_11.zip
    3.6 KB · Visitas: 2
1) Con botones, te referis a cómo implementarias el código para esos botones?

2) es extrictamente necesario que sea controlado por el microcontrolador, o se puede usar integrados externos?

3) Necesitas ahorrar pines?

4) Cuántos botones necesitas?
 
1) Con botones, te referis a cómo implementarias el código para esos botones?

Sí.
2) es extrictamente necesario que sea controlado por el microcontrolador, o se puede usar integrados externos?
Lo primero si es posible.
3) Necesitas ahorrar pines?
Parece que necesito más entradas y salidas.
4) Cuántos botones necesitas?
Botones son 5. Cuatro de flechas y uno como si fuera Enter o OK.
 
No entiendo muy bien el dilema.
Yo he usado el sistema de pin analógico para poner variso botones sin problemas. No me gusta mucho pero funciona bien, y no recuerdo pero le puse un margen a la lectura y comprobaba por arriba y por abajo si no me equvoco.
Por otro lado no conocía es shield, ed decir, que si que lo conocía pero "de vista", no sabía su conexionado. Por una parte ahorra en pines en los pulsadores y por otra los desperdicia en el LCD, creo que prefiero un I²C para el LCD y si acaso otro o el mismo para el teclado; hay adaptadores I²C con 16 lineas que ocupan pocas direcciones.
Los LCDs que he comprado últimamente son gráficos SPI, dan mas juego y no son mucho mas caros.
No sé si sería mejor un bluetooth y un programa mas completo en un teléfono o algo así. Manejar un sistema con un interface de PLC "LOGO" es muy incómodo.
 
Estoy de acuerdo con @Scooter . Yo probe con el pin analogico en un PIC, y tuve problemas, lo que para resolver tenia que usar las sentencias IF, y poner margenes, yo queria usar switch-case, pero tiene que ser exacto.

Estuve buscando un poco, y sé que para los LEDs se usa charlieplexing para ahorrar pines, pero por ahi lei que se puede usar para botones.
Te dejo 2 para que saques ideas
Charlieplexing buttons gives additional outputs

Arduino Button to MQTT Publish

Lo otro seria, como bien dice Scooter, usar integrados externos, hasta incluso podes manejar con solo 2 pines, los botones y el LCD, y mas, todo conectado por I2C, o SPI
 

Adjuntos

  • NYYE8.png
    NYYE8.png
    3.3 KB · Visitas: 3
  • 5x4charlieplexed.png
    5x4charlieplexed.png
    25.6 KB · Visitas: 3
No sabía que había un módilo de PS2 en Arduino. ¿También hay USB?

Las teclas que usaré son solo esto.

Lo bueno sería usar un 74HC165 como entrada.

Como salidas 74LS47
 
El "módulo" PS2 son dos cables directos, el interface PS2 es "tontorrón" del todo.
Para usar un USB la cosa se complica muy mucho, aunque depende, el arduino DUE, por ejemplo lo usa directamente porque tiene usb host.
Los leonardo hacen de teclado, no sé si pueden leer uno, creo que si.
Ahí tiens que ver el costo de unas cosas y de otras, si vas a comprar 105 pulsadores y su circuito impreso para recrear un teclado te sale a cuenta usar uno de PC, si solo quieres "cuatro teclas" ya puede que no.
Si vas a usar cursor y aceptar rechazar, hay unos joysticks digitales diminutos que igual te valen.
Mensaje automáticamente combinado:

 
Última edición:
No sabía que había un módilo de PS2 en Arduino. ¿También hay USB?
el modulo es un simple conector ps/2

los teclados usb funcionan en ps/2 con un simple adaptador, asi que puedes usar un conector usb y hacer funcionar el teclado en modo ps/2

y si el teclado normal tiene muchas teclas

hay teclados con menos teclas
 
el modulo es un simple conector ps/2

los teclados usb funcionan en ps/2 con un simple adaptador, asi que puedes usar un conector usb y hacer funcionar el teclado en modo ps/2

y si el teclado normal tiene muchas teclas

hay teclados con menos teclas
No, eso no es así.
Algunos teclados USB funcionan en PS2 SIN adaptador; si conectas las señales PS2 a un conector USB hembra esos teclados funcionan. El adaptador hay que ponerselo para conectar en un PC, si vas a conectar en un arduino mejor pones un conector USB directamente.


Se me ha ocurrido probar con los que tengo por casa y ha ocurrido lo lógico; el antiguo funciona por PS2 y USB, el nuevo solo funciona por USB.
Los teclados duales eran los de la época de transición, como lo fueron los ratones usb-ps2 y anteriormente los ratones serie-ps2. Durante el tiempo de transición eran intercambiables. Osea que hay que verificar que el teclado que se compre cumpla.
 
Última edición:
¿Se puede poner el teclado USB directamente a Arduino Uno o no?

:)

¿Hay pulsadores de Arduino que tenga por lo menos 20 y funcione con protocolo I2C?
 
Ya te hemos a lo del teclado

Si, yo tengo alguno de estos, aunque creo que iría por el pin analógico
 
Última edición:
Arriba