Je suis nouveau dans l'utilisation d'Arduino et j'ai un Arduino Uno. Pour les projets que j'ai réalisés, je n'ai utilisé que les broches numériques.
Je construis un petit véhicule qui utilise des moteurs pas à pas. Je n'ai plus de broches pour contrôler les moteurs de ce véhicule. À quoi servent les broches analogiques? Est-il possible pour moi d'utiliser des broches analogiques pour contrôler le reste des moteurs pas à pas que je connecte à l'Arduino, ou dois-je acheter un Arduino plus grand que l'Arduino Uno pour contrôler cet engin?
Vous pouvez toujours utiliser les broches analogiques pour l'écriture numérique.
digitalRead()
fonctionne sur toutes les broches. Il arrondira simplement la valeur analogique reçue et vous la présentera. SianalogRead(A0)
est supérieur ou égal à 512,digitalRead(A0)
sera 1, sinon 0.digitalWrite()
fonctionne sur toutes les broches, avec le paramètre autorisé 0 ou 1.digitalWrite(A0,0)
est le même queanalogWrite(A0,0)
, etdigitalWrite(A0,1)
est le même queanalogWrite(A0,255)
analogRead()
ne fonctionne que sur des broches analogiques. Il peut prendre n'importe quelle valeur entre 0 et 1023.analogWrite()
fonctionne sur toutes les broches analogiques et toutes les broches PWM numériques . Vous pouvez lui fournir n'importe quelle valeur entre 0 et 255.Les broches analogiques vous permettent de lire / écrire des valeurs analogiques - fondamentalement, au lieu de donner une tension de 0 ou 5 (comme avec le numérique), elles peuvent donner une plage de tensions entre 0 et 5 (à la fois en entrée et en sortie). Notez que la tension pendant la sortie analogique n'est que la tension observée avec un multimètre. En réalité, les broches analogiques envoient des impulsions de signaux 0V et 5V pour obtenir une sortie qui "ressemble" analogique (c'est PWM).
Concernant le nombre de broches: gardez à l'esprit que les broches PWM peuvent être utilisées pour la sortie analogique. Si vous manquez de broches, vous pouvez utiliser le multiplexage pour en faire plus. Il n'est pas nécessaire d'obtenir un autre Arduino.
la source
the Arduino (ATmega) will report HIGH if: a voltage greater than 3.0V is present at the pin (5V boards)
ce qui contredit la déclaration dans ce postIf analogRead(A0) is greater than or equal to 512, digitalRead(A0) will be 1, else 0
.Les broches analogiques de l'Arduino peuvent être utilisées comme broches numériques, comme l'a souligné Anindo Ghosh.
Cependant, même si vous manquez de broches pour contrôler vos moteurs pas à pas, vous n'avez pas vraiment besoin d'acheter une autre carte. Vous pouvez simplement utiliser un composant intermédiaire tel qu'un registre ou un multiplexeur pour contrôler le moteur pas à pas approprié.
la source
Si vous pouvez vous le permettre et que vous voulez vraiment rendre le travail avec un stepper super facile, consultez Easy Stepper . J'ai été ravi.
À partir de l' exemple de page de codes
http://www.sc-fa.com/blog/wp-content/uploads/2013/04/20130414-080645.jpg
Également à partir de la même page, voici un exemple de code pour exécuter deux moteurs avec deux cartes easystepper, avec accélération / décélération: http://www.sc-fa.com/blog/wp-content/uploads/2013/04/20130414- 081018.jpg
la source