Indholdsfortegnelse:

O-R-A RGB Led Matrix Wall Clock and More ** opdateret juli 2019 **: 6 trin (med billeder)
O-R-A RGB Led Matrix Wall Clock and More ** opdateret juli 2019 **: 6 trin (med billeder)

Video: O-R-A RGB Led Matrix Wall Clock and More ** opdateret juli 2019 **: 6 trin (med billeder)

Video: O-R-A RGB Led Matrix Wall Clock and More ** opdateret juli 2019 **: 6 trin (med billeder)
Video: Section 9 2024, Juli
Anonim
Image
Image
O-R-A RGB Led Matrix vægur og mere ** opdateret juli 2019 **
O-R-A RGB Led Matrix vægur og mere ** opdateret juli 2019 **
O-R-A RGB Led Matrix vægur og mere ** opdateret juli 2019 **
O-R-A RGB Led Matrix vægur og mere ** opdateret juli 2019 **
O-R-A RGB Led Matrix vægur og mere ** opdateret juli 2019 **
O-R-A RGB Led Matrix vægur og mere ** opdateret juli 2019 **

Hej. Her er jeg med et nyt projekt ved navn O-R-A

Det er et RGB LED Matrix vægur, der viser:

  • time: minut
  • temperatur
  • fugtighed
  • nuværende ikon for vejrforhold
  • Begivenheder i Google Kalender og notifikationer om 1 times påmindelse

på et bestemt tidspunkt viser det:

  • Google Kalender i dag og i morgen begivenhedsliste
  • vejrudsigt
  • seneste nyt

Vanedannende funktioner:

  • nuværende dato
  • Magic 8 bold
  • Køkken timer

For enhver funktionalitet afspiller enheden en anden lydalarm. For alle slags vejrforhold er der en tilsvarende lydfil, der skal afspilles, når funktionaliteten kaldes.

Funktionerne som Google Kalender -liste, Vejrudsigt, RSS -nyheder starter på forudvalgt tidspunkt, når enheden er i "ur -tilstand", disse kan også kaldes direkte betjening af kontakterne. En anden funktionalitet under "urtilstand" viser den aktuelle dag/måned/år. Det kan køres ved at trykke på ENTER -knappen. Ved at trykke på CHANGE STATE -knappen og derefter på ENTER -knappen inden for 3 sekunder i "urfunktion", kan du gå ind i indstillingsmenuen. CHANGE STATE -knappen er indstillet til at rulle inde i menuen, ENTER -knappen skal bekræfte den valgte indstilling.

Dette projekt er en udvikling af mit tidligere LEGOLED og TEMPO. RGB -led -matrixpanelet har en opløsning på 32x64 nu, så det er muligt at vise mere usynlig grafik, fast og rullende tekst på samme tid. Ved hjælp af TEMPO -funktioner tændes og slukkes enheden automatisk uden nogen knap eller ekstern timer. Et PIR -modul registrerer tilstedeværelse af personer, og tænd/sluk derfor displayet.

Vejrudsigter og kalenderdata indsamles hvert minut fra Google Kalender og Åbent vejrkort.

Dette projekt kan fuldt ud tilpasses fra en Raspberry PI B+, 2 modul 16x64 rgb led matrix og strømforsyning. Det kan udvides, som jeg gjorde, tilføjelse af USB -lydkort, højttalere, on/off strømkredsløb.

Trin 1: Hvad du har brug for

  • Raspberry Pi B+ (med indbygget wifi eller dongle)
  • 2 x 16x64 RGB led matrix eller 2 x 32x32
  • generisk ramme (ca. 40x50 cm og 3 cm dybde)
  • frostet plastfolie
  • vindues solfilm
  • PS 5V 10A
  • kabler
  • termohærdende kappe (*)
  • relæmodul (*)
  • ekstra PS til lydforstærker (*)
  • 3W lydforstærkermodul (*)
  • højttalere (*)
  • USB -lydkort (*)
  • 2 x mikrokontakt (*)
  • PIR (*)
  • Attiny85 (*)
  • DS3231 (*)
  • Mosfet IRF540 (*)
  • Modstande: 3x1K, 2x10K, 1x2K (*)
  • klemrække (*)
  • header strips kvinde (*)
  • header strips han (*)

(*) valgfri

Trin 2: Opsætning af Raspberry Pi

Denne vejledning er dybest set baseret på Raspbian Jessie Lite, Python 2.7 og RGB LED MATRIX -bibliotek af Hzeller Github -bruger.

Først og fremmest opdater og opgrader RPI

Installer git

~ $ sudo apt-get install git

Download RGB LED MATRIX -bibliotek fra Github

~ $ git klon

~ $ cd rpi-rgb-led-matrix

~ $ sudo lave

sortliste RPI internt lydkort

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

sortliste snd_bcm2835

EOF

~ $ sudo update -initramfs -u

Indstil eksterne lydkortparametre, hvis der er behov for lydfunktioner:

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

lave om:

defaults.ctl.card 0

standardindstillinger.pcm.kort 0

til

defaults.ctl.card 1

standardindstillinger.pcm.kort 1

genstart derefter.

Installer nu matrixbibliotek

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

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

~ $ make build-python

~ $ sudo lav install-python

og installer andre nødvendige biblioteker:

~ $ sudo easy_install pip

~ $ sudo pip installer

Kopi samplebase.py script fra ~/rpi-rgb-led-matrix/bindings/python/samples/til hjemmemappen

Få API -nøgle til gratis registrering af Open Weather Map

Installer nu OWM Python wrapper til PYthon 2.7 (takket være CSPARPAGithub -bruger)

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

Få legitimationsoplysninger for Google Kalender ved at følge instruktionerne i Google Kalender API

For lydafspilning installer Pygame

~ $ sudo apt-get install python-pygame

RSS -feeds skal Feedparser installeres

~ $ sudo pip installer feedparser

kopier mit script ORAeng_131.py (engelsk version) eller ORAita_131.py (italiensk version) til hjemmemappen

opret mapper til lyde og billeder:

mkdir dbsounds

mkdir owm

download og kopier alle-p.webp

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

tilføj din OWM -legitimationsoplysninger til linje 69 (API_key)

indstil by til vejrudsigt (tjek om det er dækket af OWM og det korrekte navn accepteret) på linje 213, 215

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

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

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

Den nye Google Kalender API skaber problemer. Jeg har løst at fjerne nogle moduler:

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

~ $ sudo apt-get autoremove python-pyasn1

prøv at køre scriptet

~ $ sudo python ORAeng_150.py # eller ORAita_150.py til italiensk version

ved første gang vil scriptet bede om GCAL -godkendelse. Klik på linket for at få google api -legitimationsoplysninger. Giv derefter tilladelse, hvis alt er ok, ser du uret starte.

på grund af overdreven RAM -brug efter flere timer, skrev jeg et script, der simpelthen genstarter python -script, når RAM -brugen går over et tærskelniveau. Kopier derefter scriptet med navnet memcheck til hjemmemappe, der omdøber til memcheck.sh og tilføj til crontab -e sammen hovedscript

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

Trin 3: Scripts

Hoved scriptet skal ændres i overensstemmelse hermed dine behov. Forudsat at OWM- og Goggle Kalender -legitimationsoplysninger er angivet som deres respektive API -instruktioner, er de vigtigste parametre:

kalenderbegivenhedsliste, der udfører hver time i minut 2, 32 (se scriptlinje 65)

vejrforhold og vejrudsigter, der udfører hver time ved minut 7, 37 (se scriptlinje 66)

breaking news udfører hver time i minut 11 (se scriptlinje 67)

breaking news rss -kanal. Inside script er angivet Instructable RSS, men kan ændres. (se scriptlinje 366)

Det er klart, at scriptet prioriterer indkommende kalenderbegivenheder eller påmindelsesmeddelelser. Nogle gange udfører uret ikke sine funktioner for at undgå krydsning af funktionaliteter.

Attiny85 tænd/sluk -timer skal programmeres og uploade skitsen Tempo_V1_9_1Mhz_bugfix.ino.

Dette gør det muligt at tænde enheden klokken 8 om morgenen og slukke klokken 23. Se selvstudiet for mere information.

Trin 4: Kredsløbet

Kredsløbet
Kredsløbet
Kredsløbet
Kredsløbet
Kredsløbet
Kredsløbet

Kredsløbet har stort set 3 sektioner

- tænd/sluk -timer håndteret af DS3231 -modul, Attiny85 og Mosfet

- switch til manuel styring af urfunktioner

- tilslutningssektion, hvor der er kabler til RGB LED Matrix -data og strøm, lydforstærker og Raspberry Pi

Ikke nævnt en resistiv spændingsdeler, der tillader RPI at aflæse et HIGH/LOW 5V signal fra Attiny85

Afbrydere forbindes direkte til RPI -pin og GND ved hjælp af interne modstande

Attiny85 timer kommer fra mit tidligere projekt ved navn TEMPO. Grundlæggende sender DS3231 LOW signal til Attiny85 interrupt pin, der vækker det fra dvaletilstand. Ved vågning sender Attiny85 HØJT signal til Mosfet -transistoren og aktiverer strømforsyningskredsløbet til RPI, LED Matrix og lydforstærker (hvis den ikke er tilsluttet ekstra PS gennem et relæ, som min sidste konfiguration).

For at lukke RPI overvejer mit script, at RPI lytter digitalt signal på pin 14, når det er HIGH, kaldes en shutdown -kommando. Derefter udfører RPI en korrekt nedlukningsproces, og efter et minut går Attiny85 tilbage til dvaletilstand, og Mosfet modtager et LAVT signal, der slukker hele enheden. Denne proces er hård, men effektiv.

PIR -modul er valgfrit og tilsluttes direkte til RPI GPIO.

Min konfiguration kræver, at følgende RPI GPIO -ben er forbundet til:

15 til PIR

14 til Attiny85 pin 3 gennem spændingsdeler

21 til relæmodul

2 for at skifte (ENTER BUTTON)

3 for at skifte (SKIFT STATE -KNAPP)

Problemer:

- støj på grund af LED Matrix strømforsyning, kun løst ved hjælp af et lille PS til lydforstærkeren. Et valgfrit relæ tillader kun at tænde forstærkeren, når det kræves. Dette kan forårsage en støj, når den tænder/slukker.

Kredsløbet er ætset ved hjælp af kobberplade, 3D -printer, markør og ferrichlorid.

Trin 5: Samling

Montering
Montering
Montering
Montering
Montering
Montering
Montering
Montering

Jeg har tilpasset en generisk ramme på 40 x 50 cm til dette projekt sammen 3D -printede dele og nogle ekstraudstyr.

Glasset er afskærmet med vindues solfilm og frostet plastfolie. Led matrix skal holdes omkring 1 cm i glas for at undgå at se de hvide indvendige lysdioder. Små skruer er nødvendige som M3 møtrikker og bolte. Obligatorisk er kabler og termohærdende kappe.

Led -matricer er skruet på rammens bagpanel.

Trin 6: Og nu?

Og nu ?
Og nu ?
Og nu ?
Og nu ?

Det næste trin vil være at tilføje en temperatursensor, aktivering af bluetooth -funktioner og, hvorfor ikke, en internetradioafspiller indtil maksimalt Raspberry Pi -potentiale.

Farvel

Ur konkurrence
Ur konkurrence
Ur konkurrence
Ur konkurrence

Nummer to i urkonkurrencen

Anbefalede: