Niveau – Gemiddeld
Tijdsduur – 60 / 90 Min
Kosten – €48,85

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.

Stap 1: Benodigdheden

1X Arduino Uno

1X 1602 LCD Display Module(blauw)

1X Tiny RTC

1X 50K Potentiometer

1X breadboard

20X jumper wires

5X pin headers

RTC library

Een soldeerbout

Stap 2: Bouwen en Bedraden

Arduino klok project fritzing

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 componentjes 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

Stap 3: 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 invoegen

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.

#include 
#include 
// zorg ervoor dat je de map RTC in de goede libraries map zet
#include 

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 warneer deze code geuplood 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);
}

Ik hoop dat het je gelukt is om de Arduino klok te maken!