Përmbajtje:
- Furnizimet
- Hapi 1: Vendosja e Raspberry Pi
- Hapi 2: Lidhja e pajisjeve elektronike
- Hapi 3: Dizajni i bazës së të dhënave
- Hapi 4: Konfigurimi i Arduino
- Hapi 5: Raspberry Pi Backend
- Hapi 6: Rasti
Video: Zgjohu me - një orë alarmi e zgjuar: 6 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:14
Wake me up është një orë alarmi e zgjuar që mund të përdoret gjithashtu si një dritë e zgjuar.
Rripi i integruar i dritës simulon dritën natyrale që vjen në dhomën tuaj. Kjo mundëson një mënyrë të qetë, natyrale për të filluar ditën tuaj.
Ora e alarmit është gjithashtu e pajisur me një ekran segment 4*7 për të lexuar kohën, altoparlantë për t'u zgjuar me muzikën tuaj të preferuar, një buton me prekje, një ldr për përshtatjen e shkëlqimit të brezit të përparmë dhe një sensor të temperaturës të cilin mund ta përdorni për të parë temperatura e dhomës tuaj.
Furnizimet
Një listë e çmimeve të sakta që kam paguar mund të gjendet këtu:
Mikrokontrolluesit dhe kompjuterët:
Raspberry Pi 4I përdori mjedrën pi 4 4 GB, megjithatë, çdo model mjedër pi 3+ duhet të jetë mirë
Arduino Uno
Arduino përdoret për të kontrolluar shfaqjen e orës së segmentit 4*7.
Sensorë:
- TMP36: sensor i temperaturës
- LDR: Rezistencë e varur nga drita
Aktivizuesit:
- WS2801: Rrip led i adresueshëm individualisht
- Ekran LCD: Një ekran LCD 16*2.
- Shfaqja e orës 4*7 segment
IC -të:
- 74HC595: Shiftregister për ekranin LCD
- MCP3008: Konvertues analog në dixhital 8-bit
- Konvertuesi i nivelit logjik: Përdoret për të komunikuar midis raspi dhe arduino
Gjëra të tjera:
- Një përforcues adafruit MAX9744 për të fuqizuar altoparlantët
- Çdo altoparlant, kam përdorur një altoparlant Visaton 4Ohm 8Watt me rreze të plotë (Art. Nr. 2240)
- Një furnizim me energji 9 volt për të fuqizuar amplifikatorin
- Një furnizim me energji 5 volt për të furnizuar brezin led dhe komponentët e tjerë. Mbani në mend se secili led në brez mund të zvogëlojë 60mA, prandaj sigurohuni që furnizimi juaj me energji është i mjaftueshëm.
- Disa rezistorë 220Ohm
- Një tabelë e vogël buke për ta vendosur në kutinë tuaj.
Mjetet:
- Një hekur bashkues.
- Diçka për të bërë rastin (kam përdorur një printer 3d me PLA dhe PETG dhe disa afishe vinyl për të marrë efektin prej druri.)
Hapi 1: Vendosja e Raspberry Pi
Mjedra pi është mikro kontrolluesi ynë kryesor.
Mjedra pi drejton serverin tonë të uebit, bazën e të dhënave, kontrollon shiritin led, altoparlantët,…
Pjesa 1: Instalimi i Raspbian
Përdorni këtë tutorial për të instaluar raspbian:
Sigurohuni që SSH është e aktivizuar
Pjesa 2: Lidhja
Në mënyrë që të lidheni me internetin, duhet të hyni në terminalin tuaj mjedër pi. Unë rekomandoj të përdorni stuko. Në llojin e terminalit:
wpa_passphrase "YourNetwork" "YourSSID" >> /etc/wpa_supplicant/wpa_supplicant.conf
"YourNetwork" është emri i rrjetit tuaj wifi dhe "YourSSID" është fjalëkalimi i rrjetit.
Pasi të keni shtuar rrjetin, provoni të rindizni Raspberry Pi.
Shkruani komandën 'ping 8.8.8.8' kjo do të dërgojë një paketë në serverët e Google nëse merrni përgjigje rrjeti juaj është i konfiguruar dhe funksionon!
Pjesa 3: Instaloni programet e nevojshme
Do të na duhet të instalojmë disa programe shtesë për të filluar dhe zbatuar këtë projekt.
Para se të fillojmë, ekzekutoni këto 2 komanda për t'u siguruar që gjithçka është azhurnuar.
sudo apt përditësim
sudo apt upgrade
Kjo mund të marrë pak kohë.
Apache
sudo apt install apache2 -y
sudo apt instaloni php libapache2-mod-php -y
MariaDB
sudo apt instaloni mariadb-server mariadb-client -y
sudo apt instaloni php -mysql -y
PHPMyAdmin
sudo apt instaloni phpmyadmin -y
Pip pip
Duhet të instalojmë pip për të mundësuar disa biblioteka python
pip3 instaloni mysql-connector-python
pip3 instaloni flaks-socketio
pip3 instaloni balona-cors
pip3 instaloni gevent
pip3 instaloni gevent-websocket
Hapi 2: Lidhja e pajisjeve elektronike
Unë kam shtuar 2 skema, 1 është një skemë e bukës për qëllime testimi. Unë rekomandoj ndërtimin e skemës së parë dhe përpjekjen për të vënë në funksion kodin.
Unë kam shtuar skedarët tërheqës më poshtë.
Hapi 3: Dizajni i bazës së të dhënave
Kjo është skema e bazës së të dhënave që kam bërë. Fjalët janë në holandisht, por unë do të shpjegoj çdo tabelë në detaje.
Tabela 1: tblMuziek
Kjo është një tabelë mjaft themelore. Ai ruan emrin e artistit, emrin e këngës dhe emrin e skedarit të një kënge.
Tabela 2: tblLedstrip
Kjo tabelë mban gjurmët e gjendjes aktuale të brezit led që kursen gjendjen e brezit led. Ne kemi nevojë për këtë për funksionin e ndriçimit inteligjent.
Tabela 3: tblSensoren
Kjo tabelë mban gjurmët e sensorëve në alarmin tonë. Ne ruajmë emrin e sensorit dhe kanalin e MCP3008
Tabela 4: tblMeting
Kjo tabelë ruan vlerat e sensorëve tanë së bashku me kohën e tyre.
Tabela 5: tblWekker
Kjo tabelë ruan fjalëkalimin dhe emrin e alarmit tuaj (p.sh. Dhoma gjumi) Kjo tabelë nuk është e detyrueshme, por e shtova sepse supozoj se do të keni më shumë se 1 orë alarmi në shtëpinë tuaj.
Tabela 6: tblAlarrm
Kjo është ndoshta tabela më e rëndësishme. Ai mban gjurmët e alarmit që keni vendosur dhe çfarë duhet të bëjë ora (cila këngë të luhet, cila ka udhëhequr sekuencën, Në cilat ditë duhet të fiket,…). Importshtë shumë e rëndësishme të mbash shënim 2 hurma. 1 datë përdoret për të ruajtur në cilën orë duhet të bjerë alarmi. Tjetri mban shënime herën e fundit që ra alarmi. Për të ditur se çfarë dite jave duhet të fiket, kam përdorur një varchar që përmban një numër prej 7 shifrash. Shifra e parë është e hënë, e marta e dytë, … Nëse është 1 atëherë duhet të fiket, nëse është 0 nuk duhet. Shembull: 1111100 kjo do të thotë që ky alarm duhet të bjerë të hënën, të martën, të mërkurën, të enjten dhe të premten.
Hapi 4: Konfigurimi i Arduino
Ky hap është shumë i lehtë. Do të ketë një lidhje me githubin tim në hapin tjetër ku mund të shkarkoni skedarin arduino.
Çfarë bën programi?
Programi pret që të dhënat serike të vijnë nga pi.
Sapo të merren të dhënat, ato analizohen përmes vargut dhe dërgon përsëri një konfirmim në pi.
Vargu do të jetë diçka si kjo: '1201' kjo do të thotë se është 12:01. Kam përdorur një ekran të zakonshëm të segmentit 7 të anodës, kjo do të thotë që Shifrat duhet të jenë të larta dhe A, B, C, D, E, F, G dhe DP duhet të jenë të ulëta për t'i ndezur ato. Nëse përdorni një katodë të zakonshme, thjesht duhet të ndryshoni HIGH në LOW & LOW në HIGH.
Këtu keni një lidhje me më shumë informacion se si funksionojnë ekranet e 7 segmenteve. (me përdorimin e bibliotekës):
www.instructables.com/id/Using-a-4-digit-7…
Këtu keni një lidhje për 7 shfaqje segmentesh pa përdorimin e një biblioteke:
create.arduino.cc/projecthub/SAnwandter1/p…
Hapi 5: Raspberry Pi Backend
Ju mund të shkarkoni kodin tim duke përdorur Github. (https://github.com/VanHevelNico/WakeMeUp)
Si të instaloni programin:
Pjesa e pasme është e shkruar në piton duke përdorur balonë. Ju mund të bëni një shërbim që fillon këtë program (app.py) automatikisht.
Ju duhet të vendosni kodin frontend në skedarin html të serverit apache që kemi shkarkuar më herët. (/var/html)
Si funksionon programi?
Kur alarmi është ndezur, shkoni te adresa IP e orës tuaj (do të shfaqet në LCD)
Sapo të shkoni në atë adresë IP në shfletuesin tuaj kompjuteri juaj do të dërgojë një kërkesë socket.io në backend duke thënë se një klient është lidhur. Kur backend e merr këtë do të fillojnë disa fije të cilat do t'i shpjegoj më poshtë.
Konfigurimi
Kjo intializon të gjitha objektet e nevojshme.
GetTemp
Kjo lexon kanalin mcp3008 0 dhe konverton të dhënat binare në temperaturën aktuale dhe i vendos ato në bazën e të dhënave me datën dhe orën aktuale.
GetTempGrafiek
Kjo merr 20 vlerat e kaluara të sensorit të temperaturës dhe e lëshon atë në pjesën e përparme.
tijd_sturen
Kjo metodë merr kohën aktuale dhe kontrollon nëse minuta ka ndryshuar. Nëse ka ndryshuar programi dërgon kohën e re në arduino duke përdorur komunikimin serik
kontrollAlarmen
Kjo është metoda më e rëndësishme. Ai merr të gjitha alarmet që janë ndezur dhe kontrollon nëse ndonjëri prej këtyre alarmeve duhet të shkojë nga tani dhe 5 minuta më parë (ky është një tampon për të siguruar që secili alarm të shkojë kur të ketë nevojë). Nëse alarmi duhet të fiket, ne do të fillojmë muzikën, brezin drejtues,… Ne lexojmë rezistencë të ndjeshme ndaj forcës vazhdimisht dhe kur vlera bie nën 1000 (lexo fsr shtypet) Kthejmë alarmin dhe azhurnojmë alarmin në bazës së të dhënave. Ne vendosëm datën kur alarmi ra për herë të fundit në datën aktuale.
statusLritja
Kjo metodë lëshon vlerën e shiritit të ndriçimit dhe ndez brezin led nëse është e nevojshme.
lichtAanpassen
Kjo është një metodë shtesë për të siguruar që drita e brezit dhe drita e alarmit nuk bien ndesh.
Hapi 6: Rasti
Lidhja me skedarët e mi mund të gjendet këtu:
Kam përdorur një printer 3d për të shtypur shtresën e jashtme. Shtypet në 4 pjesë të ndryshme:
- Pllaka e përparme me vrima për altoparlantin dhe disa mure për ekranin e segmentit 7
- Unaza e jashtme për shiritin led në PETG transparente.
- Pjesa e mesme
- Pllaka e pasme me një vrimë për LCD dhe një vrimë për kabllot.
Në modelin origjinal nuk kishte vrima për ekranin e segmentit 7 megjithatë kjo është e nevojshme sepse përndryshe drita e ekranit të segmentit 7 nuk do të shkëlqejë.
Siç mund ta shihni pasi kam futur të gjithë përbërësit, kam përdorur afishe vinyl me një pamje druri për ta bërë rezultatin përfundimtar të duket më mirë. Ekrani i orës shkëlqen përmes ngjitësit, i cili krijon një efekt shumë të bukur.
Recommended:
Orë alarmi binjake binjake nga kanaçe sode: 7 hapa (me fotografi)
Orë alarmi binjake binjake nga kanaçe sode: Ky udhëzues ju tregon se si të bëni një orë alarmi binjake nga kanaçe sode. Projekti përdor kanaçe sode ku u hoq boja (Lidhja: Largimi i bojës nga kanaçe sode). Për ta bërë këtë orë alarmi plotësisht funksionale, u integrua një modul i orës DIY Quartz
Orë alarmi për ditën Groundhog: 12 hapa (me fotografi)
Ora me zile e ditës Groundhog: Ora me zile e Ditës së Groundhog përbëhet nga një orë kthyese Panasonic RC-6025 e modifikuar për të luajtur audion nga filmi Groundhog Day kur bie alarmi. Arsyeja që kam krijuar këtë pajisje është sepse Dita e Groundhog (të dyja ditët dhe filmi) mbajti specifikime
WakeupNow - Orë alarmi e zgjuar: 8 hapa
WakeupNow - Orë inteligjente: Siç e dinë të gjithë, jeta e studentëve është shumë e vështirë, ata kanë një ditë të gjatë me ligjërata, shumë detyra shtëpie dhe në përgjithësi, ata kanë një jetë të çmendur. Ata kanë kohë për asgjë, dhe nëse u sugjeroni atyre të shtojnë disa orë në ditë, ata do të jenë të kënaqur. Unfo
Orë alarmi me matricë LED (me MP3 Player): 6 hapa (me fotografi)
Ora me alarm Matrix LED (me MP3 Player): Ky orë alarmi e bazuar në Arduino ka gjithçka që do të prisnit nga alarmi juaj - mundësinë për t'ju zgjuar me çdo këngë që ju pëlqen, butonin e shtyrjes dhe kontrollin e tij të lehtë përmes tre butonave. Ekzistojnë tre blloqe kryesore - matrica LED, moduli RTC dhe
Shkallë e zgjuar DIY me orë alarmi (me Wi-Fi, ESP8266, Arduino IDE dhe Adafruit.io): 10 hapa (me fotografi)
Shkallë e zgjuar DIY me orë alarmi (me Wi-Fi, ESP8266, Arduino IDE dhe Adafruit.io): Në projektin tim të mëparshëm, unë zhvillova një shkallë të zgjuar të banjës me Wi-Fi. Mund të masë peshën e përdoruesit, ta shfaqë atë në vend dhe ta dërgojë në re. Mund të merrni më shumë detaje rreth kësaj në lidhjen më poshtë: https: //www.instructables.com/id/Wi-Fi-Smart-Scale-wi