Innehållsförteckning:
- Tillbehör
- Steg 1: Konfigurera Raspberry Pi
- Steg 2: Anslutning av elektroniken
- Steg 3: Databasdesign
- Steg 4: Arduino -installation
- Steg 5: Raspberry Pi Backend
- Steg 6: Fodral
Video: Wake Me Up - en smart väckarklocka: 6 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:40
Wake me up är en smart väckarklocka som också kan användas som ett smart ljus.
Den inbyggda ledstripen simulerar naturligt ljus som kommer in i ditt rum. Detta möjliggör ett lugnt, naturligt sätt att komma igång med dagen.
Väckarklockan är också utrustad med en 4*7 segmentdisplay för avläsning av tiden, högtalare för att vakna med din favoritmusik, en peksknapp, en ldr för att anpassa ljusstyrkan på ledstripen och en temperatursensor som du kan använda för att se temperaturen i ditt rum.
Tillbehör
En lista över de exakta priserna jag betalade hittar du här:
Mikrokontroller och datorer:
Raspberry Pi 4I använde hallon pi 4 4GB, men alla hallon pi modell 3+ borde vara bra
Arduino Uno
Arduino används för att styra klockdisplayen med 4*7 segment.
Sensorer:
- TMP36: temperaturgivare
- LDR: Ljusberoende motstånd
Ställdon:
- WS2801: Individuellt adresserbar ledstrip
- LCD -skärm: En 16*2 LCD -skärm.
- 4*7 segment klocka
IC: er:
- 74HC595: Skiftregister för LCD -skärmen
- MCP3008: 8-bitars analog till digital omvandlare
- Logic level converter: Används för att kommunicera mellan raspi och arduino
Andra saker:
- En adafruit MAX9744 förstärkare för att driva högtalarna
- Vilken högtalare som helst, jag använde en Visaton 4Ohm 8Watt full range -högtalare (art. Nr 2240)
- En 9 volt strömförsörjning för att driva förstärkaren
- En 5 volt strömförsörjning för att leverera ledstripen och andra komponenter. Tänk på att varje led i ledstripen kan dricka 60mA så se till att din strömförsörjning är tillräcklig.
- Några 220Ohm motstånd
- En liten brödbräda att sätta i ditt fodral.
Verktyg:
- Ett lödkolv.
- Något att göra fodralet (jag använde en 3d -skrivare med PLA och PETG och några vinylklistermärken för att få träeffekten.)
Steg 1: Konfigurera Raspberry Pi
Raspberry pi är vår främsta mikrokontroller.
Raspberry pi driver vår lokala webbserver, databas, styr ledstrip, högtalare, …
Del 1: Installera Raspbian
Använd den här självstudien för att installera raspbian:
Se till att SSH är aktiverat
Del 2: Att ansluta
För att kunna ansluta till internet måste du komma åt din hallon Pi -terminal. Jag rekommenderar att du använder kitt. I terminalen:
wpa_passphrase "YourNetwork" "YourSSID" >> /etc/wpa_supplicant/wpa_supplicant.conf
"Ditt nätverk" är namnet på ditt wifi -nätverk och "YourSSID" är lösenordet för nätverket.
När du har lagt till nätverket försöker du starta om Raspberry Pi.
Skriv in kommandot 'ping 8.8.8.8' detta kommer att skicka ett paket till Googles servrar om du får svar ditt nätverk är konfigurerat och fungerar!
Del 3: Installera de program som behövs
Vi kommer att behöva installera några extra program för att få igång detta projekt.
Kör dessa två kommandon innan vi sätter igång för att se till att allt är uppgraderat.
sudo apt uppdatering
sudo apt uppgradering
Detta kan ta ett tag.
Apache
sudo apt installera apache2 -y
sudo apt installera php libapache2-mod-php -y
MariaDB
sudo apt installera mariadb-server mariadb-klient -y
sudo apt installera php -mysql -y
PHPMyAdmin
sudo apt installera phpmyadmin -y
Python pip
Vi måste installera pip för att aktivera några pythonbibliotek
pip3 installera mysql-connector-python
pip3 installera flask-socketio
pip3 installera kolvkors
pip3 installera gevent
pip3 installera gevent-websocket
Steg 2: Anslutning av elektroniken
Jag har lagt till 2 scheman, 1 är ett skivbräda för teständamål. Jag rekommenderar att du bygger det första schemat och försöker få koden att fungera.
Jag har lagt till fritzing -filerna nedan.
Steg 3: Databasdesign
Detta är det databasschema jag gjorde. Orden är på nederländska men jag kommer att förklara varje tabell i detalj.
Tabell 1: tblMuziek
Detta är ett ganska grundläggande bord. Det sparar artistnamnet, låtnamnet och filnamnet på en låt.
Tabell 2: tblLedstrip
Denna tabell håller reda på det aktuella tillståndet för ledstripen det sparar tillståndet för ledstripen. Vi behöver detta för smartlight -funktionen.
Tabell 3: tblSensoren
Denna tabell håller reda på sensorerna i vårt larm. Vi lagrar namnet på sensorn och MCP3008: s kanal
Tabell 4: tblMeting
Denna tabell lagrar värdena på våra sensorer tillsammans med deras tid.
Tabell 5: tblWekker
Denna tabell lagrar lösenordet och namnet på din väckarklocka (t.ex. sovrum) Denna tabell är inte obligatorisk men jag lade till den eftersom jag antar att du kommer att ha mer än 1 väckarklocka i ditt hus.
Tabell 6: tblAlarm
Detta är förmodligen det viktigaste bordet. Den håller reda på vilket larm du har ställt in och vad klockan måste göra (vilken låt som ska spelas, vilken led -sekvens, på vilka dagar ska den gå, …). Det är väldigt viktigt att hålla reda på två datum. 1 datum används för att lagra vid vilken tid alarmet ska gå. Den andra håller reda på förra gången larmet gick. För att veta vilken vardag det ska gå av använde jag en varchar som innehåller ett antal 7 siffror. Den första siffran är måndag, den andra tisdagen, … Om det är en 1 ska den gå av, om den är en 0 ska den inte. Exempel: 1111100 betyder att larmet ska gå på måndag, tisdag, onsdag, torsdag och fredag.
Steg 4: Arduino -installation
Detta steg är mycket enkelt. Det kommer att finnas en länk till min github i nästa steg där du kan ladda ner arduino -filen.
Vad gör programmet?
Programmet väntar på att seriell data ska komma in från pi: n.
Så snart data har mottagits analyseras den genom strängen och skickar tillbaka en bekräftelse till pi: n.
Strängen kommer att vara ungefär så här: '1201', det betyder att klockan är 12:01. Jag använde en vanlig anod 7segmentdisplay, det betyder att siffrorna ska vara höga och A, B, C, D, E, F, G och DP ska vara låga för att slå på dem. Om du använder en vanlig katod ska du bara ändra HÖG till LÅG & LÅG till HÖG.
Här är en länk med mer information om hur 7 -segmentskärmar fungerar. (med användning av bibliotek):
www.instructables.com/id/Using-a-4-digit-7…
Här är en länk om 7 segmentdisplayer utan att använda ett bibliotek:
create.arduino.cc/projecthub/SAnwandter1/p…
Steg 5: Raspberry Pi Backend
Du kan ladda ner min kod med Github. (https://github.com/VanHevelNico/WakeMeUp)
Så här installerar du programmet:
Backend är skriven i python med hjälp av kolv. Du kan göra en tjänst som startar detta program (app.py) automatiskt.
Du bör lägga frontend -koden i html -filen på apache -servern som vi laddade ner tidigare. (/var/html)
Hur fungerar programmet?
När väckarklockan är på går du till klockans ip -adress (den kommer att visas på LCD -skärmen)
Så snart du går till den ip -adressen i din webbläsare skickar din dator en socket.io -begäran till backend som säger att en klient har anslutit. När backend tar emot detta startar några trådar som jag kommer att förklara nedan.
Uppstart
Detta intialiserar alla objekt som behövs.
GetTemp
Detta läser mcp3008 -kanalen 0 och konverterar binära data till den verkliga temperaturen och lägger den i databasen med aktuellt datum och timme.
GetTempGrafiek
Detta får de senaste 20 värdena för temperaturgivaren och avger det till frontänden.
tijd_sturen
Denna metod får aktuell tid och kontrollerar om minuten har ändrats. Om det har ändrats skickar programmet den nya tiden till arduino med hjälp av seriell kommunikation
checkAlarmen
Detta är den viktigaste metoden. Den får alla larm som slås på och kontrollerar om något av dessa larm måste gå mellan nu och för 5 minuter sedan (detta är en buffert för att se till att varje larm går när det behövs). Om larmet måste gå startar vi musiken, ledstripen, … Vi läser det kraftkänsliga motståndet kontinuerligt och när värdet sjunker under 1000 (läs fsr trycks) Vi slår på larmet och uppdaterar larmet i databas. Vi ställde in det datum då larmet gick för sista gången till det aktuella datumet.
statusLight
Denna metod avger värdet på ledstripen och slår på ledstripen om det behövs.
lichtAanpassen
Detta är en extra metod för att se till att ledstrip och larmljus inte konflikter.
Steg 6: Fodral
Länken till mina filer finns här:
Jag använde en 3d -skrivare för att skriva ut höljet. Den är tryckt i 4 olika delar:
- Frontplattan med hål för högtalaren och några väggar för 7 -segmentskärmen
- Ytterringen för ledstripen i transparent PETG.
- Den mellersta delen
- Bakplattan med ett hål för LCD -skärmen och ett hål för kablarna.
I den ursprungliga modellen fanns det inget hål för 7 -segmentskärmen, men detta behövs eftersom annars inte ljuset från 7 -segmentskärmen kommer att lysa igenom.
Som du kan se efter att ha lagt in alla komponenter använde jag vinylklistermärken med träutseende för att få slutresultatet att se bättre ut. Klockdisplayen lyser genom klistermärket vilket skapar en mycket snygg effekt.
Rekommenderad:
Smart väckarklocka med Magicbit (Arduino): 10 steg
Smart väckarklocka med hjälp av Magicbit (Arduino): Denna handledning visar hur du gör en smart väckarklocka med hjälp av OLED -display i Magicbit dev -kort utan att använda någon RTC -modul
Smart väckarklocka - Intel Edison - Iot RoadShow - São Paulo: 4 steg
Smart väckarklocka - Intel Edison - Iot RoadShow - São Paulo: En av de stora dygderna för alla som bor eller arbetar i en storstad är tidshantering. Numera är resorna konstanta och eftersom trafik är en av huvudfaktorerna. När jag tänkte på det gjorde jag en liten applikation som använder integrationen med Google M
WakeupNow - Smart väckarklocka: 8 steg
WakeupNow - Smart väckarklocka: Som alla vet är studenternas liv väldigt svårt, de har en lång dag med föreläsningar, mycket läxor och i allmänhet har de ett galet liv. De har tid för ingenting, och om du föreslår dem att lägga till några timmar till dagen blir de glada. Unfo
Upcycled väckarklocka Smart Light: 8 steg (med bilder)
Upcycled Alarm Clock Smart Light: I det här projektet cyklar jag upp en helt trasig väckarklocka. Urtavlan ersätts av 12 lysdioder, upplysta av en LED -remsa runt klockans kant. De 12 lysdioderna anger tiden och LED -remsan är programmerad att fungera som ett larm och vrider
Smart väckarklocka: en smart väckarklocka tillverkad med hallon Pi: 10 steg (med bilder)
Smart väckarklocka: en smart väckarklocka tillverkad med hallon Pi: Har du någonsin velat ha en smart klocka? I så fall är detta lösningen för dig! Jag gjorde Smart Alarm Clock, det här är en klocka som du kan ändra alarmtiden enligt webbplatsen. När larmet går går det ett ljud (summer) och 2 lampor lyser