Obsah:

Nástěnné hodiny O-R-A RGB Led Matrix a další ** aktualizováno července 2019 **: 6 kroků (s obrázky)
Nástěnné hodiny O-R-A RGB Led Matrix a další ** aktualizováno července 2019 **: 6 kroků (s obrázky)

Video: Nástěnné hodiny O-R-A RGB Led Matrix a další ** aktualizováno července 2019 **: 6 kroků (s obrázky)

Video: Nástěnné hodiny O-R-A RGB Led Matrix a další ** aktualizováno července 2019 **: 6 kroků (s obrázky)
Video: A Stunning Planted Aquarium with an Epic Driftwood and a 360 View 2024, Červenec
Anonim
Image
Image
Nástěnné hodiny O-R-A RGB Led Matrix a další ** aktualizováno července 2019 **
Nástěnné hodiny O-R-A RGB Led Matrix a další ** aktualizováno července 2019 **
Nástěnné hodiny O-R-A RGB Led Matrix a další ** aktualizováno července 2019 **
Nástěnné hodiny O-R-A RGB Led Matrix a další ** aktualizováno července 2019 **
Nástěnné hodiny O-R-A RGB Led Matrix a další ** aktualizováno července 2019 **
Nástěnné hodiny O-R-A RGB Led Matrix a další ** aktualizováno července 2019 **

Ahoj. Tady jsem s novým projektem s názvem O-R-A

Jedná se o nástěnné hodiny RGB LED Matrix, které zobrazují:

  • hodina: minuta
  • teplota
  • vlhkost vzduchu
  • ikona aktuálního počasí
  • Události Kalendáře Google a 1h upozornění na připomenutí

v konkrétním čase ukazuje:

  • Kalendář Google pro dnešní a zítřejší seznam událostí
  • předpověď počasí
  • nejnovější zprávy

Závislostní funkce:

  • dnešní datum
  • Kouzlo 8 koulí
  • Kuchyňská minutka

Pro všechny funkce zařízení přehraje jiný zvukový alarm. Pro všechny druhy povětrnostních podmínek existuje odpovídající zvukový soubor, který se má přehrát při volání funkce.

Funkce jako seznam Kalendáře Google, Předpověď počasí, Aktuality RSS začínají v předem zvoleném čase, když je zařízení v „hodinovém režimu“, lze je také nazvat přímo ovládáním přepínačů. Další funkce v režimu „hodin“zobrazuje aktuální den/měsíc/rok. Lze jej spustit stisknutím tlačítka ENTER. Stisknutím tlačítka CHANGE STATE a poté tlačítka ENTER do 3 sekund v „hodinovém režimu“se dostanete do nabídky možností. Tlačítko ZMĚNIT STAV je nastaveno na procházení v nabídce, tlačítko ENTER slouží k potvrzení zvolené možnosti.

Tento projekt je evolucí mých předchozích LEGOLED a TEMPO. RGB LED maticový panel má nyní rozlišení 32x64, takže je možné zobrazit srozumitelnější grafiku, pevný a posouvaný text současně. Pomocí funkcí TEMPO se zařízení automaticky zapíná a vypíná bez jakéhokoli tlačítka nebo externího časovače. PIR modul detekuje přítomnost osob, proto zapíná/vypíná displej.

Předpověď počasí a data kalendáře se shromažďují každou minutu poskytovanou Kalendářem Google a Open Weather Map.

Tento projekt je plně přizpůsobitelný počínaje Raspberry PI B+, 2 modulem 16x64 rgb LED matice a napájecím zdrojem. Lze jej rozšířit, stejně jako já, přidáním zvukových karet USB, reproduktorů, napájecího obvodu zapnutí/vypnutí.

Krok 1: Co potřebujete

  • Raspberry Pi B+ (s vestavěným wifi nebo dongle)
  • 2 x 16x64 RGB LED matice nebo 2 x 32x32
  • obecný rám (přibližně 40 x 50 cm a hloubka přibližně 3 cm)
  • matný plastový plech
  • okenní sluneční fólie
  • PS 5V 10A
  • kabely
  • termosetové pouzdro (*)
  • reléový modul (*)
  • extra PS pro audio zesilovač (*)
  • 3W modul zesilovače zvuku (*)
  • Řečníci (*)
  • USB zvuková karta (*)
  • 2 x mikrospínač (*)
  • PIR (*)
  • Attiny85 (*)
  • DS3231 (*)
  • Mosfet IRF540 (*)
  • Rezistory: 3x1K, 2x10K, 1x2K (*)
  • svorkovnice (*)
  • samičí lišty (*)
  • samčí lišty (*)

(*) volitelně

Krok 2: Nastavení Raspberry Pi

Tato příručka je v zásadě založena na knihovně Raspbian Jessie Lite, Python 2.7 a RGB LED MATRIX od uživatele Hzeller Github.

Nejprve aktualizujte a upgradujte RPI

Nainstalujte git

~ $ sudo apt-get install git

Stáhněte si knihovnu RGB LED MATRIX z Githubu

~ $ git klon

~ $ cd rpi-rgb-led-matrix

~ $ sudo make

blacklist Interní zvuková karta RPI

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

černá listina snd_bcm2835

EOF

~ $ sudo update -initramfs -u

V případě potřeby nastavte parametry externí zvukové karty:

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

změna:

defaults.ctl.card 0

defaults.pcm.card 0

na

defaults.ctl.card 1

defaults.pcm.card 1

poté restartujte.

Nyní nainstalujte maticovou knihovnu

~ $ 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 nainstalujte další potřebné knihovny:

~ $ sudo easy_install pip

~ $ sudo pip install

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

Získejte zdarma registraci klíče API do Open Weather Map

Instalovat nyní OWM Python wrapper pro PYthon 2.7 (díky uživateli CSPARPAGithub)

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

Získejte přihlašovací údaje ke Kalendáři Google podle pokynů v rozhraní Google Calendar API

Pro přehrávání zvuku nainstalujte Pygame

~ $ sudo apt-get install python-pygame

Informační kanály RSS vyžadují nainstalovaný Feedparser

~ $ sudo pip install feedparser

zkopírujte můj skript ORAeng_131.py (anglická verze) nebo ORAita_131.py (italská verze) do domovského adresáře

vytvářet složky pro zvuky a obrázky:

mkdir dbsounds

mkdir owm

stáhněte a zkopírujte všechny soubory-p.webp

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

přidejte své pověření OWM na řádek 69 (API_key)

nastavit město pro předpověď počasí (zkontrolujte, zda je pokryto OWM a je přijat správný název) na řádcích 213, 215

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

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

********************************* AKTUALIZACE 28. 7. 2019 ********** ******************

Nové rozhraní Google Calendar API vytváří problémy. Vyřešil jsem odstranění některých modulů:

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

~ $ sudo apt-get autoremove python-pyasn1

zkuste spustit skript

~ $ sudo python ORAeng_150.py # nebo ORAita_150.py pro italskou verzi

skript poprvé požádá o autorizaci GCAL. Klikněte na odkaz na přihlašovací údaje rozhraní Google API. Pak udělejte svolení, pokud je vše v pořádku, uvidíte spuštění hodin.

kvůli nadměrnému využití RAM po několika hodinách jsem napsal skript, který jednoduše restartuje skript pythonu, když využití RAM překročí prahovou úroveň. Potom zkopírujte do domovského adresáře skript s názvem memcheck přejmenování na memcheck.sh a přidejte do crontab -e společně hlavní skript

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

Krok 3: Skripty

Hlavní skript je třeba upravit podle vašich potřeb. Za předpokladu, že pověření OWM a Goggle Calendar jsou nastavena jako jejich příslušné instrukce API, jsou nejdůležitějšími parametry:

seznam událostí kalendáře provádějící každou hodinu v minutě 2, 32 (viz řádek skriptu 65)

povětrnostní podmínky a předpověď provádějící každou hodinu v minutě 7, 37 (viz řádek skriptu 66)

nejnovější zprávy hrající každou hodinu v minutě 11 (viz řádek skriptu 67)

nejnovější zprávy rss kanál. Vnitřní skript je nastaven jako Instructable RSS, ale lze jej změnit. (viz řádek skriptu 366)

Je zřejmé, že skript upřednostňuje oznámení o událostech v kalendáři nebo upozornění na připomenutí. Někdy hodiny nevykonávají své funkce, aby se vyhnuly křížení funkcí.

Časovač zapnutí/vypnutí Attiny85 je třeba naprogramovat tak, aby nahrával skicu Tempo_V1_9_1Mhz_bugfix.ino.

To umožní zapnout zařízení v 8 ráno a vypnout ve 23. Další informace najdete v tutoriálu.

Krok 4: Okruh

Okruh
Okruh
Okruh
Okruh
Okruh
Okruh

Obvod má v zásadě 3 sekce

- časovač zapnutí/vypnutí ovládaný modulem DS3231, Attiny85 a Mosfet

- přepínač pro ruční ovládání funkcí hodin

- připojovací část, kde je kabeláž pro data a napájení RGB LED Matrix, zesilovač zvuku a Raspberry Pi

Nezmíněn odporový dělič napětí, který umožňuje RPI číst HIGH/LOW 5V signál z Attiny85

Přepínače jsou připojeny k pinům RPI a GND přímo pomocí vnitřních odporů

Časovač Attiny85 pochází z mého předchozího projektu s názvem TEMPO. DS3231 v zásadě odesílá LOW signál na přerušovací pin Attiny85, který jej probouzí z režimu spánku. Po probuzení Attiny85 posílá signál HIGH do tranzistoru Mosfet a aktivuje napájecí obvod pro RPI, LED Matrix a audio zesilovač (pokud není připojen k další PS pomocí relé, jako moje poslední konfigurace).

Chcete -li vypnout RPI, můj skript počítá s tím, že RPI poslouchá digitální signál na pinu 14, když je HIGH, se nazývá příkaz vypnutí. Poté RPI provede správný proces vypnutí, poté se po jedné minutě Attiny85 vrátí do režimu spánku a Mosfet obdrží LOW signál, který vypne celé zařízení. Tento proces je drsný, ale účinný.

PIR modul je volitelný a připojuje se přímo k RPI GPIO.

Moje konfigurace vyžaduje, aby byly připojeny následující piny GPIO RPI:

15 na PIR

14 na Attiny85 pin 3 přes dělič napětí

21 do reléového modulu

2 pro přepnutí (TLAČÍTKO ZADAT)

3 pro přepnutí (TLAČÍTKO ZMĚNIT STAV)

Problémy:

- šum díky napájení LED Matrix, vyřešeno pomocí malého PS pouze pro audio zesilovač. Volitelné relé umožňuje zapnutí zesilovače pouze v případě potřeby. To může při zapnutí/vypnutí způsobit hluk.

Obvod byl vyleptán pomocí měděné desky, 3D tiskárny, značkovače a chloridu železitého.

Krok 5: Sestavení

Sestavování
Sestavování
Sestavování
Sestavování
Sestavování
Sestavování
Sestavování
Sestavování

Přizpůsobil jsem obecný rám 40x50 cm tomuto projektu společně s 3D tištěnými díly a některými volitelnými doplňky.

Sklo je stíněno okenní sluneční fólií a matnou plastovou fólií. LED matice musí být udržována asi 1 cm na skle, aby se zabránilo vidění bílých vnitřních diod. Malé šrouby a matice a šrouby M3 jsou nutné. Povinné jsou kabely a termosetové pouzdro.

LED matice jsou přišroubovány na zadní panel rámu.

Krok 6: A teď?

A teď ?
A teď ?
A teď ?
A teď ?

Dalším krokem bude přidání teplotního senzoru, aktivace funkcí bluetooth a proč ne, přehrávače internetového rádia, dokud nebude potenciál Raspberry Pi maximální.

sbohem

Hodinová soutěž
Hodinová soutěž
Hodinová soutěž
Hodinová soutěž

Runner Up in the Clocks Contest

Doporučuje: