Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Opsætning af Raspberry Pi
- Trin 2: Tilslutning af elektronikken
- Trin 3: Databasedesign
- Trin 4: Arduino -opsætning
- Trin 5: Raspberry Pi Backend
- Trin 6: Case
Video: Wake Me Up - et smart vækkeur: 6 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
Wake me up er et smart vækkeur, der også kan bruges som et smart lys.
Den indbyggede ledstrip simulerer naturligt lys, der kommer ind i dit værelse. Dette muliggør en rolig, naturlig måde at starte din dag på.
Vækkeuret er også udstyret med et 4*7 segment display til aflæsning af tiden, højttalere til at vågne op med din yndlingsmusik, en berøringsknap, en ldr til tilpasning af lysstyrken på ledstrip og en temperatursensor, som du kan bruge til at se temperaturen i dit værelse.
Forbrugsvarer
En liste over de nøjagtige priser, jeg betalte, kan findes her:
Mikrocontrollere og computere:
Raspberry Pi 4I brugte hindbær pi 4 4GB, men enhver hindbær pi model 3+ skulle være i orden
Arduino Uno
Arduinoen bruges til at styre 4*7 segmenters urvisning.
Sensorer:
- TMP36: temperatursensor
- LDR: Lysafhængig modstand
Aktuatorer:
- WS2801: Individuelt adresserbar ledstrip
- LCD -display: Et 16*2 LCD -display.
- 4*7 segment urvisning
IC'er:
- 74HC595: Shiftregister til lcd -skærmen
- MCP3008: 8-bit analog til digital konverter
- Logisk niveauomformer: Bruges til at kommunikere mellem raspi og arduino
Andre ting:
- En adafruit MAX9744 forstærker til at drive højttalerne
- Enhver højttaler, jeg brugte en Visaton 4Ohm 8Watt full range højttaler (art. Nr. 2240)
- En 9 volt strømforsyning til forstærkeren
- En 5 volt strømforsyning til forsyning af ledstrip og andre komponenter. Husk på, at hver led i ledstrip kan kaste 60mA, så sørg for, at din strømforsyning er tilstrækkelig.
- Et par 220Ohm modstande
- Et lille brødbræt til at lægge i din sag.
Værktøjer:
- Et loddejern.
- Noget at lave sagen (jeg brugte en 3d -printer med PLA og PETG og nogle vinylklistermærker for at få træeffekten.)
Trin 1: Opsætning af Raspberry Pi
Raspberry pi er vores vigtigste mikrokontroller.
Raspberry pi driver vores lokale webserver, database, styrer ledstrip, højttalere, …
Del 1: Installation af Raspbian
Brug denne vejledning til at installere raspbian:
Sørg for, at SSH er aktiveret
Del 2: Få forbindelse
For at få forbindelse til internettet skal du have adgang til din hindbær pis terminal. Jeg anbefaler at bruge kit. I terminalen type:
wpa_passphrase "YourNetwork" "YourSSID" >> /etc/wpa_supplicant/wpa_supplicant.conf
"YourNetwork" er navnet på dit wifi -netværk, og "YourSSID" er adgangskoden til netværket.
Når du har tilføjet netværket, skal du prøve at genstarte Raspberry Pi.
Indtast kommandoen 'ping 8.8.8.8', denne sender en pakke til Google-serverne, hvis du får svar, dit netværk er konfigureret og fungerer!
Del 3: Installer de nødvendige programmer
Vi skal installere nogle ekstra programmer for at få dette projekt i gang.
Inden vi går i gang, kør disse 2 kommandoer for at sikre, at alt er opgraderet.
sudo apt opdatering
sudo apt opgradering
Dette kan tage et stykke tid.
Apache
sudo apt installere apache2 -y
sudo apt installer php libapache2-mod-php -y
MariaDB
sudo apt installer mariadb-server mariadb-klient -y
sudo apt installer php -mysql -y
PHPMyAdmin
sudo apt installer phpmyadmin -y
Python pip
Vi skal installere pip for at aktivere nogle python -biblioteker
pip3 installer mysql-connector-python
pip3 installer kolbe-socketio
pip3 installer kolbe-kors
pip3 installer gevent
pip3 installer gevent-websocket
Trin 2: Tilslutning af elektronikken
Jeg har tilføjet 2 ordninger, 1 er et brødbræt til testformål. Jeg anbefaler at bygge det første skema og prøve at få koden til at fungere.
Jeg har tilføjet fritzing -filerne herunder.
Trin 3: Databasedesign
Dette er den database, jeg lavede. Ordene er på hollandsk, men jeg vil forklare hver tabel i detaljer.
Tabel 1: tblMuziek
Dette er et temmelig grundlæggende bord. Det gemmer kunstnerens navn, sangnavn og filnavnet på en sang.
Tabel 2: tblLedstrip
Denne tabel holder styr på den aktuelle tilstand af ledstripen, den gemmer ledstripens tilstand. Vi har brug for dette til smartlight -funktionen.
Tabel 3: tblSensoren
Denne tabel holder styr på sensorerne i vores alarm. Vi gemmer navnet på sensoren og MCP3008s kanal
Tabel 4: tblMeting
Denne tabel gemmer værdierne for vores sensorer sammen med deres tid.
Tabel 5: tblWekker
Denne tabel gemmer adgangskoden og navnet på dit vækkeur (f.eks. Soveværelse) Denne tabel er ikke obligatorisk, men jeg tilføjede det, fordi jeg går ud fra, at du har mere end 1 vækkeur i dit hus.
Tabel 6: tblAlarm
Dette er nok det vigtigste bord. Det holder styr på alarmen, du har indstillet, og hvad uret skal gøre (hvilken sang der skal afspilles, hvilken ledesekvens, på hvilke dage skal den gå, …). Det er meget vigtigt at holde styr på 2 datoer. 1 dato bruges til at gemme på hvilket tidspunkt alarmen skal gå. Den anden holder styr på sidste gang alarmen gik. For at vide, hvilken hverdag det skulle gå, brugte jeg en varchar, der indeholder et tal på 7 cifre. Det første ciffer er mandag, den anden tirsdag, … Hvis det er et 1, skal det gå ud, hvis det er et 0, skal det ikke. Eksempel: 1111100 betyder, at denne alarm skal lyde mandag, tirsdag, onsdag, torsdag og fredag.
Trin 4: Arduino -opsætning
Dette trin er meget let. Der vil være et link til min github på det næste trin, hvor du kan downloade arduino -filen.
Hvad gør programmet?
Programmet venter på, at serielle data kommer ind fra pi.
Så snart dataene er modtaget, analyseres de gennem strengen og sender en bekræftelse tilbage til pi'et.
Strengen vil være sådan: '1201', det betyder, at den er 12:01. Jeg brugte en fælles anode 7segment display, hvilket betyder, at cifrene skal være høje, og A, B, C, D, E, F, G og DP skal være lave for at tænde dem. Hvis du bruger en fælles katode, skal du bare ændre HIGH til LOW & LOW til HIGH.
Her er et link med mere information om, hvordan 7 segmentskærme fungerer. (med brug af bibliotek):
www.instructables.com/id/Using-a-4-digit-7…
Her er et link om 7 segmentdisplays uden brug af et bibliotek:
create.arduino.cc/projecthub/SAnwandter1/p…
Trin 5: Raspberry Pi Backend
Du kan downloade min kode ved hjælp af Github. (https://github.com/VanHevelNico/WakeMeUp)
Sådan installeres programmet:
Backend er skrevet i python ved hjælp af kolbe. Du kan lave en tjeneste, der starter dette program (app.py) automatisk.
Du bør sætte frontend -koden i html -filen på den apache -server, vi downloadede tidligere. (/var/html)
Hvordan fungerer programmet?
Når vækkeuret er tændt, skal du gå til dit urs ip -adresse (det vil blive vist på lcd'en)
Så snart du går til den ip -adresse i din browser, sender din computer en socket.io -anmodning til backend, der siger, at en klient har oprettet forbindelse. Når backend modtager dette, starter et par tråde, som jeg vil forklare nedenfor.
Opsætning
Dette initialiserer alle de nødvendige objekter.
GetTemp
Dette læser mcp3008 kanal 0 og konverterer de binære data til den faktiske temperatur og lægger dem i databasen med den aktuelle dato og time.
GetTempGrafiek
Dette får de sidste 20 værdier af temperatursensoren og udsender det til frontenden.
tijd_sturen
Denne metode får den aktuelle tid og kontrollerer, om minuttet er ændret. Hvis det har ændret sig, sender programmet den nye tid til arduinoen ved hjælp af seriel kommunikation
checkAlarmen
Dette er den vigtigste metode. Det får alle de alarmer, der er tændt, og kontrollerer, om nogen af disse alarmer skal gå fra nu og for 5 minutter siden (dette er en buffer for at sikre, at hver alarm går, når den skal). Hvis alarmen skal gå, starter vi musikken, ledstripen, … Vi læser den kraftfølsomme modstand løbende, og når værdien falder til under 1000 (læs fsr trykkes) Vi slår alarmen til og opdaterer alarmen i database. Vi indstillede den dato, hvor alarmen gik sidste gang til den aktuelle dato.
statusLight
Denne metode udsender værdien af ledstripen og tænder ledstripen, hvis det er nødvendigt.
lichtAanpassen
Dette er en ekstra metode til at sikre, at ledstrip og alarmlys ikke konflikter.
Trin 6: Case
Linket til mine filer kan findes her:
Jeg brugte en 3d -printer til at udskrive kabinettet. Den er trykt i 4 forskellige dele:
- Frontpladen med huller til højttaleren og nogle vægge til displayet med 7 segmenter
- Den ydre ring til ledstrip i transparent PETG.
- Den midterste del
- Bagpladen med et hul til lcd'en og et hul til kablerne.
I den originale model var der ikke hul til 7 -segmentet display, men dette er nødvendigt, for ellers lyser 7 -segment displayet ikke igennem.
Som du kan se efter at have lagt alle komponenterne i, brugte jeg vinylklistermærker med et træudseende for at få slutresultatet til at se bedre ud. Urdisplayet skinner igennem klistermærket, hvilket skaber en meget flot effekt.
Anbefalede:
Smart vækkeur ved hjælp af Magicbit (Arduino): 10 trin
Smart vækkeur ved hjælp af Magicbit (Arduino): Denne vejledning viser, hvordan du laver et smart vækkeur ved hjælp af OLED -display i Magicbit dev board uden at bruge noget RTC -modul
Smart vækkeur - Intel Edison - Iot RoadShow - São Paulo: 4 trin
Smart vækkeur - Intel Edison - Iot RoadShow - São Paulo: En af de store dyder for alle, der bor eller arbejder i en storby, er tidsstyring. I dag er turene konstante, og da trafik er en af hovedfaktorerne. Når jeg tænker på det, lavede jeg en lille applikation, der bruger integrationen med Google M
WakeupNow - Smart vækkeur: 8 trin
WakeupNow - Smart vækkeur: Som alle ved, er elevernes liv meget hårdt, de har en lang dag med foredrag, mange lektier og generelt har de et vanvittigt liv. De har tid til ingenting, og hvis du foreslår dem at tilføje nogle timer til dagen, vil de blive glade. Unfo
Smart vækkeur: et smart vækkeur lavet med hindbær Pi: 10 trin (med billeder)
Smart vækkeur: et smart vækkeur lavet med Raspberry Pi: Har du nogensinde ønsket et smart ur? I så fald er dette løsningen for dig! Jeg lavede Smart Alarm Clock, dette er et ur, hvor du kan ændre alarmtiden i henhold til webstedet. Når alarmen går, kommer der en lyd (summer) og 2 lyser
Easy Wake-Up: et smart Wake-Up Light lavet med Raspberry Pi: 6 trin
Easy Wake-Up: et smart Wake-Up Light lavet med Raspberry Pi: IntroFor pensumsprojekt1 måtte jeg lave noget. Jeg var altid fascineret over, hvordan et wake-up light som ville gavne dig i at vågne op som dem fra philips, så jeg besluttede mig for at lave et wake-up light. Jeg lavede vågne op med en Raspberr