Soy nuevo en el uso de Arduino, y tengo un Arduino Uno. Para los proyectos que he realizado, solo he usado los pines digitales.
Estoy construyendo un pequeño vehículo que usa motores paso a paso. Me he quedado sin pasadores para controlar los motores de este vehículo. ¿Para qué son los pines analógicos? ¿Es posible que use pines analógicos para controlar el resto de los motores paso a paso que conecto al Arduino, o tengo que comprar un Arduino más grande que Arduino Uno para controlar este artilugio?
Siempre puede usar los pines analógicos para la escritura digital.
digitalRead()
Funciona en todos los pines. Simplemente redondeará el valor analógico recibido y se lo presentará. SianalogRead(A0)
es mayor o igual a 512,digitalRead(A0)
será 1, de lo contrario 0.digitalWrite()
funciona en todos los pines, con el parámetro permitido 0 o 1.digitalWrite(A0,0)
es el mismo queanalogWrite(A0,0)
, ydigitalWrite(A0,1)
es el mismo queanalogWrite(A0,255)
analogRead()
funciona solo en pines analógicos. Puede tomar cualquier valor entre 0 y 1023.analogWrite()
funciona en todos los pines analógicos y todos los pines digitales PWM . Puede suministrarle cualquier valor entre 0 y 255.Los pines analógicos le permiten leer / escribir valores analógicos: básicamente, en lugar de emitir un voltaje de 0 o 5 (como con el digital), pueden proporcionar un rango de voltajes entre 0 y 5 (tanto como entrada como salida). Tenga en cuenta que el voltaje durante la salida analógica es solo el voltaje observado con un multímetro. En realidad, los pines analógicos envían pulsos de señales de 0V y 5V para obtener una salida que "se ve" analógica (esto es PWM).
Con respecto al número de pines: tenga en cuenta que los pines PWM pueden usarse para salida analógica. Si te quedas sin pines, puedes usar la multiplexación para hacer más. No es necesario obtener otro Arduino.
fuente
the Arduino (ATmega) will report HIGH if: a voltage greater than 3.0V is present at the pin (5V boards)
que contradice la declaración en esta publicaciónIf analogRead(A0) is greater than or equal to 512, digitalRead(A0) will be 1, else 0
.Los pines analógicos en el Arduino se pueden usar como pines digitales, como lo señaló Anindo Ghosh.
Sin embargo, incluso si te quedas sin pasadores para controlar tus motores paso a paso, realmente no necesitas comprar otra placa. Simplemente puede usar un componente intermedio como un registro o un multiplexor para controlar el motor paso a paso apropiado.
fuente
Si puede permitírselo, y realmente desea que trabajar con un stepper sea muy fácil, consulte Easy Stepper . Me quedé muy satisfecho.
Desde la página de códigos de ejemplo
http://www.sc-fa.com/blog/wp-content/uploads/2013/04/20130414-080645.jpg
También desde la misma página, aquí hay un código de ejemplo para ejecutar dos motores con dos placas easystepper, con aceleración / desaceleración: http://www.sc-fa.com/blog/wp-content/uploads/2013/04/20130414- 081018.jpg
fuente