Inhoudsopgave:

O-R-A RGB Led Matrix Wandklok en meer **bijgewerkt juli 2019**: 6 stappen (met afbeeldingen)
O-R-A RGB Led Matrix Wandklok en meer **bijgewerkt juli 2019**: 6 stappen (met afbeeldingen)

Video: O-R-A RGB Led Matrix Wandklok en meer **bijgewerkt juli 2019**: 6 stappen (met afbeeldingen)

Video: O-R-A RGB Led Matrix Wandklok en meer **bijgewerkt juli 2019**: 6 stappen (met afbeeldingen)
Video: This is the BEST MATRIX DISPLAY CLOCK for Home Assistant! 2024, November
Anonim
Image
Image
O-R-A RGB Led Matrix Wandklok en meer **bijgewerkt juli 2019**
O-R-A RGB Led Matrix Wandklok en meer **bijgewerkt juli 2019**
O-R-A RGB Led Matrix Wandklok en meer **bijgewerkt juli 2019**
O-R-A RGB Led Matrix Wandklok en meer **bijgewerkt juli 2019**
O-R-A RGB Led Matrix Wandklok en meer **bijgewerkt juli 2019**
O-R-A RGB Led Matrix Wandklok en meer **bijgewerkt juli 2019**

Hallo. Hier ben ik met een nieuw project genaamd O-R-A

Het is een RGB LED Matrix wandklok die het volgende weergeeft:

  • uur:minuut
  • temperatuur-
  • vochtigheid
  • huidige weersomstandigheden icoon
  • Google Agenda-evenementen en herinneringsmeldingen van 1 uur

op een bepaald tijdstip toont het:

  • Google Agenda evenementenlijst voor vandaag en morgen
  • weervoorspelling
  • belangrijk nieuws

Verslavende functionaliteiten:

  • huidige datum
  • Magische 8 bal
  • Keukenwekker

Voor elke functionaliteit speelt het apparaat een ander audioalarm af. Voor alle weersomstandigheden is er een bijbehorend audiobestand dat moet worden afgespeeld wanneer de functionaliteit wordt aangeroepen.

De functionaliteiten zoals Google Agenda-lijst, Weersvoorspelling, RSS-nieuws beginnen op een vooraf geselecteerd tijdstip wanneer het apparaat zich in de "klokmodus" bevindt, deze kunnen ook worden opgeroepen om de schakelaars direct te bedienen. Een andere functionaliteit tijdens de "klokmodus" geeft de huidige dag/maand/jaar weer. Het kan worden uitgevoerd door op de ENTER-knop te drukken. Door binnen 3 seconden in de "klokmodus" op de CHANGE STATE-knop en vervolgens op de ENTER-knop te drukken, komt u in het optiemenu. WIJZIG STATUS-knop is ingesteld om binnen het menu te scrollen, ENTER-knop is om de geselecteerde optie te bevestigen.

Dit project is een evolutie van mijn vorige LEGOLED en TEMPO. Het RGB led-matrixpaneel heeft nu een resolutie van 32x64, dus het is mogelijk om tegelijkertijd meer begrijpelijke afbeeldingen, vaste en scrollende tekst weer te geven. Met behulp van TEMPO-functionaliteiten wordt het apparaat automatisch in- en uitgeschakeld zonder enige knop of externe timer. Een PIR-module detecteert de aanwezigheid van personen en zet daarom het display aan/uit.

Weersvoorspellingen en kalendergegevens worden elke minuut verzameld door Google Calendar en Open Weather Map.

Dit project is volledig aanpasbaar vanaf een Raspberry PI B+, 2 module 16x64 rgb led-matrix en voeding. Het kan worden uitgebreid, zoals ik deed, door USB-geluidskaarten, luidsprekers, aan / uit-stroomcircuit toe te voegen.

Stap 1: Wat je nodig hebt

  • Raspberry Pi B+ (met ingebouwde wifi of dongle)
  • 2 x 16x64 RGB led-matrix of 2 x 32x32
  • generiek frame (40x50 cm & 3 cm diepte ongeveer)
  • mat plastic vel
  • raam zonnefilm
  • PS 5V 10A
  • kabels
  • thermohardende schede (*)
  • relaismodule (*)
  • extra PS voor audioversterker (*)
  • 3W audioversterkermodule (*)
  • sprekers (*)
  • USB-geluidskaart (*)
  • 2 x microschakelaar (*)
  • PIR (*)
  • Attiny85 (*)
  • DS3231 (*)
  • Mosfet IRF540 (*)
  • Weerstanden: 3x1K, 2x10K, 1x2K (*)
  • aansluitblok (*)
  • kopstrips vrouwelijk (*)
  • header strips mannelijk (*)

(*) optioneel

Stap 2: Raspberry Pi-configuratie

Deze gids is in principe gebaseerd op Raspbian Jessie Lite, Python 2.7 en RGB LED MATRIX-bibliotheek van Hzeller Github-gebruiker.

Allereerst update & upgrade RPI

Git installeren

~ $ sudo apt-get install git

Download RGB LED MATRIX-bibliotheek van Github

~ $ git-kloon

~ $ cd rpi-rgb-led-matrix

~ $ sudo make

zwarte lijst RPI interne geluidskaart

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

zwarte lijst snd_bcm2835

EOF

~ $ sudo update-initramfs -u

Stel externe geluidskaartparameters in als audiomogelijkheden nodig zijn:

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

verandering:

defaults.ctl.card 0

defaults.pcm.card 0

tot

defaults.ctl.card 1

defaults.pcm.card 1

daarna opnieuw opstarten.

Installeer nu matrixbibliotheek

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

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

~ $ maak build-python

~ $ sudo make install-python

en installeer andere benodigde bibliotheken:

~ $ sudo easy_install pip

~ $ sudo pip install

Kopieer het script samplebase.py van ~/rpi-rgb-led-matrix/bindings/python/samples/ naar de thuismap

Ontvang een gratis API-sleutel die u registreert om weerkaart te openen

Installeer nu OWM Python-wrapper voor PYthon 2.7 (dankzij CSPARPAGithub-gebruiker)

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

Verkrijg Google Agenda-referenties volgens de instructies bij de Google Agenda-API

Voor het afspelen van audio installeer Pygame

~ $ sudo apt-get install python-pygame

Voor RSS-feeds moet Feedparser zijn geïnstalleerd

~ $ sudo pip install feedparser

kopieer mijn script ORAeng_131.py (engelse versie) of ORAita_131.py (italiaanse versie) naar de homedirectory

mappen maken voor geluiden en afbeeldingen:

mkdir dbsounds

mkdir owm

download en kopieer alle PNG-bestanden naar de owm-map en mp3-bestanden naar de dbsounds-map via de volgende link:

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

voeg uw OWM-referentie toe aan regel 69 (API_key)

stel stad in voor weersvoorspelling (controleer of het valt onder OWM en de juiste naam wordt geaccepteerd) op regels 213, 215

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

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

*********************************** BIJWERKEN 28-7-2019********** ****************

De nieuwe Google Agenda-API zorgt voor problemen. Ik heb het verwijderen van enkele modules opgelost:

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

~ $ sudo apt-get autoremove python-pyasn1

probeer het script te draaien

~ $ sudo python ORAeng_150.py # of ORAita_150.py voor Italiaanse versie

de eerste keer zal het script GCAL-autorisatie vragen. Klik op de link naar de Google API-referentie. Geef dan toestemming, als alles in orde is, zie je dat de klok begint.

vanwege overmatig RAM-gebruik na enkele uren, heb ik een script geschreven dat het Python-script eenvoudig opnieuw start wanneer het RAM-gebruik een drempelwaarde overschrijdt. Kopieer vervolgens naar de thuismap het script met de naam memcheck hernoemen naar memcheck.sh en voeg toe aan crontab -e samen hoofdscript

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

Stap 3: De scripts

Het hoofdscript moet overeenkomstig uw behoeften worden aangepast. Ervan uitgaande dat OWM- en Goggle Calendar-referenties zijn ingesteld als hun respectievelijke API-instructies, zijn de belangrijkste parameters:

lijst met agenda-evenementen die elk uur op minuut 2, 32 optreden (zie scriptregel 65)

weersomstandigheden en voorspelling presteren elk uur op minuut 7, 37 (zie scriptregel 66)

breaking news elk uur op minuut 11 (zie scriptregel 67)

het laatste nieuws rss-kanaal. Inside script is ingesteld Instructable RSS, maar kan worden gewijzigd. (zie scriptregel 366)

Vanzelfsprekend geeft het script prioriteit aan inkomende kalendergebeurtenissen of herinneringsmeldingen. Soms voert de klok zijn functies niet uit om te voorkomen dat functies worden overschreden.

Attiny85 aan/uit timer moet worden geprogrammeerd om de schets Tempo_V1_9_1Mhz_bugfix.ino te uploaden.

Hierdoor kan het apparaat om 8 uur 's ochtends worden ingeschakeld en om 23 uur worden uitgeschakeld. Zie tutorial voor meer info.

Stap 4: Het circuit

Het circuit
Het circuit
Het circuit
Het circuit
Het circuit
Het circuit

Het circuit heeft in principe 3 secties:

- aan/uit-timer afgehandeld door DS3231-module, Attiny85 en Mosfet

- schakelaar voor handmatige bediening van klokfuncties

- verbindingsgedeelte waar bekabeling is voor RGB LED Matrix-gegevens en voeding, audioversterker en Raspberry Pi

Niet genoemd een resistieve spanningsdeler waarmee RPI een HOOG / LAAG 5V-signaal van Attiny85 kan lezen

Schakelaars zijn rechtstreeks verbonden met RPI-pin en GND met behulp van interne weerstanden

Attiny85 timer komt van mijn vorige project genaamd TEMPO. Kortom, de DS3231 stuurt een LAAG signaal naar de Attiny85 interrupt-pin die hem uit de slaapstand haalt. Bij het ontwaken stuurt Attiny85 een HOOG signaal naar de Mosfet-transistor, waardoor het voedingscircuit voor RPI, LED Matrix en audioversterker wordt geactiveerd (indien niet aangesloten op extra PS via een relais, zoals mijn laatste configuratie).

Om RPI af te sluiten, overweegt mijn script dat het RPI-luistersignaal op pin 14, wanneer het HOOG is, een uitschakelopdracht wordt genoemd. Vervolgens voert RPI een correct afsluitproces uit en na één minuut gaat Attiny85 terug naar de slaapstand en ontvangt Mosfet een LAAG signaal dat het hele apparaat uitschakelt. Dit proces is ruw maar effectief.

PIR-module is optioneel en rechtstreeks aangesloten op RPI GPIO.

Mijn configuratie vereist dat de volgende RPI GPIO-pinnen zijn aangesloten op:

15 tot PIR

14 naar Attiny85 pin 3 via spanningsdeler

21 naar relaismodule

2 om te wisselen (ENTER KNOP)

3 om te wisselen (CHANGE STATE KNOP)

Problemen:

- ruis door LED Matrix voeding, opgelost met een kleine PS alleen voor de audioversterker. Met een optioneel relais kan de versterker alleen worden ingeschakeld wanneer dat nodig is. Dit kan een stootgeluid veroorzaken wanneer het wordt in-/uitgeschakeld.

Het circuit is geëtst met behulp van koperen plaat, 3D-printer, marker en ijzerchloride.

Stap 5: Montage

in elkaar zetten
in elkaar zetten
in elkaar zetten
in elkaar zetten
in elkaar zetten
in elkaar zetten
in elkaar zetten
in elkaar zetten

ik heb een generiek frame van 40x50cm aangepast aan dit project, samen met 3D-geprinte onderdelen en enkele optionele extra's.

Het glas wordt afgeschermd door zonnefolie en een mat plastic vel. Led-matrix moet ongeveer 1 cm van glas worden gehouden om te voorkomen dat de witte leds aan de binnenkant te zien zijn. Kleine schroeven zijn nodig als M3 moeren en bouten. Verplicht zijn kabels en thermohardende mantel.

Ledmatrices worden op het achterpaneel van het frame geschroefd.

Stap 6: En nu?

En nu ?
En nu ?
En nu ?
En nu ?

De volgende stap is het toevoegen van een temperatuursensor, activering van bluetooth-mogelijkheden en, waarom niet, een internetradiospeler tot het maximale Raspberry Pi-potentieel.

Doei

Klokken wedstrijd
Klokken wedstrijd
Klokken wedstrijd
Klokken wedstrijd

Tweede plaats in de klokkenwedstrijd

Aanbevolen: