Go Down

Topic: Problemas con selector rotativo (Read 322 times) previous topic - next topic

mugen90

Jul 28, 2019, 11:38 am Last Edit: Jul 28, 2019, 03:10 pm by surbyte
Buenos días,

Estoy tratando de utilizar un selector rotativo como el que adjunto a continuación.



He conectado los interruptores del selector de la siguiente manera a mi Arduino:

Contacto 3 del selector a 5v Arduino.
Contacto 4 del selector a pin 3 de Arduino.

Contacto 3 del selector a 5v Arduino.
Contacto 4 del selector a pin 4 de Arduino.

El programa de control son simplemente un par de condicionales en que leo el estado de los pines y determino en que posición está el selector.

Mi problema reside en:

Cuando cambio de posición mi selector me devuelve el resultado esperado pero en ocasiones puntuales  me devuelve como si ambos pines (el 4 y el 3) estuvieran recibiendo tensión, lo cual es falso..


No se si lo que estoy tratando de hacer es correcto y si me habré explicado lo suficientemente bien para darme a entender.. En todo caso soy principiante en el tema electrónico y mis conocimientos son aún limitados en este campo.

Gracias por adelantado
Saludos a todos.

Sereno

Cuando estas poniendo a nivel alto la entrada digital a través del selector (5V), tu arduino se entera perfectamente, pero cuando el selector cambia en que estado se queda tu entrada??? 0V?? 5V??
Para que tu arduino detecte que la entrada pasa a 0V tienes que poner una resistencia Pull_DOWN conectada desde la entrada digital a 0V. Prueba con una resistencia de 10K.
Pásate por este link que te lo explica mucho mejor.

mugen90

Buenas tardes Sereno,

Gracias por responder.

Entiendo lo que me propones, anteriormente he usado resistencias en botones específicos para proyectos con Arduino. Para montar el PULL DOWN tal y como propone el artículo no sé como extrapolarlo al selector en cuestión, ya que la conexión a GND no sé como hacerla...



Sereno

#3
Jul 28, 2019, 05:53 pm Last Edit: Jul 28, 2019, 05:54 pm by Sereno
En el selector nada.
Tal y como lo tienes y añades una resistencia de 10K desde la entrada digital a GND.
Has leído el link???
Pon un esquema de tu montaje

tauro0221

Hi,
Para mi la solucion correcta es  declarar el pin de entrada como pinMode(pin, PULL_UP) y conectas un lado del switche al pin del arduino y el  otro lado del switche a ground. Otra cosa es de anadirle un condensador de .1 uf en parallelo a los contactos para evitar el ruino que se produce cuando cierras/abres el switche. Si no quires usar el pullup interno del arduino entonces anadale una resistencia de 10K con un lado conectada a los +5 voltios del arduino y el otro lado conectalo a pin del contacto que va conectado al arduino.

mugen90

Buenas noches Sereno y tauro0221,

Primero de todo gracias por vuestra atención y ayuda y sobretodo por compartir vuestro conocimiento conmigo.

Sereno, si leí el artículo que compartiste pero no sabía muy bien como hacer el montaje que allí proponían con el selector.. ya que en ningún momento usaba el GND.

Entonces, he leído los consejos que ha compartido tauro0221 y los he puesto a la práctica. Para ser más exacto el de declararel pin como un INPUT_PULLUP y conectar a GND uno de los bornes del interruptor y el otro al pin digital.

Quiero hacer algunas pruebas más pero creo que diste con la solución tauro0221!
Mañana confirmaré si definitivamente era lo que estaba buscando y os lo haré saber..

Gracias de nuevo.
Saludos


tauro0221

Hi,
No te olvides de anadirle el condesador de .1uf en paralelo al los contactos para eliminar lo que se conce como "contact bouncing" o ruido producido por los contactos cuando se cierran y se abren.

mugen90

Buenos días,

He estado haciendo pruebas y parece ser que diste en el clavo!
Funciona exactamente como necesitaba y gracias al artículo que compartió Sereno y a tu explicación clara para el montaje he entendido y aprendido el "por que" del montaje hecho que a mi parecer es lo más importante.

Gracias por vuestra ayuda.

No se si procederá ponerlo en este mismo hilo pero dispongo de otro componente que desearía probar con Arduino... se trata del siguiente:

https://i.ebayimg.com/images/g/IxwAAOSwwPRcSfJg/s-l300.jpg

No consigo encontrar información de como conectarlo como interruptor simple... He hecho algunas pruebas sirviéndome de la información que compartisteis para el selector pero algo debo estar haciendo mal...


surbyte

#8
Jul 29, 2019, 03:58 pm Last Edit: Jul 29, 2019, 03:59 pm by surbyte
Tienes un tester o multímetro? Si cuando pruebas con el tester/multímetro en continuidad ves que el interruptor cambia de continuidad a no continuidad entonces ya lo tienes, luego es repetir lo anterior.

mugen90

Buenas tardes surbyte,

Gracias por responder.

No tengo ningún tester a mano.. Pero partiendo del montaje que implementé en el selector y probando un par de combinaciones he dado con la solución...

Comparto como he conectado los cables por si alguien en el futuro puede sacar provecho de ello!

En el born L puse el cable que viene desde el GND del Arduino y en uno de los bornes indicado con una flecha el cable que va directo al pin digital.

Gracias a todos por vuestra ayuda. Ya doy por resueltas todas las dudas!

Go Up