Cuprins:

Ceas, ecran LCD, infraroșu pentru setare: 6 pași
Ceas, ecran LCD, infraroșu pentru setare: 6 pași

Video: Ceas, ecran LCD, infraroșu pentru setare: 6 pași

Video: Ceas, ecran LCD, infraroșu pentru setare: 6 pași
Video: Cum schimbi limba computer bord / display VW, Skoda, Audi, Seat cu interfata / tester VCDS 2024, Iulie
Anonim
Ceas, ecran LCD, infraroșu pentru setare
Ceas, ecran LCD, infraroșu pentru setare
Ceas, ecran LCD, infraroșu pentru setare
Ceas, ecran LCD, infraroșu pentru setare

Construiți un ceas în timp real care să mențină timpul de acționare în câteva minute pe an. Codul și componentele pot fi ușor reutilizate în alte proiecte.

Acest proiect necesită o cantitate minimă de cabluri și nu lipire. Timpul este un ceas DS3231 în timp real. Ora este afișată pe un ecran LCD 1602 ieftin. Ambele module utilizează comunicații I2C. I2C utilizează doar 2 fire pe modul când se conectează la un Arduino. Folosesc un Arduino Nano pentru că se potrivește frumos pe o placă de calcul. Următoarele instrucțiuni vor funcționa cu un Arduino Uno deoarece are aceleași numere de pin ca Nano pentru acest proiect. Cealaltă componentă este receptorul cu infraroșu. Vă permite să utilizați o telecomandă comună, cum ar fi telecomanda TV, pentru a seta ora exact așa cum ați face pe televizorul nostru inteligent. Receptorul cu infraroșu necesită un singur fir pentru a-l conecta la Arduino.

Primul pas este testarea Arduino și conectarea la panou. Pașii care urmează sunt proiectați pentru a funcționa independent. Fiecare pas are instrucțiuni de cablare și instrucțiuni de testare. Când construiesc proiecte, conectez și testez fiecare componentă pentru a confirma că funcționează. Acest lucru ajută la integrarea numărului de componente, deoarece știu că fiecare lucru și eu ne putem concentra asupra cerințelor de integrare.

Acest instructabil necesită instalarea IDE-ului Arduino. De asemenea, vi se cere să aveți abilitățile de bază pentru a descărca un program de schiță Arduino de pe linkurile din acest proiect, pentru a crea un director pentru program (numele directorului același cu numele programului). Următorii pași sunt încărcarea, vizualizarea și editarea programului în IDE. Apoi, încărcați programul printr-un cablu USB pe placa Arduino.

Provizii

  • Placă micro controler Nano V3 ATmega328P CH340G pentru Arduino. Ca alternativă, puteți utiliza un Uno.
  • Ceas DS3231 în timp real și o baterie CR2032.
  • 1602 LCD cu un modul I2C
  • Receptor infraroșu și telecomandă. Am folosit un kit de modul de telecomandă fără fir IR care a venit cu un receptor cu infraroșu și telecomandă cu infraroșu.
  • Pană de pâine
  • Cabluri de sârmă
  • Adaptor de perete de 5 volți

Am cumpărat piesele de pe eBay, mai ales de la distribuitori din Hong Kong sau China. Distribuitorii americani au uneori piese identice sau similare pentru prețuri rezonabile și livrare mai rapidă. Piesele din China durează între 3 și 6 săptămâni pentru a fi livrate. Distribuitorii pe care i-am folosit au fost de încredere.

Costuri aproximative: Nano 3 $, DS3231 1 $, LCD 3 $, kit cu infraroșu 1 $, panou 2 $, pachet de 40 de cabluri de sârmă 1 $, 1 $ pentru un adaptor de perete de 5 volți. Total, aproximativ 11 USD. Rețineți, am cumpărat Nano și LCD cu știfturile de panou de lipit deja lipite, deoarece abilitățile mele de lipit sunt slabe. Pentru bateria cu ceas, am cumpărat un pachet de 5 baterii cu litiu CR2032 pentru aproximativ 1,25 dolari. Am cumpărat și un pachet de 5 DS3231 pentru că îmi plac piesele de timp. Acest proiect folosește 1 panou. Am cumpărat un pachet de 3 panouri pentru aproximativ 7 USD; o afacere mai bună decât cumpărarea unei plăci individuale.

Pasul 1: Adăugați Arduino Nano la Breadboard

Adăugați Arduino Nano la Breadboard
Adăugați Arduino Nano la Breadboard

Conectați Arduino Nano în Breadboard. Sau, dacă preferați, puteți utiliza un Arduino Uno pentru acest proiect; ambii folosesc aceiași pini pentru acest proiect. Conectați Nano (sau Uno) la computer printr-un cablu USB.

Conectați alimentarea și împământarea de la Arduino la bara de alimentare a plăcii de calcul. Conectați pinul Arduino 5+ la bara pozitivă a panoului. Conectați pinul Arduino GRN (masă) la bara negativă (masă) a panoului de masă. Aceasta va fi utilizată de alte componente.

Descărcați și rulați programul de test Arduino de bază: arduinoTest.ino. Când rulați programul, lumina LED de la bord se va aprinde timp de 1 secundă, apoi se va stinge timp de 1 secundă. De asemenea, sunt postate mesaje care pot fi vizualizate în Arduino IDE Tools / Serial Monitor.

+++ Configurare.

+ A inițializat pinul digital LED de la bord pentru ieșire. LED-ul este stins. ++ Accesați bucla. + Contor buclă = 1 + Contor buclă = 2 + Contor buclă = 3 …

Ca exercițiu, modificați întârzierea pe lumina intermitentă, încărcați programul modificat și confirmați modificarea.

În fotografia de mai sus este o cutie de kit de sârmă fără sudură de 140 de bucăți, pe care o puteți obține pentru 3 până la 5 dolari. Acestea fac plăcile mai îngrijite, folosind cabluri lungi pentru conexiuni scurte.

Pasul 2: Adăugați modulul de ceas DS3231 și conectați-l la Arduino

Adăugați modulul de ceas DS3231 și conectați-l la Arduino
Adăugați modulul de ceas DS3231 și conectați-l la Arduino

Conectați modulul de ceas la panoul de verificare. Conectați pinul GND al modulului de ceas, la banda de masă a panoului de masă. Conectați pinul VCC al modulului de ceas, la banda de bare pozitivă a panoului. Conectați pinul SDA (date) al modulului de ceas la pinul A4 al Arduino (pinul de date I2C). Conectați pinul modulului de ceas SCL (ceas) la pinul A5 al Arduino (pinul de ceas I2C).

În IDE-ul Arduino, instalați o bibliotecă de ceas DS3231. Selectați Instrumente / Gestionați bibliotecile. Filtrați căutarea tastând „rtclib”. Selectați RTClib de Adafruit (pentru referință, link-ul bibliotecii).

Descărcați și rulați programul de testare de bază: clockTest.ino. Când rulați programul, sunt postate mesaje cu ceas, care pot fi vizualizate în Arduino IDE Tools / Serial Monitor.

+++ Configurare.

+ Set ceas. ++ Accesați bucla. ---------------------------------------- + Data și ora curente: 2020/3 / 22 (duminică) 11: 42: 3 + Data și ora actuală: 2020/3/22 (duminică) 11: 42: 4 + Data și ora actuală: 2020/3/22 (duminică) 11: 42: 5 …

Ca exercițiu, utilizați rtc.adjust () pentru a seta ora și data ceasului, încărcați programul modificat și confirmați modificarea.

rtc.adjust (DateTime (2020, 3, 19, 10, 59, 50)); // Prima zi de primăvară, 2020.

Pasul 3: Adăugați modulul de afișaj LCD 1602 și conectați-l la Arduino

Adăugați modulul LCD 1602 și conectați-l la Arduino
Adăugați modulul LCD 1602 și conectați-l la Arduino

Conectați modulul LCD la panoul de control. Conectați pinul GND al modulului de ceas, la banda de masă a panoului de masă. Conectați știftul VCC al modulului de ceas, la banda de bare pozitivă a panoului. Conectați pinul SDA (date) al modulului de ceas la pinul A4 al Arduino (pinul de date I2C). Conectați pinul modulului de ceas SCL (ceas) la pinul A5 al Arduino (pinul de ceas I2C).

În IDE-ul Arduino, instalați o bibliotecă LCD 1602. Selectați Instrumente / Gestionați bibliotecile. Filtrați căutarea tastând „LiquidCrystal”. Selectați LiquidCrystal I2C de Frank de Barbander (pentru referință, link-ul bibliotecii).

Descărcați și rulați programul de testare de bază: lcd1602Test.ino. Când rulați programul, sunt postate mesaje cu ceas, care pot fi vizualizate în Arduino IDE Tools / Serial Monitor.

+++ Configurare.

+ LCD gata de utilizare. +++ Accesați bucla. + theCounter = 1 + theCounter = 2 + theCounter = 3 …

Ca exercițiu, modificați mesajele afișajului LCD, încărcați programul modificat și confirmați modificarea.

Pasul 4: Adăugați receptorul cu infraroșu și conectați-l la Arduino

Adăugați receptorul cu infraroșu și conectați-l la Arduino
Adăugați receptorul cu infraroșu și conectați-l la Arduino

Conectați firele cablului mamă la cablul masculin la receptorul cu infraroșu (capetele mamă). Conectați știftul de masă al modulului de ceas, la banda de masă a panoului de masă. Conectați știftul de alimentare al modulului de ceas, la banda de bare pozitivă a panoului. Conectați pinul de ieșire al receptorului cu infraroșu, la pinul Arduino A1.

Conectați receptorul infraroșu, pinii de la stânga sus la dreapta:

Stânga cel mai mult (lângă X) - Nano pin A1 Center - 5V Dreapta - la sol

A1 + - - Conexiuni cu pin Nano

| | | - Pinii receptorului cu infraroșu --------- | S | | | | --- | | | | | | --- | | | ---------

În IDE-ul Arduino, instalați o bibliotecă cu infraroșu. Selectați Instrumente / Gestionați bibliotecile. Filtrați căutarea tastând „IRremote”. Selectați IRremote by Shirriff (pentru referință, link-ul bibliotecii).

Descărcați și rulați programul de testare de bază: infraredReceiverTest.ino. Când rulați programul, îndreptați telecomanda către receptor și apăsați diverse butoane, cum ar fi numărul de la 0 la 9. Mesajele seriale sunt afișate (tipărite), care pot fi vizualizate în Arduino IDE Tools / Serial Monitor.

+++ Configurare.

+ Initializat receptorul infraroșu. ++ Accesați bucla. + Tasta OK - Comută + Tasta> - următoarea + Tasta <- anterioară + Tasta sus + Tasta jos + Tasta 1: + Tasta 2: + Tasta 3: + Tasta 4: + Tasta 6: + Tasta 7: + Tasta 8: + Tasta 9: + Tasta 0: + Tasta * (Return) + Tasta # (Ieșire)

Ca exercițiu, utilizați o telecomandă TV pentru a vedea valorile tipărite. Apoi puteți modifica programul pentru a utiliza valorile din declarația de comutare a funcției infraredSwitch (). De exemplu, apăsați tasta „0” și obțineți valoarea pentru telecomandă, de exemplu „0xE0E08877”. Apoi, adăugați un caz în instrucțiunea switch ca în următorul fragment de cod.

carcasa 0xFF9867:

cazul 0xE0E08877: Serial.print ("+ Cheia 0:"); Serial.println (""); pauză;

Pasul 5: Încărcați programul Clock Project Arduino Sketch și testați-l

Încărcați programul Clock Project Arduino Sketch și testați-l
Încărcați programul Clock Project Arduino Sketch și testați-l
Încărcați programul Clock Project Arduino Sketch și testați-l
Încărcați programul Clock Project Arduino Sketch și testați-l
Încărcați programul Clock Project Arduino Sketch și testați-l
Încărcați programul Clock Project Arduino Sketch și testați-l

Acum că toate componentele sunt adăugate la panou, cablate și testate; este timpul să încărcați programul principal de ceas și să îl rulați. Programul de ceas obține ora din modulul de ceas, afișează ora pe ecranul LCD și vă permite să setați ora folosind o telecomandă cu infraroșu.

Descărcați și rulați programul de ceas al proiectului: clockLcdSet.ino.

Când începe programul, acesta va afișa ora DS3231 pe ecranul LCD 1602. Mesajele sunt vizibile în Arduino IDE Tools / Serial Monitor.

+++ Configurare.

+ Set LCD. + syncCountWithClock, theCounterHours = 13 theCounterMinutes = 12 theCounterSeconds = 13 + Clock setat și sincronizat cu variabilele programului. + Receptor infraroșu activat. ++ Accesați bucla. + clockPulseMinute (), theCounterMinutes = 15 + clockPulseMinute (), theCounterMinutes = 16 + clockPulseMinute (), theCounterMinutes = 17 …

Îndreptați telecomanda către receptor și apăsați butonul săgeată dreapta. Anul va fi afișat pentru setare. Apăsați butonul săgeată dreapta de mai multe ori pentru a vedea că puteți seta anul, luna, ziua, ora, minutul și secundele. Pentru a seta o valoare de timp, accesați valoarea. Utilizați săgețile sus și jos pentru a seta valoarea afișării. Apoi utilizați tasta „OK” pentru a seta valoarea ceasului. O valoare este setată la un moment dat.

Pasul 6: Alimentare externă

Alimentare externă
Alimentare externă

Acum că ceasul este testat și funcționează, îl puteți deconecta de la computer și utilizați o sursă de alimentare independentă. Pentru simplitate, folosesc un adaptor de perete de 5 volți, care poate fi cumpărat cu aproximativ un dolar, și un cablu USB, un alt dolar. Cablul conectează Arduino la adaptorul de perete + 5V. Deoarece pinii de alimentare și de masă Arduino sunt conectați la panoul de control, acesta va alimenta celelalte componente.

Datorită simplității și a costului redus, folosesc aceeași combinație pentru a alimenta alte proiecte.

Sper că ai avut succes și ți-a plăcut să construiești un ceas LCD controlat cu infraroșu.

Recomandat: