Taula de continguts:
- Subministraments
- Pas 1: Configuració del Raspberry Pi
- Pas 2: connectar l'electrònica
- Pas 3: disseny de bases de dades
- Pas 4: Configuració d'Arduino
- Pas 5: Raspberry Pi Backend
- Pas 6: cas
Vídeo: Wake Me Up: un despertador intel·ligent: 6 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:12
Wake me up és un despertador intel·ligent que també es pot utilitzar com a llum intel·ligent.
La tira led incorporada simula la llum natural que entra a la vostra habitació. Això permet una manera tranquil·la i natural d’iniciar el dia.
El despertador també està equipat amb una pantalla de 4 * 7 segments per llegir l’hora, altaveus per despertar amb la vostra música preferida, un botó tàctil, un ldr per adaptar la brillantor de la tira led i un sensor de temperatura que podeu utilitzar per temperatura de la vostra habitació.
Subministraments
Podeu trobar una llista dels preus exactes que he pagat aquí:
Microcontroladors i ordinadors:
Raspberry Pi 4 He utilitzat el raspberry pi 4 4GB, però, qualsevol model de raspberry pi 3+ hauria d’estar bé
Arduino Uno
L’arduino s’utilitza per controlar la visualització del rellotge de 4 * 7 segments.
Sensors:
- TMP36: sensor de temperatura
- LDR: resistència dependent de la llum
Actuadors:
- WS2801: tira LED dirigible individualment
- Pantalla LCD: pantalla LCD de 16 * 2.
- Visualització de rellotge de 4 * 7 segments
IC:
- 74HC595: Shiftregister per a la pantalla LCD
- MCP3008: convertidor analògic a digital de 8 bits
- Convertidor de nivell lògic: s’utilitza per comunicar-se entre raspi i arduino
Altres coses:
- Un amplificador MAX9744 adafruit per alimentar els altaveus
- Qualsevol altaveu, he utilitzat un altaveu Visaton 4Ohm 8Watt de gamma completa (art. Núm. 2240)
- Una font d'alimentació de 9 volts per alimentar l'amplificador
- Una font d'alimentació de 5 volts per subministrar la tira de leds i altres components. Tingueu en compte que cada led de la tira de leds pot alimentar 60 mA, així que assegureu-vos que la vostra font d'alimentació és suficient.
- Algunes resistències de 220 Ohm
- Una petita tauleta per posar al vostre cas.
Eines:
- Un soldador.
- Alguna cosa per fer el cas (he utilitzat una impressora 3D amb PLA i PETG i alguns adhesius de vinil per obtenir l'efecte fusta).
Pas 1: Configuració del Raspberry Pi
El raspberry pi és el nostre micro controlador principal.
El raspberry pi executa el nostre servidor web local, la nostra base de dades, controla el ledstrip, els altaveus, …
Part 1: Instal·lació de Raspbian
Utilitzeu aquest tutorial per instal·lar raspbian:
Assegureu-vos que SSH estigui activat
Part 2: Connectar-se
Per connectar-vos a Internet, heu d’accedir al terminal del vostre raspberry pi. Recomano utilitzar massilla. Al tipus de terminal:
wpa_passphrase "YourNetwork" "YourSSID" >> /etc/wpa_supplicant/wpa_supplicant.conf
"YourNetwork" és el nom de la vostra xarxa wifi i "YourSSID" és la contrasenya de la xarxa.
Un cop afegida la xarxa, intenteu reiniciar el Raspberry Pi.
Escriviu l'ordre 'ping 8.8.8.8', aquest enviarà un paquet als servidors de google si obteniu resposta, la vostra xarxa està configurada i funciona.
Part 3: Instal·leu els programes necessaris
Necessitarem instal·lar alguns programes addicionals per posar en marxa aquest projecte.
Abans de començar, executeu aquestes 2 ordres per assegurar-vos que tot estigui actualitzat.
actualització sudo apt
actualització sudo apt
Això pot trigar una estona.
Apatxe
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
Hem d’instal·lar pip per habilitar algunes biblioteques python
pip3 instal·la mysql-connector-python
pip3 instal·la flask-socketio
pip3 instal·lar flask-cors
pip3 install gevent
pip3 instal·la gevent-websocket
Pas 2: connectar l'electrònica
He afegit 2 esquemes, 1 és un esquema de taulers de proves amb finalitats de prova. Recomano construir el primer esquema i intentar que el codi funcioni.
A continuació he afegit els fitxers divertits.
Pas 3: disseny de bases de dades
Aquest és l'esquema de base de dades que he creat. Les paraules estan en neerlandès, però explicaré cada taula amb detall.
Taula 1: tblMuziek
Aquesta és una taula bastant bàsica. Desa el nom de l’artista, el nom de la cançó i el nom del fitxer d’una cançó.
Taula 2: tblLedstrip
Aquesta taula fa un seguiment de l’estat actual de la ledstrip i guarda l’estat de la ledstrip. Ho necessitem per a la funció smartlight.
Taula 3: tblSensoren
Aquesta taula fa un seguiment dels sensors de la nostra alarma. Emmagatzemem el nom del sensor i el canal del MCP3008
Taula 4: tblMeting
Aquesta taula emmagatzema els valors dels nostres sensors juntament amb el seu temps.
Taula 5: tblWekker
Aquesta taula emmagatzema la contrasenya i el nom del despertador (per exemple, Dormitori). Aquesta taula no és obligatòria, però l’he afegit perquè suposo que tindreu més d’un despertador a casa vostra.
Taula 6: tblAlarm
Aquesta és probablement la taula més important. Realitza un seguiment de l’alarma que heu configurat i del que ha de fer el rellotge (quina cançó cal reproduir, quina seqüència de leds, en quins dies s’ha de disparar, …). És molt important fer un seguiment de 2 dates. 1 data s'utilitza per emmagatzemar a quina hora ha de saltar l'alarma. L'altre fa un seguiment de l'última vegada que va saltar l'alarma. Per saber quin dia de la setmana hauria de sortir, he utilitzat un varchar que conté un nombre de 7 dígits. El primer dígit és dilluns, el segon dimarts, … Si és un 1, hauria d'apagar-se, si és un 0, no hauria de ser. Exemple: 1111100 això significa que aquesta alarma ha de disparar dilluns, dimarts, dimecres, dijous i divendres.
Pas 4: Configuració d'Arduino
Aquest pas és molt fàcil. Hi haurà un enllaç al meu github al següent pas on podreu descarregar el fitxer arduino.
Què fa el programa?
El programa espera que les dades de sèrie entrin des del pi.
Tan bon punt es reben les dades, analitza tota la cadena i envia una confirmació al pi.
La cadena serà així: '1201', això significa que són les 12:01. He utilitzat una pantalla ànode comuna de 7 segments, això vol dir que els dígits haurien de ser alts i que A, B, C, D, E, F, G i DP haurien de ser baixos per activar-los. Si utilitzeu un càtode comú, haureu de canviar ALTA a BAIX i BAIX a ALTA.
Aquí teniu un enllaç amb més informació sobre com funcionen les pantalles de 7 segments. (amb l'ús de la biblioteca):
www.instructables.com/id/Using-a-4-digit-7…
A continuació, es mostra un enllaç sobre pantalles de 7 segments sense l'ús d'una biblioteca:
create.arduino.cc/projecthub/SAnwandter1/p…
Pas 5: Raspberry Pi Backend
Podeu descarregar el meu codi mitjançant Github. (https://github.com/VanHevelNico/WakeMeUp)
Com instal·lar el programa:
El dorsal s’escriu en pitó amb un matràs. Podeu fer un servei que engegui aquest programa (app.py) automàticament.
Hauríeu de posar el codi frontal al fitxer html del servidor apache que hem descarregat anteriorment. (/ var / html)
Com funciona el programa?
Quan el despertador estigui activat, aneu a l'adreça IP del rellotge (es mostrarà a la pantalla LCD)
Tan bon punt aneu a aquesta adreça IP del navegador, l'ordinador enviarà una sol·licitud de socket.io al dorsal indicant que s'ha connectat un client. Quan el backend rebi això, s'iniciaran uns quants fils que explicaré a continuació.
Configuració
Això intialitza tots els objectes necessaris.
GetTemp
Això llegeix el canal 0 mcp3008 i converteix les dades binàries a la temperatura real i les posa a la base de dades amb la data i hora actuals.
GetTempGrafiek
Això obté els últims 20 valors del sensor de temperatura i l’emet al frontal.
tijd_sturen
Aquest mètode obté l'hora actual i comprova si el minut ha canviat. Si ha canviat, el programa envia la nova hora a l'arduino mitjançant la comunicació en sèrie
checkAlarmen
Aquest és el mètode més important. Obté totes les alarmes que s’encenen i comprova si alguna d’aquestes alarmes ha de passar des d’ara fins fa 5 minuts (és un buffer per assegurar-se que cada alarma s’activa quan ho necessita). Si l'alarma ha de disparar, començarem la música, el ledstrip, … Llegim la resistència sensible a la força contínuament i quan el valor cau per sota de 1000 (es llegeix la fsr) Girem l'alarma i actualitzem l'alarma al base de dades. Establim la data en què va saltar l'alarma per última vegada a la data actual.
statusLight
Aquest mètode emet el valor de la ledstrip i activa la ledstrip si és necessari.
lichtAanpassen
Aquest és un mètode addicional per assegurar-vos que el ledstrip i la llum d'alarma no entren en conflicte.
Pas 6: cas
L’enllaç als meus fitxers es pot trobar aquí:
Vaig utilitzar una impressora 3D per imprimir la carcassa. S'imprimeix en 4 parts diferents:
- La placa frontal amb forats per a l’altaveu i algunes parets per a la pantalla de 7 segments
- L'anell exterior de la tira led en PETG transparent.
- La part central
- La placa posterior amb un forat per al lcd i un forat per als cables.
En el model original no hi havia cap forat per a la pantalla de 7 segments, però això és necessari perquè, en cas contrari, la llum de la pantalla de 7 segments no brillarà.
Com es pot veure després de posar-hi tots els components, he utilitzat adhesius de vinil amb un aspecte de fusta per fer que el resultat final sigui millor. La pantalla del rellotge brilla a través de l’adhesiu, cosa que crea un aspecte molt agradable.
Recomanat:
Llum LED d'escriptori intel·ligent - Il·luminació intel·ligent amb Arduino - Espai de treball Neopixels: 10 passos (amb imatges)
Llum LED d'escriptori intel·ligent | Il·luminació intel·ligent amb Arduino | Espai de treball de Neopixels: ara passem molt de temps a casa estudiant i treballant virtualment, per què no fer que el nostre espai de treball sigui més gran amb un sistema d’il·luminació personalitzat i intel·ligent basat en els LEDs Arduino i Ws2812b. Aquí us mostro com construir el vostre Smart Llum LED d'escriptori que
Converteix un telèfon intel·ligent no utilitzat en una pantalla intel·ligent: 6 passos (amb imatges)
Converteix un telèfon intel·ligent no utilitzat en una pantalla intel·ligent: el tutorial de Deze es troba a Engels, per a la versió del clàssic espanyol. Teniu un telèfon intel·ligent (antic) sense utilitzar? Convertiu-lo en una pantalla intel·ligent amb Fulls de càlcul de Google i paper i llapis seguint aquest senzill tutorial pas a pas. Quan hagis acabat
Làmpada LED intel·ligent controlada per telèfon intel·ligent Bluetooth: 7 passos
Làmpada LED intel·ligent controlada per telèfon intel·ligent Bluetooth: sempre somio amb controlar els meus aparells d’il·luminació. Aleshores algú va fabricar una increïble llum LED de colors. Fa poc em vaig trobar amb una làmpada LED de Joseph Casha a Youtube. Inspirant-me en ell, vaig decidir afegir diverses funcions mantenint la comoditat
Rellotge despertador intel·ligent: un despertador intel·ligent fabricat amb Raspberry Pi: 10 passos (amb imatges)
Rellotge despertador intel·ligent: un rellotge despertador intel·ligent fet amb Raspberry Pi: Heu volgut mai un rellotge intel·ligent? Si és així, aquesta és la solució per a vosaltres. He creat Smart Alarm Clock (Rellotge despertador intel·ligent), aquest és un rellotge que permet canviar l’hora de l’alarma segons el lloc web. Quan l’alarma s’activi, hi haurà un so (brunzidor) i 2 llums
Jardineria intel·ligent i agricultura intel·ligent basades en IoT mitjançant ESP32: 7 passos
Jardineria intel·ligent i agricultura intel·ligent basades en l’IoT que utilitzen ESP32: el món canvia a mesura que l’agricultura passa. Avui en dia, la gent integra electrònica en tots els camps i l’agricultura no n’és una excepció. Aquesta fusió d'electrònica a l'agricultura està ajudant els agricultors i les persones que gestionen els jardins