Sommario:

SmartClock: 6 passaggi
SmartClock: 6 passaggi

Video: SmartClock: 6 passaggi

Video: SmartClock: 6 passaggi
Video: This is the BEST MATRIX DISPLAY CLOCK for Home Assistant! 2024, Novembre
Anonim
SmartOrologio
SmartOrologio
SmartOrologio
SmartOrologio
SmartOrologio
SmartOrologio

Lo SmartClock non è solo un orologio, è anche un modo semplice per vedere le statistiche dei social media e il tempo.

Puoi connetterti a Facebook e ottenere i tuoi Mi piace, oppure connetterti a soundcloud e visualizzare i tuoi follower in diretta! L'unica cosa che devi fare, per vederlo, è premere il pulsante della modalità.

Ci sono più sensori su questo dispositivo, che raccolgono costantemente informazioni e le conservano in un database. Puoi visualizzare questi dati, su un bel grafico sul sito web.

È inoltre possibile riprodurre musica, che si seleziona sull'unità o sul sito web.

Forniture

- Raspberri Pi

- Arduino Uno

- Altoparlanti con amplificatore

- Display a 4*7 segmenti

- DHT 11

- LM35 (opzionale)

- LDR

- MCP3008

- Display LCD 16x2

- 5 interruttori monostabili normali aperti

- Resistori 100k, 220, 1k e 5k

- Alimentazione elettrica

- Molti cavi jumper, maschio/femmina e femmina/femmina

Passaggio 1: piedinatura DHT 11

Piedinatura DHT 11
Piedinatura DHT 11
Piedinatura DHT 11
Piedinatura DHT 11
Piedinatura DHT 11
Piedinatura DHT 11

Esistono 2 tipi di DHT11. A seconda della versione acquistata, avrai 3 o 4 pin.

Vcc va a 3,3 V, il segnale va a GPIO4 Se hai una versione a 4 pin, devi posizionare un resistore 4k7 tra il vcc e il pin del segnale. Se hai una versione a 3 pin, sei a posto.

Passaggio 2: MCP3008 con interruttori LDR, LM35 e pulldown

MCP3008 con interruttori LDR, LM35 e pulldown
MCP3008 con interruttori LDR, LM35 e pulldown
MCP3008 con interruttori LDR, LM35 e pulldown
MCP3008 con interruttori LDR, LM35 e pulldown
  • VDD - 3,3 V
  • Vref - 3.3V
  • AGND - Terra
  • CLK - GPIO9
  • DOUT - GPIO MISO
  • DIN - GPIO MOSI
  • CS - CS0
  • DGND - Terra

CH0 va tra un resistore da 10k e un ldr

CH1 va al pin centrale del Lm35

Passaggio 3: display LCD

Display LCD
Display LCD

Per far funzionare il tuo display LCD, collega il primo pin a Ground e il secondo a +5V. Il terzo pin dovrebbe essere collegato tramite un resistore da 5k a terra o un potenziometro se vuoi cambiare la luminosità.

Il pin RS va a GPIO22, anche RW va direttamente a gnd. A questo punto, dovresti vedere una linea di rettangoli neri sul display. ora basta collegare gli 8 pin dati ai pin GPIO che hai liberi e collegare LED+ a 5v, LED- a terra.

Passaggio 4: visualizzazione a 4*7 segmenti

Display a 4*7 segmenti
Display a 4*7 segmenti

Il tuo display può essere un anodo comune/catodo comune. Questo non importa per come lo colleghi, ma è bene sapere che tipo hai. Assicurati di mantenere il pin RX0 libero, poiché dovremo collegarlo a TX0 sull'RPI. Il resto delle connessioni non ha importanza, poiché il codice viene scritto in seguito.

Passaggio 5: costruzione

Costruzione
Costruzione
Costruzione
Costruzione

Per creare questa configurazione su una breadboard, avrai bisogno di molto spazio. Consiglierei di saldare l'MCP con LM35 e al resistori su una stampa di prova e aggiungere alcune intestazioni. In questo modo, puoi semplicemente collegarlo con alcuni ponticelli femmina/femmina. Assicurati di collegare raspberri e arduino ground. Fare attenzione a non confondere 3,3 V con 5 V

Passaggio 6: software

Software
Software
Software
Software

Ho usato Python, con flask per il backend. Html, css/less e javascript come frontend e codice arduino per arduino.

C'è anche un database in esecuzione sul Raspberry pi che salva i dati del sensore, così come gli allarmi che hai impostato e le informazioni sull'utente. Questo database viene eseguito su un server MariaDB. Le query per ottenere dati da questo sono scritte nel mio backen, in python. Questo converte i dati in json su endpoint personalizzati. Possiamo ottenere quei dati nel nostro front-end inviando una richiesta GET al nostro back-end. Qui possiamo fare quello che vogliamo con i dati. Ho scelto per i grafici, realizzati da chart.js, che è un'estensione javascript.

Consigliato: