Turinys:
- 1 žingsnis: ko jums reikia
- 2 veiksmas: „Raspberry Pi“sąranka
- 3 žingsnis: scenarijai
- 4 žingsnis: grandinė
- 5 žingsnis: Surinkimas
- 6 žingsnis: O dabar?
Video: O-R-A RGB LED matricinis sieninis laikrodis ir dar daugiau ** atnaujintas 2019 m. Liepos mėn. **: 6 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:46
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ė
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
š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?
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
Antroji vieta laikrodžių konkurse
Rekomenduojamas:
8x8 LED matricinis laikrodis ir įspėjimas apie įsilaužimą: 4 žingsniai (su nuotraukomis)
8x8 LED matricos laikrodis ir įspėjimas apie įsibrovimą: šioje instrukcijoje pamatysime, kaip sukurti 8x8 LED matricos laikrodį, aktyvuotą judesio aptikimu. Šis laikrodis taip pat gali būti naudojamas kaip apsaugos nuo įsibrovimo įtaisas, siunčiantis įspėjamąjį pranešimą, jei judesys yra aptikta telegramos robotui !!! Mes padarysime su dviem skirtingais
Nuostabus šiltnamis su automatiniu laistymu, interneto ryšiu ir dar daugiau: 7 žingsniai (su nuotraukomis)
Nuostabus šiltnamis su automatiniu laistymu, interneto ryšiu ir dar daugiau: Sveiki atvykę į šią instrukciją. Kovo pradžioje buvau sodo parduotuvėje ir pamačiau keletą šiltnamių. Ir kadangi jau seniai norėjau sukurti projektą su augalais ir elektronika, ėmiausi ir nusipirkau: https://www.instagram.com/p
Vaivorykštinis žodžių laikrodis su visu vaivorykštės efektu ir dar daugiau: 13 žingsnių (su nuotraukomis)
Vaivorykštinis laikrodis su visišku vaivorykštės efektu ir dar daugiau: tikslai1) paprastas2) nebrangus Neopikselių ryškumo valdymas Atnaujinta sausio 1 d
NFC užraktas - kai PCB taip pat yra mygtukai, antena ir dar daugiau : 7 žingsniai (su nuotraukomis)
NFC užraktas - kai PCB taip pat yra mygtukai, antena ir dar daugiau: galite pasiimti vieną iš dviejų dalykų iš šios instrukcijos. Galite sekti ir sukurti savo skaitmeninės klaviatūros ir NFC skaitytuvo derinį. Schema yra čia. PCB išdėstymas yra čia. Rasite medžiagą, kad galėtumėte užsisakyti
Automatinė katapulta, skirta mesti naminių gyvūnėlių maistą (šuo, katė, vištiena ir kt.), Mesti kamuolius ir dar daugiau!: 4 žingsniai (su nuotraukomis)
Automatinė katapulta, skirta mesti naminių gyvūnėlių ėdalą (šuo, katė, vištiena ir kt.), Mesti kamuolius ir dar daugiau!: Sveiki ir sveiki atvykę į mano pirmąjį „Instructable“! Mūsų šuo myli savo maistą, tiesiog pažodžiui viską suvalgys per kelias sekundes. Aš sugalvojau būdus, kaip tai sulėtinti - nuo kamuolių su maistu viduje ir išmetimo visame kieme. Nuostabu, ji