Inhoudsopgave:
- Stap 1: Wat je nodig hebt
- Stap 2: Raspberry Pi-configuratie
- Stap 3: De scripts
- Stap 4: Het circuit
- Stap 5: Montage
- Stap 6: En nu?
Video: O-R-A RGB Led Matrix Wandklok en meer **bijgewerkt juli 2019**: 6 stappen (met afbeeldingen)
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
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 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
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?
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
Tweede plaats in de klokkenwedstrijd
Aanbevolen:
Eenvoudige installatie IR-afstandsbediening met LIRC voor de Raspberry PI (RPi) - juli 2019 [deel 1] - Ajarnpa
Eenvoudige installatie IR-afstandsbediening met LIRC voor de Raspberry PI (RPi) - juli 2019 [Deel 1]: Na veel zoeken was ik verrast en verbijsterd over de tegenstrijdige informatie over het instellen van de IR-afstandsbediening voor mijn RPi-project. Ik dacht dat het gemakkelijk zou zijn, maar het opzetten van Linux InfraRed Control (LIRC) is al lange tijd problematisch, maar
Wandklok in kleur 7 stappen (met afbeeldingen)
Kleur wandklok: deze keer presenteer ik u een analoge wandklok in kleur voor kinderen met led-strips. De basis van de klok is om drie led-strips en verschillende kleuren te gebruiken om de tijd weer te geven: in de ronde led-strip is de groene kleur gebruikt om de uren te tonen, de
Eenvoudige installatie IR-afstandsbediening met LIRC voor de Raspberry PI (RPi) - juli 2019 [deel 2] - Ajarnpa
Eenvoudige installatie IR-afstandsbediening met LIRC voor de Raspberry PI (RPi) - juli 2019 [Deel 2]: In deel 1 demonstreerde ik hoe de RPi + VS1838b te monteren en de LIRC-module van Raspbian te configureren om IR-opdrachten van een IR-afstandsbediening te ontvangen. Alle hardware- en LIRC-configuratieproblemen worden besproken in deel 1. Deel 2 demonstreert hoe de hardwa
Een wandklok lichtgevende wijzers en tijdsintervalmarkeringen geven: 14 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Hoe geef je een wandklok lichtgevende wijzers en tijdsintervalmarkeringen: We wilden een slaapkamerwandklok met lichtgevende wijzers en een weergave van intervallen van vijf minuten en een kwartier. Het moest moeiteloos leesbaar zijn vanuit het bed en de helderheid moest de hele nacht duren. De lichtgevende verf die op moderne klokken wordt gebruikt, neigt
Verf je mobiele telefoon: bijgewerkt: 10 stappen (met afbeeldingen)
Paint Your Mobile Phone: Updated: Dus dit is mijn Instructable van het schilderen van je mobiele telefoon! In mijn geval is het een Nokia 3310. De reden waarom ik ervoor gekozen heb om deze telefoon te schilderen is vanwege de verwisselbare hoesjes. (En het is mijn telefoon. En er staat Snake II op.) Als je het verknoeit