Sommario:
- Passaggio 1: cosa ti serve
- Passaggio 2: installazione di Raspberry Pi
- Passaggio 3: gli script
- Passaggio 4: il circuito
- Passaggio 5: assemblaggio
- Passaggio 6: e ora?
Video: Orologio da parete a matrice di LED RGB O-R-A e altro **aggiornato a luglio 2019**: 6 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Ciao. Eccomi con un nuovo progetto chiamato O-R-A
È un orologio da parete Matrix LED RGB che visualizza:
- ora:minuto
- temperatura
- umidità
- icona delle condizioni meteorologiche attuali
- Eventi di Google Calendar e notifiche promemoria 1h
in un momento specifico mostra:
- Elenco degli eventi di oggi e di domani di Google Calendar
- previsioni del tempo
- ultime notizie
Funzionalità aggiuntive:
- data odierna
- Palla magica 8
- Timer da cucina
Per qualsiasi funzionalità il dispositivo riproduce un allarme audio diverso. Per tutti i tipi di condizioni meteorologiche c'è un file audio corrispondente da riprodurre quando viene chiamata la funzionalità.
Le funzionalità come l'elenco di Google Calendar, le previsioni del tempo, le ultime notizie RSS iniziano all'ora preselezionata quando il dispositivo è in "modalità orologio", queste possono essere chiamate anche azionando direttamente gli interruttori. Un'altra funzionalità durante la "modalità orologio" visualizza il giorno/mese/anno corrente. Può essere eseguito premendo il pulsante ENTER. Premendo il pulsante CHANGE STATE e quindi il pulsante ENTER entro 3 secondi in "modalità orologio", è possibile accedere al menu delle opzioni. Il pulsante CHANGE STATE è impostato per scorrere all'interno del menu, il pulsante ENTER è per confermare l'opzione selezionata.
Questo progetto è un'evoluzione dei miei precedenti LEGOLED e TEMPO. Il pannello a matrice di led RGB ha ora una risoluzione 32x64, quindi è possibile visualizzare una grafica più comprensibile, testo fisso e scorrevole contemporaneamente. Utilizzando le funzionalità TEMPO il dispositivo si accende e si spegne automaticamente senza alcun pulsante o timer esterno. Un modulo PIR rileva la presenza di persone quindi accende/spegne il display.
Le previsioni del tempo e i dati del calendario vengono raccolti ogni minuto forniti da Google Calendar e Open Weather Map.
Questo progetto è completamente personalizzabile partendo da Raspberry PI B+, matrice led 2 moduli 16x64 rgb e alimentatore. Può essere espanso, come ho fatto io, aggiungendo schede audio USB, altoparlanti, circuito di alimentazione on/off.
Passaggio 1: cosa ti serve
- Raspberry Pi B+ (con wifi o dongle integrato)
- 2 x 16x64 led a matrice RGB o 2 x 32x32
- cornice generica (40x50 cm & profondità 3 cm circa)
- foglio di plastica smerigliato
- pellicola solare per finestre
- PS 5V 10A
- cavi
- guaina termoindurente (*)
- modulo relè (*)
- PS extra per amplificatore audio (*)
- Modulo amplificatore audio 3W (*)
- Altoparlanti (*)
- Scheda audio USB (*)
- 2 x microinterruttore (*)
- PIR (*)
- Attiny85 (*)
- DS3231 (*)
- Mosfet IRF540 (*)
- Resistori: 3x1K, 2x10K, 1x2K (*)
- morsettiera (*)
- strisce di testata femmina (*)
- listelli testata maschio (*)
(*) opzionale
Passaggio 2: installazione di Raspberry Pi
Questa guida si basa fondamentalmente sulla libreria Raspbian Jessie Lite, Python 2.7 e RGB LED MATRIX dell'utente Hzeller Github.
Prima di tutto aggiorna e aggiorna RPI
Installa git
~ $ sudo apt-get install git
Scarica la libreria RGB LED MATRIX da Github
~ $ git clone
~ $ cd rpi-rgb-led-matrix
~ $ sudo make
scheda audio interna RPI blacklist
~ $ gatto <<EOF | sudo tee /etc/modprobe.d/blacklist-rgb-matrix.conf
lista nera snd_bcm2835
EOF
~ $ sudo update-initramfs -u
Imposta i parametri della scheda audio esterna se necessita di funzionalità audio:
~ $ sudo nano /usr/share/alsa/alsa.conf
modificare:
defaults.ctl.card 0
defaults.pcm.card 0
a
defaults.ctl.card 1
defaults.pcm.card 1
quindi riavviare.
Ora installa la libreria di matrici
~ $ cd /home/pi/rpi-rgb-led-matrix
~ $ sudo apt-get update && sudo apt-get install python2.7-dev python-pillow -y
~ $ make build-python
~ $ sudo make install-python
e installa altre librerie necessarie:
~ $ sudo easy_install pip
~ $ sudo pip install
Copia lo script samplebase.py da ~/rpi-rgb-led-matrix/bindings/python/samples/ nella home directory
Ottieni la chiave API registrandoti gratuitamente per Open Weather Map
Installa ora il wrapper Python OWM per PYthon 2.7 (grazie all'utente CSPARPAGithub)
~ $ sudo pip install git+https://github.com/csarpa/[email protected]
Ottieni le credenziali di Google Calendar seguendo le istruzioni sull'API del calendario di Google
Per la riproduzione audio installa Pygame
~ $ sudo apt-get install python-pygame
I feed RSS richiedono l'installazione di Feedparser
~ $ sudo pip install feedparser
copia il mio script ORAeng_131.py (versione inglese) o ORAita_131.py (versione italiana) nella home directory
creare cartelle per suoni e immagini:
mkdir dbsounds
mkdir owm
scarica e copia tutti i file-p.webp
www.dropbox.com/sh/nemyfcj1a1i18ic/AAB1W7I6lg5EgqL1gJZPWVTxa?dl=0
aggiungi le tue credenziali OWM alla riga 69 (API_key)
imposta la città per le previsioni del tempo (controlla se è coperta da OWM e se il nome corretto è accettato) alle righe 213, 215
obs =owm.weather_at_place('Napoli, IT')
fc = owm.three_hours_forecast('Napoli, IT')
*********************************** AGGIORNAMENTO 28/7/2019********** ******************
La nuova API di Google Calendar crea problemi. Ho risolto rimuovendo alcuni moduli:
~ $ sudo apt-get remove --purge python-setuptools
~ $ sudo apt-get autoremove python-pyasn1
prova lo script in esecuzione
~ $ sudo python ORAeng_150.py # o ORAita_150.py per la versione italiana
la prima volta lo script chiederà l'autorizzazione a GCAL. Fare clic sul collegamento alle credenziali dell'API di Google. Dai il permesso quindi, se tutto va bene, vedrai l'orologio iniziare.
a causa dell'eccessivo utilizzo della RAM dopo diverse ore, ho scritto uno script che riavvia semplicemente lo script Python quando l'utilizzo della RAM supera un livello di soglia. Quindi copia nella home directory lo script chiamato memcheck rinominandolo in memcheck.sh e aggiungilo a crontab -e insieme allo script principale
*/5 * * * * bash /home/pi/memcheck.sh@reboot sudo python /home/pi/ORAeng_150.py
Passaggio 3: gli script
Lo script principale deve essere modificato in base alle tue esigenze. Supponendo che le credenziali OWM e Goggle Calendar siano impostate come le rispettive istruzioni API, i parametri più importanti sono:
elenco degli eventi del calendario che eseguono ogni ora al minuto 2, 32 (vedi riga di script 65)
condizioni meteorologiche e previsioni ogni ora al minuto 7, 37 (vedi copione 66)
ultime notizie che si esibiscono ogni ora al minuto 11 (vedi riga di sceneggiatura 67)
ultime notizie sul canale rss. Lo script interno è impostato su Instructable RSS, ma può essere modificato. (vedi riga di script 366)
Ovviamente, lo script dà la priorità agli eventi del calendario in entrata o alle notifiche di promemoria. A volte l'orologio non svolge le sue funzioni per evitare l'incrocio di funzionalità.
Il timer di accensione/spegnimento Attiny85 deve essere programmato caricando lo sketch Tempo_V1_9_1Mhz_bugfix.ino.
Ciò consente di accendere il dispositivo alle 8 del mattino e di spegnerlo alle 23. Vedere il tutorial per maggiori informazioni.
Passaggio 4: il circuito
Il circuito ha fondamentalmente 3 sezioni
- timer di accensione/spegnimento gestito dal modulo DS3231, Attiny85 e Mosfet
- interruttore per il controllo manuale delle funzioni dell'orologio
- sezione di connessione dove si trova il cablaggio per dati e potenza RGB LED Matrix, amplificatore audio e Raspberry Pi
Non menzionato un partitore di tensione resistivo che consente a RPI di leggere un segnale ALTO/BASSO 5V da Attiny85
Gli interruttori sono collegati al pin RPI e GND direttamente utilizzando resistori interni
Il timer Attiny85 proviene da un mio precedente progetto chiamato TEMPO. Fondamentalmente, DS3231 invia un segnale LOW al pin di interruzione Attiny85 che lo riattiva dalla modalità di sospensione. Al risveglio Attiny85 invia il segnale HIGH al transistor Mosfet, attivando il circuito di alimentazione per RPI, LED Matrix e amplificatore audio (se non collegato a PS extra tramite un relè, come la mia ultima configurazione).
Per spegnere l'RPI, il mio script prevede che l'RPI ascolti il segnale digitale sul pin 14, quando è ALTO, si chiama comando di arresto. Quindi RPI esegue un corretto processo di spegnimento, quindi dopo un minuto Attiny85 torna in modalità di sospensione e Mosfet riceve un segnale LOW che spegne l'intero dispositivo. Questo processo è ruvido ma efficace.
Il modulo PIR è opzionale e collegato direttamente a RPI GPIO.
La mia configurazione richiede che i seguenti pin GPIO RPI siano collegati a:
15 a PIR
14 a Attiny85 pin 3 attraverso il partitore di tensione
21 al modulo relè
2 per commutare (PULSANTE ENTER)
3 per commutare (PULSANTE CAMBIA STATO)
Problemi:
- rumore dovuto all'alimentazione a LED Matrix, risolto utilizzando un piccolo PS solo per l'amplificatore audio. Un relè opzionale consente di accendere l'amplificatore solo quando richiesto. Ciò può causare un rumore d'urto quando si accende/spegne.
Il circuito è stato inciso utilizzando lastra di rame, stampante 3D, pennarello e cloruro ferrico.
Passaggio 5: assemblaggio
ho adattato una cornice generica di 40x50 cm a questo progetto insieme a parti stampate in 3D e alcuni extra opzionali.
Il vetro è schermato da pellicola solare per finestre e foglio di plastica smerigliato. La matrice di led deve essere mantenuta a circa 1 cm dal vetro per evitare di vedere i led bianchi all'interno. Sono necessarie piccole viti come dadi e bulloni M3. Obbligatori sono i cavi e la guaina termoindurente.
Le matrici led sono avvitate sul pannello posteriore del telaio.
Passaggio 6: e ora?
Il prossimo passo sarà aggiungere un sensore di temperatura, l'attivazione delle funzionalità bluetooth e, perché no, un lettore di radio Internet fino al massimo potenziale del Raspberry Pi.
Ciao
Secondo classificato al concorso degli orologi
Consigliato:
Orologio da parete esplosivo fai-da-te con illuminazione di movimento: 20 passaggi (con immagini)
Orologio da parete esplosivo fai-da-te con illuminazione di movimento: in questo tutorial / video ti mostrerò passo dopo passo come realizzare un orologio da parete dall'aspetto creativo e unico con un sistema di illuminazione del movimento integrato. Questa idea di design dell'orologio piuttosto unica è orientata a rendere l'orologio più interattivo . Quando cammino
Telecomando IR di facile configurazione utilizzando LIRC per Raspberry PI (RPi) - luglio 2019 [Parte 1]: 7 passaggi
Telecomando IR di facile configurazione utilizzando LIRC per Raspberry PI (RPi) - luglio 2019 [Parte 1]: dopo molte ricerche sono rimasto sorpreso e costernato per le informazioni contrastanti su come configurare il telecomando IR per il mio progetto RPi. Pensavo che sarebbe stato facile, ma configurare Linux InfraRed Control (LIRC) è stato problematico per molto tempo ma
Telecomando IR di facile configurazione utilizzando LIRC per Raspberry PI (RPi) - luglio 2019 [Parte 2]: 3 passaggi
Telecomando IR di facile configurazione utilizzando LIRC per Raspberry PI (RPi) - luglio 2019 [Parte 2]: nella parte 1 ho dimostrato come assemblare RPi + VS1838b e configurare il modulo LIRC di Raspbian per ricevere comandi IR da un telecomando IR. Tutti i problemi di configurazione hardware e LIRC sono discussi nella parte 1. La parte 2 dimostrerà come interfacciare l'hardwa
Orologio Word Arcobaleno con Effetto Arcobaleno Completo e Altro: 13 Passaggi (con Immagini)
Word Clock arcobaleno con un effetto arcobaleno completo e altro: obiettivi1) Semplice2) Non costoso3) Il più efficiente possibile dal punto di vista energetico Word Clock arcobaleno con un effetto arcobaleno completo. il controllo della luminosità del NeopixelsUpdate 01-gen
OROLOGIO DA PARETE ANIMATO RGB: 10 passaggi (con immagini)
OROLOGIO DA PARETE ANIMATO RGB: Non c'è dubbio che adorerai questo orologio da parete. In questo progetto abbiamo utilizzato nuovamente il LED RGB. E ovviamente la stampante 3D è molto importante per noi. Abbiamo progettato e prodotto di nuovo alcuni dei pezzi necessari per il nostro OROLOGIO DA PARETE. E non è solo un orologio. Esso