Maandag 21 april zijn we gesloten i.v.m. 2e paasdag. Bestellingen die na vrijdag 18 april 16:00 zijn geplaatst worden dinsdag 22 april verstuurd.

webwinkelkeur logo

4.7 gem.

5137+ beoordelingen
webwinkelkeur logoBekijk alles

5137+ beoordelingen

5137+ beoordelingen

Bestel voor 16:00 voor dezelfde dag verzending

14 dagen retour

NL

Particulier

Zakelijk

Arduino Project: Arduino Klok

Gevorderd
45 Min
87,36

In dit project laat ik jullie zien hoe je zelf een Arduino klok maakt

Met deze Arduino klok kan je de datum en tijd zien.

In dit project gebruiken we een 16×2 lcd-scherm, een real time clock module en een potentiometer. De real time clock (vanaf nu RTC) is eigenlijk een horloge maar dan in een elektronische vorm. Als de stroom wegvalt van de Arduino loopt de RTC nog door omdat deze dan op een klein baterijtje loopt. Zo kan hij voor 7 jaar de tijd bijhouden. Dit is vooral handig als je de Arduino klok op een batterij wilt laten lopen. Mocht de batterij opraken hoef je niet steeds de tijd goed te zetten. De potentiometer gebruiken wij om de felheid van het lcd-scherm te veranderen.

Bouwen en Bedraden

Nu gaan we het project bouwen

We beginnen met het solderen van de pinheaders op de RTC. Doe dit volgens de onderstaande plaatjes. Als je goed kijkt zie je dat ik de RTC ondersteboven op het breadboard geplaatst heb. Dit heb ik gedaan zodat hij beter op het breadboard past aangezien mijn pinheaders niet lang genoeg waren. Je moet zelf kijken wat jij het makkelijkst vindt. Let er wel op dat je wel de juiste aansluitingen op de RTC gebruikt.

Nadat je de pinheaders hebt gesoldeerd kan je de componenten plaatsen volgens de tekening. Daarna kan je beginnen met het bedraden van de componenten en de Arduino.

Het is belangrijk dat je de juiste componenten op de juiste Arduino pins aansluit, anders werkt de code niet!

RTC                      ->           Arduino Uno

SCL                       ->           pin A5

SDA                      ->            pin A4

VCC                      ->           5V

GND                     ->            GND

LCD                      ->           Arduino Uno

VSS                       ->           GND

VDD                      ->           5V

VO                        ->           potentiometer signal

RS                         ->           pin 12

RW                       ->           GND

E                           ->           pin 11

D4                         ->           pin 5

D5                         ->           pin 4

D6                         ->           pin 3

D7                         ->           pin 2

A                           ->           5V

K                           ->           GND

Programmeren

Nu je klaar bent met het bedraden en bouwen van je Arduino Alarm kan je beginnen met het programmeren van de Arduino Uno.

Voor deze code moeten wij ook een library toevoegen.

Een Library of Include file bevatten vaak code welke vaak hergebruikt kan worden in andere Sketches. Vaak zijn libraries (bibliotheken) een verzameling samenhangende functies gericht op een bepaalde toepassing. Bijvoorbeeld om een strip met LEDjes aan te sturen, speciale wiskundige functies of bijvoorbeeld om een LCD schermpje aan te sturen.

Wij gebruiken de library voor de RTC, anders weet hij niet wat hij moet doen.
Download de Library hier
Om de Library aan de IDE toe te voegen moeten we het mapje RTC kopieren of te verplaatsen naar de map libraries.
deze map is normaal te vinden in C:\Users\(naam)\Documents\Arduino\libraries

De code die hieronder staat kan je  dan volledig kopiëren en plakken in de Arduino IDE.
Upload de code naar de Arduino Uno en kijk of deze werkt.
Als het goed is brand het lcd-scherm en staat hier de juiste datum en tijd op.
Met de potentiemeter kan je de felheid van het lcd-scherm veranderen.

Mocht het zo zijn de het lcd-scherm aan staat maar niks aangeeft moet je de potentiemeter naar links of rechts draaien.

Kopieer nu de onderstaande code in je Arduino programma, wij raden het aan om het zelf over te nemen aangezien je hier meer van leert.

#include <Wire.h>
#include <RTClib.h> // zorg ervoor dat je de map RTC in de goede libraries map zet
#include <LiquidCrystal.h>

RTC_DS1307 RTC;

const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

 

void setup () {
Serial.begin(9600);
Wire.begin();
RTC.begin();
lcd.begin(16, 2);

// de volgende zin verzet de tijd van de RTC naar de tijd wanneer deze code geupload is naar de Arduino
RTC.adjust(DateTime(_DATE, __TIME_));

}
void loop () {
DateTime now = RTC.now();
lcd.setCursor(4,0);
lcd.print(now.day(), DEC);
lcd.print(‘/’);
lcd.print(now.month(), DEC);
lcd.print(‘/’);
lcd.print(now.year(), DEC);
lcd.print(‘ ‘);
lcd.setCursor (4,1);
lcd.print(now.hour(), DEC);
lcd.print(‘:’);
lcd.print(now.minute(), DEC);
lcd.print(‘:’);
lcd.print(now.second(), DEC);
lcd.print(‘ ‘);
delay(1000);
}