Stap 1: Code
Hier is de code voor het systeem. Controleer de opmerkingen in de code voor meer informatie. Ik heb geprobeerd om ervoor te zorgen ik commentaar alles van belang, maar alstublieft vragen weg als er is iets dat niet zinvol. De opmaak werkt in de Arduino software of met een lettertype met vaste breedte./**************************************
* Programma: Start-en landingsbaan v2.0 *
***************************************
* Omschrijving: *
* 6 leds op de poorten van de PWM in flash *
* volgorde met een fade na. *
* Verstelbare helderheidsniveau en *
* ' staart' lengte. *
* Flash aan begin te controleren alle LEDs *
* werken. *
***************************************
* Usage: *
* Variabele 'Vergelijk' beslist de staart *
* lengte, groter aantal = grotere staart. *
* ' maxbri' de maximum stelt *
* helderheid van de LED's, de onderste *
* het is des te sneller de cyclus zal *
* functioneren, zodat de grotere 'dly' zal *
* moet zijn om te houden dezelfde *
* volgorde tarief. *
**************************************/
byte led1 = 9; LED poortnummers
byte led2 = 10; allemaal op PWM poorten
byte led3 = 11;
byte led4 = 6;
byte led5 = 5;
byte led6 = 3;
byte led1bri = 0; LED helderheid variabelen
byte led2bri = 0;
byte led3bri = 0;
byte led4bri = 0;
byte led5bri = 0;
byte led6bri = 0;
byte vergelijken = 90; helderheidsniveau voor volgende led activering
byte maxbri = 128; maximale helderheid van leds. Vergelijk moet lager zijn dan maxbri!
byte dly = 2; vertraging voor het vertragen van de routine, de lagere maxbri de
hogere dly moet zijn om te houden van dezelfde mate van beweging
VOID Setup
{
pinMode (led1, OUTPUT); Setup pin richting
pinMode (led2, OUTPUT);
pinMode (led3, OUTPUT);
pinMode (led4, OUTPUT);
pinMode (led5, OUTPUT);
pinMode (led6, OUTPUT);
alle LED's als u wilt testen van operatie Flash
digitalWrite (led1, hoge); alle leds aangezet
digitalWrite (led2, hoge);
digitalWrite (led3, hoge);
digitalWrite (led4, hoge);
digitalWrite (led5, hoge);
digitalWrite (led6, hoge);
delay(1000); pauzeren gedurende 1 seconde
voor (led1bri = 255; led1bri > 0; led1bri--)
{
analogWrite (led1, led1bri); alle leds tegelijk vervagen
analogWrite (led2, led1bri);
analogWrite (led3, led1bri);
analogWrite (led4, led1bri);
analogWrite (led5, led1bri);
analogWrite (led6, led1bri);
delayMicroseconds(750); korte vertraging voor snelle vervagen
}
digitalWrite (led1, laag); alle leds verrekening
digitalWrite (led2, laag);
digitalWrite (led3, laag);
digitalWrite (led4, laag);
digitalWrite (led5, laag);
digitalWrite (led6, laag);
delay(500);
led1bri = maxbri; Prime led1 helderheid
}
void loop
{
belangrijkste routine, flitsende flitsende!
Als (led1bri > 0) {led1bri--;} //decrement ledxbri als niet al off
Als (led2bri > 0) {led2bri--;}
Als (led3bri > 0) {led3bri--;}
Als (led4bri > 0) {led4bri--;}
Als (led5bri > 0) {led5bri--;}
Als (led6bri > 0) {led6bri--;}
Als (led1bri == vergelijk) {led2bri = maxbri;} //if vorige leidde bij ingestelde helderheid
Als (led2bri == vergelijk) {led3bri = maxbri;} //set huidige leidde helderheid
Als (led3bri == vergelijk) {led4bri = maxbri;} //maximum instellen in maxbri
Als (led4bri == vergelijk) {led5bri = maxbri;}
Als (led5bri == vergelijk) {led6bri = maxbri;}
Als (led6bri == vergelijk) {led1bri = maxbri;}
analogWrite (led1, led1bri); uitgang naar de LED 's
analogWrite (led2, led2bri);
analogWrite (led3, led3bri);
analogWrite (led4, led4bri);
analogWrite (led5, led5bri);
analogWrite (led6, led6bri);
delay(DLY); onderbreken voordat u opnieuw begint
}