Paso 3: Agregar cierre los sensores (botones)
Para asegurarse de que Arduino deje de girar el motor cuando se ha realizado una acción de apertura y cierre, pienso montar dos pulsadores en la bandeja, que haz pulsados cuando la puerta está completamente abierta o cerrada. Esto también ayuda a mantener un seguimiento de qué estado está que el sistema es en todo momento. Yo he montado una tira de metal en la bandeja de tal manera que cuando la puerta está todo el camino abierto, la tira se empuja en un botón, y cuando está completamente cerrada, aprieta el otro botón.
Poner el Adafruit Motorshield sobre Arduino. Conecte el motor al escudo del motor. Yo uso m3 (digital pin 5). Conectar pulsadores para Arduino canal análogo 0 y 1 (en Arduino pin del Código 14 y 15). Agregar un resistor de 10K entre cada botón y la tierra como un pull-down resistor (http://www.ladyada.net/learn/arduino/lesson5.html) y un bajo uno (100-220 ohm) entre el botón y el canal analógico por lo que la resistencia no es infinitamente pequeña. El botón que se acciona cuando la bandeja se extiende (es decir, puerta cerrada) debe ser en el canal 1 y el botón accionado cuando la bandeja se retrae (puerta abierta) debe ser en el canal 0.
Más información sobre el escudo del motor: http://www.ladyada.net/make/mshield/faq.html.
Puedes probar el mecanismo con un poco de código de Arduino que está descargable aquí:
http://www.writtensound.com/Arduino/cat_feeder.htm