INHOUDSOPGAWE:

Groot Arduino LCD -horlosie met twee alarms en temperatuurmonitor wat deur IR -afstandsbediening beheer word: 5 stappe
Groot Arduino LCD -horlosie met twee alarms en temperatuurmonitor wat deur IR -afstandsbediening beheer word: 5 stappe

Video: Groot Arduino LCD -horlosie met twee alarms en temperatuurmonitor wat deur IR -afstandsbediening beheer word: 5 stappe

Video: Groot Arduino LCD -horlosie met twee alarms en temperatuurmonitor wat deur IR -afstandsbediening beheer word: 5 stappe
Video: How to Use I2C LCD with Arduino | Very Easy Arduino LCD I2C Tutorial | Arduino 16x2 LCD I2C Tutorial 2024, November
Anonim
Groot Arduino LCD -klok met twee alarms en temperatuurmonitor wat deur IR -afstandsbediening beheer word
Groot Arduino LCD -klok met twee alarms en temperatuurmonitor wat deur IR -afstandsbediening beheer word

Hoe om 'n Arduino -gebaseerde LCD -klok te bou met twee alarms en temperatuurmonitor wat deur IR -afstandsbediening beheer word.

Stap 1: Beskrywing

Image
Image

Dit is 'n LCD -horlosie wat gemaak is met die DS3231 real -time klokmodule, wat anders as DS1307 die moontlikheid van alarm en temperatuurmonitor het. In hierdie geval vertoon die LCD -skerm die datum, tyd, twee alarms en ook die huidige temperatuur. En die interessantste deel is dat die volledige instellings van die horlosie, sowel as om die alarm te demp, via die TV -afstandsbediening gedoen word.

Stap 2: Onderdele

Gebou
Gebou

Hardeware -onderdele benodig vir die bou:

-Arduino bord

-DS3231 RTC -bord

-20X4 LCD -skerm

-I2C Arduino LCD -skermmodule

-RC5 protokol IR afstandsbediening

-IR ontvanger

-LED

-Buzzer

-220 Ohm weerstand

Stap 3: Bou

Gebou
Gebou
Gebou
Gebou
Gebou
Gebou

Die basiese kode is afkomstig van die eenvoudige kring-webblad. En ek het 'n paar veranderinge aangebring: Vir die eenvoud het ek 'n I2C-module by die LCD-skerm gevoeg en die kode dienooreenkomstig aangepas. Ek het ook 'n klein gonser bygevoeg wat geluid genereer met 'n gegewe frekwensie terwyl die alarm aktief is.

Die DS3231 -bord word voorsien van 5V as die 20x4 LCD en die IR -ontvanger, hierdie 5V kom van die Arduino -bord; daar is 3 gegewens tussen hierdie kaart en die Arduino verbind, die SCL -lyn is gekoppel aan die analoog pen 5, die SDA is gekoppel aan analoog pen 4 en INT -lyn is gekoppel aan digitale pen 2, wat die eksterne onderbrekingspen van die Arduino (INT0) is. Die DS3231 onderbreek die mikrobeheerder as daar 'n alarm is (alarm1 of alarm2). Die IR -ontvanger het 3 penne: GND, VCC en OUT, waar die OUT -pen gekoppel is aan Arduino -pen 3, 'n eksterne onderbrekingspen (INT1). Die LED wat aan die Arduino -pen 10 gekoppel is, word gebruik as 'n alarmaanwyser (alarm1 of alarm2), so as daar 'n alarm is, trek die DS3231 die INT -pen af wat die mikrokontroleerder (ATmega328P) onderbreek en die mikrobeheerder skakel die LED aan, hier 'n knoppie op die afstandsbediening skakel beide die LED en die alarm wat af is, af. Ons moet ons afstandsbediening dekodeer om die kode van elke knoppie te ken, want ons moet dit by die Arduino -sagteware (kode) voeg.

Stap 4: Afstandsbediening

Afstand beheerder
Afstand beheerder

Die afstandsbediening wat in hierdie projek gebruik word, is 'n TV IR -afstandsbediening met RC5 -protokol, dit is die een wat hieronder getoon word (gebruikte knoppies is genommer):

Knoppie funksiekode (heks -formaat)

1 toename 0x20

2 Stel tyd en kalender 0x10 in

3 Verminder 0x21

4 Stel alarms 0x11 in

5 Stel alarms 0x0C terug

Let daarop dat hierdie kode die afstandsbediening met die RC5 -protokol moet gebruik, en meestal word sulke afgeleë toestelle deur ouer Philips -toestelle gebruik. Hieronder is 'n eenvoudige kode "IR -protokolzoeker" waarmee u die protokol van enige afstandbeheer maklik kan bepaal, asook die waarde van elke knoppie. Die foto toon die afstandsbediening wat ek gebruik het met die gemerkte waardes en funksies van die knoppies.

Stap 5: Skematiese en kode

Skematiese en kode
Skematiese en kode

Hieronder word 'n klein kode aangebied om die tipe protokol en die waardes van die knoppies op die IR -beheerder en die volledige klokkode te bepaal

Aanbeveel: