Sisukord:

O-R-A RGB LED-maatriksiga seinakell ja muud ** uuendatud juulis 2019 **: 6 sammu (koos piltidega)
O-R-A RGB LED-maatriksiga seinakell ja muud ** uuendatud juulis 2019 **: 6 sammu (koos piltidega)

Video: O-R-A RGB LED-maatriksiga seinakell ja muud ** uuendatud juulis 2019 **: 6 sammu (koos piltidega)

Video: O-R-A RGB LED-maatriksiga seinakell ja muud ** uuendatud juulis 2019 **: 6 sammu (koos piltidega)
Video: 650 LITER BIOTOPE AQUARIUM - BONSAI FOREST AQUASCAPE PLANTING AND FISH SELECTION 2024, Juuli
Anonim
Image
Image
O-R-A RGB LED-maatriksiga seinakell ja muud ** uuendatud juulis 2019 **
O-R-A RGB LED-maatriksiga seinakell ja muud ** uuendatud juulis 2019 **
O-R-A RGB LED-maatriksiga seinakell ja muud ** uuendatud juulis 2019 **
O-R-A RGB LED-maatriksiga seinakell ja muud ** uuendatud juulis 2019 **
O-R-A RGB LED-maatriksiga seinakell ja muud ** uuendatud juulis 2019 **
O-R-A RGB LED-maatriksiga seinakell ja muud ** uuendatud juulis 2019 **

Tere. Siin ma olen uue projektiga nimega O-R-A

See on RGB LED -maatriksiga seinakell, mis kuvab:

  • tund: minut
  • temperatuur
  • niiskus
  • praeguse ilmastikuolude ikoon
  • Google'i kalendri sündmused ja 1 tunni meeldetuletusteated

kindlal ajal näitab see:

  • Google'i kalendri täna ja homme sündmuste loend
  • ilmateade
  • erakorralised uudised

Sõltuvusfunktsioonid:

  • tänane kuupäev
  • Magic 8 pall
  • Köögi taimer

Mis tahes funktsiooni jaoks mängib seade erinevat helisignaali. Igasuguste ilmastikutingimuste korral tuleb funktsiooni helistamisel esitada vastav helifail.

Funktsioone, nagu Google'i kalendri loend, ilmateade, RSS -i uudised algavad eelnevalt valitud ajal, kui seade on "kellarežiimis", neid võib nimetada ka lülitite otseseks kasutamiseks. Teine funktsioon "kellarežiimis" kuvab praeguse päeva/kuu/aasta. Seda saab käivitada, vajutades ENTER nuppu. Kui vajutate "kellarežiimis" 3 sekundi jooksul nuppu CHANGE STATE ja seejärel nuppu ENTER, sisenete valikute menüüsse. CHANGE STATE nupp on seadistatud menüüs kerimiseks, ENTER nupp kinnitab valitud valiku.

See projekt on minu eelmise LEGOLEDi ja TEMPO evolutsioon. RGB led -maatrikspaneelil on nüüd eraldusvõime 32x64, nii et samal ajal on võimalik kuvada rohkem mõistetavat graafikat, fikseeritud ja keritavat teksti. Kasutades TEMPO funktsioone, lülitub seade automaatselt sisse ja välja ilma ühegi nupu või välise taimerita. PIR -moodul tuvastab inimeste kohaloleku ja lülitab seetõttu ekraani sisse/välja.

Ilmaprognoose ja kalendriandmeid kogutakse iga minut Google'i kalendri ja avatud ilmakaardi kaudu.

See projekt on täielikult kohandatav alates Raspberry PI B+, 2 moodulist 16x64 rgb led maatriksist ja toiteallikast. Seda saab laiendada, nagu ma tegin, lisades USB helikaardid, kõlarid, toiteahela sisse/välja.

Samm: mida vajate

  • Raspberry Pi B+ (sisseehitatud wifi või donglega)
  • 2 x 16x64 RGB led -maatriksit või 2 x 32x32
  • üldraam (40x50 cm ja umbes 3 cm sügavus)
  • matt plastist leht
  • akna päikesekile
  • PS 5V 10A
  • kaablid
  • termoreaktiivne ümbris (*)
  • releemoodul (*)
  • täiendav PS helivõimendi jaoks (*)
  • 3W helivõimendusmoodul (*)
  • kõlarid (*)
  • USB helikaart (*)
  • 2 x mikrolüliti (*)
  • PIR (*)
  • Attiny85 (*)
  • DS3231 (*)
  • Mosfet IRF540 (*)
  • Takistid: 3x1K, 2x10K, 1x2K (*)
  • klemmliist (*)
  • päise ribad emane (*)
  • päisribad isased (*)

(*) vabatahtlik

Samm: Raspberry Pi seadistamine

See juhend põhineb põhimõtteliselt Hzeller Githubi kasutaja Raspbian Jessie Lite, Python 2.7 ja RGB LED MATRIX raamatukogul.

Kõigepealt uuenda ja uuenda RPI -d

Installige git

~ $ sudo apt-get install git

Laadige Githubist alla RGB LED MATRIX raamatukogu

~ $ git kloon

~ $ cd rpi-rgb-led-maatriks

~ $ sudo make

musta nimekirja RPI sisemine helikaart

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

must nimekiri snd_bcm2835

EOF

~ $ sudo update -initramfs -u

Kui vajate helivõimalusi, määrake helikaardi välised parameetrid:

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

muutus:

defaults.ctl.card 0

vaikeseaded.pcm.kaart 0

et

defaults.ctl.card 1

vaikeväärtused.pcm.kaart 1

siis taaskäivitage.

Nüüd installige maatriksiteek

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

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

~ $ make build-python

~ $ sudo make install-python

ja installige muud vajalikud teegid:

~ $ sudo easy_install pip

~ $ sudo pip installige

Kopeerige skript samplebase.py failist ~/rpi-rgb-led-matrix/bindings/python/sample/kodukataloogi

Hankige API võtme registreerimine tasuta ilmakaardi avamiseks

Installige kohe OWM Pythoni ümbris PYthon 2.7 jaoks (tänu CSPARPAGithubi kasutajale)

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

Hankige Google'i kalendri mandaat, järgides juhiseid Google'i kalendri API -s

Heli esitamiseks installige Pygame

~ $ sudo apt-get install python-pygame

RSS -kanalid vajavad Feedparseri installimist

~ $ sudo pip install feedparser

kopeeri minu skript ORAeng_131.py (ingliskeelne versioon) või ORAita_131.py (itaaliakeelne versioon) kodukataloogi

helide ja piltide jaoks kaustade loomine:

mkdir db kõlab

mkdir owm

laadige alla ja kopeerige kõik-p.webp

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

lisage oma OWM mandaat reale 69 (API_key)

määrake ilmateate jaoks linn (kontrollige, kas see on kaetud OWM -iga ja kas õige nimi on aktsepteeritud) ridadele 213, 215

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

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

********************************* UPDATE 28/7/2019 ********** *******************

Uus Google'i kalendri API tekitab probleeme. Olen lahendanud mõne mooduli eemaldamise:

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

~ $ sudo apt-get autoremove python-pyasn1

proovige skripti käivitada

~ $ sudo python ORAeng_150.py # või ORAita_150.py itaaliakeelse versiooni jaoks

esmakordselt küsib skript GCAL -i luba. Google'i api mandaadi saamiseks klõpsake linki. Andke luba, kui kõik on korras, näete kella käivitamist.

liigse RAM -i kasutamise tõttu mitme tunni pärast kirjutasin ma skripti, mis lihtsalt käivitab pythoni skripti uuesti, kui RAM -i kasutamine ületab künnistaseme. Seejärel kopeerige kodukataloogi skript nimega memcheck, nimetades selle ümber memcheck.sh -ks ja lisage koos põhiskriptiga crontab -e

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

3. samm: skriptid

Peamist skripti tuleb vastavalt teie vajadustele muuta. Eeldades, et OWM -i ja Goggle'i kalendri mandaadid on seatud nende API -juhistena, on kõige olulisemad parameetrid järgmised:

kalendrisündmuste loend, mis toimub iga tund 2., 32. minutil (vt skripti rida 65)

ilmastikutingimused ja prognoos, mis toimuvad iga tund 7., 37. minutil (vt skripti rida 66)

värskeid uudiseid esitatakse iga tund 11. minutil (vt skripti rida 67)

uudiste rss kanal. Skripti sees on seatud Instructable RSS, kuid seda saab muuta. (vt skripti rida 366)

Ilmselgelt seab skript esikohale sissetulevad kalendrisündmused või meeldetuletusteated. Mõnikord ei täida kell funktsioone, et vältida funktsioonide ületamist.

Attiny85 sisse/välja lülitamise taimer tuleb programmeerida, laadides üles visandi Tempo_V1_9_1Mhz_bugfix.ino.

See võimaldab seadme sisse lülitada kell 8 hommikul ja välja lülitada kell 23. Lisateabe saamiseks vaadake õpetust.

4. samm: vooluring

Ringkond
Ringkond
Ringkond
Ringkond
Ringkond
Ringkond

Vooluringil on põhimõtteliselt 3 sektsiooni

- sisse- ja väljalülitamise taimer, mida käsitlevad DS3231 moodulid, Attiny85 ja Mosfet

- lüliti kellafunktsioonide käsitsi juhtimiseks

- ühendusosa, kus on RGB LED -maatriksi andmete ja toite, helivõimendi ja Raspberry Pi kaabeldus

Ei ole mainitud takistuslikku pingejaoturit, mis võimaldab RPI -l lugeda Attiny85 kõrge/madala 5 V signaali

Lülitid on ühendatud RPI tihvtiga ja GND -ga otse sisemiste takistite abil

Attiny85 taimer pärineb minu eelmisest projektist nimega TEMPO. Põhimõtteliselt saadab DS3231 LOW signaali Attiny85 katkestusnõelale, mis äratab selle unerežiimist. Ärkamisel saadab Attiny85 HIGH signaali Mosfeti transistorile, aktiveerides toiteahela RPI, LED -maatriksi ja helivõimendi jaoks (kui see pole minu viimase konfiguratsioonina ühendatud releega, kui see pole ühendatud täiendava PS -ga).

RPI väljalülitamiseks kaalun oma skripti puhul, et RPI kuulab digitaalsignaali pinil 14, kui see on KÕRGE, nimetatakse väljalülituskäskluseks. Seejärel sooritab RPI õige väljalülitusprotsessi, seejärel lülitub Attiny85 minuti pärast unerežiimi ja Mosfet saab LOW signaali, mis lülitab kogu seadme välja. See protsess on karm, kuid tõhus.

PIR -moodul on valikuline ja ühendatud otse RPI GPIO -ga.

Minu konfiguratsioon eeldab, et järgmised RPI GPIO tihvtid on ühendatud:

15 kuni PIR

14 kuni Attiny85 tihvt 3 läbi pingejaguri

21 releemoodulile

2 vahetamiseks (ENTER BUTTON)

3 vahetamiseks (VAHETA OLEKUNUPPU)

Probleemid:

- müra LED -maatriksi toiteallikast, lahendatud väikese helivõimendi abil ainult helivõimendi jaoks. Valikuline relee võimaldab võimendi sisse lülitada ainult vajadusel. See võib sisse-/väljalülitamisel tekitada müra.

Ahel on söövitatud vaskplaadi, 3D -printeri, markeri ja raudkloriidi abil.

5. samm: kokkupanek

Kokkupanek
Kokkupanek
Kokkupanek
Kokkupanek
Kokkupanek
Kokkupanek
Kokkupanek
Kokkupanek

Olen selle projekti jaoks kohandanud üldise 40x50 cm raami koos 3D trükitud osade ja mõnede lisavarustusega.

Klaas on kaitstud akna päikesekile ja mattklaasiga. LED -maatriksit tuleb hoida klaasist umbes 1 cm kaugusel, et vältida valgete LED -ide nägemist. Väikesed kruvid on vajalikud M3 mutrite ja poltidena. Kohustuslikud on kaablid ja termoreaktiivsed ümbrised.

LED -maatriksid kruvitakse raami tagaküljele.

6. samm: ja nüüd?

Ja nüüd ?
Ja nüüd ?
Ja nüüd ?
Ja nüüd ?

Järgmine samm on temperatuurianduri, Bluetooth -funktsioonide aktiveerimise ja miks mitte ka Interneti -raadio -mängija lisamine kuni maksimaalse Raspberry Pi potentsiaalini.

Hüvasti

Kellade võistlus
Kellade võistlus
Kellade võistlus
Kellade võistlus

Kellade võistluse teine koht

Soovitan: