Stap 8: Stap 8: bouwen en testen van de stuurprogramma's
Merk op dat u moet gebruiken NPN-transistors in dit circuit. (Opzoeken wat dat betekent als u niet zeker weet.) Als u PNPs (zoals ik deed ooit, ten onrechte), krijgt u een heel ander resultaat: een donkere vlek (LED uit) zal reizen rond de lus--een interessant effect, maar niet helemaal wat we hier wilden.
Ik heb gebruikt verschillende soorten kleine silicium NPN-transistors, die allemaal goed gewerkt. Maar u moet zorgvuldig bepalen welke draden zijn de emitter, de verzamelaar en de base. Niet alle transistor pakketten zijn gestandaardiseerd. Gebruik van de verschillende online bronnen om te helpen, en houd testen totdat u het juiste--de meest voorkomende fout waarschijnlijk met de verkeerde transistor leads verbonden is.
Hier is een foto van het voltooide circuit wordt getest op een breadboard, rijden slechts één LED vanaf elke transistor uit een 9V batterij (en het gebruik van de PWM pinnen.) Als u tevreden bent dat het goed werkt, u kon bouwen een afgewerkte circuit op een perfboard of een Arduino-shield.
Dit is niet een slechte tijd aan het testen van een patroon voor uw verlichting. U kunt beginnen door het laden van een eenvoudige schets van de LED-sequencing in je Arduino. Hier is een fundamentele 6-licht-chaser, die werkt door het stuurprogramma bord verbinden met Arduino pin 2-7:
/* Gemaakt van 2006 door David A. Mellis, 30 Aug 2011 gewijzigd door Tom Igoe Deze voorbeeldcode is in het publieke domein. int timer = 200; Hoe hoger het getal, hoe langzamer de timing. VOID Setup {} void loop {}
Dit circuit licht meerdere LED's in de juiste volgorde
Transistor LED drivers verbinden met pinnen 2 t/m 7, bestuur aan macht & grond
en door C Losee Dec 2011
http://www.Arduino.CC/en/tutorial/ForLoop
*/
Gebruik een for-lus om te initialiseren van elke pin als uitgang:
voor (int thisPin = 2 thisPin < 8; thisPin ++) {}
pinMode (thisPin, OUTPUT);
}
}
lus van de pin van de laagste naar de hoogste:
voor (int thisPin = 2 thisPin < 8; thisPin ++) {}
de PIN-code inschakelen:
digitalWrite (thisPin, hoge);
delay(timer);
de pin uitschakelen:
digitalWrite (thisPin, laag);
}
}
Dit programma maakt een licht lijken te "chase" rond het bord van één LED naar de volgende. In de hele tekenreeks zullen een totaal van vijf lichten op op een bepaald moment. Er zijn tal van andere schetsen zo goed, maar deze is prima voor het testen.