INHOUDSOPGAWE:

O-R-A RGB Led Matrix wandklok en meer ** opgedateer Julie 2019 **: 6 stappe (met foto's)
O-R-A RGB Led Matrix wandklok en meer ** opgedateer Julie 2019 **: 6 stappe (met foto's)

Video: O-R-A RGB Led Matrix wandklok en meer ** opgedateer Julie 2019 **: 6 stappe (met foto's)

Video: O-R-A RGB Led Matrix wandklok en meer ** opgedateer Julie 2019 **: 6 stappe (met foto's)
Video: This is the BEST MATRIX DISPLAY CLOCK for Home Assistant! 2024, Julie
Anonim
Image
Image
O-R-A RGB Led Matrix wandklok en meer ** opgedateer Julie 2019 **
O-R-A RGB Led Matrix wandklok en meer ** opgedateer Julie 2019 **
O-R-A RGB Led Matrix wandklok en meer ** opgedateer Julie 2019 **
O-R-A RGB Led Matrix wandklok en meer ** opgedateer Julie 2019 **
O-R-A RGB Led Matrix wandklok en meer ** opgedateer Julie 2019 **
O-R-A RGB Led Matrix wandklok en meer ** opgedateer Julie 2019 **

Hallo. Hier is ek met 'n nuwe projek genaamd OR

Dit is 'n RGB LED Matrix -muurhorlosie wat die volgende vertoon:

  • uur: minuut
  • temperatuur
  • humiditeit
  • huidige weerstoestand -ikoon
  • Google Kalender -geleenthede en 1 -uur -kennisgewings

op 'n spesifieke tydstip wys dit:

  • Google Kalender vandag en môre gebeurtenislys
  • weervoorspelling
  • brekende nuus

Verslawende funksies:

  • huidige datum
  • Magic 8 bal
  • Kombuis timer

Vir enige funksie speel die toestel 'n ander klankalarm. Vir alle soorte weersomstandighede moet 'n ooreenstemmende klanklêer gespeel word wanneer die funksie geroep word.

Die funksies soos Google Kalender -lys, Weervoorspelling, nuus oor RSS begin op die vooraf gekose tyd wanneer die toestel in die "klokmodus" is, dit kan ook direk genoem word met die skakelaars. 'N Ander funksie tydens die "klokmodus" vertoon die huidige dag/maand/jaar. Dit kan uitgevoer word deur op die ENTER -knoppie te druk. As u die CHANGE STATE -knoppie en dan die ENTER -knoppie binne 3 sekondes in die "klokmodus" druk, kan u die keusemenu binnegaan. VERANDER STAAT -knoppie is ingestel om binne die spyskaart te blaai; ENTER -knoppie is om die gekose opsie te bevestig.

Hierdie projek is 'n evolusie van my vorige LEGOLED en TEMPO. Die RGB -geleide matrikspaneel het nou 'n resolusie van 32x64, dus is dit moontlik om meer onbetroubare grafika, vaste en roltekst op dieselfde tyd te vertoon. Deur gebruik te maak van TEMPO -funksies, skakel die toestel outomaties aan en af sonder enige knoppie of eksterne timer. 'N PIR -module kan die teenwoordigheid van persone opspoor, en skakel die skerm dus aan/uit.

Weervoorspelling- en kalenderdata word elke minuut versamel deur Google Kalender en Open Weather Map.

Hierdie projek is volledig aanpasbaar vanaf 'n Raspberry PI B+, 2 -module 16x64 rgb led -matriks en kragtoevoer. Dit kan uitgebrei word, net soos ek, deur USB -geluidskaarte, luidsprekers, aan/uit -stroombaan by te voeg.

Stap 1: wat u benodig

  • Framboos Pi B+ (met ingeboude wifi of dongle)
  • 2 x 16x64 RGB led matriks of 2 x 32x32
  • generiese raam (ongeveer 40x50 cm en ongeveer 3 cm diepte)
  • ryp plastiekblad
  • venster sonfilm
  • PS 5V 10A
  • kabels
  • hittehardende omhulsel (*)
  • aflosmodule (*)
  • ekstra PS vir klankversterker (*)
  • 3W klankversterker module (*)
  • sprekers (*)
  • USB -klankkaart (*)
  • 2 x mikroskakelaar (*)
  • PIR (*)
  • Attiny85 (*)
  • DS3231 (*)
  • Mosfet IRF540 (*)
  • Weerstande: 3x1K, 2x10K, 1x2K (*)
  • terminale blok (*)
  • kopstroke vroulik (*)
  • kopstroke manlik (*)

(*) opsioneel

Stap 2: Opstelling van Framboos Pi

Hierdie gids is basies gebaseer op Raspbian Jessie Lite, Python 2.7 en RGB LED MATRIX -biblioteek deur Hzeller Github -gebruiker.

Werk eers RPI op en gradeer dit op

Installeer git

~ $ sudo apt-get install git

Laai die RGB LED MATRIX -biblioteek af van Github

~ $ git kloon

~ $ cd rpi-rgb-led-matriks

~ $ sudo maak

swartlys RPI interne klankkaart

~ $ kat << EOF | sudo tee /etc/modprobe.d/blacklist-rgb-matrix.conf

swartlys snd_bcm2835

EOF

~ $ sudo update -initramfs -u

Stel eksterne klankkaartparameters in as dit klankvermoëns benodig:

~ $ sudo nano /usr/share/alsa/alsa.conf

verander:

defaults.ctl.card 0

standaard.pcm.kaart 0

aan

defaults.ctl.kaart 1

standaard.pcm.kaart 1

herlaai dan.

Installeer nou matriksbiblioteek

~ $ cd/home/pi/rpi-rgb-led-matrix

~ $ sudo apt-get update && sudo apt-get install python2.7-dev python-pillow -y

~ $ maak bou-luislang

~ $ sudo om install-python te maak

en installeer ander benodigde biblioteke:

~ $ sudo easy_install pip

~ $ sudo pip installeer

Kopieer samplebase.py-script van ~/rpi-rgb-led-matrix/bindings/python/samples/na tuisgids

Laat API -sleutel gratis registreer by Open Weather Map

Installeer nou OWM Python -omhulsel vir PYthon 2.7 (danksy CSPARPAGithub -gebruiker)

~ $ sudo pip installeer git+https://github.com/csarpa/[email protected]

Kry die geloofsbrief van Google Kalender volgens die instruksies by die Google Kalender -API

Installeer Pygame vir klank speel

~ $ sudo apt-get install python-pygame

RSS -feeds moet Feedparser geïnstalleer word

~ $ sudo pip installeer feedparser

kopieer my script ORAeng_131.py (Engelse weergawe) of ORAita_131.py (Italiaanse weergawe) na die tuisgids

skep dopgehou vir klanke en prente:

mkdir dbsounds

mkdir owm

laai alle-p.webp

www.dropbox.com/sh/nemyfcj1a1i18ic/AAB1W7I6lg5EgqL1gJZPWVTxa?dl=0

voeg u OWM -geloofsbrief by reël 69 (API_key)

stel stad vir weervoorspelling (kyk of dit deur OWM gedek word en die regte naam aanvaar word) by reëls 213, 215

obs = owm.weather_at_place ('Napoli, IT')

fc = owm.three_hours_forecast ('Napoli, IT')

********************************* UPDATE 28/7/2019 ********** *******************

Die nuwe Google Kalender -API skep probleme. Ek het opgelos om 'n paar modules te verwyder:

~ $ sudo apt-get remove-purge python-setuptools

~ $ sudo apt-get outomaties verwyder python-pyasn1

probeer om die script te laat loop

~ $ sudo python ORAeng_150.py # of ORAita_150.py vir Italiaanse weergawe

die skrip sal eers GCAL -magtiging vra. Klik op die skakel om die Google API -geloofsbrief te gebruik. Gee dan toestemming, as alles in orde is, sal u sien dat die klok begin.

As gevolg van oormatige RAM -gebruik na 'n paar uur, het ek 'n script geskryf wat die python -script eenvoudig herlaai as die RAM -gebruik 'n drempelwaarde oorskry. Kopieer dan die script met die naam memcheck na die tuisgids en hernoem dit na memcheck.sh en voeg dit by crontab -e saam die hoofskrif

*/5 * * * * bash /home/pi/memcheck.sh@reboot sudo python /home/pi/ORAeng_150.py

Stap 3: Die skrifte

Die hoofskrif moet volgens u behoeftes aangepas word. As ons aanvaar dat OWM- en Goggle Calendar -geloofsbriewe as hul onderskeie API -instruksies gestel word, is die belangrikste parameters:

kalendergebeurtenisse wat elke uur op minuut 2, 32 optree (sien skrifreël 65)

weersomstandighede en voorspelling elke uur op minuut 7, 37 (sien skrifreël 66)

nuus wat elke uur op minuut 11 verskyn (sien skrifreël 67)

nuus nuus rss kanaal. Binne -script is ingestel Instructable RSS, maar kan verander word. (sien skrifreël 366)

Dit is duidelik dat die skrif prioriteit gee aan inkomende kalendergebeurtenisse of herinneringskennisgewings. Soms voer die horlosie nie sy funksies uit om die funksionaliteit te vermy nie.

Die aan/uit -timer van Attiny85 moet geprogrammeer word om die skets Tempo_V1_9_1Mhz_bugfix.ino op te laai.

Hiermee kan u die toestel om 8 uur die oggend aanskakel en om 23 uur afskakel. Sien handleiding vir meer inligting.

Stap 4: Die stroombaan

Die stroombaan
Die stroombaan
Die stroombaan
Die stroombaan
Die stroombaan
Die stroombaan

Die kring het basies 3 afdelings

- Aan/af -timer hanteer deur DS3231 -module, Attiny85 en Mosfet

- skakelaar vir handmatige beheer van klokfunksies

- die verbindingsgedeelte waar die RGB LED Matrix -gegewens en -krag gekoppel is, klankversterker en Raspberry Pi

Nie 'n resistiewe spanningsverdeler genoem waarmee RPI 'n HOOG/LAAG 5V -sein van Attiny85 kan lees nie

Skakelaars word direk aan die RPI -pen en GND gekoppel met interne weerstande

Attiny85 timer kom uit my vorige projek met die naam TEMPO. Eintlik stuur DS3231 'n LAE sein na die Attiny85 -onderbrekingspen wat dit uit die slaapmodus wakker maak. By wakker word stuur Attiny85 'n HOOG sein na die Mosfet -transistor, wat die kragtoevoer vir RPI, LED Matrix en klankversterker aktiveer (as dit nie my laaste opset aan 'n ekstra PS gekoppel het nie).

Om RPI af te sluit, oorweeg my script dat RPI die digitale sein op pen 14 luister, as dit HOOG is, 'n afsluitopdrag genoem word. Vervolgens voer RPI die korrekte afsluitingsproses uit, en na 'n minuut gaan Attiny85 terug in die slaapmodus en ontvang Mosfet 'n LAE sein wat die hele toestel afskakel. Hierdie proses is rof, maar effektief.

PIR -module is opsioneel en word direk aan RPI GPIO gekoppel.

My opset vereis dat die volgende RPI GPIO -penne gekoppel is aan:

15 na PIR

14 tot Attiny85 pen 3 deur spanningsverdeler

21 na aflosmodule

2 om oor te skakel (ENTER -KNOP)

3 om oor te skakel (STAATSKNOP VERANDER)

Kwessies:

- geraas as gevolg van LED Matrix -kragtoevoer, opgelos met slegs 'n klein PS vir die klankversterker. 'N Opsionele relais laat die versterker slegs aan as dit nodig is. Dit kan 'n stampgeluid veroorsaak as dit aan/af skakel.

Die kring is geëts met koperplaat, 3D -drukker, merker en ferrichloried.

Stap 5: Monteer

Montering
Montering
Montering
Montering
Montering
Montering
Montering
Montering

Ek het 'n generiese raam van 40 x 50 cm by hierdie projek aangepas, saam met 3D -gedrukte onderdele en 'n paar opsionele ekstras.

Die glas word beskerm deur vensterfilm en ryp plastiekplaat. Die LED -matriks moet ongeveer 1 cm in glas gehou word om te voorkom dat die wit binneste LED's voorkom. Klein skroewe is nodig as M3 moere en boute. Verpligtend is kabels en hittehardende skede.

Led -matrikse word aan die agterkant van die raam vasgeskroef.

Stap 6: En nou?

En nou?
En nou?
En nou?
En nou?

Die volgende stap is om 'n temperatuursensor by te voeg, die aktivering van Bluetooth -moontlikhede en, hoekom nie, 'n internetradiospeler tot die maksimum Raspberry Pi -potensiaal.

Totsiens

Uurwedstryd
Uurwedstryd
Uurwedstryd
Uurwedstryd

Naaswenner in die klokwedstryd

Aanbeveel: