Cuprins:
- Pasul 1: De ce aveți nevoie
- Pasul 2: Configurarea Raspberry Pi
- Pasul 3: Scripturile
- Pasul 4: Circuitul
- Pasul 5: Asamblarea
- Pasul 6: Și acum?
Video: O-R-A Ceas de perete cu matrice LED RGB și multe altele ** actualizat în iulie 2019 **: 6 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
Buna ziua. Iată-mă cu un nou proiect numit O-R-A
Este un ceas de perete RGB LED Matrix care afișează:
- ora: minutul
- temperatura
- umiditate
- pictograma stării meteo curente
- Evenimente Google Calendar și notificări de memento de 1 oră
la un anumit moment arată:
- Lista de evenimente Google Calendar de astăzi și de mâine
- Prognoza meteo
- știri de ultimă oră
Funcționalități dependente:
- data curenta
- Minge Magic 8
- Cronometru de bucatarie
Pentru orice funcționalitate dispozitivul redă o alarmă audio diferită. Pentru orice tip de condiții meteorologice există un fișier audio corespunzător care trebuie redat atunci când funcționalitatea este apelată.
Funcționalitățile precum lista Google Calendar, prognoza meteo, știrile de ultimă oră RSS încep la ora preselectată când dispozitivul este în „modul ceas”, acestea putând fi numite și acționând direct comutatoarele. O altă funcționalitate în timpul „modului ceas” afișează ziua / luna / anul curent. Poate fi rulat apăsând butonul ENTER. Apăsând butonul CHANGE STATE și apoi butonul ENTER în 3 secunde în „modul ceas”, vă permite să intrați în meniul de opțiuni. Butonul CHANGE STATE este setat pentru a derula în interiorul meniului, butonul ENTER este pentru a confirma opțiunea selectată.
Acest proiect este o evoluție a LEGOLED și TEMPO anterioare. Panoul cu matrice LED RGB are rezoluția de 32x64 acum, deci este posibil să afișați mai multe grafice intelegibile, text fix și defilare în același timp. Folosind funcționalitățile TEMPO dispozitivul pornește și se oprește automat fără niciun buton sau temporizator extern. Un modul PIR detectează prezența persoanelor, prin urmare porniți / dezactivați afișajul.
Prognozele meteo și datele din calendar sunt colectate în fiecare minut, furnizate de Google Calendar și Open Weather Map.
Acest proiect este complet personalizabil pornind de la un Raspberry PI B +, 2 module 16x64 rgb led matrix și sursă de alimentare. Poate fi extins, ca și mine, adăugând plăci de sunet USB, difuzoare, circuit de alimentare pornit / oprit.
Pasul 1: De ce aveți nevoie
- Raspberry Pi B + (cu WiFi sau dongle încorporat)
- 2 x 16x64 RGB led matrix sau 2 x 32x32
- cadru generic (40x50 cm și 3 cm adâncime aproximativ)
- foaie de plastic mat
- film solar pentru ferestre
- PS 5V 10A
- cabluri
- teacă termorezistentă (*)
- modul de releu (*)
- PS suplimentar pentru amplificator audio (*)
- Modul amplificator audio 3W (*)
- difuzoare (*)
- Placă de sunet USB (*)
- 2 x microîntrerupător (*)
- PIR (*)
- Attiny85 (*)
- DS3231 (*)
- Mosfet IRF540 (*)
- Rezistoare: 3x1K, 2x10K, 1x2K (*)
- bloc terminal (*)
- benzi antet feminin (*)
- benzi antet masculin (*)
(*) opțional
Pasul 2: Configurarea Raspberry Pi
Acest ghid se bazează practic pe biblioteca Raspbian Jessie Lite, Python 2.7 și RGB LED MATRIX de către utilizatorul Hzeller Github.
În primul rând actualizați și actualizați RPI
Instalați git
~ $ sudo apt-get install git
Descărcați biblioteca RGB LED MATRIX de pe Github
~ $ git clonă
~ $ cd rpi-rgb-led-matrix
~ $ sudo make
placă de sunet internă RPI pe lista neagră
~ $ cat << EOF | sudo tee /etc/modprobe.d/blacklist-rgb-matrix.conf
lista neagră snd_bcm2835
EOF
~ $ sudo update-initramfs -u
Setați parametrii externi ai plăcii de sunet dacă necesită funcții audio:
~ $ sudo nano /usr/share/alsa/alsa.conf
Schimbare:
defaults.ctl.card 0
valorile implicite.pcm.card 0
la
defaults.ctl.card 1
defaults.pcm.card 1
apoi reporniți.
Acum instalați biblioteca matricială
~ $ cd / home / pi / rpi-rgb-led-matrix
~ $ sudo apt-get update && sudo apt-get install python2.7-dev python-pillow -y
~ $ make build-python
~ $ sudo make install-python
și instalați alte biblioteci necesare:
~ $ sudo easy_install pip
~ $ sudo pip instalează
Copiați scriptul samplebase.py din ~ / rpi-rgb-led-matrix / bindings / python / samples / în directorul principal
Obțineți înregistrarea cheii API gratuit pentru Open Weather Map
Instalați acum OWM Python wrapper pentru PYthon 2.7 (datorită utilizatorului CSPARPAGithub)
~ $ sudo pip install git +
Obțineți acreditările Google Calendar urmând instrucțiunile din API-ul Google calendar
Pentru redarea audio, instalați Pygame
~ $ sudo apt-get install python-pygame
Fluxurile RSS necesită instalarea Feedparser
~ $ sudo pip instala feedparser
copiați scriptul meu ORAeng_131.py (versiunea în limba engleză) sau ORAita_131.py (versiunea italiană) în directorul principal
creați foldere pentru sunete și imagini:
mkdir dbsounds
mkdir owm
descărcați și copiați toate fișierele-p.webp
www.dropbox.com/sh/nemyfcj1a1i18ic/AAB1W7I6lg5EgqL1gJZPWVTxa?dl=0
adăugați acreditarea OWM la linia 69 (API_key)
setați orașul pentru prognoza meteo (verificați dacă este acoperit de OWM și dacă numele corect este acceptat) la liniile 213, 215
obs = owm.weather_at_place („Napoli, IT”)
fc = owm.three_hours_forecast („Napoli, IT”)
*********************************** ACTUALIZARE 28/7/2019 ********** ******************
Noua API Google Calendar creează probleme. Am rezolvat eliminarea unor module:
~ $ sudo apt-get remove --purge python-setuptools
~ $ sudo apt-get autoremove python-pyasn1
încercați scriptul să ruleze
~ $ sudo python ORAeng_150.py # sau ORAita_150.py pentru versiunea italiană
pentru prima dată, scriptul va solicita autorizația GCAL. Faceți clic pe linkul către acreditarea Google API. Dați permisiunea atunci, dacă tot este bine, veți vedea ceasul începe.
din cauza utilizării excesive a RAM-ului după câteva ore, am scris un script care pur și simplu repornește scriptul Python când utilizarea RAM depășește un nivel prag. Apoi copiați în directorul de start scriptul numit memcheck redenumirea în memcheck.sh și adăugați la crontab -e împreună scriptul principal
* / 5 * * * * bash /home/pi/memcheck.sh@reboot sudo python /home/pi/ORAeng_150.py
Pasul 3: Scripturile
Scriptul principal trebuie modificat în funcție de nevoile dvs. Presupunând că acreditările OWM și Goggle Calendar sunt setate ca instrucțiuni API respective, cei mai importanți parametri sunt:
lista evenimentelor din calendar care se desfășoară la fiecare oră la minutele 2, 32 (vezi linia de script 65)
condițiile meteorologice și prognozele efectuate la fiecare oră la minutele 7, 37 (a se vedea linia de script 66)
știri de ultimă oră efectuate la fiecare oră la minutul 11 (vezi linia de script 67)
stiri de ultima ora canal RSS. Scriptul din interior este setat RSS instructabil, dar poate fi modificat. (a se vedea linia de script 366)
Evident, scriptul acordă prioritate notificărilor de evenimente din calendar sau de memento. Uneori, ceasul nu își îndeplinește caracteristicile pentru a evita traversarea funcționalităților.
Timpul de pornire / oprire Attiny85 trebuie să fie programat încărcând schița Tempo_V1_9_1Mhz_bugfix.ino.
Acest lucru permite pornirea dispozitivului la 8 dimineața și oprirea la 23. Consultați tutorialul pentru mai multe informații.
Pasul 4: Circuitul
Circuitul are practic 3 secțiuni
- cronometru de pornire / oprire gestionat de modulul DS3231, Attiny85 și Mosfet
- comutator pentru controlul manual al caracteristicilor ceasului
- secțiunea de conectare unde este cablarea pentru date și putere RGB LED Matrix, amplificator audio și Raspberry Pi
Nu a fost menționat un divizor de tensiune rezistiv care permite RPI să citească un semnal HIGH / LOW 5V de la Attiny85
Comutatoarele sunt conectate la pinul RPI un GND direct folosind rezistențe interne
Cronometrul Attiny85 provine din proiectul meu anterior numit TEMPO. Practic, DS3231 trimite semnal LOW către pinul de întrerupere Attiny85 care îl trezește din modul de repaus. La trezire, Attiny85 trimite semnal HIGH către tranzistorul Mosfet, activând circuitul de alimentare pentru RPI, LED Matrix și amplificator audio (dacă nu este conectat la PS suplimentar printr-un releu, ca ultima mea configurație).
Pentru a opri RPI, scriptul meu are în vedere că RPI ascultă semnalul digital pe pinul 14, când este HIGH, se numește comanda de închidere. Apoi RPI efectuează un proces de oprire corect, apoi după un minut, Attiny85 revine în modul de repaus și Mosfet primește un semnal LOW care oprește întregul dispozitiv. Acest proces este dur, dar eficient.
Modulul PIR este opțional și este conectat direct la RPI GPIO.
Configurarea mea necesită conectarea următoarelor pini GPIO RPI la:
15 la PIR
14 la Attiny85 pinul 3 prin divizor de tensiune
21 la modulul de releu
2 pentru a comuta (ENTER BUTTON)
3 pentru a comuta (SCHIMBAȚI BUTONUL DE STAT)
Probleme:
- zgomot datorat sursei de alimentare LED Matrix, rezolvat folosind un PS mic doar pentru amplificatorul audio. Un releu opțional permite pornirea amplificatorului numai atunci când este necesar. Acest lucru poate provoca zgomot atunci când pornește / oprește.
Circuitul a fost gravat folosind plăci de cupru, imprimantă 3D, marker și clorură ferică.
Pasul 5: Asamblarea
Am adaptat un cadru generic de 40x50cm la acest proiect împreună părți imprimate 3D și câteva opțiuni suplimentare.
Sticla este protejată de folie solară pentru fereastră și folie de plastic mat. Matricea LED trebuie păstrată la aproximativ 1cm de sticlă pentru a evita să vedeți ledurile albe din interior. Sunt necesare șuruburi mici ca piulițe și șuruburi M3. Sunt obligatorii cablurile și teaca termorezistentă.
Matricele LED sunt înșurubate pe panoul posterior al cadrului.
Pasul 6: Și acum?
Următorul pas va fi adăugarea unui senzor de temperatură, activarea capabilităților bluetooth și, de ce nu, un player radio pe internet până la potențialul maxim Raspberry Pi.
Pa
Locul doi în concursul de ceasuri
Recomandat:
Seră minunată cu udare automată, conexiune la internet și multe altele: 7 pași (cu imagini)
Seră minunată cu udare automată, conexiune la internet și multe altele: Bine ați venit la acest instructable. La începutul lunii martie, eram într-un magazin de grădină și am văzut câteva sere. Și din moment ce am vrut să fac un proiect cu plante și electronice de mult, am continuat și am cumpărat unul: https://www.instagram.com/p
Ceas Word Rainbow cu efect Rainbow complet și multe altele: 13 pași (cu imagini)
Rainbow Word Clock cu un efect Rainbow complet și multe altele: Obiective 1) Simplu2) Nu scump 3) Cât de eficient energetic posibil Rainbow Word Clock cu efect complet Rainbow. Un Smiley pe Word Clock. Telecomandă IR simplă Actualizare 03-nov-18 LDR pentru Controlul luminozității NeopixelsUpdate 01-jan
Lămpi de control vocal Electronice benzi LED RGB și multe altele cu automatizarea casană Cortana și Arduino: 3 pași
Lămpi de control vocal Electronice benzi LED RGB și multe altele cu Cortana și Arduino Home Automation: Îți place ideea de a controla lucrurile cu vocea ta? Sau nu-ți place să te ridici din pat pentru a stinge luminile? Dar toate soluțiile existente, cum ar fi Google Home, sunt prea scumpe? Acum îl puteți face singur pentru mai puțin de 10 $. Și chiar mai bine, este foarte ușor
Blocare NFC - Când un PCB este, de asemenea, butoane, antenă și multe altele : 7 pași (cu imagini)
Blocare NFC - Atunci când un PCB este, de asemenea, butoane, antenă și multe altele …: Puteți lua unul din cele două lucruri din acest instructable. Puteți urmări și crea propria combinație de tastatură numerică și cititor NFC. Schema este aici. Aspectul PCB este aici. Veți găsi o listă de materiale pentru a comanda p
Lumină mare "inel" cu LED pentru Timelapse, Portrete și multe altele : 11 pași (cu imagini)
Lumină mare "inel" cu LED pentru Timelapse, Portrete și multe altele …: Înregistrez o mulțime de videoclipuri timelapse care se întind pe câteva zile, dar urăsc lumina inegală pe care o dau luminile cu cleme - mai ales noaptea. O lumină inelară mare este prea scumpă - așa că am decis să fac ceva eu într-o singură seară cu lucruri pe care le aveam la îndemână