Este sensor de rotación lo diseñe para construir un servo control, lo utilice en mi Brick-Sorter V1.0, necesitaba decirle a un motor moverse tantos pulsos hacia la derecha o la izquierda, aca esta el diagrama que es relativamente fácil de hacer, y cabe en un ladrillo de Lego de 2X4.
Vout en este caso nos proporcionara los pulsos que necesitamos.
to Rot-sen-A :a
setbit 4 porta-ddr
write portb-ddr 0
setn 0
on-m1
loop [ wait-for-edge
setn n + 1
ifelse (n = :a) [off-m1
setn 0
stop!]
[on-m1]
]
end
to Rot-sen-R :r
setbit 4 porta-ddr
write portb-ddr 0
setn 0
in-m1
loop [ wait-for-edge
setn n + 1
ifelse (n = :r) [off-m1
setn 0
stop!]
[in-m1]
]
end
to wait-for-edge
waituntil [break?]
waituntil [not break?]
end
to break?
output testbit 4 porta
end
to on-m1
setbit 6 portb
clearbit 7 portb
end
to in-m1
setbit 7 portb
clearbit 6 portb
end
to off-m1
clearbit 7 portb
clearbit 6 portb
setn 0
end
No hay comentarios:
Publicar un comentario