Multifunctional Led
De code die gebruikt is voor dit project is voor een deel zelf gemaakt, en voor een deel van meerdere websites gehaald. Persoonlijk vind ik het makkelijker om eerst de code volledig te schrijven en te kijken of er geen fouten in zitten voordat je alles in het breadboard steekt en dan pas naar de code gaat kijken. Om te kijken of de code klopt en het programma geen fouten ziet is om bovenin op het v’tje te klikken.
//Maaike-Eva Bout definitief motion // januari 2016 int LEDArray[] = {5, 6, 9, 10}; // LEDs zijn in DIGITAL PWM: 5,6,9,10 int numOfLEDs = 4; // LEDs hebben een index van 0 tot 3 int PIRval = 0; // een variable voor het lezen van de PIN status int PIRpin = 12; // De DIGITAL PWM 12 is verbonden met de OUT van de sensor int PIRstate = LOW; // in het begin vanuit gaan dat er geen beweging plaats vind void setup() { Serial.begin(9600); pinMode(PIRpin, INPUT); int i; for(i = 0; i < numOfLEDs; i++) { pinMode(LEDArray[i], OUTPUT); } } void loop() { PIRval = digitalRead(PIRpin); int i; if (PIRval == HIGH) { for (i= 0; i < numOfLEDs; i++) { analogWrite(LEDArray[i], 255); // gebruik de volledige kleur van de LED delay (800); // totaal iets minder dan een 1 seconde } delay (800); // totaal iets minder dan een 1 seconde for (i= 0; i < numOfLEDs; i++) { analogWrite(LEDArray[i], 0); // gebruik geen kleur van de LED, oftewel; uit! delay (800); // totaal iets minder dan een 1 seconde } if (PIRstate == LOW) { PIRstate = HIGH; } } //anders alle LED op nul zetten else { analogWrite(LEDArray[0], 0); analogWrite(LEDArray[1], 0); analogWrite(LEDArray[2], 0); analogWrite(LEDArray[3], 0); if (PIRstate == HIGH) { PIRstate = LOW; } } }