- Vereiste componenten:
- Raspberry Pi instellen voor wekker:
- Schakelschema en aansluitingen:
- Programma en werkuitleg:
In deze sessie gaan we naar Interface Real Time Clock Module DS1307 met Raspberry PI om een wekker te maken. Hoewel Raspberry Pi een interne klok heeft, maar zonder internetverbinding, wordt deze interne klok na elke herstart gereset. Dus om nauwkeurige TIJD te krijgen zonder internetverbinding, moeten we een RTC-module DS1307 verbinden met Raspberry Pi. De RTC-module heeft een knoopbatterij voor back-up, zodat de TIJD niet wordt gereset. We hebben ook een wekker gebouwd met Arduino en met ATmega32 AVR Microcontroller, controleer ze ook.
In deze Raspberry Pi digitale klok moet een LCD-scherm van 16 * 2 tekens de realtime, alarmtijd en status van het alarm (AAN / UIT) weergeven. Zodra het programma in Pi begint te draaien, kunnen we de monitor loskoppelen en het alarm instellen met behulp van dit LCD-scherm en vijf knoppen.
Elk van de 17 GPIO-pinnen kan maximaal 15 mA stroom leveren of trekken. Speel dus niet met GPIO-pinnen en controleer de aansluitingen twee keer voordat je de Raspberry Pi van stroom voorziet. Lees hier meer over GPIO-pinnen en interface-knop met Raspberry Pi. Bekijk ook onze Raspberry Pi Tutorial-serie samen met enkele goede IoT-projecten.
Vereiste componenten:
Hier gebruiken we Raspberry Pi 2 Model B met Raspbian Jessie OS. Alle basis hardware- en softwarevereisten zijn eerder besproken, je kunt het opzoeken in de Raspberry Pi Introductie en Raspberry PI LED Knipperend om aan de slag te gaan, behalve dat we nodig hebben:
- Raspberry Pi met vooraf geïnstalleerd besturingssysteem
- RTC-module DS1307 met batterij
- Stroomvoorziening
- 1KΩ weerstand (6 stuks)
- 5 knoppen
- 1000uF condensator (2 stuks)
- LCD van 16 * 2 tekens
- 2N2222 transistor
- Zoemer
Raspberry Pi instellen voor wekker:
Voordat we verder gaan, moeten we Raspberry Pi een beetje configureren en het bibliotheekbestand voor de RTC-module installeren, volg onderstaande stappen:
Stap 1: Ga eerst naar het configuratiemenu van de Raspberry Pi en schakel de I2C-optie in zoals hieronder weergegeven:
Stap 2: Maak een nieuwe map op het Raspberry Pi-bureaubladscherm en noem deze 'Wekker'
Stap 3: Download het headerbestand voor de RTC-module via onderstaande link:
codeload.github.com/switchdoclabs/RTC_SDL_DS1307/zip/master
Stap 4: Pak het gedownloade zip-bestand uit in de map (Alarm Clock) die op DESKTOP is gemaakt, zoals verteld in de vorige stap.
Stap 5: Open het terminalvenster in Raspberry Pi en voer de onderstaande opdracht in en druk op enter:
sudo apt-get install i2c-tools
Met deze opdracht worden I2C-tools geïnstalleerd die nodig zijn voor het koppelen van de RTC-module. Start vervolgens de Raspberry pi opnieuw op door de opdracht ' sudo reboot' te geven .
Stap 6: Nu moeten we het I2C-adres van de RTC-module controleren. Voordat u het adres controleert, sluit u eerst de RTC-module aan zoals weergegeven in het onderstaande schakelschema.
Voer dan hieronder in het terminalvenster in.
sudo i2cdetect -y 0 OF sudo i2cdetect -y 1
Stap 7: Als een van de bovenstaande opdrachten werkt, ziet u zoiets als dit:
Stap 8: U ziet I2C-adres 0x68 als de RTC-module correct is aangesloten, noteer de waarde.
Hiermee worden alle nodige aanpassingen gedaan met de Raspberry Pi-configuratie.
Schakelschema en aansluitingen:
Verbindingen tussen Raspberry Pi en LCD worden weergegeven in onderstaande tabel:
Verbindingen tussen Raspberry Pi en vijf knoppen worden ook weergegeven in de onderstaande tabel met de respectieve functie van elke knop:
Programma en werkuitleg:
De RTC-module heeft een knoopcel voor stroomondersteuning zoals besproken, dus de tijd zal up-to-date zijn totdat de back-up op is en we hebben een nauwkeurige tijd in RTC.
Nu zullen we een Python-programma schrijven om de nauwkeurige tijd van RTC-module DS1307 te krijgen. Deze tijd wordt getoond op het 16x2 LCD-scherm. Daarna hebben we een wekkerfunctie die in het programma is geschreven. De alarmtijd wordt ook weergegeven op de tweede regel van het LCD-scherm, gevolgd door de status AAN en UIT. De alarmtijd kan worden aangepast door 5 op de Raspberry Pi aangesloten knoppen zoals vermeld in de bovenstaande tabel en het is heel eenvoudig om het alarm in te stellen. U kunt ook onze demovideo bekijken om deze Raspberry Pi-wekker te bedienen. Er zijn 2 knoppen voor het verhogen en verlagen van de alarmuurtijd, 2 knoppen voor het verhogen en verlagen van de alarmminuten en 1 knop voor het in- en uitschakelen van het alarm.
Python-programma blijft de alarmtijd continu vergelijken met de RTC-tijd en zodra de alarmtijd overeenkomt met de RTC-tijd, triggert PI de zoemer, die is aangesloten op GPIO-pin 22 van Raspberry Pi via de NPN-transistor 2N2222. Dus zodra de alarmtijd is bereikt, maakt de zoemer het geluid.
Het volledige programma wordt hieronder gegeven en goed uitgelegd door middel van de opmerkingen. Als u enige twijfel heeft, kunt u dit stellen in het commentaargedeelte hieronder.