Anders, NLT

Arduino Duits stoplicht

Handleiding van Tanja Staneke en Romy Snel H4

In deze handleiding leer je een Duits stoplicht te maken, met behulp van een arduino. Een Duits stoplicht werkt net wat anders dan een Nederlands stoplicht. Bij een Duits stoplicht krijg je namelijk niet gelijk na rood weer een groen licht, maar eerst gaan rood en oranje nog samen aan.

Dus als je alles goed hebt aangesloten en de code hebt ingevoerd, zal eerst het rode ledje aangaan, deze brand 4 seconde en vervolgens komt 1 seconde het oranje ledje erbij. Dan zal het groene lampje 5 seconde gaan branden en daarna het oranje lampje weer 5 seconde. Vervolgens gaat het weer terug naar 4 seconde rood en 1 seconde rood en oranje. Etc.

Wij liepen wel tegen een aantal problemen aan. Zo hadden we 2x een kapotte arduino, hierdoor vond de computer de arduino dus niet. Toen we een werkende arduino hadden, was het groene ledje kapot en het draadje die van het gele ledje naar de 10 ging was ook kapot. Toen we al deze problemen hadden opgelost, werkte ons Duitse stoplicht.

De benodigdheden voor het Duitse stoplicht zijn:

  • Arduino
  • 4 draadjes
  • 3 weerstanden van 330 Ω
  • 1 rood ledje, 1 geel ledje en 1 groen ledje

Voor het aansluiten van de draadjes gebruik je volgend schema:

Vervolgens gebruik je onderstaande code in het arduino programma. Dit is een ander soort code, dan de meeste codes die worden gebruikt voor een stoplicht. Hierbij gaat het vooral om het laatste stuk. Bij onze code word namelijk in 3 stappen aangegeven welke ledjes aan moeten. Dit is gedaan met behulp van nullen en enen. Vervolgens staat daaronder in welke volgorde de stappen moeten werken. Bij de meeste codes moet je elke ledje apart aan en uit zetten. Dit kost dus veel werk om uit te typen.

// declare the pin wherein the red, yellow and green LEDs are connected, respectively int redPin = 9; int yellowPin = 10; int greenPin = 11;

void setup() {


// declare each of the coloured pins as digital output signals pinMode(redPin, OUTPUT); pinMode(yellowPin, OUTPUT); pinMode(greenPin, OUTPUT); }

void loop() {
// green light
setLights (0, 0, 1);
// stay at a green light for 5 seconds
delay(5000);

// yellow light
setLights (0, 1, 0);
// stay at a yellow light for 1 second or 1000 milliseconds delay(1000);

// stop light
setLights (1, 0, 0);
// stay at a stop light for 5 seconds or 5000 milliseconds delay(4000); setLights(1, 1, 0); delay(1000);

}

// write a custom function that sets a particular coloured LED ON or off void setLights(int red, int yellow, int green) {

// sets each of the coloured lights according to the parameters passed by the user // control a colour as they wish by using 1 as high and 0 as low


digitalWrite(redPin, red);
digitalWrite(yellowPin, yellow);
digitalWrite(greenPin, green);

}

Leave a Reply