Përmbajtje:

Arduino Muzg/Agimi Kohëmatësi i orës: 15 hapa
Arduino Muzg/Agimi Kohëmatësi i orës: 15 hapa
Anonim
Arduino Muzgu/Kohëmatësi i orës së agimit
Arduino Muzgu/Kohëmatësi i orës së agimit

Përmbledhje:

Ky kohëmatës i bazuar në Arduino mund të kalojë një dritë 220V në muzg, agim ose kohë të caktuar.

Prezantimi:

Disa nga dritat në shtëpinë time ndizen automatikisht në muzg, deri në kohën e paracaktuar ose deri në agim (gjithë natën).

Vendndodhja e dritave nuk lejon përdorimin e një sensori të dritës. Kohëmatësit e zakonshëm të orës në dispozicion ndizen në një kohë të caktuar. Prandaj, për të ndezur muzgun kërkon rregullisht rregullimin e cilësimit të programit të kohëmatësit.

Si një sfidë e bukur, vendosa të krijoj një vendndodhës të personalizuar të bazuar vetëm në Arduino. Ai përdor një orë në kohë reale dhe bibliotekën Dusk2Dawn për të përcaktuar kohën në të cilën dritat duhet të ndizen ose fiken. Mbulimi për këtë kohëmatës është i printuar 3D dhe mund të gjendet në Thingiverse. Kodi Arduino për këtë projekt mund të gjendet në GitHub.

Në krijimin e këtij kohëmatësi kam marrë frymëzim nga shumë modele dhe qarqe në internet. Falenderoj të gjithë kontribuesit që nuk janë përmendur në mënyrë eksplicite.

Për lexueshmërinë, diagramet e pjesshëm tregohen në hapat ku është e nevojshme, në vend të një diagrami të plotë të qarkut.

Zgjidhje alternative:

Në vend të një kohëmatësi të vetëm, ka shumë zgjidhje ku një sistem i zgjuar i automatizimit të shtëpisë drejton dritat. Qëllimi im ishte të kisha një zgjidhje të pavarur, që nuk varet nga lidhja WIFI (ose tjetër).

Kufizimet:

Kodi i ofruar me këtë projekt përfshinte zbatimin e ndryshimeve të kursimit të ditës bazuar në sistemin evropian të kursimit të ditës.

Hapi 1: Lista e Pjesëve dhe Mjetet

Lista e Pjesëve dhe Mjetet
Lista e Pjesëve dhe Mjetet

Pjesët:

Kostot totale të pjesëve (pa përfshirë printimin 3D) afërsisht 30 €, -.

  • Arduino Nano V3 (i pajtueshëm) pa kokë
  • Furnizimi me energji 5V 0.6A (34 x 20 x 15mm)
  • Rele në gjendje të ngurtë 5V - E ulët aktive - 2A 230VAC
  • Ora në kohë reale DS3231 (e vogël)
  • Ekran 0.96 "OLED SPI 128*64 pixel
  • Kodifikues rrotullues - EC11 - 20mm
  • Dorezë 6mm bosht 15mm * 17mm
  • Bordi i qarkut të shtypur të bukës,
  • 4 vida M3x25mm
  • Mbyllje e printuar 3D
  • Tub i zvogëlimit të nxehtësisë
  • Telat
  • Vidhosni bllokun e terminalit (për të lidhur telat neutrale)

Mjetet e kërkuara:

  • Makine per ngjitjen e metalit
  • Teli i saldimit
  • Pompë e shkrirjes
  • Zhveshëset me tela
  • Hapëse
  • Printer 3D (për të printuar rrethimin)
  • Mjete të ndryshme të vogla

KUJDES

Ky qark funksionon në 230v AC dhe nëse nuk jeni mësuar të punoni me tensionin e rrjetit ose nuk keni përvojë të bollshme në punën me 230v AC M tension Voltage ju lutemi qëndroni larg këtij projekti

Unë nuk marr asnjë përgjegjësi për ndonjë humbje ose dëm që vjen drejtpërdrejt nga ose si pasojë e ndjekjes së këtij projekti

Gjithmonë këshillohet që të keni kujdes dhe kujdes paraprak gjatë punës me AC Mains

Hapi 2: Përgatitni ekranin OLED dhe orën në kohë reale

Përgatitni ekranin OLED dhe orën në kohë reale
Përgatitni ekranin OLED dhe orën në kohë reale

Rrethoja e printuar 3D është projektuar për madhësi minimale. Si rezultat, titujt e ekranit OLED dhe ora në kohë reale duhet të hiqen.

Në përgatitje për hapin tjetër, pastroni çdo saldim të mbetur nga vrimat me pompën e shkrirjes.

Hapi 3: Përgatitni koduesin rrotullues

Përgatitni koduesin rrotullues
Përgatitni koduesin rrotullues

Kodifikuesi rrotullues ka lidhje të dobëta. Për të parandaluar dëmtimin, montoni një pjesë të bordit të qarkut të shtypur në kodues.

Në foto lidhja e tokëzimit (në pjesën e sipërme të djathtë dhe në mes të poshtme) është përgatitur gjithashtu.

Shënim: Sigurohuni që kodifikuesi rrotullues me tabelën e qarkut të shtypur të përshtatet në rrethim pa prekur Arduino. Mund të kërkohet bluarja e tabelës së qarkut të shtypur për t'u përshtatur mirë.

Hapi 4: Mbyllja

Rrethim
Rrethim
Rrethim
Rrethim

Shtypni tre pjesët e mbylljes me një printer 3d. Referojuni udhëzimeve në Thingiverse.

Hapi 5: Çaktivizo Arduino Power LED (opsionale)

Çaktivizo Arduino Power LED (opsionale)
Çaktivizo Arduino Power LED (opsionale)

Për të parandaluar një shkëlqim të gjelbër në kohëmatës, LED i energjisë i Arduino mund të çaktivizohet.

Vini re se ky modifikim është opsional.

Modifikimi i Arduino Nano konsiston në heqjen e rezistencës pranë fuqisë led (shiko rrethin e kuq në figurë).

Hapi 6: Furnizimi me energji elektrike + Stafetë e gjendjes së ngurtë

Furnizimi me energji elektrike + Stafetë e gjendjes së ngurtë
Furnizimi me energji elektrike + Stafetë e gjendjes së ngurtë

Në këtë hap furnizimi me energji elektrike dhe stafeta e gjendjes së ngurtë kombinohen dhe montohen në pjesën e poshtme të rrethimit.

Lidhjet midis furnizimit me energji elektrike dhe stafetës bëhen në fund të këtyre përbërësve. Blloku i terminalit të vidave të stafetës do të përdoret për t'u lidhur me Arduino.

Shënim: Kur bëni lidhje, sigurohuni që vrimat e montimit të stafetës në gjendje të ngurtë të mbahen të lira.

  • Lidhni një tel lidhës midis stafetës së gjendjes së ngurtë A1 në një nga lidhjet AC të furnizimit me energji elektrike
  • Lidhni një tel në lidhjen tjetër AC të furnizimit me energji elektrike (kjo do të lidhet me bllokun terminal të vidave neutrale në hapin 7)
  • Lidhni një tel midis furnizimit me energji elektrike -Vo në stafetën DC-
  • Lidhni një tel për të lidhur furnizimin me energji +Vo në stafetën DC +

Shënim: Mund të kërkohet shkurtimi i prizave në furnizimin me energji dhe stafetë për të qenë në gjendje të përshtaten në rrethim.

Hapi 7: Arduino Nano + Furnizimi me energji elektrike + Rele në gjendje të ngurtë

Arduino Nano + Furnizimi me energji elektrike + Rele në gjendje të ngurtë
Arduino Nano + Furnizimi me energji elektrike + Rele në gjendje të ngurtë

Në këtë hap, Arduino Nano është i lidhur me furnizimin me energji elektrike dhe stafetën e gjendjes së ngurtë.

  • Pritini dy tela me gjatësi afërsisht 70 mm. Rripi 30 mm izolim në njërën anë, dhe 4 mm në anën tjetër.
  • Ngjiteni anën me izolim të zhveshur 30 mm në Arduino +5V dhe GND, me tela që ngjitet
  • Pritini dy tuba për tkurrje të nxehtësisë me gjatësi 20 mm dhe montojini ato mbi pjesën e zhveshur prej 25 mm. Kjo izolon telat deri në lidhjen me bllokun terminal të vidës së montimit DC+ dhe DC- të stafetës së gjendjes së ngurtë.
  • Vini re se telat për GND dhe +5V duhet të kalojnë për t'u lidhur saktë me bllokun terminal të vidave të stafetës.
  • Pritini një tel me gjatësi afërsisht 40 mm dhe vendosni izolimin 4 mm në të dy skajet. Ngjitni njërën anë në lidhjen A2 në anën e pasme të Arduino, dhe lidhni anën tjetër me lidhjen CH1 të bllokut të terminalit të vidave të montimit në gjendje të ngurtë.

KUJDES

Arduino mundësohet drejtpërdrejt nga furnizimi me energji stabile +5V në vend që të përdor rregullatorin e brendshëm të energjisë Arduino. Prandaj, nuk është e sigurt të lidhni USB kur Arduino merr energji nga furnizimi me energji.

Shkëputni gjithmonë rrjetin 230VAC para se të përdorni lidhjen USB Arduino.

Hapi 8: Arduino Nano + Ora në kohë reale

Arduino Nano + Ora në kohë reale
Arduino Nano + Ora në kohë reale

Në këtë hap, ora në kohë reale lidhet me Arduino, pjesërisht duke përdorur kabllot e përgatitur në hapin e mëparshëm.

  • Ngjiteni tela që vjen nga Arduino GND (gjithashtu e lidhur me DC- të stafetës) në '-' të orës në kohë reale.
  • Ngjiteni tela që vjen nga Arduino+5V (gjithashtu e lidhur me DC+të stafetës) në '+' të orës në kohë reale.
  • Pritini dy tela me gjatësi afërsisht 40 mm dhe vendosni izolimin 4 mm në të dy skajet.
  • Lidhni një tel midis Arduino A4 dhe orës në kohë reale D (SDA).
  • Lidhni një tel midis Arduino A5 dhe orës në kohë reale C (SCL).
  • Formoni telat e orës në kohë reale për t'u siguruar që nuk ndërhyjnë në koduesin rrotullues. Për këtë, telat duhet të jenë në pjesën e poshtme të rrethimit.

Hapi 9: Lidhni ekranin OLED

Lidhni ekranin OLED
Lidhni ekranin OLED

Në këtë hap, ekrani OLED SPI i shtohet Arduino.

  • Pritini 2 tela me gjatësi 65mm dhe shiritin 4mm të izolimit të të dy skajeve.
  • Lidhni një tel në lidhjen GND të ekranit OLED. Ngjiteni këtë tel në tela të izoluar të tubave të tkurrjes së nxehtësisë që vijnë nga Arduino GND (referojuni hapit 4) dhe lidhni të dy telat me bllokun e terminalit të vidave të montimit DC të stafetës.
  • Lidhni një tel në lidhjen VCC të ekranit OLED. Ngjiteni këtë tel në tela të izoluar të tubave të tkurrjes së nxehtësisë që vijnë nga Arduino + 5V (referojuni hapit 4) dhe lidhni të dy telat me bllokun terminal të vidave të montimit DC + të stafetës së gjendjes së ngurtë.
  • Pritini 5 tela me gjatësi 65mm dhe shiritin 4mm të izolimit të të dy skajeve.
  • Lidhni një tel për të lidhur D0 (CLK) me Arduino D10
  • Lidhni një tel për të lidhur D1 (MOSI / DATA) me Arduino D9
  • Lidhni një tel për të lidhur RES (RT) me Arduino D8
  • Bashkoni një tel për të lidhur DC me Arduino D11
  • Bashkoni një tel për të lidhur CS me Arduino D12

Shënim: Rendi i telave të ekranit nuk është logjik. Ky është rezultat i përdorimit të parë të shembullit Adafruit, dhe më pas ndryshimit të lidhjeve sepse përdorimi i D13 rezulton në një LED të kuq në Arduino gjatë gjithë kohës.

Alternativë

. Shtë e mundur të përdoret një urdhër ‘normal’ për lidhjet SPI. Për këtë, përcaktimi i daljes dixhitale të programit Arduino në oledcontrol.cpp duhet të rregullohet në përputhje me rrethanat:

// Përdorimi i softuerit SPI

// përcaktimet pin

#përcakto CS_PIN 12

#përcakto RST_PIN 8

#përcaktoni DC_PIN 11

#përcakto MOSI_PIN 9

#përcakto CLK_PIN 10

Hapi 10: Kodifikues rrotullues

Kodifikues rrotullues
Kodifikues rrotullues

Diagrami tregon lidhjet e Arduino me koduesin rrotullues (koduesi shihet nga lart).

  • Pritini 4 tela prej 45 mm dhe hiqni izolimin 4 mm nga të dy skajet.
  • Lidhni Arduino GND me lidhësit e sipërm të djathtë dhe të poshtëm të koduesit
  • Lidhni Arduino D2 me pjesën e poshtme të majtë të koduesit
  • Lidhni Arduino D3 në fund të djathtë të koduesit
  • Lidhni Arduino D4 në pjesën e sipërme të majtë të koduesit

Hapi 11: Instalimi në Shtojcë

Instalimi në Shtojcë
Instalimi në Shtojcë

Instaloni të gjitha pajisjet elektronike në pjesën e poshtme të rrethimit:

  • Rrëshqisni Arduino në çarë vertikale
  • Rrëshqitni orën në kohë reale në ndarjen e poshtme
  • Rrëshqisni furnizimin me energji dhe stafetë në ndarjen e sipërme, sigurohuni që stafeta të ulet në montuesit e saj.

Hapi 12: Lidhja me rrjetin / Drita që do të kalohet

Lidhja me rrjetin / Drita që do të kalohet
Lidhja me rrjetin / Drita që do të kalohet
Lidhja me rrjetin / Drita që do të kalohet
Lidhja me rrjetin / Drita që do të kalohet

KUJDES

Sigurohuni që të keni kujdes dhe masa paraprake gjatë punës me AC Mains, sigurohuni që Rrjeti AC të jetë i shkëputur

Unë nuk marr asnjë përgjegjësi për ndonjë humbje ose dëm që vjen drejtpërdrejt nga ose si pasojë e ndjekjes së këtij projekti

  • Lidhni fazën AC Mains me bllokun e terminalit të vidave A1 (majtas) të stafetës.
  • Lidhni fazën e dritës që do të kalohet në bllokun terminal të vidës B1 (djathtas) të stafetës.
  • Përdorni një bllok terminal të veçantë me vidë për të lidhur tela neutrale të rrjetit AC, tela neutrale të lehta dhe tela neutrale të furnizimit me energji elektrike.
  • Për lehtësimin e sforcimit, montoni një mbështjellës kravatë rreth secilit prej kabllove të energjisë.

Hapi 13: Përfundimi i rrethimit

Përfundimi i rrethimit
Përfundimi i rrethimit

Në këtë hap përfundon montimi në rrethim

  • Rrëshqitni ekranin OLED përmes vrimës së montimit të ekranit në pjesën e mesme të rrethimit.
  • Rrëshqisni koduesin rrotullues përmes vrimës në pjesën e mesme, sigurohuni që linjat kundër rrotullimit të përputhen. Montoni kodifikuesin rrotullues duke përdorur rondele dhe arrë të përfshirë.
  • Montoni pjesën e sipërme të rrethimit dhe mbyllni mbylljen duke montuar katër vida M3x25mm nga poshtë.

Hapi 14: Programimi i Arduino

KUJDES

Arduino mundësohet drejtpërdrejt nga furnizimi me energji stabile +5V në vend që të përdor rregullatorin e brendshëm të energjisë Arduino. Prandaj, nuk është e sigurt të lidhni USB kur Arduino merr energji nga furnizimi me energji.

Shkëputni gjithmonë rrjetin 230VAC para se të përdorni lidhjen USB Arduino.

Merrni programin e kohëmatësit Arduino nga GitHub.

Ky program përdor Arduino IDE, i cili mund të merret këtu.

Programi përdor bibliotekat e mëposhtme shtesë:

SSD1303Ascii

Biblioteka Arduino Wire

Vini re se biblioteka dusk2dawn përdoret gjithashtu, por përfshihet si kod për shkak të një ndryshimi në ndërfaqen e tij.

Për të siguruar llogaritjen e saktë të muzgut / agimit, gjatësia dhe gjerësia gjeografike dhe zona kohore duhet të vendosen.

Siç përshkruhet në shembullin e muzgut, një mënyrë e thjeshtë për të gjetur gjatësinë dhe gjerësinë gjeografike për çdo vendndodhje është të gjeni vendin në Google Maps, klikoni me të djathtën mbi vendin në hartë dhe zgjidhni "Çfarë ka këtu?". Në fund, do të shihni një kartë me koordinatat.

Gjatësia dhe gjerësia gjeografike janë të koduara në program, në rreshtat 19 dhe 20 të Dusk2Dawn.cpp:

/* Gjerësia gjeografike dhe gjatësia gjeografike e vendndodhjes tuaj duhet të vendosen këtu.

* * K HSHILL: Një mënyrë e thjeshtë për të gjetur gjatësinë dhe gjerësinë gjeografike për çdo vendndodhje është * të gjeni vendin në Google Maps, klikoni me të djathtën mbi vendin në hartë dhe * zgjidhni "Çfarë ka këtu?". Në fund, do të shihni një kartë me koordinatat *. */ #përcakto HATIMIN 52.097105; // Utrecht #define LONGTITUDE 5.068294; // Utreht

Zona kohore është gjithashtu e koduar në linjën Dusk2Dawn.cpp 24. Si parazgjedhje ajo është vendosur në Hollandë (GMT + 1):

/* Vendosni zonën tuaj kohore (të kompensuar në GMT) këtu.

*/ #përcakto KOHN 1

Kur programoni Arduino për herë të parë, kujtesa EEPROM duhet të inicializohet. Për këtë, ndryshoni timer.cpp linjën 11 për të bërë fillimin e EEPROM:

// kaloni në të vërtetë për programim për herë të parë

#përcakto INITIALIZE_EEPROM_MEMORY false

Ngarko programin në Arduino dhe fillo Arduino.

Çaktivizoni fillimin e EEPROM dhe ngarkoni programin përsëri në Arduino. Kohëmatësi tani do të kujtojë cilësimet e kohës së ndërrimit kur rindizet.

Hapi 15: Vendosja e kohës dhe ndërrimi i kohës

Konceptet e ndërveprimit të përdoruesit:

  • Shtypja e shkurtër përdoret për të konfirmuar përzgjedhjet. Për më tepër, në ekranin e kohëmatësit kryesor një shtypje e shkurtër ndez ose fik dritën.
  • Shtypja e gjatë përdoret për të hyrë në menunë nga ekrani kryesor i kohëmatësit. Kudo në menu, një shtypje e gjatë do të kthehet në ekranin e kohëmatësit kryesor.
  • ‘>’ Kursi i përzgjedhjes. Ky kursor tregon opsionin e zgjedhur në një menu.

Ekrani kryesor i kohëmatësit

Ekrani kryesor i kohëmatësit tregon:

Dita e javës Su

Ora aktuale 16:00

Gjendja aktuale e kohëmatësit dhe koha tjetër e kalimit Kohëmatësi OFF deri në orën 17:12

Agimi dhe muzgu Agimi 08:05 Muzgu 17:10

Vendosja e kohës së saktë

Shtypni gjatë për të hyrë në meny. Opsionet e mëposhtme janë treguar:

Kthehu mbrapa Programi ditor i javës Programi i fundjavës Opsionet

Zgjidhni kohën e caktuar për të vendosur datën dhe kohën e orës në kohë reale. Vendosni vlerat e sakta për:

VitiMujorDitaTime

Kohëmatësi përcakton automatikisht ditën e javës. Ndërrimi i orës së kursimit të ditës bëhet gjithashtu automatikisht. Kursimi i ditës zbatohet vetëm për zonën kohore evropiane.

Vendosja e programit të kohëmatësit

Kohëmatësi ka 2 programe, një për ditët e javës, një për fundjavën. Vini re se e Premtja konsiderohet pjesë e fundjavës, dritat mund të qëndrojnë ndezur pak më gjatë.

Çdo kohëmatës ka një çelës aktiv dhe fikës. Momenti ose mund të jetë:

  • Koha: Koha e saktë e specifikuar
  • Agimi: Kaloni bazuar në kohën e llogaritur të agimit
  • Muzgu: Kaloni bazuar në kohën e llogaritur të muzgut

Për muzg dhe agim është e mundur të futni një vlerë korrigjuese prej 59 minutash para ose pas.

Shembuj:

Për të ndezur një dritë gjatë gjithë natës, zgjidhni ndizni në (muzg + 10min), fikeni në (agim - 10min)

Për të ndezur një dritë në mbrëmje, zgjidhni ndizni në muzg, fikeni në orën: 22:30.

Opsione

Në ekranin e opsioneve mund të vendoset një afat kohor për ndërrimin e ekranit.

Kur ekrani është i fikur, shtypja e butonit të koduesit rrotullues do të kthehet në ekranin kryesor të kohëmatësit.

Recommended: