Soy nuevo tanto en el uso de raspberry como en este foro y me preguntaba si alguien puede ayudarme, mi problema es el siguiente:
Tengo un encoder con 2 canales y ambos me envian cierto numero de pulsos por cada vuelta, a mas velocidad pues mas rapido los pusos, generando una especie de pwm
Hay un desface entre ambos pulsos de tal forma que se supone ayude a determinar hacia que lado gira el encoder ya que se desfasa hacia un lado o otro dependiendo del sentido de giro, la cosa es que no se como hacer un programa para esto.
Intente algo asi
Def my_callback(channel):
Global contador
Global direccion
Contador = contador+1
Direccion = GPIO.input(23)
If(direccion == True):
Print ("izquierda")
Else
Print("derecha")
GPIO.add_event_detect(24, GPIO. RISING, callback = my_callback)
Mas o menos asi era la parte del codigo que use.
Mi idea era que cuando detectara una subida llamara a una funcion en donde usaria otro pin para leer el canal b y si estaba en alto pues va para un lado y pues si no, es que esta en bajo va hacia otro, ya que el desface del encoder hace que durante las subidas del canal A eñ canal B este en bajo o en alto durante un instante dependiendo de a que lado gire, pero no me funciono.
No se si me explique
Igual gracias si alguien responde :,)