Përmbajtje:
- Hapi 1: Lista e Pjesëve dhe Mjetet
- Hapi 2: Përgatitni ekranin OLED dhe orën në kohë reale
- Hapi 3: Përgatitni koduesin rrotullues
- Hapi 4: Mbyllja
- Hapi 5: Çaktivizo Arduino Power LED (opsionale)
- Hapi 6: Furnizimi me energji elektrike + Stafetë e gjendjes së ngurtë
- Hapi 7: Arduino Nano + Furnizimi me energji elektrike + Rele në gjendje të ngurtë
- Hapi 8: Arduino Nano + Ora në kohë reale
- Hapi 9: Lidhni ekranin OLED
- Hapi 10: Kodifikues rrotullues
- Hapi 11: Instalimi në Shtojcë
- Hapi 12: Lidhja me rrjetin / Drita që do të kalohet
- Hapi 13: Përfundimi i rrethimit
- Hapi 14: Programimi i Arduino
- Hapi 15: Vendosja e kohës dhe ndërrimi i kohës
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:22
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
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
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
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
Shtypni tre pjesët e mbylljes me një printer 3d. Referojuni udhëzimeve në Thingiverse.
Hapi 5: Ç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ë
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ë
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
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
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
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ë
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
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
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:
Drita e orës së ekranit të matricës me shirit LED të kontrolluar me WiFi: 3 hapa (me fotografi)
Drita e orës së ekranit të matricës me shirit LED të kontrolluar me WiFi: Shirita LED të programueshëm, p.sh. bazuar në WS2812, janë interesante. Aplikimet janë të shumta dhe shpejt mund të merrni rezultate mbresëlënëse. Dhe disi ndërtimi i orëve duket se është një fushë tjetër për të cilën mendoj shumë. Duke filluar me një përvojë në
Një model unik i orës i mundësuar nga Arduino Servo Motors: 5 hapa
Një model unik i orës i mundësuar nga Arduino Servo Motors: Me këtë udhëzues do t'ju tregoj se si të krijoni një orë duke përdorur motorët Arduino Nano dhe Servo. Për ta bërë këtë do t'ju duhet artikujt e mëposhtëm
Përdorimi i moduleve të orës në kohë reale DS1307 dhe DS3231 Me Arduino: 3 hapa
Përdorimi i moduleve të orës në kohë reale DS1307 dhe DS3231 Me Arduino: Ne vazhdojmë të marrim kërkesa se si të përdorim modulet e orës në kohë reale DS1307 dhe DS3231 me Arduino nga burime të ndryshme-kështu që ky është mësimi i parë i dy pjesëve se si t'i përdorim ato. Për këtë tutorial Arduino ne kemi dy module të orës në kohë reale për ne
UCL-lloT-Outdoor-light Shkaktohet nga Agimi/perëndimi i diellit .: 6 hapa
UCL-lloT-Outdoor-light Shkaktohet nga Agimi/perëndimi i diellit .: Përshëndetje të gjithëve! Me pak punë, disa pjesë dhe kod i kam bashkuar këtë udhëzues që do t'ju tregojë nga fillimi në fund saktësisht se si të prodhoni këtë dritë në natyrë. Ideja e ka origjinën nga babai im, të cilit gjatë verës iu desh të dilte me dorë
Agimi: 6 hapa
The Dawm: The Dawm është një tabelë shpërthimi për çipin TLC5940. Ky çip ka mundësinë të pwm (modulimi i gjerësisë së pulsit) 16 porte të ndryshme mbi komunikimin serik nga shembulli i një mikrokontrolluesi arduino ose të ngjashme. (Kjo do të thotë në gjuhën e zakonshme që ju