Sisukord:
- Tarvikud
- Samm: Raspberry Pi seadistamine
- Samm: elektroonika ühendamine
- 3. samm: andmebaasi kujundamine
- Samm: Arduino seadistamine
- Samm: Raspberry Pi taustaprogramm
- 6. samm: juhtum
Video: Ärka mind üles - nutikas äratuskell: 6 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Wake me up on nutikas äratuskell, mida saab kasutada ka nutivalgustina.
Sisseehitatud LED-riba simuleerib loomulikku valgust teie tuppa. See võimaldab rahulikult ja loomulikult oma päeva alustada.
Äratuskell on varustatud ka 4*7 segmendi ekraaniga aja lugemiseks, kõlaritega lemmikmuusikaga ärkamiseks, puute nupuga, LED -riba heleduse kohandamiseks ja temperatuurianduriga, mida saate vaadata teie ruumi temperatuur.
Tarvikud
Nimekirja täpsetest hindadest, mida ma maksin, leiate siit:
Mikrokontrollerid ja arvutid:
Raspberry Pi 4I kasutasin vaarika pi 4 4GB, kuid kõik vaarika pi mudel 3+ peaksid olema korras
Arduino Uno
Arduinot kasutatakse 4*7 segmendi kellakuva juhtimiseks.
Andurid:
- TMP36: temperatuuriandur
- LDR: valgusest sõltuv takisti
Täiturmehhanismid:
- WS2801: individuaalselt adresseeritav LED -riba
- LCD -ekraan: 16*2 LCD -ekraan.
- 4*7 segmendi kellakuva
IC -d:
- 74HC595: LCD -ekraani vahetusregister
- MCP3008: 8-bitine analoog-digitaalmuundur
- Loogika taseme muundur: kasutatakse raspi ja arduino vaheliseks suhtlemiseks
Teised asjad:
- Adafruit MAX9744 võimendi kõlarite toitmiseks
- Iga kõlari puhul kasutasin Visaton 4Ohm 8Watt täisvahemikuga kõlarit (art. 2240)
- 9 -voldine toiteallikas võimendi toiteks
- 5 -voldine toiteallikas LED -riba ja muude komponentide varustamiseks. Pidage meeles, et iga LED -ribal olev juht võib drow 60mA, nii et veenduge, et teie toide on piisav.
- Mõned 220Ohm takistid
- Väike leivaplaat, mida teie ümbrisesse panna.
Tööriistad:
- Jootekolb.
- Midagi korpuse valmistamiseks (puidust efekti saamiseks kasutasin 3D -printerit PLA ja PETG -ga ning mõningaid vinüülkleebiseid.)
Samm: Raspberry Pi seadistamine
Vaarika pi on meie peamine mikrokontroller.
Vaarika pi juhib meie kohalikku veebiserverit, andmebaasi, juhib LED -riba, kõlareid,…
Osa 1: Raspbiani installimine
Kasutage seda õpetust raspbiani installimiseks:
Veenduge, et SSH oleks lubatud
Osa 2: Ühenduse loomine
Interneti -ühenduse loomiseks peate hankima juurdepääsu oma vaarika pi terminalile. Soovitan kasutada pahtlit. Terminali tüübis:
wpa_passphrase "YourNetwork" "YourSSID" >> /etc/wpa_supplicant/wpa_supplicant.conf
"YourNetwork" on teie WiFi -võrgu nimi ja "YourSSID" on võrgu parool.
Kui olete võrgu lisanud, proovige Raspberry Pi taaskäivitada.
Sisestage käsk 'ping 8.8.8.8', mis saadab paketi Google'i serveritele, kui saate vastuse, et teie võrk on seadistatud ja töötab!
Osa 3: Installige vajalikud programmid
Selle projekti käivitamiseks vajame mõnda lisaprogrammi.
Enne alustamist käivitage need kaks käsku, et veenduda, kas kõik on uuendatud.
sudo apt värskendus
sudo apt uuendus
See võib võtta aega.
Apache
sudo apt install apache2 -y
sudo apt install php libapache2-mod-php -y
MariaDB
sudo apt install mariadb-server mariadb-client -y
sudo apt install php -mysql -y
PHPMyAdmin
sudo apt install phpmyadmin -y
Python pip
Peame installima pip, et lubada mõned pythoni teegid
pip3 installige mysql-connector-python
pip3 paigaldage kolb-pistikupesa
pip3 paigaldage kolvid
pip3 install gevent
pip3 installige gevent-websocket
Samm: elektroonika ühendamine
Olen lisanud 2 skeemi, 1 on testimiseks mõeldud leivaplaadi skeem. Soovitan koostada esimene skeem ja proovida kood tööle saada.
Lisasin alla fritzeerimisfailid.
3. samm: andmebaasi kujundamine
See on minu koostatud andmebaasiskeem. Sõnad on hollandi keeles, kuid selgitan iga tabelit üksikasjalikult.
Tabel 1: tblMuziek
See on üsna lihtne laud. See salvestab esitaja, laulu nime ja laulu failinime.
Tabel 2: tblLedstrip
See tabel jälgib LED -riba praegust olekut ja salvestab LED -riba oleku. Me vajame seda nutivalgustuse funktsiooni jaoks.
Tabel 3: tblSensoren
See tabel jälgib meie alarmi andureid. Salvestame anduri nime ja MCP3008 kanali
Tabel 4: tblMeting
See tabel salvestab meie andurite väärtused koos nende ajaga.
Tabel 5: tblWekker
See tabel salvestab teie äratuskella (nt magamistuba) parooli ja nime. See tabel ei ole kohustuslik, kuid lisasin selle, kuna eeldan, et teie majas on rohkem kui üks äratuskell.
Tabel 6: tblAlarm
See on ilmselt kõige olulisem tabel. See jälgib teie seadistatud äratust ja seda, mida kell peab tegema (millist laulu esitama, millist juhtimisjärjestust ja millistel päevadel see välja lülitama …). Kahe kuupäeva jälgimine on väga oluline. 1 kuupäeva kasutatakse selle salvestamiseks, mis kell alarm peaks tööle minema. Teine jälgib viimast häirekella. Et teada saada, mis nädalapäev peaks minema, kasutasin varchari, mis sisaldab 7 numbrit. Esimene number on esmaspäev, teine teisipäev,… Kui see on 1, siis peaks see kustuma, kui 0, siis ei tohiks. Näide: 1111100 see tähendab, et see alarm peaks esmaspäeval, teisipäeval, kolmapäeval, neljapäeval ja reedel tööle minema.
Samm: Arduino seadistamine
See samm on väga lihtne. Järgmisel sammul on link minu githubile, kust saate arduino faili alla laadida.
Mida programm teeb?
Programm ootab seeriaandmete saabumist pi -st.
Niipea kui andmed on saadud, analüüsib see stringi ja saadab pi -le kinnituse.
String on umbes selline: '1201', see tähendab, et kell on 12:01. Kasutasin tavalist 7 -segmendilist anoodi ekraani, see tähendab, et nende sisselülitamiseks peaksid numbrid olema kõrged ja A, B, C, D, E, F, G ja DP madalad. Kui kasutate tavalist katoodi, peaksite lihtsalt muutma HIGH väärtuseks LOW ja LOW to HIGH.
Siin on link, kus on rohkem teavet selle kohta, kuidas 7 segmendi kuva töötab. (koos raamatukogu kasutamisega):
www.instructables.com/id/Using-a-4-digit-7…
Siin on link umbes 7 segmendi kuvamiseks ilma raamatukogu kasutamiseta:
create.arduino.cc/projecthub/SAnwandter1/p…
Samm: Raspberry Pi taustaprogramm
Minu koodi saate alla laadida Githubi abil. (https://github.com/VanHevelNico/WakeMeUp)
Programmi installimine:
Taustprogramm on kirjutatud pythonis, kasutades kolbi. Saate luua teenuse, mis käivitab selle programmi (app.py) automaatselt.
Peaksite kasutajaliidese koodi sisestama varem alla laaditud apache serveri html -faili. (/var/html)
Kuidas programm töötab?
Kui äratuskell on sisse lülitatud, minge oma kella IP -aadressile (see kuvatakse LCD -ekraanil)
Niipea kui lähete oma brauseris sellele IP -aadressile, saadab teie arvuti taustaprogrammile socket.io taotluse, milles öeldakse, et klient on ühenduse loonud. Kui taustaprogramm selle saab, algavad mõned teemad, mida ma allpool selgitan.
Seadistamine
See intialiseerib kõik vajalikud objektid.
GetTemp
See loeb mcp3008 kanalit 0 ja teisendab kahendandmed tegelikuks temperatuuriks ning paneb need andmebaasi koos praeguse kuupäeva ja tunniga.
GetTempGrafiek
See saab temperatuurianduri viimase 20 väärtuse ja väljastab selle esipaneelile.
tijd_sturen
See meetod saab praeguse aja ja kontrollib, kas minut on muutunud. Kui see on muutunud, saadab programm uue aja arduinole jadaühenduse abil
checkAlarmen
See on kõige olulisem meetod. See saab kõik sisse lülitatud häired ja kontrollib, kas mõni neist häiretest peab nüüdsest kuni 5 minutini tagasi lülituma (see on puhver, et veenduda, et iga alarm lülitub välja siis, kui seda vaja on). Kui äratus peab välja lülitama, käivitame muusika, LED -riba,… Me loeme jõutundlikku takistit pidevalt ja kui väärtus langeb alla 1000 (lugege klahvi fsr), lülitame alarmi sisse ja värskendame häiret andmebaas. Me seadsime kuupäeva, millal häire viimati välja lülitati, praegusele kuupäevale.
statusLight
See meetod kiirgab LED -riba väärtust ja lülitab vajadusel LED -riba sisse.
lichtAanpassen
See on täiendav meetod veendumaks, et LED -riba ja äratustuli ei lähe vastuollu.
6. samm: juhtum
Minu failide lingi leiate siit:
Korpuse printimiseks kasutasin 3D -printerit. See on trükitud 4 erinevasse ossa:
- Esiplaat, millel on augud kõlari jaoks ja mõned seinad 7 segmendi kuva jaoks
- Ledriba välisrõngas läbipaistvas PETG -s.
- Keskmine osa
- Tagaplaat, millel on ava LCD -le ja auk kaablitele.
Algses mudelis ei olnud 7 -segmendilise ekraani jaoks auku, kuid seda on vaja, sest vastasel juhul ei paista 7 -segmendilise ekraani valgus läbi.
Nagu näete pärast kõigi komponentide sisestamist, kasutasin lõpptulemuse paremaks muutmiseks puidust välimusega vinüülkleebiseid. Kellaekraan särab kleebise kaudu, mis loob väga kena välimuse.
Soovitan:
Lugege elektri- ja gaasimõõturit (Belgia/hollandi keel) ja laadige üles asjade kõnele: 5 sammu
Lugege elektri- ja gaasimõõturit (Belgia/hollandi keel) ja laadige üles ülespoole projekti käigus saame praegused andmed Belgia või Hollandi digitaalelektrilt
Kuidas GTA 5 (PS3) ekraanipilte sotsiaalmeediasse üles laadida: 5 sammu
GTA 5 (PS3) ekraanipiltide üleslaadimine sotsiaalmeediasse: nagu ma tean, et PS3 ei toeta GTA V ekraanipilte, kuid leidsin viisi ekraanipiltide tegemiseks ja nende allalaadimiseks oma telefoni ning Instagrami postitamiseks
Ärka üles !!!: 5 sammu
Ärka üles !!!: Selle projekti eesmärk on äratada inimesi. On palju inimesi, kes ei suutnud äratusest ärgata, seega on selle projekti eesmärk aidata neil inimestel hõlpsalt ja kiiresti ärgata. Projektis kasutati servomootorit ja fototakisti, kui fototakisti tuled s
Kuidas Soundcloudis Android -seadmega üles laadida: 9 sammu
Kuidas Soundcloudis Android -seadmega üles laadida: laadige oma mobiilse Android -seadme abil üles soundcloudi
Äratage surnud Pleo RB üles lõastatud toiteallikaga: 5 sammu (koos piltidega)
Tõstke oma surnud Pleo RB üles lõastatud toiteallikaga: pange tähele, et kõik selle juhendi fotod on tehtud pärast muudatuste lõpetamist, nii et peate pärast akukarbi lahtivõtmist hoolikalt vaatama osi, mis teil on, ja võrdlema neid kaasasolevate piltidega siin enne muutmist