Sommario:

Orologio da parete a matrice di LED RGB O-R-A e altro **aggiornato a luglio 2019**: 6 passaggi (con immagini)
Orologio da parete a matrice di LED RGB O-R-A e altro **aggiornato a luglio 2019**: 6 passaggi (con immagini)

Video: Orologio da parete a matrice di LED RGB O-R-A e altro **aggiornato a luglio 2019**: 6 passaggi (con immagini)

Video: Orologio da parete a matrice di LED RGB O-R-A e altro **aggiornato a luglio 2019**: 6 passaggi (con immagini)
Video: SH130 - Orologio Animato con matrice 64x64 LED RGB 2024, Novembre
Anonim
Image
Image
Orologio da parete Matrix Led RGB O-R-A e altro **aggiornato a luglio 2019**
Orologio da parete Matrix Led RGB O-R-A e altro **aggiornato a luglio 2019**
Orologio da parete Matrix Led RGB O-R-A e altro **aggiornato a luglio 2019**
Orologio da parete Matrix Led RGB O-R-A e altro **aggiornato a luglio 2019**
Orologio da parete Matrix Led RGB O-R-A e altro **aggiornato a luglio 2019**
Orologio da parete Matrix Led RGB O-R-A e altro **aggiornato a luglio 2019**

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
Il circuito
Il circuito
Il circuito
Il circuito
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

Assemblaggio
Assemblaggio
Assemblaggio
Assemblaggio
Assemblaggio
Assemblaggio
Assemblaggio
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?

E adesso ?
E adesso ?
E adesso ?
E adesso ?

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

Concorso di orologi
Concorso di orologi
Concorso di orologi
Concorso di orologi

Secondo classificato al concorso degli orologi

Consigliato: