La vidéo montre le processus de construction toutefois celui-ci est en mouvement rapide et je vais aborder certaines des choses plus compliquées ici plus en profondeur.
Donc pour faire ben, vous devrez les composants suivants :
· Une petite feuille d’acrylique
· Une maquette
· Un Arduino Nano
· Deux Servos de Rotation continue
· Deux roues de passe-temps (j’ai utilisé des roues d’avion modèle)
· Une roue de roulette
· Pile 9V
· 4.8v batterie rechargeable (ou juste 4 AA dans un compartiment à piles)
· Deux résistances de charge légère
· Deux résistances de 10 000 ohms
· Certains câbles de pontage planche à pain
· Ruban mousse adhésif double face
· Adhésif auto-agrippantes
· Un interrupteur d’alimentation (pas nécessaire mais serait très pratique)
Vous n’aurez pas besoin d’outils pour la construction, mais vous pouvez remplacer le ruban d’adhésif Double face mousse avec de la colle chaude auquel cas vous auriez besoin d’un pistolet à colle chaude.
La première chose dont peut-être avoir besoin de plus amples explications est maintenant l’utilisation de la lumière à charge résistances. Lumière des résistances de charge (ou de LDR) est des résistances dont la valeur change en fonction de la quantité de lumière ambiante, mais comment peut-on détecter la résistance avec Arduino ? Eh bien vous ne pouvez pas vraiment, cependant, vous pouvez détecter des niveaux de tension en utilisant les broches analogiques, ce qui peuvent de mesurer (en utilisation basique) entre 0-5V. Vous pouvez maintenant demander "bien comment nous convertir les valeurs de résistance en variations de tension?", c’est simple, que nous faisons un diviseur de tension. Un diviseur de tension prend une tension et renvoie ensuite une fraction de cette tension proportionnelle à la tension d’entrée et le rapport entre les deux valeurs de résistances utilisées. L’équation qui est :
Tension de sortie = tension d’entrée * (R2 / (R1 + R2))
Où R1 est la valeur de la première résistance et R2 est la valeur de la seconde.
Le circuit schéma qui ressemble à ceci
Un diagramme de cela dans notre situation ressemble un peu à ceci
Maintenant cela pose toujours la question « mais quelles valeurs de résistance ont le LDR? », bonne question. Le moins de quantité de lumière ambiante la plus élevée la résistance, plus de lumière ambiante signifie une résistance plus faible. Maintenant pour le particulier LDR j’ai utilisé leur gamme de résistance était de 200 à 10 kilo ohms, mais cela change pour différentes alors n’oubliez pas de chercher où vous les avez achetés d’et essayer de trouver une feuille de données ou quelque chose du genre.
Maintenant, dans ce cas R1 est en fait notre LDR, nous allons donc ramener cette équation et faire des maths-e-magie (magie électrique mathématique).
Maintenant, tout d’abord, il faut convertir ces valeurs en kilo Ohms en ohms :
200 kilo-ohms = 200 000 ohms
10 kilo-ohms = 10 000 ohms
Pour trouver ce que la tension de sortie est donc lorsque nous sommes dans la nuit noire que nous brancher dans les numéros suivants :
5 * (10000 / (200000 + 10000))
L’entrée est de 5V car c’est ce que nous obtenons de l’Arduino.
Ce qui précède donne 0.24V (arrondi).
Maintenant, nous trouvons ce que la tension de sortie est en luminosité maximale en utilisant les numéros suivants :
5 * (10000 / (10000 + 10000))
Et cela nous donne 2.5V exactement.
Donc ce sont les valeurs de tension que nous allons entrer dans les analogiques broches de l’Arduino, mais ce ne sont pas les valeurs qui seront visibles dans le programme, « mais pourquoi? » vous pouvez demander. L’Arduino utilise un analogique/numérique puce qui convertit la tension analogique en données numériques utilisables. À la différence les broches numériques de l’Arduino qui peut seulement lire un État haut ou bas étant 0 et 5V les broches analogiques peuvent lire 0-5V et convertir en un évantail de 0-1023.
Maintenant avec certains plus math-e-magic nous pouvons effectivement calculer quelles valeurs l’Arduino sera lue. Car il s’agit d’une fonction linéaire, nous pouvons utiliser la formule suivante :
Y = mX + C
Où ; Y = valeur numérique
Où ; m = pente, (monter / exécuter), (valeur numérique / analogique valeur)
Où ; C = ordonnée
L’ordonnée est 0, donc cela nous donne :
Y = mX
m = 1023 / 5 = 204,6
Par conséquent :
Valeur numérique = 204,6 * valeur analogique
Donc dans la nuit noire la valeur numérique sera :
204,6 * 0,24
Ce qui donne environ 49.
Et en luminosité maximale, ce sera :
204,6 * 2.5
Ce qui donne environ 511.
Maintenant avec deux de ces mis en place sur les deux broches analogiques, nous pouvons créer deux variables entières pour stocker leurs valeurs deux et opérateurs de comparaison pour voir celui qui a la plus faible valeur, de faire tourner le robot dans cette direction.
____________________________________________________________________________________________________
Maintenant que c’était probablement la chose la plus complexe sur le robot tout construire cependant il n’y a juste une chose que je tiens à mentionner et c’est à faire avec l’aide de servos avec Arduino.
Il y a plusieurs tutoriels et schémas sur internet indiquant que vous devez connecter la tension du servo jusqu'à le rail 5V de l’Arduino et le terrain de l’asservissement au sol de l’Arduino, c’est dangereux ! Servos peuvent attirer beaucoup de courant et dans la plupart des cas, cette intensité débitée sera plus que le régulateur de tension sur l’Arduino peut fournir, cela conduira à des mauvaises choses qui se passe. La bonne façon d’accrocher des servos à votre Arduino est d’utiliser une alimentation externe. À cause de Bens, je fais tourner les servos de rotation en continu d’un 4.8v batterie rechargeable Ni-Cd, c’est idéal car les servos fonctionnent bien à partir de 4. 8-6V, 6V étant la tension de charge maximale de la batterie.
Maintenant vous pouvez être tenté d’accrocher simplement V + de la batterie à la V + des servos et la masse de la batterie à la masse des servos et du signal à l’Arduino, cela ne fonctionnera pas ou l’autre ! Il faut se rappeler qu’électricité doit s’écouler d’un « point » ramener à son point d’origine, ne se connecte pas au sol des servos et batterie à la masse de l’Arduino ne permettra pas l’électricité s’écoule par les broches de signal.
Voici un schéma montrant le bon circuit
_____________________________________________________________________________________________________
Combinant les deux diagrammes présentés plus haut, donne le circuit complet devra effectuer Ben.
Maintenant, je ne vais pas expliquer le code tel qu’il est largement commenté et devrait s’expliquer assez bien.
Code