Anders, NLT

Voetgangersstoplicht op de arduino

Handleiding van Rickie Duijvestijn en Odette Boot uit H4F

In deze handleiding leer je een voetgangers stoplicht te maken met behulp van een arduino. Deze arduino werkt als volgt: Je drukt op het knopje, vervolgens wacht je drie secondes. De display telt af vanaf drie. Na de drie secondes gaat het rode lampje uit, en het groene lampje gaat aan. Na  vijf secondes gaat het groene lampje weer uit en staat het rode lampje weer aan.

Helaas ging er tijdens het maken van deze arduino ook iets mis. Er zit een fout in het systeembord wat maakt dat de code niet klopt. Als je bijvoorbeeld aangeeft dat je de knop aan (HIGH) wilt en je zet HIGH in de code, doet het systeembord precies het omgekeerde. De knop gaat uit (LOW). Dus eigenlijk is HIGH, LOW en andersom. De fout zit hem waarschijnlijk in de plus en de min in het systeembord, we hebben het geprobeerd op te lossen maar dat is helaas niet gelukt. Het heeft verder geen invloed op hoe het werkt.

Allereerst begin je met het in elkaar zetten van de constructie. Wij hebben zelf een schematische tekening gemaakt. Die is hieronder te zien. Als je deze constructie wilt namaken heb je de volgende materialen voor nodig:
– Potmeter
– Een groen en een rood ledje
– Een drukknop
– Arduino bord
– Breadboard
– 2x een 10k ohm weerstand
-2x een 220 ohm weerstand
– 20 draadjes
-USB draad
– LCD

 

Vervolgens open je het arduino programma op de computer. Met behulp van een USB draad verbind je het arduino bord met de computer. Voeg de code toe in het programma. Dit is de code:

/*
 LiquidCrystal Library - display() and noDisplay()

Demonstrates the use a 16x2 LCD display. The LiquidCrystal
 library works with all LCD displays that are compatible with the
 Hitachi HD44780 driver. There are many of them out there, and you
 can usually tell them by the 16-pin interface.

This sketch prints "Hello World!" to the LCD and uses the
 display() and noDisplay() functions to turn on and off
 the display.

The circuit:
 * LCD RS pin to digital pin 12
 * LCD Enable pin to digital pin 11
 * LCD D4 pin to digital pin 5
 * LCD D5 pin to digital pin 4
 * LCD D6 pin to digital pin 3
 * LCD D7 pin to digital pin 2
 * LCD R/W pin to ground
 * 10K resistor:
 * ends to +5V and ground
 * wiper to LCD VO pin (pin 3)

Library originally added 18 Apr 2008
 by David A. Mellis
 library modified 5 Jul 2009
 by Limor Fried (http://www.ladyada.net)
 example added 9 Jul 2009
 by Tom Igoe
 modified 22 Nov 2010
 by Tom Igoe
 modified 7 Nov 2016
 by Arturo Guadalupi

This example code is in the public domain.

http://www.arduino.cc/en/Tutorial/LiquidCrystalDisplay

*/

// include the library code:
#include <LiquidCrystal.h>

// initialize the library by associating any needed LCD interface pin
// with the arduino pin number it is connected to
 int knop = 10;
 const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
 int toestandknop = 0;
 int ledRood = 9;
 int ledGroen = 8;
 LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {
 // set up the LCD's number of columns and rows:
 lcd.begin(16, 2);
 lcd.display();
 pinMode(ledRood, OUTPUT);
 pinMode(ledGroen, OUTPUT);
 }

void loop() {
 toestandknop = digitalRead(knop);
 if(toestandknop == LOW) {
 // Turn on the display:
 digitalWrite(ledGroen, HIGH);
 digitalWrite(ledRood, LOW);
 lcd.display();
 lcd.print(" 3");
 delay(1500);
 lcd.clear();
 lcd.print(" 2");
 delay(1500);
 lcd.clear();
 lcd.print(" 1");
 delay(1500);
 lcd.clear();
 digitalWrite(ledRood, HIGH);
 digitalWrite(ledGroen, LOW);
 delay(5000);
 }
 else {
 lcd.noDisplay(); 
 digitalWrite(ledRood, LOW);
 digitalWrite(ledGroen, HIGH);
 }
 
}

1 Comment

  1. Valerie Scheffer

    Odette en Rickie, het ziet er heel mooi uit!!

    Goed bezig!

Leave a Reply