Innholdsfortegnelse:

O-R-A RGB Led Matrix veggklokke og mer ** oppdatert juli 2019 **: 6 trinn (med bilder)
O-R-A RGB Led Matrix veggklokke og mer ** oppdatert juli 2019 **: 6 trinn (med bilder)

Video: O-R-A RGB Led Matrix veggklokke og mer ** oppdatert juli 2019 **: 6 trinn (med bilder)

Video: O-R-A RGB Led Matrix veggklokke og mer ** oppdatert juli 2019 **: 6 trinn (med bilder)
Video: Светодиодная панель PIXOO Pixel Art от Divoom — обзор 2024, November
Anonim
Image
Image
O-R-A RGB Led Matrix veggklokke og mer ** oppdatert juli 2019 **
O-R-A RGB Led Matrix veggklokke og mer ** oppdatert juli 2019 **
O-R-A RGB Led Matrix veggklokke og mer ** oppdatert juli 2019 **
O-R-A RGB Led Matrix veggklokke og mer ** oppdatert juli 2019 **
O-R-A RGB Led Matrix veggklokke og mer ** oppdatert juli 2019 **
O-R-A RGB Led Matrix veggklokke og mer ** oppdatert juli 2019 **

Hallo. Her er jeg med et nytt prosjekt som heter O-R-A

Det er en RGB LED Matrix veggklokke som viser:

  • time: minutt
  • temperatur
  • luftfuktighet
  • gjeldende værforholdsikon
  • Google Kalender -hendelser og 1 times påminnelsesvarsler

på et bestemt tidspunkt viser det:

  • Google Kalender i dag og i morgen hendelsesliste
  • Værmelding
  • siste nytt

Avhengighetsskapende funksjoner:

  • dagens dato
  • Magic 8 ball
  • Kjøkken ur

For hvilken som helst funksjonalitet spiller enheten en annen lydalarm. For alle slags værforhold er det en tilsvarende lydfil som skal spilles av når funksjonaliteten kalles.

Funksjonene som Google Kalender -liste, Værmelding, RSS -nyheter starter på forhåndsvalgt tidspunkt når enheten er i "klokkemodus", disse kan også kalles direkte ved å bruke bryterne. En annen funksjon under "klokkemodus" viser gjeldende dag/måned/år. Den kan kjøres ved å trykke ENTER -knappen. Ved å trykke på CHANGE STATE -knappen og deretter ENTER -knappen innen 3 sekunder i "klokkemodus", kan du gå inn i alternativmenyen. CHANGE STATE -knappen er satt til å bla inne i menyen, ENTER -knappen er for å bekrefte det valgte alternativet.

Dette prosjektet er en evolusjon av min tidligere LEGOLED og TEMPO. RGB -led matrisepanelet har oppløsning 32x64 nå, så det er mulig å vise mer usynlig grafikk, fast og rulletekst samtidig. Ved bruk av TEMPO -funksjoner slås enheten på og av automatisk uten noen knapp eller ekstern tidtaker. En PIR -modul oppdager tilstedeværelse av personer og slår derfor på/av skjermen.

Værmeldinger og kalenderdata samles inn hvert minutt fra Google Kalender og Åpent værkart.

Dette prosjektet kan tilpasses fullt ut fra en Raspberry PI B+, 2 moduler 16x64 rgb led matrise og strømforsyning. Det kan utvides, som jeg gjorde, og legge til USB -lydkort, høyttalere, på/av strømkrets.

Trinn 1: Det du trenger

  • Raspberry Pi B+ (med innebygd wifi eller dongle)
  • 2 x 16x64 RGB led matrise eller 2 x 32x32
  • generisk ramme (ca. 40x50 cm og 3 cm dybde)
  • frostet plastark
  • vindus solfilm
  • PS 5V 10A
  • kabler
  • herdeherdig kappe (*)
  • relemodul (*)
  • ekstra PS for lydforsterker (*)
  • 3W lydforsterkermodul (*)
  • høyttalere (*)
  • USB -lydkort (*)
  • 2 x mikrobryter (*)
  • PIR (*)
  • Attiny85 (*)
  • DS3231 (*)
  • Mosfet IRF540 (*)
  • Motstander: 3x1K, 2x10K, 1x2K (*)
  • rekkeklemme (*)
  • header strips female (*)
  • topplister hann (*)

(*) valgfritt

Trinn 2: Oppsett av Raspberry Pi

Denne guiden er i utgangspunktet basert på Raspbian Jessie Lite, Python 2.7 og RGB LED MATRIX -bibliotek av Hzeller Github -bruker.

Først og fremst oppdater og oppgrader RPI

Installer git

~ $ sudo apt-get install git

Last ned RGB LED MATRIX -bibliotek fra Github

~ $ git-klone

~ $ cd rpi-rgb-led-matrise

~ $ sudo lage

svarteliste RPI internt lydkort

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

svarteliste snd_bcm2835

EOF

~ $ sudo update -initramfs -u

Angi eksterne lydkortparametere hvis du trenger lydfunksjoner:

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

endring:

standardinnstillinger.ctl.kort 0

standard.pcm.kort 0

til

defaults.ctl.card 1

standardinnstillinger.pcm.kort 1

start deretter på nytt.

Installer nå matrisebiblioteket

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

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

~ $ make build-python

~ $ sudo lag install-python

og installer andre biblioteker som trengs:

~ $ sudo easy_install pip

~ $ sudo pip installer

Kopier samplebase.py-skriptet fra ~/rpi-rgb-led-matrix/bindings/python/samples/til hjemmekatalogen

Få API -nøkkel gratis til å åpne Weather Map

Installer nå OWM Python wrapper for PYthon 2.7 (takket være CSPARPAGithub -bruker)

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

Få legitimasjon for Google Kalender ved å følge instruksjonene på Google Kalender API

For å spille av lyd, installer Pygame

~ $ sudo apt-get install python-pygame

RSS -feeds trenger Feedparser installert

~ $ sudo pip installer feedparser

kopier skriptet mitt ORAeng_131.py (engelsk versjon) eller ORAita_131.py (italiensk versjon) til hjemmekatalogen

Lag mapper for lyder og bilder:

mkdir dbsounds

mkdir owm

last ned og kopier alle-p.webp

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

legg til OWM -legitimasjonen din på linje 69 (API_key)

angi by for værmelding (sjekk om den er dekket av OWM og riktig navn akseptert) på linje 213, 215

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

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

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

Det nye Google Kalender API skaper problemer. Jeg har løst å fjerne noen moduler:

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

~ $ sudo apt-get autoremove python-pyasn1

prøv å kjøre skriptet

~ $ sudo python ORAeng_150.py # eller ORAita_150.py for italiensk versjon

ved første gang vil manuset be GCAL -autorisasjon. Klikk på lenken for å få Google api -legitimasjon. Gi tillatelse da, hvis alt er ok, vil du se at klokken starter.

på grunn av overdreven RAM -bruk etter flere timer, skrev jeg et skript som ganske enkelt starter python -script på nytt når RAM -bruken går over et terskelnivå. Deretter kopierer du til hjemmekatalogen skriptet ved navn memcheck og gir nytt navn til memcheck.sh og legger til crontab -e sammen hovedskript

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

Trinn 3: Skriptene

Hovedskriptet må endres i henhold til dine behov. Forutsatt at legitimasjon for OWM og Goggle Calendar er angitt som sine respektive API -instruksjoner, er de viktigste parameterne:

kalenderhendelsesliste som utføres hver time i minutt 2, 32 (se skriptlinje 65)

værforhold og værmelding som utfører hver time i minutt 7, 37 (se manuslinje 66)

siste nytt som opptrer hver time i minutt 11 (se manuslinje 67)

breaking news rss -kanal. Inside script er satt Instructable RSS, men kan endres. (se skriptlinje 366)

Tydeligvis gir skriptet prioritet til innkommende kalenderhendelse eller påminnelsesvarsler. Noen ganger utfører klokken ikke funksjonene for å unngå kryssing av funksjoner.

Attiny85 av/på -timer må programmeres og laste opp skissen Tempo_V1_9_1Mhz_bugfix.ino.

Dette gjør det mulig å slå på enheten klokken 8 om morgenen og slå den av klokken 23. Se opplæringen for mer informasjon.

Trinn 4: Kretsen

Kretsen
Kretsen
Kretsen
Kretsen
Kretsen
Kretsen

Kretsen har i utgangspunktet 3 seksjoner

- På/av -timer håndteres av DS3231 -modulen, Attiny85 og Mosfet

- bryter for manuell kontroll av klokkefunksjoner

- tilkoblingsdel hvor det er kabling for RGB LED Matrix -data og strøm, lydforsterker og Raspberry Pi

Ikke nevnt en resistiv spenningsdeler som lar RPI lese et HIGH/LOW 5V signal fra Attiny85

Brytere er koblet til RPI -pin en GND direkte ved hjelp av interne motstander

Attiny85 timer kommer fra mitt forrige prosjekt ved navn TEMPO. I utgangspunktet sender DS3231 LAVT signal til Attiny85 avbruddspinne som vekker den fra hvilemodus. Ved oppvåkning sender Attiny85 HØYT signal til Mosfet -transistoren, og aktiverer strømforsyningskretsen for RPI, LED Matrix og lydforsterker (hvis den ikke er koblet til ekstra PS gjennom et relé, som min siste konfigurasjon).

For å stenge RPI, tenker skriptet mitt på at RPI lytter digitalt signal på pinne 14, når det er HØY, kalles en avslutningskommando. Deretter utfører RPI en korrekt nedleggelsesprosess, og etter ett minutt går Attiny85 tilbake til hvilemodus og Mosfet mottar et LAVT signal som slår av hele enheten. Denne prosessen er grov, men effektiv.

PIR -modulen er valgfri og kobles direkte til RPI GPIO.

Min konfigurasjon krever at følgende RPI GPIO -pinner er koblet til:

15 til PIR

14 til Attiny85 pin 3 gjennom spenningsdeler

21 til relémodul

2 for å bytte (ENTER KNAPP)

3 for å bytte (ENDRE STATUS -KNAPP)

Problemer:

- støy på grunn av LED Matrix -strømforsyning, løst ved bruk av et lite PS bare for lydforsterkeren. Et valgfritt relé tillater bare å slå på forsterkeren når det er nødvendig. Dette kan forårsake støt når den slås på/av.

Kretsen er etset ved hjelp av kobberplate, 3D -skriver, markør og jernklorid.

Trinn 5: Montering

Montering
Montering
Montering
Montering
Montering
Montering
Montering
Montering

Jeg har tilpasset en generisk ramme på 40 x 50 cm til dette prosjektet sammen 3D -trykte deler og noen tilleggsutstyr.

Glasset er skjermet av vindus solfilm og frostet plastark. Ledmatrisen må holdes omtrent 1 cm i glass for å unngå å se de hvite innsidene. Små skruer er nødvendige som M3 muttere og bolter. Obligatorisk er kabler og termohærdende kappe.

Led -matriser er skrudd på rammens bakside.

Trinn 6: Og nå?

Og nå ?
Og nå ?
Og nå ?
Og nå ?

Det neste trinnet vil være å legge til en temperatursensor, aktivering av bluetooth -funksjoner og, hvorfor ikke, en internettradiospiller til maksimalt Raspberry Pi -potensial.

Ha det

Klokker konkurranse
Klokker konkurranse
Klokker konkurranse
Klokker konkurranse

Andreplass i klokkekonkurransen

Anbefalt: