Étape 8: Étape 8: générer et tester les pilotes
Notez que vous devez utiliser des transistors NPN dans ce circuit. (Chercher ce que cela signifie que si vous n’êtes pas sûr.) Si vous utilisez PNPs (comme j’ai fait une fois, à tort), vous obtiendrez un résultat tout à fait différent : un point noir (LED éteinte) se rendra dans la boucle--un effet intéressant, mais pas tout à fait ce que nous voulions ici.
J’ai utilisé plusieurs types de transistors NPN en silicium petite, ce qui a bien fonctionné. Mais vous devez soigneusement identifier quels fils sont l’émetteur, le collecteur et la base. Pas tous les paquets de transistor sont normalisés. Utiliser les différentes ressources en ligne pour aider et rester stable jusqu'à ce que vous obteniez la bonne--l’erreur la plus fréquente est probablement reliant les fils de transistor mal.
Voici une photo du circuit rempli testée sur une maquette, conduite juste une LED de chaque transistor hors tension d’une batterie de 9V (et à l’aide de broches PWM). Lorsque vous êtes satisfait que cela fonctionne correctement, vous pourriez construire un circuit fini sur un perfboard ou un bouclier d’Arduino.
Ce n’est pas un mauvais moment pour tester un modèle pour vos lumières. Vous pouvez commencer par charger un simple croquis de LED-séquençage dans votre Arduino. Ici, c’est un chasseur de base 6-lumière qui fonctionne en connectant le Comité pilote aux broches de l’Arduino 2-7 :
/* Créé le 2006 par David A. Mellis, modifié le 30 août 2011 par Tom Igoe Cet exemple de code est dans le domaine public. int timer = 200 ; Plus le chiffre, le plus lent du calendrier. void setup() {} void loop() {}
Ce circuit s’allume plusieurs LEDs en séquence
Transistor LED pilotes de connexion à broches 2 à 7, Conseil chez power & sol
et par C Losee en Dec 2011
http://www.Arduino.cc/en/Tutorial/ForLoop
*/
Utilisez une boucle for pour initialiser chaque broche en tant que sortie :
pour (int thisPin = 2; thisPin < 8; thisPin ++) {}
pinMode (thisPin, sortie) ;
}
}
boucle de l’axe le plus bas au plus élevé :
pour (int thisPin = 2; thisPin < 8; thisPin ++) {}
activer le code pin :
digitalWrite (thisPin, HIGH) ;
Delay(Timer) ;
désactiver le code pin :
digitalWrite (thisPin, basse) ;
}
}
Ce programme fera une lumière semblent « chase » autour du panneau d’un LED à l’autre. Dans la chaîne entière, un total de cinq lumières sera sur à un moment donné. Il y a beaucoup d’autres esquisses ainsi, mais celui-ci est très bien pour le test.