Talaan ng mga Nilalaman:

O-R-A RGB Led Matrix Wall Clock at Higit Pa ** na-update Hul 2019 **: 6 Mga Hakbang (na may Mga Larawan)
O-R-A RGB Led Matrix Wall Clock at Higit Pa ** na-update Hul 2019 **: 6 Mga Hakbang (na may Mga Larawan)

Video: O-R-A RGB Led Matrix Wall Clock at Higit Pa ** na-update Hul 2019 **: 6 Mga Hakbang (na may Mga Larawan)

Video: O-R-A RGB Led Matrix Wall Clock at Higit Pa ** na-update Hul 2019 **: 6 Mga Hakbang (na may Mga Larawan)
Video: 20 MOMENTS YOU WOULDN'T BELIEVE IF NOT FILMED 2024, Nobyembre
Anonim
Image
Image
O-R-A RGB Led Matrix Wall Clock at Higit Pa ** na-update Hul 2019 **
O-R-A RGB Led Matrix Wall Clock at Higit Pa ** na-update Hul 2019 **
O-R-A RGB Led Matrix Wall Clock at Higit Pa ** na-update Hul 2019 **
O-R-A RGB Led Matrix Wall Clock at Higit Pa ** na-update Hul 2019 **
O-R-A RGB Led Matrix Wall Clock at Higit Pa ** na-update Hul 2019 **
O-R-A RGB Led Matrix Wall Clock at Higit Pa ** na-update Hul 2019 **

Kamusta. Narito ako kasama ang isang bagong proyekto na nagngangalang O-R-A

Ito ay isang RGB LED Matrix wall clock na nagpapakita:

  • oras: minuto
  • temperatura
  • halumigmig
  • kasalukuyang icon ng kondisyon ng panahon
  • Mga kaganapan sa Google Calendar at mga abiso sa paalala na 1h

sa isang tukoy na oras na ipinapakita nito:

  • Google Calendar ngayon at bukas na listahan ng mga kaganapan
  • Ulat panahon
  • nagbabagang balita

Mga pagpapaandar sa pagkaadik:

  • kasalukuyang petsa
  • Magic 8 ball
  • Taymer ng kusina

Para sa anumang pagpapaandar ang aparato ay nagpe-play ng ibang audio alarm. Para sa lahat ng uri ng mga kundisyon ng panahon mayroong isang kaukulang audio file na ipe-play kapag tinawag ang pagpapaandar.

Ang mga pagpapaandar tulad ng listahan ng Google Kalendaryo, Pagtataya ng Panahon, pagbabalita ng balita ng RSS ay nagsisimula sa naunang napiling oras kapag ang aparato ay nasa "mode na orasan", maaari din itong tawaging direktang pagpapatakbo ng mga switch. Ang isa pang pagpapaandar sa panahon ng "mode na orasan" ay nagpapakita ng kasalukuyang araw / buwan / taon. Maaari itong patakbuhin ang pagpindot sa ENTER button. Ang pagpindot sa button na PALITAN ANG STATE at pagkatapos ay ENTER button sa loob ng 3 segundo sa "orasan mode", hayaan kang pumasok sa menu ng mga pagpipilian. Ang pindutan ng Pagbabago ng Estado ay itinakda upang mag-scroll sa loob ng menu, ang ENTER button ay upang kumpirmahin ang napiling pagpipilian.

Ang proyektong ito ay isang ebolusyon ng aking nakaraang LEGOLED at TEMPO. Ang RGB led matrix panel ay may resolusyon na 32x64 ngayon, kaya posible na magpakita ng higit na hindi mahuhulugan na mga graphic, naayos at nag-scroll na teksto nang sabay. Gamit ang mga pag-andar ng TEMPO awtomatikong nakabukas at naka-off ang aparato nang walang anumang pindutan o panlabas na timer. Ang isang module ng PIR ay nakakakita ng pagkakaroon ng mga tao samakatuwid ay i-on / i-off ang display.

Ang data ng pagtataya ng panahon at kalendaryo ay kinokolekta bawat minuto na ibinigay ng Google Calendar at Buksan ang Mapa ng Panahon.

Ang proyektong ito ay ganap na napapasadyang simula sa isang Raspberry PI B +, 2 module na 16x64 rgb led matrix at power supply. Maaari itong mapalawak, tulad ng ginawa ko, pagdaragdag ng mga USB sound card, speaker, on / off power circuit.

Hakbang 1: Ano ang Kailangan Mo

  • Raspberry Pi B + (na may built-in na wifi o dongle)
  • 2 x 16x64 RGB na humantong matrix o 2 x 32x32
  • pangkaraniwang frame (40x50 cm & 3 cm lalim na tinatayang)
  • nagyelo na plastic sheet
  • window ng solar film
  • PS 5V 10A
  • mga kable
  • thermosetting sheath (*)
  • module ng relay (*)
  • sobrang PS para sa audio amplifier (*)
  • 3W module ng amplifier ng audio (*)
  • mga nagsasalita (*)
  • USB sound card (*)
  • 2 x microswitch (*)
  • PIR (*)
  • Attiny85 (*)
  • DS3231 (*)
  • Mosfet IRF540 (*)
  • Mga resistorista: 3x1K, 2x10K, 1x2K (*)
  • terminal block (*)
  • header strips babae (*)
  • header strips lalaki (*)

(*) opsyonal

Hakbang 2: Pag-setup ng Raspberry Pi

Ang gabay na ito ay karaniwang batay sa Raspbian Jessie Lite, Python 2.7 at RGB LED MATRIX library ng gumagamit ng Hzeller Github.

Una sa lahat i-update at i-upgrade ang RPI

I-install git

~ $ sudo apt-get install git

Mag-download ng RGB LED MATRIX library mula sa Github

~ $ git clone

~ $ cd rpi-rgb-led-matrix

~ $ sudo gumawa

blacklist RPI panloob na soundcard

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

blacklist snd_bcm2835

EOF

~ $ sudo update-initramfs -u

Itakda ang mga panlabas na parameter ng soundcard kung nangangailangan ng mga kakayahan sa audio:

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

baguhin:

mga default.ctl.card 0

mga default.pcm.card 0

sa

mga default.ctl.card 1

mga default.pcm.card 1

pagkatapos ay i-reboot.

Ngayon i-install ang matrix library

~ $ cd / home / pi / rpi-rgb-led-matrix

~ $ sudo apt-get update && sudo apt-get install python2.7-dev python-pillow -y

~ $ gumawa ng build-python

~ $ sudo gumawa ng install-python

at pag-install ng iba pang mga silid-aklatan na kinakailangan:

~ $ sudo easy_install pip

~ $ sudo pip i-install ingrplib2

Kopyahin ang samplebase.py script mula sa ~ / rpi-rgb-led-matrix / bindings / python / sample / sa direktoryo sa bahay

Kumuha ng pagrehistro sa key ng API nang libre upang Buksan ang Mapa ng Panahon

I-install na ngayon ang OWM Python wrapper para sa PYthon 2.7 (salamat sa gumagamit ng CSPARPAGithub)

~ $ sudo pip install git +

Kunin ang kredensyal ng Google Calendar sumusunod na mga tagubilin sa Google calendar API

Para sa pag-play ng audio i-install ang Pygame

~ $ sudo apt-get install python-pygame

Kailangan ng RSS feed ang naka-install na feedparser

~ $ sudo pip install feedparser

kopyahin ang aking script na ORAeng_131.py (bersyon sa ingles) o ORAita_131.py (bersyon ng italian) sa direktoryo sa bahay

lumikha ng mga folder para sa mga tunog at larawan:

mkdir dbsounds

mkdir owm

i-download at kopyahin ang lahat ng mga-p.webp

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

idagdag ang iyong kredensyal sa OWM sa linya 69 (API_key)

itakda ang lungsod para sa pagtataya ng panahon (suriin kung saklaw ito ng OWM at ang tamang pangalan na tinanggap) sa mga linya 213, 215

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

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

***** ***** *****

Lumilikha ng mga problema ang bagong Google Calendar API. Nalutas ko ang pag-alis ng ilang mga module:

~ $ sudo apt-get alisin --huli sa python-setuptools

~ $ sudo apt-get autoremove python-pyasn1

subukan ang pagpapatakbo ng script

~ $ sudo python ORAeng_150.py # o ORAita_150.py para sa italian na bersyon

sa unang pagkakataon hihingi ang script ng pahintulot sa GCAL. I-click ang link sa kredensyal ng google api. Bigyan ng pahintulot kung gayon, kung ang mga bagay na ok, makikita mo ang pagsisimula ng orasan.

dahil sa labis na paggamit ng RAM pagkatapos ng maraming oras, nagsulat ako ng isang script na simpleng i-restart ang script ng sawa kapag ang paggamit ng RAM ay napupunta sa isang antas ng threshold. Pagkatapos kopyahin sa direktoryo sa bahay ang script na pinangalanang memcheck pagpapalit ng pangalan sa memcheck.sh at idagdag sa crontab -e magkasama pangunahing script

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

Hakbang 3: Ang Mga Script

Ang pangunahing script ay kailangang mabago nang naaayon sa iyong mga pangangailangan. Ipagpalagay na ang mga kredensyal ng OWM at Goggle Calendar ay itinakda bilang kani-kanilang mga tagubilin sa API, ang pinakamahalagang mga parameter ay:

listahan ng mga kaganapan sa kalendaryo na gumaganap bawat oras sa minuto 2, 32 (tingnan ang linya ng script 65)

mga kondisyon sa panahon at pagtataya na gumaganap bawat oras sa minuto 7, 37 (tingnan ang linya ng script 66)

nagbabalita ng balita tuwing oras sa minuto 11 (tingnan ang linya ng script 67)

nagbabalita ng balita rss channel. Ang loob ng iskrip ay nakatakda sa Maaaring turuan ng RSS, ngunit maaaring mabago. (tingnan ang linya ng script 366)

Malinaw na, nagbibigay ng priyoridad ang script sa mga incomings na kaganapan sa kalendaryo o mga paalala sa paalala. Minsan hindi ginagawa ng orasan ang mga tampok nito upang maiwasan ang tawiran ng mga pagpapaandar.

Ang Attiny85 on / off timer ay kailangang i-program sa pag-upload ng sketch na Tempo_V1_9_1Mhz_bugfix.ino.

Pinapayagan nitong i-on ang aparato alas-8 ng umaga at i-off sa 23. Tingnan ang tutorial para sa karagdagang impormasyon.

Hakbang 4: Ang Circuit

Ang Circuit
Ang Circuit
Ang Circuit
Ang Circuit
Ang Circuit
Ang Circuit

Ang circuit ay may karaniwang 3 mga seksyon

- Ang power on / off timer na hawakan ng module ng DS3231, Attiny85 at Mosfet

- Lumipat para sa manu-manong kontrol ng mga tampok sa orasan

- seksyon ng koneksyon kung saan ang paglalagay ng kable para sa RGB LED Matrix datas at lakas, audio amplifier at Raspberry Pi

Hindi nabanggit ang isang resistive voltage divider na nagpapahintulot sa RPI na basahin ang isang HIGH / LOW 5V signal mula sa Attiny85

Ang mga switch ay konektado sa RPI pin isang GND direkta gamit ang panloob na resistors

Ang Attiny85 timer ay nagmula sa aking dating proyekto na nagngangalang TEMPO. Talaga, ang DS3231 ay nagpapadala ng LOW signal sa Attiny85 makagambala na pin na gisingin ito mula sa mode ng pagtulog. Sa paggising ng Attiny85 ay nagpapadala ng TAAS na signal sa Mosfet transistor, pinapagana ang power supply circuit para sa RPI, LED Matrix at audio amplifier (kung hindi nakakonekta sa sobrang PS thrugh isang relay, bilang aking huling pagsasaayos).

Upang mai-shutdown ang RPI, isinasaalang-alang ng aking iskrip na makinig ang RPI ng digital signal sa pin 14, kapag ito ay TAAS, ay tinatawag na isang shutdown command. Pagkatapos ang RPI ay nagsasagawa ng tamang proseso ng pag-shutdown, pagkatapos pagkatapos ng isang minuto, bumalik ang Attiny85 sa mode ng pagtulog at nakatanggap ang Mosfet ng isang LOW signal na papatayin ang buong aparato. Ang proseso na ito ay magaspang ngunit epektibo.

Ang module ng PIR ay opsyonal at direktang konektado sa RPI GPIO.

Kinakailangan ng aking pagsasaayos na ang pagsunod sa mga RPI GPIO pin ay konektado sa:

15 hanggang PIR

14 hanggang sa Attiny85 pin 3 sa pamamagitan ng voltage divider

21 upang i-relay ang module

2 upang lumipat (ENTER BUTTON)

3 upang lumipat (BAGUHIN ANG BUTTON NG ESTADO)

Mga Isyu:

- ingay dahil sa LED Matrix power supply, nalutas gamit ang isang maliit na PS para lamang sa audio amplifier. Pinapayagan ng isang opsyonal na relay na i-on lamang ang amplifier kapag kinakailangan. Maaari itong maging sanhi ng isang ingay ng paga kapag ito ay naka-on / off.

Ang circuit ay naukit gamit ang plate ng tanso, 3D printer, marker at ferric chloride.

Hakbang 5: Pagtitipon

Pagtitipon
Pagtitipon
Pagtitipon
Pagtitipon
Pagtitipon
Pagtitipon
Pagtitipon
Pagtitipon

inangkop ko ang isang pangkaraniwang 40x50cm na frame sa proyektong ito nang magkakasama ang mga naka-print na bahagi ng 3D at ilang mga opsyonal na mga extra.

Ang salamin ay pinoprotektahan ng window solar film at frosted plastic sheet. Ang Led matrix ay kailangang itago mga 1cm sa baso upang maiwasan na makita ang puti sa loob ng mga leds. Ang mga maliliit na turnilyo ay kinakailangan bilang M3 nut at bolts. Ang obligado ay mga kable at shem thermosetting.

Ang mga led matrix ay naka-screw sa backside panel ng frame.

Hakbang 6: At Ngayon?

At ngayon ?
At ngayon ?
At ngayon ?
At ngayon ?

Ang susunod na hakbang ay upang magdagdag ng isang sensor ng temperatura, pag-activate ng mga kakayahan ng bluetooth at, bakit hindi, isang internet radio player hanggang sa maximum na potensyal na Raspberry Pi.

Paalam

Mga Paligsahan sa Orasan
Mga Paligsahan sa Orasan
Mga Paligsahan sa Orasan
Mga Paligsahan sa Orasan

Runner Up sa Clocks Contest

Inirerekumendang: