Bouw een Arduino-stoplicht met deze complete how-to

Bouw een Arduino-stoplicht met deze complete how-to

Altijd al een eigen stoplicht willen maken, voor je modelbouw- of modelspoorproject op zolder, of misschien voor je schoolproject? Dat kan, met Arduino, een printplaat en een aantal leds. Check deze how-to, compleet met onderdelenlijst en code voor je Arduino. (Tof project door onze vrienden van Conrad).

Benodigdheden:

Het eindresultaat

De Arduino

Hieronder zie je de aansluitingen die ik heb gebruikt voor dit project. De GND is de minpool, de overige aansluitingen zijn de pluszijde van de schakeling (pool 9 t/m 13). De Arduino is het hart van het project en maakt ook alle schakelingen mogelijk.

Bouw een Arduino-stoplicht met deze complete how-to

Code met uitleg:

//inputs namen geven en poorten toewijzen
int rood = 9;
int geel = 10;
int groen = 11;
int roodvoetganger = 12;
int groenvoetganger = 13;

//aangeven wat elke poort is. in dit geval outputs
void setup(){
pinMode(rood,OUTPUT);
pinMode(geel,OUTPUT);
pinMode(groen,OUTPUT);
pinMode(roodvoetganger,OUTPUT);
pinMode(groenvoetganger,OUTPUT);

//hiermee start je de loopfunctie
}
void loop(){
changeLights();
delay(1000);
}
void changeLights(){

// Rood voor auto + voetganger voor 0.8 sec
digitalWrite(rood,HIGH);
digitalWrite(geel,LOW);
digitalWrite(groen,LOW);
digitalWrite(roodvoetganger,HIGH);
digitalWrite(groenvoetganger,LOW);
delay(800);

// Rood voor auto, voetganger groen voor 4 sec
digitalWrite(rood,HIGH);
digitalWrite(geel,LOW);
digitalWrite(groen,LOW);
digitalWrite(roodvoetganger,LOW);
digitalWrite(groenvoetganger,HIGH);
delay(4000);

// Rood voor auto, voetganger groen knipperen (uit)
digitalWrite(rood,HIGH);
digitalWrite(geel,LOW);
digitalWrite(groen,LOW);
digitalWrite(roodvoetganger,LOW);
digitalWrite(groenvoetganger,LOW);
delay(300);

// Rood voor auto, voetganger groen knipperen (aan)
digitalWrite(rood,HIGH);
digitalWrite(geel,LOW);
digitalWrite(groen,LOW);
digitalWrite(roodvoetganger,LOW);
digitalWrite(groenvoetganger,HIGH);
delay(300);

// Rood voor auto, voetganger groen knipperen (uit)
digitalWrite(rood,HIGH);
digitalWrite(geel,LOW);
digitalWrite(groen,LOW);
digitalWrite(roodvoetganger,LOW);
digitalWrite(groenvoetganger,LOW);
delay(300);

// Rood voor auto, voetganger groen knipperen (aan)
digitalWrite(rood,HIGH);
digitalWrite(geel,LOW);
digitalWrite(groen,LOW);
digitalWrite(roodvoetganger,LOW);
digitalWrite(groenvoetganger,HIGH);
delay(300);

// Rood voor auto, voetganger groen knipperen (uit)
digitalWrite(rood,HIGH);
digitalWrite(geel,LOW);
digitalWrite(groen,LOW);
digitalWrite(roodvoetganger,LOW);
digitalWrite(groenvoetganger,LOW);
delay(300);

// Rood voor auto, voetganger groen knipperen (aan)
digitalWrite(rood,HIGH);
digitalWrite(geel,LOW);
digitalWrite(groen,LOW);
digitalWrite(roodvoetganger,LOW);
digitalWrite(groenvoetganger,HIGH);
delay(300);

// Rood voor auto, voetganger groen knipperen (uit)
digitalWrite(rood,HIGH);
digitalWrite(geel,LOW);
digitalWrite(groen,LOW);
digitalWrite(roodvoetganger,LOW);

digitalWrite(groenvoetganger,LOW);
delay(300);

// Rood voor auto, voetganger rood voor 0.8 sec
digitalWrite(rood,HIGH);
digitalWrite(geel,LOW);
digitalWrite(groen,LOW);
digitalWrite(roodvoetganger,HIGH);
digitalWrite(groenvoetganger,LOW);
delay(800);

  // groen voor auto, voetganger rood voor 4 sec
digitalWrite(rood,LOW);
digitalWrite(geel,LOW);
digitalWrite(groen,HIGH);
digitalWrite(roodvoetganger,HIGH);
digitalWrite(groenvoetganger,LOW);
delay(4000);

 // Geel voor auto, voetganger rood voor 1.5 sec
digitalWrite(rood,LOW);
digitalWrite(geel,HIGH);
digitalWrite(groen,LOW);
digitalWrite(roodvoetganger,HIGH);
digitalWrite(groenvoetganger,LOW);
delay(1500);
}

Makkelijk te programmeren en testen

Kortom: makkelijk om te programmeren, dacht ik zo. Ik heb zelf alles op een steekprintplaat gezet omdat het dan makkelijk is om te testen. Uit de code kan je al herleiden welk ledje op welke aansluiting moet. Daarom heb ik geen schema gemaakt. Nu denken jullie natuurlijk: waar zijn die nietjes voor nodig? Nou, ik had eerst heel veel flexibele insteekbruggen gebruikt, maar dat maakt het ook wel weer een beetje lelijk, helemaal met de geweldige weg eroverheen. Daarom heb ik voor het onderling doorlussen van de leds nietjes gebruikt. Zie ook de afbeelding hieronder.

Bouw een Arduino-stoplicht met deze complete how-to

En toen kwam het idee om een weg te maken, waarop het Arduino-stoplicht natuurlijk veel beter tot z’n recht komt. Kort gezegd even een beetje prutsen met Paint en Word Photoshop en je hebt een mooie straat, waarvan je het ontwerp hier kan downloaden.

Nog een kleine tip voor de echte doe-het-zelvers onder ons: als je hem getest hebt, kan je het steekprintplaatje vervangen door een gewone printplaat of door kabels, bijvoorbeeld voor je modelspoorstoplicht.

Veel bouwplezier!

1 Comment
  1. Reply
    Wesley 3 juli 2016 at 16:24

    ik ben aan het proberen om dit na te maken, maar ik kan niet goed zien waar de nietjes en kabeltjes moeten. zou je alsnog een schema kunnen maken zodat het zichtbaar is waar de nietjes/kabeltjes inmoeten???
    b.v.d

    Leave a reply

    Stuur mij een email bij nieuwe reacties op deze blogpost. Je kunt je ook inschrijven zonder zelf te reageren.