Turinys:

O-R-A RGB LED matricinis sieninis laikrodis ir dar daugiau ** atnaujintas 2019 m. Liepos mėn. **: 6 žingsniai (su nuotraukomis)
O-R-A RGB LED matricinis sieninis laikrodis ir dar daugiau ** atnaujintas 2019 m. Liepos mėn. **: 6 žingsniai (su nuotraukomis)

Video: O-R-A RGB LED matricinis sieninis laikrodis ir dar daugiau ** atnaujintas 2019 m. Liepos mėn. **: 6 žingsniai (su nuotraukomis)

Video: O-R-A RGB LED matricinis sieninis laikrodis ir dar daugiau ** atnaujintas 2019 m. Liepos mėn. **: 6 žingsniai (su nuotraukomis)
Video: Светильник светодиодный накладной, бра LUMINARIA GEOMETRIA SQUARE 12W S 2024, Liepa
Anonim
Image
Image
O-R-A RGB LED matricinis sieninis laikrodis ir dar daugiau ** atnaujintas 2019 m. Liepos mėn. **
O-R-A RGB LED matricinis sieninis laikrodis ir dar daugiau ** atnaujintas 2019 m. Liepos mėn. **
O-R-A RGB LED matricinis sieninis laikrodis ir dar daugiau ** atnaujintas 2019 m. Liepos mėn. **
O-R-A RGB LED matricinis sieninis laikrodis ir dar daugiau ** atnaujintas 2019 m. Liepos mėn. **
O-R-A RGB LED matricinis sieninis laikrodis ir dar daugiau ** atnaujintas 2019 m. Liepos mėn. **
O-R-A RGB LED matricinis sieninis laikrodis ir dar daugiau ** atnaujintas 2019 m. Liepos mėn. **

Sveiki. Štai aš su nauju projektu, pavadintu O-R-A

Tai RGB LED matricos sieninis laikrodis, rodantis:

  • valanda: minutė
  • temperatūra
  • drėgmės
  • esamos oro sąlygos piktograma
  • „Google“kalendoriaus įvykiai ir 1 valandos priminimų pranešimai

tam tikru laiku jis parodo:

  • „Google“kalendoriaus šiandien ir rytoj įvykių sąrašas
  • orų prognozė
  • naujienas

Priklausomybės funkcijos:

  • dabartinė data
  • Magic 8 kamuolys
  • Virtuvės laikmatis

Dėl bet kokių funkcijų prietaisas atkuria kitą garso signalą. Esant bet kokioms oro sąlygoms, atitinkamas garso failas turi būti paleistas, kai iškviečiama funkcija.

Funkcijos, tokios kaip „Google“kalendoriaus sąrašas, orų prognozė, naujienos apie RSS, prasideda iš anksto pasirinktu laiku, kai įrenginys yra „laikrodžio režimu“, jas taip pat galima vadinti tiesioginiu jungiklių valdymu. Kita „laikrodžio režimo“funkcija rodo esamą dieną/mėnesį/metus. Jį galima paleisti paspaudus ENTER mygtuką. Paspaudę „CHANGE STATE“mygtuką ir „ENTER“mygtuką per 3 sekundes „laikrodžio režimu“, galėsite patekti į parinkčių meniu. Mygtukas CHANGE STATE yra skirtas slinkti meniu, ENTER mygtukas patvirtina pasirinktą parinktį.

Šis projektas yra mano ankstesnių LEGOLED ir TEMPO evoliucija. RGB LED matricos skydelis dabar turi 32x64 skiriamąją gebą, todėl vienu metu galima rodyti intelektualesnę grafiką, fiksuotą ir slenkantį tekstą. Naudodamas TEMPO funkcijas, prietaisas automatiškai įsijungia ir išsijungia be jokių mygtukų ar išorinio laikmačio. PIR modulis nustato žmonių buvimą, todėl įjungia/išjungia ekraną.

Orų prognozės ir kalendoriaus duomenys renkami kiekvieną minutę, kurią teikia „Google“kalendorius ir „Open Weather Map“.

Šis projektas yra visiškai pritaikomas pradedant nuo Raspberry PI B+, 2 modulio 16x64 rgb LED matricos ir maitinimo šaltinio. Jį galima išplėsti, kaip ir aš, pridedant USB garso plokštes, garsiakalbius, įjungimo/išjungimo maitinimo grandinę.

1 žingsnis: ko jums reikia

  • „Raspberry Pi B+“(su integruotu „Wi-Fi“arba raktu)
  • 2 x 16x64 RGB LED matrica arba 2 x 32x32
  • bendras rėmas (40x50 cm ir maždaug 3 cm gylis)
  • matinio plastiko lakštas
  • langų saulės plėvelė
  • PS 5V 10A
  • kabeliai
  • termoreaktyvus apvalkalas (*)
  • relės modulis (*)
  • papildomas PS garso stiprintuvui (*)
  • 3 W garso stiprintuvo modulis (*)
  • garsiakalbiai (*)
  • USB garso plokštė (*)
  • 2 x mikro jungiklis (*)
  • PIR (*)
  • „Attiny85“(*)
  • DS3231 (*)
  • „Mosfet IRF540“(*)
  • Rezistoriai: 3x1K, 2x10K, 1x2K (*)
  • terminalo blokas (*)
  • antraštės juostelės patelė (*)
  • antraštės juostelės vyriškos (*)

(*) neprivaloma

2 veiksmas: „Raspberry Pi“sąranka

Šis vadovas iš esmės yra pagrįstas „Raseller“„Jessie Lite“, „Python 2.7“ir „RGB LED MATRIX“biblioteka, kurią sukūrė „Hzeller Github“vartotojas.

Pirmiausia atnaujinkite ir atnaujinkite RPI

Įdiekite „git“

~ $ sudo apt-get install git

Atsisiųskite RGB LED MATRIX biblioteką iš „Github“

~ $ git klonas

~ $ cd rpi-rgb-led-matrica

~ $ sudo padaryti

juodojo sąrašo RPI vidinė garso plokštė

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

juodasis sąrašas snd_bcm2835

EOF

~ $ sudo update -initramfs -u

Jei reikia garso funkcijų, nustatykite išorinius garso plokštės parametrus:

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

pakeisti:

defaults.ctl.card 0

numatytieji.pcm.card 0

į

numatytosios nuostatos.ctl.card 1

numatytosios nuostatos.pcm.card 1

tada paleiskite iš naujo.

Dabar įdiekite matricos biblioteką

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

ir įdiekite kitas reikalingas bibliotekas:

~ $ sudo easy_install pip

~ $ sudo pip įdiegti

Nukopijuokite scenarijų samplebase.py iš ~/rpi-rgb-led-matrix/bindings/python/sample/į namų katalogą

Gaukite nemokamą API rakto registraciją, kad atidarytumėte orų žemėlapį

Įdiekite dabar „OWM Python“įvyniojimą, skirtą „PYthon 2.7“(dėka CSPARPAGithub vartotojo)

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

Gaukite „Google“kalendoriaus prisijungimo duomenis vadovaudamiesi „Google“kalendoriaus API instrukcijomis

Norėdami paleisti garsą, įdiekite „Pygame“

~ $ sudo apt-get install python-pygame

RSS kanaluose reikia įdiegti „Feedparser“

~ $ sudo pip įdiegti feedparser

nukopijuokite mano scenarijų ORAeng_131.py (versija anglų kalba) arba ORAita_131.py (versija italų kalba) į namų katalogą

sukurti garsų ir paveikslėlių aplankus:

mkdir dbsounds

mkdir owm

atsisiųskite ir nukopijuokite visus-p.webp

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

pridėkite savo OWM kredencialus prie 69 eilutės (API_key)

nustatykite miestą orų prognozėms (patikrinkite, ar jis yra įtrauktas į OWM ir ar teisingas pavadinimas priimtas) 213, 215 eilutėse

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

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

********************************* ATNAUJINIMAS 2019-07-28 ********** ******************

Naujoji „Google“kalendoriaus API sukuria problemų. Aš nusprendžiau pašalinti kai kuriuos modulius:

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

~ $ sudo apt-get autoremove python-pyasn1

pabandykite paleisti scenarijų

~ $ sudo python ORAeng_150.py # arba ORAita_150.py itališkai

pirmą kartą scenarijus paprašys GCAL leidimo. Spustelėkite nuorodą, kad gautumėte „Google“API prisijungimo duomenis. Tada duokite leidimą, jei viskas gerai, pamatysite laikrodžio pradžią.

dėl per didelio RAM naudojimo po kelių valandų parašiau scenarijų, kuris paprasčiausiai iš naujo paleidžia python scenarijų, kai RAM naudojimas viršija slenkstinį lygį. Tada nukopijuokite į pagrindinį katalogą scenarijų, pavadintą memcheck, pervardykite į memcheck.sh ir pridėkite prie crontab -e kartu pagrindinį scenarijų

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

3 žingsnis: scenarijai

Pagrindinis scenarijus turi būti pakeistas pagal jūsų poreikius. Darant prielaidą, kad OWM ir „Goggle“kalendoriaus kredencialai yra nustatyti kaip atitinkamos API instrukcijos, svarbiausi parametrai yra šie:

kalendoriaus įvykių sąrašas, atliekamas kiekvieną valandą 2, 32 minutėmis (žr. scenarijaus 65 eilutę)

oro sąlygos ir prognozės, atliekamos kas valandą 7, 37 minutėmis (žr. scenarijaus 66 eilutę)

naujienos, atliekamos kas valandą 11 minutę (žr. scenarijaus 67 eilutę)

naujienų RSS kanalas. Viduje scenarijus nustatytas Instructable RSS, tačiau jį galima pakeisti. (žr. scenarijaus 366 eilutę)

Akivaizdu, kad scenarijus teikia pirmenybę gaunamiems kalendoriaus įvykiams ar priminimų pranešimams. Kartais laikrodis neatlieka savo funkcijų, kad būtų išvengta funkcijų kirtimo.

„Attiny85“įjungimo/išjungimo laikmatis turi būti užprogramuotas įkeliant eskizą „Tempo_V1_9_1Mhz_bugfix.ino“.

Tai leidžia įjungti įrenginį 8 ryte ir išjungti 23 valandą. Daugiau informacijos rasite mokymo programoje.

4 žingsnis: grandinė

Circuit
Circuit
Circuit
Circuit
Circuit
Circuit

Grandinę iš esmės sudaro 3 skyriai

- įjungimo/išjungimo laikmatis, valdomas DS3231 modulio, „Attiny85“ir „Mosfet“

- rankinio laikrodžio funkcijų valdymo jungiklis

- prijungimo skyrius, kuriame yra RGB LED matricos duomenų ir maitinimo kabeliai, garso stiprintuvas ir „Raspberry Pi“

Nepaminėtas varžinis įtampos daliklis, leidžiantis RPI nuskaityti HIGH/LOW 5V signalą iš „Attiny85“

Jungikliai yra prijungti prie RPI kaiščio ir GND tiesiogiai naudojant vidinius rezistorius

„Attiny85“laikmatis yra iš mano ankstesnio projekto, pavadinto „TEMPO“. Iš esmės DS3231 siunčia LOW signalą į Attiny85 nutraukimo kaištį, kuris pažadina jį iš miego režimo. Pabudus „Attiny85“siunčia AUKŠTĄ signalą į „Mosfet“tranzistorių, suaktyvindamas RPI, LED matricos ir garso stiprintuvo maitinimo grandinę (jei nesu prijungta prie papildomo PS per relę, kaip paskutinė mano konfigūracija).

Norėdami išjungti RPI, mano scenarijus numato, kad RPI klauso skaitmeninio signalo 14 kaištyje, kai jis yra AUKŠTAS, vadinamas išjungimo komanda. Tada RPI atlieka teisingą išjungimo procesą, tada po vienos minutės „Attiny85“grįžta į miego režimą ir „Mosfet“gauna LOW signalą, kuris išjungia visą įrenginį. Šis procesas yra grubus, bet veiksmingas.

PIR modulis yra neprivalomas ir tiesiogiai prijungtas prie RPI GPIO.

Mano konfigūracijai reikia, kad prie šių RPI GPIO kaiščių būtų prijungti:

15 iki PIR

14 iki Attiny85 kaiščio 3 per įtampos skirstytuvą

21 į relės modulį

2, norėdami perjungti (Įvesti mygtuką)

3, kad perjungtumėte (PAKEISTI BŪSENOS MYGTUKĄ)

Problemos:

- triukšmas dėl LED matricos maitinimo šaltinio, išspręstas naudojant mažą PS tik garso stiprintuvui. Papildoma relė leidžia įjungti stiprintuvą tik tada, kai to reikia. Tai gali sukelti triukšmą, kai jis įjungiamas/išjungiamas.

Grandinė buvo išgraviruota naudojant varinę plokštę, 3D spausdintuvą, žymeklį ir geležies chloridą.

5 žingsnis: Surinkimas

Surinkimas
Surinkimas
Surinkimas
Surinkimas
Surinkimas
Surinkimas
Surinkimas
Surinkimas

šiam projektui pritaikiau bendrą 40x50 cm rėmą kartu su 3D spausdintomis dalimis ir kai kuriais papildomais priedais.

Stiklas yra apsaugotas lango saulės plėvele ir matiniu plastiko lakštu. Šviesos diodų matricą reikia laikyti maždaug 1 cm atstumu nuo stiklo, kad nebūtų matomos baltos šviesos diodai. Maži varžtai yra būtini kaip M3 veržlės ir varžtai. Privalomi yra kabeliai ir termoreaktyvus apvalkalas.

LED matricos yra prisukamos ant galinės rėmo plokštės.

6 žingsnis: O dabar?

Ir dabar ?
Ir dabar ?
Ir dabar ?
Ir dabar ?

Kitas žingsnis bus pridėti temperatūros jutiklį, įjungti „Bluetooth“galimybes ir, kodėl gi ne, interneto radijo grotuvą iki maksimalaus „Raspberry Pi“potencialo.

Ate

Laikrodžių konkursas
Laikrodžių konkursas
Laikrodžių konkursas
Laikrodžių konkursas

Antroji vieta laikrodžių konkurse

Rekomenduojamas: