Arduino que lee la perilla del disco giratorio del volumen de la radio de doble dinado [cerrado]

0

Hola, todos compré un radio chino de doble din para modificarlo a mi gusto. La razón principal por la que fui con este es que tenía algunos botones y giros los mandos en la parte delantera y quería usar un Arduino para "leer" estas entradas y hacer cosas dentro de mi programa de software.

Sin embargo, no estoy muy seguro de lo que necesito verificar para saber cómo conectar los botones del dial giratorio al arduino para que pueda leer cada "clic" que hace. También tienen un modo de botón pulsador cuando se presiona en la parte frontal del disco giratorio.

Como nota al margen, les proporcionaré energía a estos para que no se use nada en el tablero, excepto el disco giratorio físico. Aparte de algunas resistencias, también parece.

Aquí hay algunas imágenes del diseño de PCB:

Y el conocimiento sería genial en cuanto a cómo hacer para conectar esto para que lo lea el arduino :)

    
pregunta StealthRT

1 respuesta

1

Su última foto muestra que dos de los pines del dispositivo están conectados a tierra a la gran PCB "pour". Eso deja tres pines para los interruptores: dos pines de codificador y uno de pulsación para hacer.

El cableado generalmente será como se muestra en la Figura 1.

simular este circuito : esquema creado usando CircuitLab

Figura 1. Cableado del encoder y el interruptor.

Las salidas del codificador serán las que se muestran en la Figura 2.

Figura 2. Secuencia de conteo ascendente / descendente del codificador.

En lugar de pasar demasiado tiempo jugando con la PCB, me inclinaría a desoldar las resistencias, cortar los rastros entre ellas y los terminales del interruptor y luego soldar los cables de los terminales del interruptor al microcontrolador. Si utiliza pull-ups internos en el micro, puede omitir R1, 2 y 3 de mi Figura 1.

De los comentarios:

  

Dado que este es un giro infinito en cualquier dirección, ¿cómo determinaría, por ejemplo, el volumen de la música, si está de regreso en 0 o si está subiendo?

No puedes. No hay una posición cero y la mayoría de estos dispositivos son codificadores de baja resolución con tan solo doce pasos por revolución. En uso se requieren varias revoluciones para ir de cero a máximo. Son bastante comunes en las radios de los automóviles, por lo que deberías jugar con uno por un tiempo para sentir el sistema que estás emulando.

En el encendido tienes que asumir un valor inicial. Esto podría ser cero (silenciado) o un valor audible pero seguro que no despertará al bebé. Después de eso, realiza un seguimiento del ajuste en el código y detiene el contador en cero al girar en sentido antihorario y máximo al girar en sentido horario. Obviamente, el usuario puede seguir girando, pero su código rechazará los recuentos adicionales hasta que se invierta la dirección.

    
respondido por el Transistor

Lea otras preguntas en las etiquetas