INHOUDSOPGAWE:

Klok, LCD -skerm, infrarooi tot stel: 6 stappe
Klok, LCD -skerm, infrarooi tot stel: 6 stappe

Video: Klok, LCD -skerm, infrarooi tot stel: 6 stappe

Video: Klok, LCD -skerm, infrarooi tot stel: 6 stappe
Video: Электрика в квартире своими руками. Вторая серия. Переделка хрущевки от А до Я .#10 2024, Junie
Anonim
Klok, LCD -skerm, infrarooi na stel
Klok, LCD -skerm, infrarooi na stel
Klok, LCD -skerm, infrarooi na stel
Klok, LCD -skerm, infrarooi na stel

Bou 'n intydse klok wat die tyd binne 'n paar minute per jaar aktief hou. Die kode en komponente kan maklik in ander projekte hergebruik word.

Hierdie projek benodig 'n minimum bedrading en geen soldeerwerk nie. Die tydwagter is 'n DS3231 -reële -tydklok. Die tyd word op 'n goedkoop 1602 LCD vertoon. Beide modules gebruik I2C -kommunikasie. I2C gebruik slegs 2 drade per module wanneer u met 'n Arduino aansluit. Ek gebruik 'n Arduino Nano omdat dit mooi op 'n broodbord pas. Die volgende instruksies werk saam met 'n Arduino Uno, aangesien dit dieselfde speldnommers as die Nano vir hierdie projek het. Die ander komponent is die infrarooi ontvanger. Dit stel u in staat om 'n gewone afstandsbediening soos 'n TV -afstandsbediening te gebruik om die tyd presies soos op ons slim -TV in te stel. Die infrarooi ontvanger benodig slegs een draad om dit aan die Arduino te koppel.

Die eerste stap is om die Arduino te toets en aan die broodbord te koppel. Die volgende stappe wat ontwerp is om onafhanklik te werk. Elke stap bevat bedradinginstruksies en toetsinstruksies. As ek projekte bou, bedraad en toets ek elke komponent om te bevestig of dit werk. Dit help om die aantal komponente te integreer, want weet dat ek en elke werk op die integrasievereistes kan fokus.

Hierdie instruksies vereis dat u die Arduino IDE geïnstalleer het. U moet ook oor die basiese vaardighede beskik om 'n Arduino -sketsprogram van die skakels in hierdie projek af te laai, 'n gids vir die program te skep (naam dieselfde as die programnaam). Die volgende stappe is om die program in die IDE te laai, te bekyk en te wysig. Laai die program dan via 'n USB -kabel na u Arduino -bord.

Voorrade

  • Nano V3 ATmega328P CH340G Mikrobeheerbord vir Arduino. As alternatief kan u 'n Uno gebruik.
  • DS3231 intydse klok en 'n CR2032 -battery.
  • 1602 LCD met 'n I2C -module
  • Infrarooi ontvanger en afstandsbediening. Ek het 'n IR draadlose afstandsbedieningsmodule gebruik, wat saam met 'n infrarooi ontvanger en infrarooi afstandbeheer gekom het.
  • Broodbord
  • Draad kabels
  • 5 volt muuradapter

Ek het die onderdele op eBay gekoop, meestal by Hong Kong of China verspreiders. Amerikaanse verspreiders het soms dieselfde of soortgelyke onderdele teen billike pryse en vinniger aflewering. Die aflewering van die China -onderdele neem van 3 tot 6 weke. Die verspreiders wat ek gebruik het, was betroubaar.

Geskatte koste: Nano $ 3, DS3231 $ 1, LCD $ 3, infrarooi kit $ 1, broodbord $ 2, pakket met 40 draadkabels $ 1, $ 1 vir 'n 5 volt muuradapter. Totaal, ongeveer $ 11. Let wel, ek het die Nano en LCD gekoop met die broodbordpenne wat reeds vasgesoldeer is, aangesien ek min soldeervaardighede swak is. Vir die klokbattery het ek 'n 5 -pak litium CR2032 -batterye vir ongeveer $ 1,25 gekoop. Ek het ook 'n 5 -pak DS3231s gekoop omdat ek van tydstukke hou. Hierdie projek gebruik 1 broodbord. Ek het 'n 3 -broodbordpakket vir ongeveer $ 7 gekoop; 'n beter deal as om 'n individuele bord te koop.

Stap 1: Voeg die Arduino Nano by die broodbord

Voeg die Arduino Nano by die broodbord
Voeg die Arduino Nano by die broodbord

Steek die Arduino Nano in die broodbord. Of, as u dit verkies, kan u 'n Arduino Uno vir hierdie projek gebruik; hulle gebruik albei dieselfde penne vir hierdie projek. Koppel die Nano (of Uno) aan u rekenaar via 'n USB -kabel.

Koppel krag en grond van die Arduino aan die kragbalk van die broodbord. Koppel die Arduino 5+ -pen aan die positiewe balk van die broodbord. Koppel die Arduino GRN (gemaalde) pen aan die negatiewe (grond) staaf van die broodbord. Dit sal deur ander komponente gebruik word.

Laai die basiese Arduino -toetsprogram af en voer dit uit: arduinoTest.ino. As u die program uitvoer, sal die LED -lig aan boord vir 1 sekonde aanskakel en dan vir 1 sekonde afskakel. Daar word ook boodskappe geplaas wat in die Arduino IDE Tools/Serial Monitor besigtig kan word.

+++ Opstelling.

+ Die ingeboude LED digitale pen vir uitvoer. LED is af. ++ Gaan na lus. + Lusteller = 1 + Lusteller = 2 + Lusteller = 3 …

As oefening, verander die tydsvertraging op die flikkerende lig, laai die gewysigde program op en bevestig die verandering.

Op die foto hierbo is 'n boks met 140 stuk soldeerlose broodbord, wat u vir 3 tot 5 dollar kan kry. Hulle maak planke netjieser met lang kabels vir kort verbindings.

Stap 2: Voeg die DS3231 -klokmodule by en koppel dit aan die Arduino

Voeg die DS3231 -klokmodule by en koppel dit aan die Arduino
Voeg die DS3231 -klokmodule by en koppel dit aan die Arduino

Steek die klokmodule in die broodbord. Koppel die GND -pen van die klokmodule aan die strook van die broodbord se grondstaaf. Koppel die VCC -pen van die klokmodule aan die positiewe staaf van die broodbord. Koppel die klokmodule SDA (data) -pen aan die A4 -pen van die Arduino (I2C -data -pen). Koppel die klokmodule SCL (klok) -pen aan pen A5 van die Arduino (I2C -klokpen).

Installeer 'n DS3231 Clock Library in die Arduino IDE. Kies Gereedskap/Bestuur biblioteke. Filter u soektog deur 'rtclib' in te tik. Kies RTClib by Adafruit (vir verwysing, die biblioteekskakel).

Laai die basiese toetsprogram af en voer dit uit: clockTest.ino. By die uitvoering van die program word kloktydboodskappe geplaas wat in die Arduino IDE Tools/Serial Monitor besigtig kan word.

+++ Opstelling.

+ Klokstel. ++ Gaan na lus. ---------------------------------------- + Huidige datum en tyd: 2020/3/ 22 (Sondag) 11: 42: 3 + Huidige datum en tyd: 2020/3/22 (Sondag) 11: 42: 4 + Huidige datum en tyd: 2020/3/22 (Sondag) 11: 42: 5 …

As oefening, gebruik rtc.adjust () om die tyd en datum van die klok in te stel, laai die gewysigde program op en bevestig die verandering.

rtc.adjust (DateTime (2020, 3, 19, 10, 59, 50)); // Eerste lentedag, 2020.

Stap 3: Voeg die 1602 LCD -skermmodule by en koppel dit aan die Arduino

Voeg die 1602 LCD -skermmodule by en koppel dit aan die Arduino
Voeg die 1602 LCD -skermmodule by en koppel dit aan die Arduino

Steek die LCD -module in die broodbord. Koppel die GND -pen van die klokmodule aan die strook van die broodbord se grondstaaf. Koppel die VCC -pen van die klokmodule aan die positiewe staaf van die broodbord. Koppel die klokmodule SDA (data) -pen aan die A4 -pen van die Arduino (I2C -data -pen). Koppel die klokmodule SCL (klok) -pen aan pen A5 van die Arduino (I2C -klokpen).

Installeer 'n 1602 LCD -biblioteek in die Arduino IDE. Kies Gereedskap/Bestuur biblioteke. Filter u soektog deur 'LiquidCrystal' in te tik. Kies LiquidCrystal I2C deur Frank de Barbander (vir verwysing, die biblioteekskakel).

Laai die basiese toetsprogram af: lcd1602Test.ino. By die uitvoering van die program word kloktydboodskappe geplaas wat in die Arduino IDE Tools/Serial Monitor besigtig kan word.

+++ Opstelling.

+ LCD gereed vir gebruik. +++ Gaan na lus. + dieTeller = 1 + dieTeller = 2 + dieTeller = 3 …

As oefening, verander die LCD -skermboodskappe, laai die gewysigde program op en bevestig die verandering.

Stap 4: Voeg die infrarooi ontvanger by en koppel dit aan die Arduino

Voeg die infrarooi ontvanger by en koppel dit aan die Arduino
Voeg die infrarooi ontvanger by en koppel dit aan die Arduino

Koppel die kabels van die vroulike na die mannetjie aan die infrarooi ontvanger (eindpunte). Koppel die grondpen van die klokmodule aan die strook van die broodbord se grondstaaf. Koppel die kragpen van die klokmodule aan die positiewe staaf van die broodbord. Koppel die uitvoerpen van die infrarooi ontvanger aan die Arduino A1 -pen.

Koppel infrarooi ontvanger, penne van links bo na regs:

Die meeste links (langs die X) - Nano -pen A1 middel - 5V regs - grond

A1 + - - Nano -penverbindings

| | | -Infrarooi ontvangerpenne --------- | S | | | | --- | | | | | | --- | | | ---------

Installeer 'n infrarooi biblioteek in die Arduino IDE. Kies Gereedskap/Bestuur biblioteke. Filter u soektog deur 'IRremote' in te tik. Kies IRremote by Shirriff (vir verwysing, die biblioteekskakel).

Laai die basiese toetsprogram af: infraredReceiverTest.ino. As u die program uitvoer, wys u afstandsbediening op die ontvanger en druk op verskillende knoppies, soos die getal 0 tot 9. Seriële boodskappe word uitgevoer (gedruk) wat in die Arduino IDE Tools/Serial Monitor besigtig kan word.

+++ Opstelling.

+ Die infrarooi ontvanger geïnisialiseer. ++ Gaan na lus. + Sleutel OK - Wissel + Sleutel> - volgende + Sleutel < - vorige + Sleutel omhoog + Sleutel omlaag + Sleutel 1: + Sleutel 2: + Sleutel 3: + Sleutel 4: + Sleutel 6: + Sleutel 7: + Sleutel 8: + Sleutel 9: + Sleutel 0: + Sleutel * (Terug) + Sleutel # (Uitgang)

As 'n oefening, gebruik 'n TV -afstandsbediening om die waardes afgedruk te sien. U kan die program dan verander om die waardes in die skakelaarverklaring van die infraredSwitch () -funksie te gebruik. Druk byvoorbeeld die "0" sleutel en kry die waarde vir u afstandbeheer, byvoorbeeld "0xE0E08877". Voeg dan 'n saak by die skakelaarverklaring, soos in die volgende kodefragment.

saak 0xFF9867:

saak 0xE0E08877: Serial.print ("+ sleutel 0:"); Serial.println (""); breek;

Stap 5: Laai die Clock Project Arduino Sketch -program en toets dit

Laai die klokprojek Arduino Sketch -program en toets dit
Laai die klokprojek Arduino Sketch -program en toets dit
Laai die klokprojek Arduino Sketch -program en toets dit
Laai die klokprojek Arduino Sketch -program en toets dit
Laai die klokprojek Arduino Sketch -program en toets dit
Laai die klokprojek Arduino Sketch -program en toets dit

Noudat al die komponente by die broodbord gevoeg is, bedraad en getoets word; dit is tyd om die hoofklokprogram te laai en uit te voer. Die klokprogram kry die tyd van die klokmodule, wys die tyd op die LCD en stel u in staat om die tyd met 'n infrarooi afstandsbediening in te stel.

Laai die projek se klokprogram af en voer dit uit: clockLcdSet.ino.

As die program begin, sal dit die tyd van die DS3231 op die 1602 LCD -skerm vertoon. Boodskappe is sigbaar in die Arduino IDE Tools/Serial Monitor.

+++ Opstelling.

+ LCD stel. + syncCountWithClock, theCounterHours = 13 theCounterMinutes = 12 theCounterSeconds = 13 + Klok gestel en gesinkroniseer met programveranderlikes. + Infrarooi ontvanger geaktiveer. ++ Gaan na lus. + clockPulseMinute (), theCounterMinutes = 15 + clockPulseMinute (), theCounterMinutes = 16 + clockPulseMinute (), theCounterMinutes = 17 …

Wys jou afstandsbediening na die ontvanger en druk op die pyltjie regs. Die jaar sal vir die instelling vertoon word. Druk die pyltjie regs 'n paar keer om te sien dat u die jaar, maand, dag, uur, minuut en sekondes kan instel. Gaan na die waarde om 'n tydwaarde in te stel. Gebruik die op en af pyltjies om die vertoningswaarde in te stel. Gebruik dan die "OK" -toets om die waarde van die klok in te stel. Een waarde word op 'n slag gestel.

Stap 6: Eksterne kragtoevoer

Eksterne kragtoevoer
Eksterne kragtoevoer

Noudat u horlosie getoets en werk, kan u dit van u rekenaar ontkoppel en 'n onafhanklike kragtoevoer gebruik. Vir die eenvoud gebruik ek 'n 5 volt muuradapter wat vir ongeveer 'n dollar gekoop kan word, en 'n USB -kabel, nog 'n dollar. Die kabel verbind die Arduino met die +5V muuradapter. Aangesien die Arduino -krag- en grondpenne aan die broodbord gekoppel is, kan die ander komponente dit aandryf.

Omdat dit eenvoudig en goedkoop is, gebruik ek dieselfde kombinasie om ander projekte aan te dryf.

Ek hoop jy was suksesvol en het dit geniet om 'n infrarooi LCD -horlosie te bou.

Aanbeveel: