Turinys:

Laikrodis, LCD ekranas, nustatytas infraraudonųjų spindulių ryšys: 6 žingsniai
Laikrodis, LCD ekranas, nustatytas infraraudonųjų spindulių ryšys: 6 žingsniai

Video: Laikrodis, LCD ekranas, nustatytas infraraudonųjų spindulių ryšys: 6 žingsniai

Video: Laikrodis, LCD ekranas, nustatytas infraraudonųjų spindulių ryšys: 6 žingsniai
Video: HAYLOU Xiaomi RT2 (LS10) Smart Watch IP68: Things To Know // In-Depth Review 2024, Liepa
Anonim
Laikrodis, LCD ekranas, nustatytas infraraudonųjų spindulių ryšys
Laikrodis, LCD ekranas, nustatytas infraraudonųjų spindulių ryšys
Laikrodis, LCD ekranas, nustatytas infraraudonųjų spindulių ryšys
Laikrodis, LCD ekranas, nustatytas infraraudonųjų spindulių ryšys

Sukurkite realaus laiko laikrodį, kuris įjungia laiką per kelias minutes per metus. Kodas ir komponentai gali būti lengvai pritaikyti kitiems projektams.

Šiam projektui reikalingas minimalus laidų skaičius ir litavimas. Laiko laikytojas yra DS3231 realaus laiko laikrodis. Laikas rodomas nebrangiame 1602 LCD. Abu moduliai naudoja I2C ryšį. „I2C“naudoja tik 2 laidus kiekviename modulyje, kai jungiasi prie „Arduino“. Aš naudoju „Arduino Nano“, nes jis puikiai tinka ant duonos lentos. Šios instrukcijos veiks su „Arduino Uno“, nes jo PIN kodai yra tokie patys kaip šio projekto „Nano“. Kitas komponentas yra infraraudonųjų spindulių imtuvas. Tai leidžia naudoti įprastą nuotolinio valdymo pultą, pvz., Televizoriaus nuotolinio valdymo pultą, kad nustatytumėte laiką taip, kaip nustatytumėte mūsų išmaniajame televizoriuje. Infraraudonųjų spindulių imtuvui prijungti prie „Arduino“reikia tik vieno laido.

Pirmasis žingsnis yra išbandyti „Arduino“ir prijungti jį prie duonos lentos. Tolesni veiksmai yra skirti dirbti savarankiškai. Kiekvienas žingsnis turi prijungimo instrukcijas ir bandymo instrukcijas. Kurdamas projektus, jungiu laidus ir išbandau kiekvieną komponentą, kad įsitikinčiau, ar jie veikia. Tai padeda integruoti daugybę komponentų, nes žinokite, kad kiekvienas darbas ir aš galime sutelkti dėmesį į integracijos reikalavimus.

Ši instrukcija reikalauja, kad būtumėte įdiegęs „Arduino IDE“. Jūs taip pat turite turėti pagrindinius įgūdžius atsisiųsti „Arduino“eskizų programą iš šio projekto nuorodų, sukurkite programos katalogą (katalogo pavadinimas toks pat kaip ir programos pavadinimas). Kiti veiksmai - įkelti, peržiūrėti ir redaguoti programą IDE. Tada įkelkite programą per USB kabelį į „Arduino“plokštę.

Prekės

  • „Nano V3 ATmega328P CH340G“mikro valdiklio plokštė, skirta „Arduino“. Kaip alternatyvą galite naudoti „Uno“.
  • DS3231 realaus laiko laikrodis ir CR2032 baterija.
  • 1602 LCD su I2C moduliu
  • Infraraudonųjų spindulių imtuvas ir nuotolinio valdymo pultas. Naudojau IR belaidžio nuotolinio valdymo modulio rinkinius, kurie buvo komplektuojami su infraraudonųjų spindulių imtuvu ir infraraudonųjų spindulių nuotolinio valdymo pultu.
  • Bandomoji Lenta
  • Laidų kabeliai
  • 5 voltų sieninis adapteris

Aš nusipirkau dalis „eBay“, daugiausia iš Honkongo ar Kinijos platintojų. JAV platintojai kartais turi tas pačias ar panašias dalis už priimtiną kainą ir greitesnį pristatymą. Kinijos dalių pristatymas trunka nuo 3 iki 6 savaičių. Visi mano naudojami platintojai buvo patikimi.

Apytikslės išlaidos: Nano 3 USD, DS3231 1 USD, LCD 3 USD, infraraudonųjų spindulių rinkinys 1 USD, duonos plokštė 2 USD, 40 laidų kabelių paketas 1 USD, 1 USD už 5 voltų sieninį adapterį. Iš viso, apie 11 USD. Atkreipkite dėmesį, aš nusipirkau „Nano“ir skystųjų kristalų ekraną su duonos lentos kaiščiais, kurie jau buvo lituoti, nes mano litavimo įgūdžiai yra prasti. Laikrodžio baterijai nusipirkau 5 paketus ličio CR2032 baterijų už maždaug 1,25 USD. Aš taip pat nusipirkau 5 paketus DS3231, nes man patinka laikrodžiai. Šiame projekte naudojama 1 duonos lenta. Aš nusipirkau 3 „breadboard“paketą už maždaug 7 USD; geresnis pasiūlymas nei pirkti atskirą lentą.

1 veiksmas: pridėkite „Arduino Nano“prie duonos lentos

Pridėkite „Arduino Nano“prie duonos lentos
Pridėkite „Arduino Nano“prie duonos lentos

Prijunkite „Arduino Nano“prie duonos lentos. Arba, jei norite, šiam projektui galite naudoti „Arduino Uno“; šiam projektui jie abu naudoja tuos pačius kaiščius. Prijunkite „Nano“(arba „Uno“) prie kompiuterio per USB kabelį.

Prijunkite maitinimą ir įžeminimą iš „Arduino“prie duonos lentos maitinimo juostos. Prijunkite „Arduino 5+“kaištį prie duonos lentos teigiamos juostos. Prijunkite „Arduino GRN“(įžemintą) kaištį prie duonos lentos neigiamos (įžemintos) juostos. Tai naudos kiti komponentai.

Atsisiųskite ir paleiskite pagrindinę „Arduino“testavimo programą: arduinoTest.ino. Vykdant programą, įmontuota LED lemputė įsijungs 1 sekundei, tada išsijungs 1 sekundei. Taip pat skelbiami pranešimai, kuriuos galima peržiūrėti naudojant „Arduino IDE Tools/Serial Monitor“.

+++ sąranka.

+ Inicializuotas LED skaitmeninis kaištis išėjimui. Šviesos diodas išjungtas. ++ Eiti į kilpą. + Ciklo skaitiklis = 1 + Ciklo skaitiklis = 2 + Ciklo skaitiklis = 3…

Atlikdami pratimą, pakeiskite mirksinčios šviesos delsą, įkelkite pakeistą programą ir patvirtinkite pakeitimą.

Aukščiau esančioje nuotraukoje yra 140 dalių be litavimo duonos lentos megztinių laidų rinkinio dėžutė, kurią galite įsigyti už 3–5 dolerius. Jie daro plokštes tvarkingesnes, naudojant trumpus sujungimus ilgus kabelius.

2 veiksmas: pridėkite DS3231 laikrodžio modulį ir prijunkite jį prie „Arduino“

Pridėkite DS3231 laikrodžio modulį ir prijunkite jį prie „Arduino“
Pridėkite DS3231 laikrodžio modulį ir prijunkite jį prie „Arduino“

Prijunkite laikrodžio modulį prie duonos lentos. Prijunkite laikrodžio modulio GND kaištį prie duonos lentos įžeminimo juostos. Prijunkite laikrodžio modulio VCC kaištį prie duonos lentos teigiamos juostos. Prijunkite laikrodžio modulio SDA (duomenų) kaištį prie „Arduino“(I2C duomenų kaiščio) A4 kaiščio. Prijunkite laikrodžio modulio SCL (laikrodžio) kaištį prie „Arduino“kaiščio A5 (I2C laikrodžio kaištis).

Į „Arduino IDE“įdiekite DS3231 laikrodžių biblioteką. Pasirinkite Įrankiai/Tvarkyti bibliotekas. Filtruokite paiešką įvesdami „rtclib“. Pasirinkite „RTClib by Adafruit“(nuoroda, bibliotekos nuoroda).

Atsisiųskite ir paleiskite pagrindinę testavimo programą: clockTest.ino. Vykdant programą, skelbiami laikrodžio laiko pranešimai, kuriuos galima peržiūrėti naudojant „Arduino IDE Tools/Serial Monitor“.

+++ sąranka.

+ Laikrodžio rinkinys. ++ Eiti į kilpą. ---------------------------------------- + Dabartinė data ir laikas: 2020/3/ 22 (sekmadienis) 11: 42: 3 + dabartinė data ir laikas: 2020/3/22 (sekmadienis) 11: 42: 4 + dabartinė data ir laikas: 2020/3/22 (sekmadienis) 11: 42: 5…

Kaip pratimą naudokite rtc.adjust (), kad nustatytumėte laikrodžio laiką ir datą, įkeltumėte pakeistą programą ir patvirtintumėte pakeitimą.

rtc.adjust (DateTime (2020, 3, 19, 10, 59, 50)); // Pirmoji pavasario diena, 2020 m.

3 veiksmas: pridėkite 1602 LCD ekrano modulį ir prijunkite jį prie „Arduino“

Pridėkite 1602 LCD ekrano modulį ir prijunkite jį prie „Arduino“
Pridėkite 1602 LCD ekrano modulį ir prijunkite jį prie „Arduino“

Prijunkite LCD modulį prie duonos lentos. Prijunkite laikrodžio modulio GND kaištį prie duonos lentos įžeminimo juostos. Prijunkite laikrodžio modulio VCC kaištį prie duonos lentos teigiamos juostos. Prijunkite laikrodžio modulio SDA (duomenų) kaištį prie „Arduino“(I2C duomenų kaiščio) A4 kaiščio. Prijunkite laikrodžio modulio SCL (laikrodžio) kaištį prie „Arduino“kaiščio A5 (I2C laikrodžio kaištis).

Į „Arduino IDE“įdiekite 1602 LCD biblioteką. Pasirinkite Įrankiai/Tvarkyti bibliotekas. Filtruokite paiešką įvesdami „LiquidCrystal“. Pasirinkite Frank de Barbander „LiquidCrystal I2C“(nuoroda - bibliotekos nuoroda).

Atsisiųskite ir paleiskite pagrindinę testavimo programą: lcd1602Test.ino. Vykdant programą, skelbiami laikrodžio laiko pranešimai, kuriuos galima peržiūrėti naudojant „Arduino IDE Tools/Serial Monitor“.

+++ sąranka.

+ LCD paruoštas naudoti. +++ Eiti į kilpą. + theCounter = 1 + theCounter = 2 + theCounter = 3…

Atlikdami pratimą, pakeiskite LCD ekrano pranešimus, įkelkite pakeistą programą ir patvirtinkite pakeitimą.

4 veiksmas: pridėkite infraraudonųjų spindulių imtuvą ir prijunkite jį prie „Arduino“

Pridėkite infraraudonųjų spindulių imtuvą ir prijunkite jį prie „Arduino“
Pridėkite infraraudonųjų spindulių imtuvą ir prijunkite jį prie „Arduino“

Į infraraudonųjų spindulių imtuvą (kištukiniai galai) prijunkite patelę prie laido kabelių. Prijunkite laikrodžio modulio įžeminimo kaištį prie duonos lentos įžeminimo juostos. Prijunkite laikrodžio modulio maitinimo kaištį prie duonos lentos teigiamos juostos. Prijunkite infraraudonųjų spindulių imtuvo išvesties kaištį prie „Arduino A1“kaiščio.

Prijunkite infraraudonųjų spindulių imtuvą, kaiščius iš viršaus į kairę į dešinę:

Kairė dauguma (šalia X) - Nano kaištis A1 centras - 5V Dešinysis - žemė

A1 + - - Nano kaiščių jungtys

| | | -Infraraudonųjų spindulių imtuvo kaiščiai --------- | S | | | | --- | | | | | | --- | | | ---------

Į „Arduino IDE“įdiekite infraraudonųjų spindulių biblioteką. Pasirinkite Įrankiai/Tvarkyti bibliotekas. Filtruokite paiešką įvesdami „IRremote“. Pasirinkite „IRremote by Shirriff“(nuoroda - bibliotekos nuoroda).

Atsisiųskite ir paleiskite pagrindinę testavimo programą: infraredReceiverTest.ino. Vykdydami programą, nukreipkite nuotolinio valdymo pultą į imtuvą ir paspauskite įvairius mygtukus, pvz., Skaičių nuo 0 iki 9. Serijiniai pranešimai išvedami (atspausdinami), kuriuos galima peržiūrėti naudojant „Arduino IDE Tools/Serial Monitor“.

+++ sąranka.

+ Inicijavo infraraudonųjų spindulių imtuvą. ++ Eiti į kilpą. + Klavišas Gerai - perjungti + klavišas> - kitas + klavišas < - ankstesnis + klavišas aukštyn + klavišas žemyn + 1 klavišas: + 2 klavišas: + 3 klavišas: + 4 klavišas: + 6 klavišas: + 7 klavišas: + 8 klavišas: + 9 klavišas: + klavišas 0: + klavišas * (grįžimas) + klavišas # (išeiti)

Norėdami pamatyti atspausdintas vertes, naudokite televizoriaus nuotolinio valdymo pultą. Tada galite modifikuoti programą, kad būtų naudojamos funkcijos „infraredSwitch ()“jungiklio teiginyje. Pavyzdžiui, paspauskite klavišą „0“ir gaukite nuotolinio valdymo pulto vertę, pavyzdžiui, „0xE0E08877“. Tada pridėkite raidę į jungiklio teiginį, kaip nurodyta toliau pateiktame kodo fragmente.

atvejis 0xFF9867:

atvejis 0xE0E08877: Serial.print ("+ raktas 0:"); Serial.println (""); pertrauka;

5 veiksmas: įkelkite laikrodžio projekto „Arduino“eskizo programą ir išbandykite

Įkelkite laikrodžio projekto „Arduino“eskizų programą ir išbandykite
Įkelkite laikrodžio projekto „Arduino“eskizų programą ir išbandykite
Įkelkite laikrodžio projekto „Arduino“eskizų programą ir išbandykite
Įkelkite laikrodžio projekto „Arduino“eskizų programą ir išbandykite
Įkelkite laikrodžio projekto „Arduino“eskizų programą ir išbandykite
Įkelkite laikrodžio projekto „Arduino“eskizų programą ir išbandykite

Dabar, kai visi komponentai yra pridedami prie duonos lentos, prijungti ir išbandyti; laikas įkelti pagrindinę laikrodžio programą ir ją paleisti. Laikrodžio programa gauna laiką iš laikrodžio modulio, rodo laiką LCD ekrane ir leidžia nustatyti laiką naudojant infraraudonųjų spindulių nuotolinio valdymo pultą.

Atsisiųskite ir paleiskite projekto laikrodžio programą: clockLcdSet.ino.

Pradėjus programą, 1602 LCD ekrane bus rodomas DS3231 laikas. Pranešimus galima peržiūrėti naudojant „Arduino IDE Tools/Serial Monitor“.

+++ sąranka.

+ LCD ekranas. + syncCountWithClock, theCounterHours = 13 theCounterMinutes = 12 theCounterSeconds = 13 + Laikrodis nustatytas ir sinchronizuotas su programos kintamaisiais. + Įjungtas infraraudonųjų spindulių imtuvas. ++ Eiti į kilpą. + clockPulseMinute (), theCounterMinutes = 15 + clockPulseMinute (), theCounterMinutes = 16 + clockPulseMinute (), theCounterMinutes = 17…

Nukreipkite nuotolinio valdymo pultą į imtuvą ir paspauskite rodyklės į dešinę mygtuką. Nustatymui bus rodomi metai. Kelis kartus paspauskite rodyklės į dešinę mygtuką, kad pamatytumėte, jog galite nustatyti metus, mėnesį, dieną, valandą, minutę ir sekundes. Norėdami nustatyti laiko vertę, eikite į vertę. Naudodami rodykles aukštyn ir žemyn nustatykite rodomą vertę. Tada naudokite mygtuką „Gerai“, kad nustatytumėte laikrodžio vertę. Vienu metu nustatoma viena vertė.

6 žingsnis: išorinis maitinimo šaltinis

Išorinis maitinimo šaltinis
Išorinis maitinimo šaltinis

Dabar, kai jūsų laikrodis yra išbandytas ir veikia, galite jį atjungti nuo kompiuterio ir naudoti nepriklausomą maitinimo šaltinį. Paprastumo dėlei naudoju 5 voltų sieninį adapterį, kurį galima nusipirkti už maždaug dolerį, ir USB kabelį, kitą dolerį. Kabelis jungia „Arduino“prie +5 V sieninio adapterio. Kadangi „Arduino“maitinimo ir įžeminimo kaiščiai yra prijungti prie duonos lentos, tai maitins kitus komponentus.

Dėl paprastumo ir mažos kainos aš naudoju tą patį derinį kitų projektų veikimui.

Tikiuosi, kad jums pasisekė ir patiko kurti infraraudonųjų spindulių valdomą LCD laikrodį.

Rekomenduojamas: