Obsah:

Nástenné hodiny RGB LED O-R-A a ďalšie ** aktualizované v júli 2019 **: 6 krokov (s obrázkami)
Nástenné hodiny RGB LED O-R-A a ďalšie ** aktualizované v júli 2019 **: 6 krokov (s obrázkami)

Video: Nástenné hodiny RGB LED O-R-A a ďalšie ** aktualizované v júli 2019 **: 6 krokov (s obrázkami)

Video: Nástenné hodiny RGB LED O-R-A a ďalšie ** aktualizované v júli 2019 **: 6 krokov (s obrázkami)
Video: Section 9 2024, November
Anonim
Image
Image
Nástenné hodiny RGB LED O-R-A a ďalšie ** aktualizované v júli 2019 **
Nástenné hodiny RGB LED O-R-A a ďalšie ** aktualizované v júli 2019 **
Nástenné hodiny RGB LED O-R-A a ďalšie ** aktualizované v júli 2019 **
Nástenné hodiny RGB LED O-R-A a ďalšie ** aktualizované v júli 2019 **
Nástenné hodiny RGB LED O-R-A a ďalšie ** aktualizované júla 2019 **
Nástenné hodiny RGB LED O-R-A a ďalšie ** aktualizované júla 2019 **

Ahoj. Tu som s novým projektom s názvom O-R-A

Jedná sa o nástenné hodiny RGB LED Matrix, ktoré zobrazujú:

  • hodina: minúta
  • teplota
  • vlhkosť
  • ikona aktuálneho počasia
  • Udalosti v Kalendári Google a 1h pripomienky

v konkrétnom čase ukazuje:

  • Kalendár Google dnes a zajtra
  • predpoveď počasia
  • Mimoriadne správy

Funkcie závislosti:

  • aktuálny dátum
  • Magic 8 ball
  • Kuchynský časovač

Pre akúkoľvek funkciu zariadenie prehráva iný zvukový alarm. Pre všetky druhy poveternostných podmienok je k dispozícii príslušný zvukový súbor, ktorý sa má prehrať pri vyvolaní funkcie.

Funkcie ako zoznam Kalendár Google, Predpoveď počasia, Aktuality RSS sa začínajú vo vopred zvolenom čase, keď je zariadenie v „hodinovom režime“, možno ich tiež nazvať priamym ovládaním prepínačov. Ďalšia funkcia počas „režimu hodín“zobrazuje aktuálny deň/mesiac/rok. Môžete ho spustiť stlačením tlačidla ENTER. Stlačením tlačidla CHANGE STATE a potom tlačidla ENTER do 3 sekúnd v „hodinovom režime“sa dostanete do ponuky možností. Tlačidlo ZMENIŤ STAV je nastavené na rolovanie v ponuke, tlačidlo ENTER slúži na potvrdenie zvolenej možnosti.

Tento projekt je evolúciou môjho predchádzajúceho LEGOLED a TEMPO. RGB LED maticový panel má teraz rozlíšenie 32x64, takže je možné zobraziť zrozumiteľnejšiu grafiku, pevný a posúvajúci sa text súčasne. Vďaka funkciám TEMPO sa zariadenie automaticky zapína a vypína bez akéhokoľvek tlačidla alebo externého časovača. Modul PIR na zisťovanie prítomnosti osôb preto zapína/vypína displej.

Údaje o predpovedi počasia a kalendári sa zbierajú každú minútu, ktoré poskytujú Kalendár Google a Open Weather Map.

Tento projekt je plne prispôsobiteľný od maliny PI B+, 2 modulovej LED diódy 16x64 rgb a napájania. Je možné ho rozšíriť, rovnako ako ja, pridaním zvukových kariet USB, reproduktorov a napájacieho obvodu zapnutia/vypnutia.

Krok 1: Čo potrebujete

  • Raspberry Pi B+ (so vstavaným WiFi alebo hardvérovým kľúčom)
  • 2 x 16x64 RGB LED matica alebo 2 x 32x32
  • všeobecný rám (približne 40 x 50 cm a hĺbka približne 3 cm)
  • matný plastový plech
  • okenný solárny film
  • PS 5V 10A
  • káble
  • termosetové puzdro (*)
  • reléový modul (*)
  • extra PS pre zosilňovač zvuku (*)
  • 3W modul zosilňovača zvuku (*)
  • reproduktory (*)
  • USB zvuková karta (*)
  • 2 x mikrospínač (*)
  • PIR (*)
  • Attiny85 (*)
  • DS3231 (*)
  • Mosfet IRF540 (*)
  • Rezistory: 3x1K, 2x10K, 1x2K (*)
  • svorkovnica (*)
  • hlavičkové pásy ženské (*)
  • hlavičkové pásy mužské (*)

(*) voliteľné

Krok 2: Nastavenie Raspberry Pi

Táto príručka je v zásade založená na knižnici Raspbian Jessie Lite, Python 2.7 a RGB LED MATRIX od používateľa Hzeller Github.

V prvom rade aktualizujte a aktualizujte RPI

Nainštalovať git

~ $ sudo apt-get install git

Stiahnite si knižnicu RGB LED MATRIX z Githubu

~ $ git klon

~ $ cd matica rpi-rgb-led

~ $ sudo make

čierna listina Interná zvuková karta RPI

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

čierna listina snd_bcm2835

EOF

~ $ sudo update -initramfs -u

V prípade potreby nastavte parametre externej zvukovej karty:

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

zmeniť:

defaults.ctl.card 0

defaults.pcm.card 0

do

defaults.ctl.card 1

defaults.pcm.card 1

potom reštartujte.

Teraz nainštalujte maticovú knižnicu

~ $ 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

a nainštalujte ďalšie potrebné knižnice:

~ $ sudo easy_install pip

~ $ sudo pip install

Skopírujte skript samplebase.py z ~/rpi-rgb-led-matrix/bindings/python/sample/do domovského adresára

Získajte bezplatnú registráciu kľúča API na otvorenú mapu počasia

Nainštalovať teraz OWM Python wrapper pre PYthon 2.7 (vďaka používateľovi CSPARPAGithub)

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

Získajte poverenia pre Kalendár Google podľa pokynov v rozhraní API pre kalendár Google

Na prehrávanie zvuku nainštalujte Pygame

~ $ sudo apt-get install python-pygame

Informačné kanály RSS vyžadujú nainštalovaný Feedparser

~ $ sudo pip install feedparser

skopírujte môj skript ORAeng_131.py (anglická verzia) alebo ORAita_131.py (talianska verzia) do domáceho adresára

vytvorte priečinky pre zvuky a obrázky:

mkdir dbsounds

mkdir owm

stiahnite a skopírujte všetky súbory-p.webp

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

pridajte svoje poverenie OWM na riadok 69 (API_key)

na riadkoch 213, 215 nastavte mesto na predpoveď počasia (skontrolujte, či je pokryté OWM a akceptuje sa správny názov)

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

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

********************************* AKTUALIZÁCIA 28. 7. 2019 ********** ******************

Nové rozhranie Google Calendar API spôsobuje problémy. Vyriešil som odstránenie niektorých modulov:

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

~ $ sudo apt-get autoremove python-pyasn1

skúste spustiť skript

~ $ sudo python ORAeng_150.py # alebo ORAita_150.py pre taliansku verziu

skript prvýkrát požiada o autorizáciu GCAL. Kliknite na odkaz na poverenie Google API. Potom dajte povolenie, ak je všetko v poriadku, uvidíte, že sa začnú hodiny.

z dôvodu nadmerného využívania pamäte RAM po niekoľkých hodinách som napísal skript, ktorý jednoducho reštartuje skript python, keď využitie pamäte RAM prekročí prahovú úroveň. Potom skopírujte do domovského adresára skript s názvom memcheck premenovaný na memcheck.sh a pridajte do crontab -e spolu hlavný skript

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

Krok 3: Skripty

Hlavný skript je potrebné upraviť podľa vašich potrieb. Za predpokladu, že sú poverenia OWM a Goggle Calendar nastavené ako ich príslušné pokyny pre API, najdôležitejšie parametre sú:

zoznam udalostí kalendára, ktoré sa vykonávajú každú hodinu v minúte 2, 32 (pozri riadok skriptu 65)

poveternostné podmienky a predpoveď, ktoré sa vykonávajú každú hodinu v 7., 37. minúte (pozri riadok skriptu 66)

najnovšie správy, ktoré vystupujú každú hodinu v minúte 11 (pozri riadok scenára 67)

najnovšie správy kanál rss. Vnútorný skript je nastavený ako Instructable RSS, ale je možné ho zmeniť. (pozri riadok skriptu 366)

Je zrejmé, že skript dáva prednosť informáciám z kalendára alebo pripomienkam. Niekedy hodiny nevykonávajú svoje funkcie, aby sa vyhli kríženiu funkcií.

Časovač zapnutia/vypnutia Attiny85 je potrebné naprogramovať tak, aby nahrával skicu Tempo_V1_9_1Mhz_bugfix.ino.

To umožní zapnúť zariadenie o 8 ráno a vypnúť o 23. Viac informácií nájdete v návode.

Krok 4: Okruh

Okruh
Okruh
Okruh
Okruh
Okruh
Okruh

Okruh má v zásade 3 sekcie

- Časovač zapnutia/vypnutia je ovládaný modulom DS3231, Attiny85 a Mosfet

- spínač na manuálne ovládanie funkcií hodín

- prepojovacia časť, kde je kabeláž pre údaje a výkon RGB LED Matrix, zosilňovač zvuku a Raspberry Pi

Nie je spomenutý odporový delič napätia, ktorý umožňuje RPI čítať HIGH/LOW 5V signál z Attiny85

Prepínače sú pripojené k kolíku RPI a GND priamo pomocou vnútorných rezistorov

Časovač Attiny85 pochádza z môjho predchádzajúceho projektu s názvom TEMPO. DS3231 v zásade posiela LOW signál na prerušovací kolík Attiny85, ktorý ho prebúdza z režimu spánku. Po prebudení Attiny85 posiela HIGH signál do tranzistora Mosfet a aktivuje napájací obvod pre RPI, LED Matrix a audio zosilňovač (ak nie je pripojený k ďalšiemu PS pomocou relé, ako moja posledná konfigurácia).

Ak chcete vypnúť RPI, môj skript predpokladá, že digitálny signál počúvania RPI na kolíku 14, keď je VYSOKÝ, sa nazýva príkaz na vypnutie. Potom RPI vykoná správny proces vypnutia, potom sa po jednej minúte Attiny85 vráti do režimu spánku a Mosfet dostane LOW signál, ktorý vypne celé zariadenie. Tento proces je náročný, ale účinný.

PIR modul je voliteľný a je pripojený priamo k RPI GPIO.

Moja konfigurácia vyžaduje, aby boli pripojené nasledujúce piny GPIO RPI:

15 do PIR

14 na Attiny85 pin 3 cez delič napätia

21 do reléového modulu

2 na prepnutie (TLAČIDLO ZADAŤ)

3 na prepnutie (TLAČIDLO ZMENIŤ STAV)

Problémy:

- šum v dôsledku napájania LED Matrix, vyriešený pomocou malého PS iba pre zosilňovač zvuku. Voliteľné relé umožňuje zapnúť zosilňovač iba v prípade potreby. To môže pri zapnutí/vypnutí spôsobiť hluk.

Obvod bol vyleptaný pomocou medenej platne, 3D tlačiarne, značkovača a chloridu železitého.

Krok 5: Zostavenie

Montáž
Montáž
Montáž
Montáž
Montáž
Montáž
Montáž
Montáž

Prispôsobil som všeobecný rám 40 x 50 cm tomuto projektu spolu s 3D tlačenými časťami a niektorými voliteľnými doplnkami.

Sklo je tienené okennou slnečnou fóliou a matnou plastovou fóliou. LED maticu je potrebné držať asi 1 cm od skla, aby ste zabránili videniu bielych diód vo vnútri. Ako matice a skrutky M3 sú potrebné malé skrutky. Povinné sú káble a termosetové puzdro.

LED matice sú priskrutkované na zadnom paneli rámu.

Krok 6: A teraz?

A teraz ?
A teraz ?
A teraz ?
A teraz ?

Ďalším krokom bude pridanie teplotného senzora, aktivácia funkcií bluetooth a prečo nie, prehrávač internetového rádia, kým sa nevyužije maximálny potenciál Raspberry Pi.

Zbohom

Hodinová súťaž
Hodinová súťaž
Hodinová súťaž
Hodinová súťaž

Runner Up in the Clocks Contest

Odporúča: