Cuprins:

O-R-A Ceas de perete cu matrice LED RGB și multe altele ** actualizat în iulie 2019 **: 6 pași (cu imagini)
O-R-A Ceas de perete cu matrice LED RGB și multe altele ** actualizat în iulie 2019 **: 6 pași (cu imagini)

Video: O-R-A Ceas de perete cu matrice LED RGB și multe altele ** actualizat în iulie 2019 **: 6 pași (cu imagini)

Video: O-R-A Ceas de perete cu matrice LED RGB și multe altele ** actualizat în iulie 2019 **: 6 pași (cu imagini)
Video: Webinar DAP 2021 Inspectii cu ajutorul dronelor 2024, Iulie
Anonim
Image
Image
O-R-A Ceas de perete cu matrice LED RGB și multe altele ** actualizat în iulie 2019 **
O-R-A Ceas de perete cu matrice LED RGB și multe altele ** actualizat în iulie 2019 **
O-R-A Ceas de perete cu matrice LED RGB și multe altele ** actualizat în iulie 2019 **
O-R-A Ceas de perete cu matrice LED RGB și multe altele ** actualizat în iulie 2019 **
O-R-A Ceas de perete cu matrice LED RGB și multe altele ** actualizat în iulie 2019 **
O-R-A Ceas de perete cu matrice LED RGB și multe altele ** actualizat în iulie 2019 **

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
Circuitul
Circuitul
Circuitul
Circuitul
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

Asamblare
Asamblare
Asamblare
Asamblare
Asamblare
Asamblare
Asamblare
Asamblare

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?

Si acum ?
Si acum ?
Si acum ?
Si 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

Concurs de ceasuri
Concurs de ceasuri
Concurs de ceasuri
Concurs de ceasuri

Locul doi în concursul de ceasuri

Recomandat: