Sisällysluettelo:
- Vaihe 1: Mitä tarvitset
- Vaihe 2: Raspberry Pi -asennus
- Vaihe 3: Skriptit
- Vaihe 4: Piiri
- Vaihe 5: Kokoaminen
- Vaihe 6: Ja nyt?
Video: O-R-A RGB Led Matrix Wall Clock and More ** päivitetty heinäkuussa 2019 **: 6 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Hei. Tässä olen uuden projektin nimeltä O-R-A
Se on RGB LED Matrix -seinäkello, joka näyttää:
- tunti: minuutti
- lämpötila
- kosteus
- nykyisen säätilan kuvake
- Google -kalenterin tapahtumat ja 1 tunnin muistutusilmoitukset
tiettynä aikana se näyttää:
- Google -kalenteri tänään ja huomenna tapahtumaluettelo
- Sääennuste
- Viimeisimmät uutiset
Riippuvaiset toiminnot:
- nykyinen päivämäärä
- Magic 8 pallo
- Keittiöajastin
Kaikkia toimintoja varten laite toistaa eri äänihälytyksen. Kaikissa sääolosuhteissa on toistettava vastaava äänitiedosto, kun toiminto kutsutaan.
Toiminnot, kuten Google -kalenteriluettelo, sääennuste, RSS -uutiset alkavat ennalta valitusta ajankohdasta, kun laite on "kellotilassa". Näitä toimintoja voidaan kutsua myös suoraan kytkimien käyttämiseksi. Toinen toiminto "kellotilassa" näyttää nykyisen päivän/kuukauden/vuoden. Se voidaan suorittaa painamalla ENTER -painiketta. Painamalla CHANGE STATE -painiketta ja sitten ENTER -painiketta 3 sekunnin kuluessa "kellotilassa" pääset asetusvalikkoon. CHANGE STATE -painike asettaa vierittämään valikkoa, ENTER -painike vahvistaa valinnan.
Tämä projekti on edellisen LEGOLEDin ja TEMPON kehitys. RGB -led -matriisipaneelin resoluutio on nyt 32x64, joten älykkäämpää grafiikkaa, kiinteää ja vierittävää tekstiä voidaan näyttää samanaikaisesti. Käyttämällä TEMPO -toimintoja laite kytkeytyy päälle ja pois päältä automaattisesti ilman mitään painiketta tai ulkoista ajastinta. PIR -moduuli havaitsee henkilöiden läsnäolon, joten kytke näyttö päälle/pois.
Sääennuste ja kalenteritiedot kerätään joka minuutti Google -kalenterin ja Open Weather Map -palvelun toimittamana.
Tämä projekti on täysin muokattavissa alkaen Raspberry PI B+, 2 moduulin 16x64 rgb led -matriisista ja virtalähteestä. Sitä voidaan laajentaa, kuten minä, lisäämällä USB -äänikortteja, kaiuttimia, virtapiiri päälle/pois.
Vaihe 1: Mitä tarvitset
- Raspberry Pi B+ (sisäänrakennettu wifi tai dongle)
- 2 x 16x64 RGB -led -matriisi tai 2 x 32x32
- yleinen kehys (40x50 cm ja noin 3 cm syvyys)
- himmeä muovilevy
- ikkunan aurinkokalvo
- PS 5V 10A
- kaapelit
- lämpökovettuva vaippa (*)
- relemoduuli (*)
- ylimääräinen PS äänivahvistimelle (*)
- 3 W: n vahvistinmoduuli (*)
- kaiuttimet (*)
- USB -äänikortti (*)
- 2 x mikrokytkin (*)
- PIR (*)
- Attiny85 (*)
- DS3231 (*)
- Mosfet IRF540 (*)
- Vastukset: 3x1K, 2x10K, 1x2K (*)
- riviliitin (*)
- päänauhat naaras (*)
- päätyliuskat uros (*)
(*) valinnainen
Vaihe 2: Raspberry Pi -asennus
Tämä opas perustuu pohjimmiltaan Hzeller Githubin käyttäjän Raspbian Jessie Lite-, Python 2.7- ja RGB LED MATRIX -kirjastoon.
Ensinnäkin päivitä ja päivitä RPI
Asenna git
~ $ sudo apt-get install git
Lataa RGB LED MATRIX -kirjasto Githubista
~ $ git-klooni
~ $ cd rpi-rgb-led-matriisi
~ $ sudo tehdä
mustan listan RPI -sisäinen äänikortti
~ $ kissa << EOF | sudo tee /etc/modprobe.d/blacklist-rgb-matrix.conf
musta lista snd_bcm2835
EOF
~ $ sudo update -initramfs -u
Aseta ulkoiset äänikortin parametrit, jos tarvitset äänitoimintoja:
~ $ sudo nano /usr/share/alsa/alsa.conf
muutos:
defaults.ctl.card 0
defaults.pcm.card 0
kohteeseen
defaults.ctl.card 1
defaults.pcm.card 1
käynnistä sitten uudelleen.
Asenna nyt matriisikirjasto
~ $ 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
ja asenna muut tarvittavat kirjastot:
~ $ sudo easy_install pip
~ $ sudo pip asenna
Kopioi script samplebase.py ~/rpi-rgb-led-matrix/bindings/python/sample/kotihakemistoon
Hanki API -avain rekisteröitymään ilmaiseksi Open Weather Mapiin
Asenna nyt OWM Python -kääre PYthon 2.7: lle (kiitos CSPARPAGithub -käyttäjälle)
~ $ sudo pip install git+https://github.com/csarpa/[email protected]
Hanki Google -kalenterin kirjautumistiedot noudattamalla ohjeita Google -kalenterin sovellusliittymässä
Jos haluat toistaa ääntä, asenna Pygame
~ $ sudo apt-get install python-pygame
RSS -syötteet tarvitsevat Feedparserin asennuksen
~ $ sudo pip asenna feedparser
kopioi skriptini ORAeng_131.py (englanninkielinen versio) tai ORAita_131.py (italialainen versio) kotihakemistoon
luoda kansioita äänille ja kuville:
mkdir dbsounds
mkdir owm
lataa ja kopioi kaikki-p.webp
www.dropbox.com/sh/nemyfcj1a1i18ic/AAB1W7I6lg5EgqL1gJZPWVTxa?dl=0
lisää OWM -tunnuksesi riville 69 (API_key)
aseta kaupunki sääennusteelle (tarkista, onko se OWM: n peittämä ja oikea nimi hyväksytty) riveille 213, 215
obs = owm.weather_at_place ('Napoli, IT')
fc = owm.three_hours_forecast ('Napoli, IT')
********************************* PÄIVITYS 28.7.2019 ********** *******************
Uusi Google -kalenterin sovellusliittymä luo ongelmia. Olen ratkaissut joidenkin moduulien poistamisen:
~ $ sudo apt-get remove --purge python-setuptools
~ $ sudo apt-get autoremove python-pyasn1
kokeile skriptiä käynnissä
~ $ sudo python ORAeng_150.py # tai ORAita_150.py italialaiselle versiolle
skripti kysyy ensimmäistä kertaa GCAL -valtuutusta. Napsauta linkkiä Googlen api -tunnistetietoihin. Anna sitten lupa, jos kaikki on kunnossa, näet kellon alkavan.
johtuen liiallisesta RAM -muistin käytöstä useiden tuntien jälkeen, kirjoitin komentosarjan, joka yksinkertaisesti käynnistää python -komentosarjan uudelleen, kun RAM -käyttö ylittää kynnystason. Kopioi sitten kotihakemistoon skripti nimeltä memcheck, nimeä uudelleen memcheck.sh ja lisää crontab -e -ohjelmaan pääskripti
*/5 * * * * bash /home/pi/memcheck.sh@reboot sudo python /home/pi/ORAeng_150.py
Vaihe 3: Skriptit
Pääskriptiä on muutettava tarpeidesi mukaan. Olettaen, että OWM- ja Goggle -kalenterin kirjautumistiedot on asetettu vastaaviksi API -ohjeiksi, tärkeimmät parametrit ovat:
kalenteritapahtumaluettelo, joka suoritetaan joka tunti minuutilla 2, 32 (katso komentorivi 65)
sääolosuhteet ja ennuste suoritetaan joka tunti minuutilla 7, 37 (ks. komentorivi 66)
ajankohtaiset uutiset esiintyvät joka tunti minuutilla 11 (katso komentosarjan rivi 67)
uutiset RSS -kanava. Skriptin sisällä on Instructable RSS, mutta sitä voidaan muuttaa. (Katso komentorivi 366)
On selvää, että komentosarja antaa etusijan saapuville kalenteritapahtumille tai muistutusilmoituksille. Joskus kello ei suorita ominaisuuksiaan, jotta toiminnot eivät ylity.
Attiny85: n käynnistys- ja sammutusajastin on ohjelmoitava lähettämällä luonnos Tempo_V1_9_1Mhz_bugfix.ino.
Tämä mahdollistaa laitteen käynnistämisen kello 8 aamulla ja sammutuksen klo 23. Katso lisätietoja opetusohjelmasta.
Vaihe 4: Piiri
Piirissä on periaatteessa 3 osaa
- Päälle/pois -ajastin, jota käsittelevät DS3231 -moduuli, Attiny85 ja Mosfet
- kytkin kellotoimintojen manuaaliseen ohjaukseen
- liitäntäosa, jossa on RGB LED Matrix -tietojen ja tehon, äänivahvistimen ja Raspberry Pi: n kaapelointi
Ei mainittu resistiivinen jännitteenjakaja, jonka avulla RPI voi lukea HIGH/LOW 5V -signaalin Attiny85: stä
Kytkimet on kytketty RPI -nastaan ja GND: hen suoraan sisäisillä vastuksilla
Attiny85 -ajastin on peräisin edellisestä projektistani nimeltä TEMPO. Pohjimmiltaan DS3231 lähettää LOW -signaalin Attiny85 -keskeytystappiin, joka herättää sen lepotilasta. Herätessä Attiny85 lähettää HIGH -signaalin Mosfet -transistorille aktivoimalla RPI: n, LED -matriisin ja äänivahvistimen virtalähteen (jos sitä ei ole kytketty ylimääräiseen PS: ään releen kautta, viimeisenä kokoonpanona).
RPI: n sammuttamiseksi käsikirjoitukseni harkitsee, että RPI kuuntelee digitaalista signaalia nastassa 14, kun se on KORKEA, kutsutaan sammutuskomennoksi. Sitten RPI suorittaa oikean sammutusprosessin, ja minuutin kuluttua Attiny85 palaa lepotilaan ja Mosfet vastaanottaa LOW -signaalin, joka sammuttaa koko laitteen. Tämä prosessi on karkea, mutta tehokas.
PIR -moduuli on valinnainen ja kytketty suoraan RPI GPIO -laitteeseen.
Kokoonpanoni edellyttävät, että seuraavat RPI GPIO -nastat on kytketty:
15 PIRiin
14 - Attiny85 nasta 3 jännitteenjakajan kautta
21 relemoduuliin
2 vaihtaaksesi (ENTER BUTTON)
3 vaihtaaksesi (CHANGE STATE BUTTON)
Ongelmat:
- melu johtuen LED Matrix -virtalähteestä, joka ratkaistaan pienellä PS: llä vain äänivahvistimelle. Valinnainen rele mahdollistaa vahvistimen kytkemisen päälle vain tarvittaessa. Tämä voi aiheuttaa kohinan, kun se kytkeytyy päälle/pois.
Piiri on syövytetty kuparilevyllä, 3D -tulostimella, merkillä ja ferrikloridilla.
Vaihe 5: Kokoaminen
Olen mukauttanut tähän projektiin yleisen 40 x 50 cm: n kehyksen yhdessä 3D -tulostettujen osien ja joidenkin lisävarusteiden kanssa.
Lasi on suojattu ikkunan aurinkokalvolla ja himmeällä muovilevyllä. Led -matriisi on pidettävä noin 1 cm: n etäisyydellä lasista, jotta valkoiset LED -valot eivät näy. Pieniä ruuveja tarvitaan M3 -muttereina ja -pultteina. Pakolliset ovat kaapelit ja lämpökovettuva vaippa.
Led -matriisit ruuvataan kehyksen takapaneeliin.
Vaihe 6: Ja nyt?
Seuraava askel on lisätä lämpötila -anturi, Bluetooth -toimintojen aktivointi ja, miksi ei, Internet -radiosoitin, kunnes Raspberry Pi -potentiaali on mahdollisimman suuri.
Hei hei
Toinen sija kellokilpailussa
Suositeltava:
Päivitetty aurinkolaser + led nyt Power Bankilla: 3 vaihetta
Päivitetty Solar Laser + Led nyt Power Bankilla: Käytän USB: lle virtapankkipiiriä ja superkondensaattoreiden sijasta käytin LED -nikkelimetallihydridiä ja lisäsin laserosoittimen ja virtapankkiin käytin litium -kennoa ja latasin USB ei ole aurinko. Ja lisäsin varmuuskopioidun aurinkopaneelin
Ambilight -järjestelmä jokaiseen televisioon kytkettyyn tuloon. WS2812B Arduino UNO Raspberry Pi HDMI (Päivitetty 12.2019): 12 vaihetta (kuvilla)
Ambilight -järjestelmä jokaiseen televisioon kytkettyyn tuloon. WS2812B Arduino UNO Raspberry Pi HDMI (Päivitetty 12.2019): Olen aina halunnut lisätä ambilightin televisioon. Näyttää niin siistiltä! Tein vihdoin ja en ollut pettynyt! Olen nähnyt monia videoita ja monia opetusohjelmia Ambilight -järjestelmän luomisesta televisiollesi, mutta en ole koskaan löytänyt täydellistä opetusohjelmaa tälle oppilaalleni
Päivitetty elokuvalaatikko: 11 vaihetta (kuvilla)
Päivitetty elokuvalaatikko: Muutama kuukausi sitten lähetin Instructable -ohjelman Raspberry Pi -elokuvasoittimelleni VHS -kasettiin. Siitä lähtien olen rakentanut useita ystäville ja perheelle ja yksinkertaistanut prosessia. Raspberry Pi v3: n avulla emme enää tarvitse USB -keskitintä
DIY LED Dome Light (päivitetty 9-15-09): 10 vaihetta
DIY LED Dome -valo (päivitetty 9-15-09): Pieni Honda Del Sol tarvitsi kirkkaamman kupolivalon. Menin tavallisesta lampusta valmistetuksi LED -korvaajaksi lopulta yhdeksi kirkkaaseksi, jonka voin jopa lukea
Maalaa matkapuhelimesi: Päivitetty: 10 vaihetta (kuvilla)
Maalaa matkapuhelimesi: Päivitetty: Joten tämä on minun ohjeeni maalata matkapuhelimesi! Minun tapauksessani se on Nokia 3310. Syy, miksi päätin maalata tämän puhelimen, on vaihdettavat kuoret. (Ja se on minun puhelimeni. Ja siinä on Snake II.)