Etape 5: programmation
Pour ce projet, j’ai utilisé un Arduino Uno pour télécharger le code d’un Atmega328. Cette section sera très lourde avec le code, mais je vais souligner les choses importantes qui sont nécessaires pour changer pour chaque projet. J’utilise les goupilles et les variables comme suit
A0 = photorésistance-défini comme lightPin
A5 = Neopixels
D9 = Servo
seuil = la valeur de l’interférence de laser. Trouver la valeur qu'il siège à sans interférence, puis cliquer sur 10 entiers vers le bas, juste pour être sûr. Quand il sent rien en dessous de cette valeur, le code vérifie si c’est la clé ou non.
UpperKeyThreshold et LowerKeyThreshold = les limites supérieures et inférieures de la clé. Je préfère cette méthode parce que si vous utilisez une matière organique, comme un cristal, vous allez obtenir beaucoup d’impuretés, ce qui rendra le positionnement du cristal beaucoup plus difficile de travailler avec. De cette façon, vous pouvez tester la clé pour trouver une plage, avec que vous êtes à l’aise. N’oubliez pas, plus la gamme, le plus difficile, il sera pour déverrouiller la boîte avec un objet spécifique et plus la gamme, plus il sera facile à utiliser d’autres objets pour entrer dans la boîte.
La première chose que vous voulez le faire tester la zone pour trouver les valeurs spécifiques. Je recommande le programme Qu'arduino fournitures, parce que c’est rapide, facile et efficace à utiliser. Une fois téléchargé, connectez la boîte comme indiqué sur le schéma sur le site Web. Une fois qu’il est accroché et le laser étant donné la puissance, vous pouvez ensuite tester vos variables. De cette façon, vous pouvez tester la position souhaitée de votre clé, et trouver les valeurs pour correspondre. Une fois que vous les trouver vous pouvez passer au programme réel.
Au lieu de l’explosion le guide avec mon code, je vais l’attacher à cette étape sous forme de fichier, que vous pouvez télécharger et modifier comme bon vous semble.
Vous devrez télécharger les deux bibliothèques : la bibliothèque Adafruit Neopixelet la bibliothèque Adafruit TiCoServo.
Vous ne pouvez utiliser la bibliothèque de servo régulièrement en collaboration avec la bibliothèque de neopixel en raison de certains conflits de flux de données entre les deux ; C’est pourquoi Adafruit fait une bibliothèque de contrôleur de servo qui fonctionnerait avec elle. L’article inclus est une lecture soignée sur le raisonnement derrière lui, donc il y a des informations à ce sujet dans le lien si vous êtes intéressé.