Sisällysluettelo:
- Vaihe 1: Osat
- Vaihe 2: Asenna Raspberry Pi
- Vaihe 3: LED -nauhan asentaminen
- Vaihe 4: LED -nauhan ohjaus
- Vaihe 5: Kellotaulun tekeminen
- Vaihe 6: Virta Pi: lle
- Vaihe 7: Suorita piiri ja pakkaus
- Vaihe 8: Lataa koodi + Valmis
Video: Uudistettu herätyskello Smart Light: 8 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
Tässä projektissa kierrätän täysin rikkoutuneen herätyskellon. Kellotaulu korvataan 12 LED -valolla, joita valaisee kellon reunan ympärillä oleva LED -nauha. 12 LED -valoa ilmoittavat kellonajan ja LED -nauha on ohjelmoitu toimimaan hälytyksenä, jolloin se kirkastuu täyteen asetettuun aikaan. Kaikkea ohjaa Raspberry Pi Zero, joka mahdollistaa lukemattomat integrointi- ja laajennusmahdollisuudet, kuten valohälytyksen automaattisen synkronoinnin puhelimen hälytyksen kanssa tai LED -valojen vilkkumisen, kun saat sähköpostiviestin.
Projekti käyttää suhteellisen halpoja tai uudelleen käytettyjä komponentteja - ainoa asia, jonka päädyin ostamaan, oli jännitesäädin. Kaikki muu, mitä satun makaamaan, kuten LED-nauhan leikkaus. Tämä opastettava opastaa sinua kuinka annoin uuden elämän rikkinäiselle kellolleni ja toivottavasti saattaa innostaa sinua kierrättämään jotain omaa.
Vaihe 1: Osat
Kaiken hallitsemiseksi aiomme käyttää Raspberry Pi Zeroa, koska se on pieni, maksaa hyvin vähän ja voidaan yhdistää WiFi -verkkoon, mikä tarkoittaa, että emme tarvitse reaaliaikaista kelloa ja voimme siksi päivittää koodin helposti etänä kannettavasta tietokoneesta. Ellei sinulla ole Pi Zero W: tä, muodostamme yhteyden WiFi -verkkoon USB -WiFi -sovittimen avulla.
Tässä on luettelo käyttämistäni osista, mutta useimmat asiat voidaan vaihtaa sopiviin vaihtoehtoihin. Esimerkiksi Raspberry Pi: n sijasta voit käyttää projektin ohjaamiseen Arduinoa, jossa on reaaliaikainen kello.
Käytetyt osat
- Vanha herätyskello
- 30 cm lämmin valkoinen LED -nauha
- 1x Raspberry Pi Zero + micro SD -kortti
- 1x USB WiFi -avain + mikro -USB -USB -muunnin
- 12x LEDit
- 12x 330ohm vastukset (käytä korkeampia, jos haluat himmentää LEDit)
- 1x TIP31a (tai muu npn -tehotransistori tai MOSFET)
- 1x 1k vastus
- 1x LM2596 säädettävä DC-DC-buck-muunnin (alentaa 12 V: n 5 V: lle Raspberry Pi: lle)
- 1 x 12 voltin virtalähde (+ tapa päästä projektiin)
- 10 cm x 10 cm puuta kellotauluun (sen tulisi olla sopivan ohut LED -valojen asentamiseksi)
- Erilaisia erivärisiä lankoja
Hyödyllisiä asioita
- Juotosrauta + juote
- Kuuma liima
- Yleismittari
- Leipälauta
- Naaraspuoliset otsatapit
- Micro SD -kortinlukija tai -muunnin
- Tietokone
- Mini HDMI -sovitin + HDMI -näyttö, jos haluat käyttää Pi: n työpöytäympäristöä
Vaihe 2: Asenna Raspberry Pi
Käyttöjärjestelmä
Koska Raspberry Pi: tä ei yhdistetä näyttöön, valitsin Raspbian Buster Liten, joka ei tule työpöytäympäristön mukana. Jos olet uudempi Raspberry Pi -laitteessa, sinun kannattaa pitää kiinni tavallisesta Raspbian Busterista, joka tulee työpöydän mukana. Jos et ole varma käyttöjärjestelmän asentamisesta, tämä on loistava resurssi. Molemmat käyttöjärjestelmät voidaan ladata Raspberry Pi -sivustolta.
Käytä toistaiseksi Pi -laitetta Micro USB -virtatulon kautta. Liitä myös USB -WiFi -sovitin.
Puhuminen Raspberry Pi: n kanssa
Kun kaikki on pakattu, Pi: n käyttäminen on melko vaikeaa, jos haluat muuttaa koodia jne. SSH: n avulla voit muodostaa yhteyden Pi: hen ja hallita sitä toiselta tietokoneelta. Tämä ei ole oletusarvoisesti päällä, mutta voimme tehdä yksinkertaisesti luomalla kansion nimeltä ssh SD -kortin käynnistysosioon. Jos olet jo kirjautunut sisään Pi-laitteeseesi, voit tehdä tämän myös kirjoittamalla päätelaitteeseen sudo raspi-config ja siirtymällä kohtaan Liitäntäasetukset> SSH ja ottamalla sen käyttöön valitsemalla Kyllä.
Nyt voit muodostaa yhteyden Pi -laitteeseen toisella tietokoneella. Macissa tai Linuxissa voit käyttää päätesovellustasi, mutta useimpiin Windows -versioihin sinun on asennettava SSH -asiakas, kuten PuTTY. Muodosta yhteys Pi: hen kirjoittamalla ssh pi@, jossa isäntänimi korvataan Pi: n IP -osoitteen isäntänimellä. Oletusisäntänimi on raspberrypi.local. Se pyytää sinulta salasanaa, joka on vadelma, jos et ole vielä vaihtanut sitä.
Tarvittavien tavaroiden asentaminen
Varmista ensin, että kaikki on ajan tasalla suorittamalla sudo apt update ja sitten sudo apt full-upgrade.
Varmistaaksemme, mitä tarvitsemme hallitaksesi Pi-tyypin GPIO-nastoja sudo apt-get install python-rpi.gpio ja sudo apt-get install python3-rpi.gpio. Nämä pitäisi jo asentaa Raspbianin täysversioon.
Koodi
Tässä on ladattava koodi, jotta kaikki toimii. Jos käytät työpöytäympäristöä, liitä ne Asiakirjat -kansioon.
Jos käytät SSH: n komentoriviä, siirry kotikansioosi kirjoittamalla cd ~/Documents ja painamalla enter. Luo uusi tiedosto nimeltä test1.py nano test1.py avulla. Tämä avaa nanotekstieditorin, johon voit liittää ladatun test1.py -tiedoston koodin. CTRL-O ja paina Enter tallentaaksesi tiedoston ja CTRL-X sulkeaksesi editorin. Toista prosessi jäljellä oleville tiedostoille.
Vaihe 3: LED -nauhan asentaminen
Nosta ensin LED -nauha kelloon nähdäksesi kuinka paljon tarvitset, merkitse tämä pituus ja leikkaa nauha seuraavassa leikkauspisteessä kuvan osoittamalla tavalla. Johtojen juottaminen nauhaan on paljon helpompaa ennen kuin nauha jumittuu paikalleen. Tämä on melko hyvä opas tämän tekemiseen, mutta jos olet epävarma, harjoittelisin vain juotosliitoksessa kappaleessa, josta olet juuri leikannut nauhan. Juotos yksi johto positiiviseen juotospisteeseen ja yksi johto negatiiviseen. Muista testata LED -nauhan toiminta ennen kuin kiinnität sen kelloon.
Koska käyttämääni LED -nauhaa oli käytetty ennen kuin se oli menettänyt itseliimautuvan taustansa, joten minun piti käyttää kuumaa liimaa nauhan kiinnittämiseen kellon reunan ympärille. Jos sinulla on liikaa pituutta, peitä johtojen kiinnityskohta. Voit halutessasi asentaa nauhan myöhemmin, mutta minusta oli helpompaa kiinnittää se kelloon.
Vaihe 4: LED -nauhan ohjaus
LED -nauhan liittäminen
LED -nauha toimii 12 V: lla, joten sitä ei voida syöttää suoraan Pi -laitteesta. Niiden hallitsemiseksi käytämme tehotransistoria (esim. TIP31a), joka on kytketty Pi: hen yllä kuvatulla tavalla. Suosittelen ensin tarkistamaan, että kaikki toimii leipälaudalla.
- Liitä GPIO 19 tukiasemaan 1k vastuksen kautta
- Lähetin on kytkettävä GND: hen
- Liitä keräin LED -nauhan negatiiviseen napaan
- Kytke positiivinen LED -nauhaliitin +12 V: iin
Testaus
Napsauta komentorivillä asiakirjakansioosi (cd ~/Documents) ja kirjoita python test1.py ja kirjoita. LED -nauhan kirkkauden pitäisi kasvaa ja laskea. Lopeta ohjelma painamalla CTRL-C. Voit muokata tiedoston nopeutta ja kirkkautta muokkaamalla tiedostoa (nano test1.py).
tuoda RPi. GPIO GPIO: ksi tuoda GPIO.setmode (GPIO. BCM) # Käytä BCM -pinoutia GPIO.setwarnings (False) # Ohita varoitukset, jotka koskevat nastojen käyttöä muihin tarkoituksiin ledStripPin = 19 # LED -nauhaa ohjataan tästä nastasta GPIO.setup (ledStripPin, GPIO. dutyCycle alueella (0, 101, 1): # Pwm up pwm. ChangeDutyCycle (dutyCycle) time.sleep (0,05) tasavirralle alueella (95, -1, -1): # Häivytetty pwm. ChangeDutyCycle (dc) aika.sleep (0.05) paitsi näppäimistö
Vaihe 5: Kellotaulun tekeminen
Leikkaa kellon puukappale alaspäin sopivan kokoiseksi, jotta se mahtuu kelloosi. Sain omani lepäämään noin 3 cm edestä. Poraa 12 reikää, joiden halkaisija on LEDit (yleensä 3 mm tai 5 mm) 30 asteen etäisyydellä toisistaan. Hio etupuoli alaspäin ja levitä haluamasi viimeistely. Aseta LED -valot takapuolelta siten, että ne osoittavat eteenpäin. Käytin kuumaa liimaa pitämään LEDit paikallaan positiivinen napa (pidempi johto) sisäänpäin. Kellotaulun koko tarkoitti sitä, että voisin juottaa kaikki negatiiviset liittimet yhteen (katso yllä), joten tarvittiin vain yksi johto kaikkien 12 LED -valon liittämiseksi GND: hen. Seuraavaksi juota lanka jokaiseen LED -valoon.
Jos haluat testata tätä leipälevyllä, muista käyttää vastusta (330ohm on melko vakio) sarjassa jokaisen LED -valon kanssa ennen kuin liität sen johonkin Pi GPIO -nastaan. Pelaa noin käyttämällä vastusta, jonka avulla saat kirkkaustason, johon olet tyytyväinen. T-suutari on todella hyödyllinen Pi: n nastojen irrottamiseksi leipälevylle, vaikka sinun on juotettava otsikkotapit tähän. Käytä test2.py (suorita python test2.py -ohjelmalla), mutta varmista, että muokkaat ensin ohjelmaa ja kirjoitat Pi: n GPIO -nastat, joita olet käyttänyt kullekin LED -valolle.
Tuo RPi. GPIO GPIO: ksi
tuontiaika GPIO.setmode (GPIO. BCM) # Käytä BCM -pinoutia GPIO.setwarnings (False) # Ohita varoitukset, jotka koskevat nastojen käyttöä muihin asioihin # Korvaa yksi, kaksi,… vastaavalla PIN -numerolla hourPin = [yksi, kaksi, kolme, neljä, viisi, kuusi, seitsemän, kahdeksan, yhdeksän, kymmenen, yksitoista, kaksitoista] # LED-nastat, joihin LED-valot on kytketty välillä 1–12 (0, 12): GPIO.setup (hourPin , GPIO. OUT) # Aseta kaikki hourPins -lähdöt GPIO.output (hourPin , 0) # Varmista, että kaikki LED -valot eivät pala: yritä: kun True: for i alueella (0, 12) GPIO.output (hourPin , 1): time.sleep (0,05) i: lle alueella (0, 12) GPIO. output (hourPin , 0): time.sleep (0,05) paitsi KeyboardInterrupt: # Lopeta painamalla CTRL-C ja sitten: GPIO.cleanup () # Puhdista GPIO -nastat
Vaihe 6: Virta Pi: lle
Tarvitsemme helpon tavan saada 5 V Pi Zeroon, jotta voimme päästä eroon mikro -USB -kaapelista, jota olemme käyttäneet tähän asti. On olemassa useita ratkaisuja, jotka vähentävät 12 V: sta 5 V: een, kuten LM7805 -lineaarinen jännitesäädin, mutta ne eivät ole kovin tehokkaita, joten päätin käyttää tehokkaampaa säädettävää buck -muunninta LM2596 -sirun avulla. Huomaa, että sinun on kierrettävä potentiometriä, kunnes lähtöjännite laskee 5 V: ksi tarpeen mukaan, joten tarvitset jonkin tavan mitata jännitettä.
LM2596: n käyttö on yksinkertaista: kytke +12V IN +-liitäntään, maadoitus IN-. Pi voidaan kytkeä suoraan 5 V: een kytkemällä OUT+ yhteen Pi: n 5 V: n nastoista, mutta varmista, että olet muuttanut lähtöjännitteen 5 V: ksi, ennen kuin teet tämän, tai paistat Pi!
Vaihe 7: Suorita piiri ja pakkaus
Olemme nyt käsitelleet kaikki kolme piirin elementtiä, jotka on esitetty yhdessä yllä olevassa kokonaispiirissä. Voit säästää tilaa ja tehdä piiristä siistimmän asettamalla piirisi nauhalevylle tai prototyyppikortille. Juotetaan ensin pienimmät komponentit, vastukset, sitten tehotransistori, mahdolliset liittimet ja lopuksi johdot. Suunnittele piiri ennen juottamista varmistaaksesi, että sinulla on tilaa kaikelle.
Yhdistin kaiken prototyyppiseen piirilevyyn ja käytin naaraspuolisia otsatappeja, jotta Pi voisi asentaa suoraan piirilevyyn. Kellotaulun LED -valot on kytketty vastuksen kautta piirilevyn toiselle puolelle, ja olen pitänyt tilaa levyn toisella puolella tehotransistorille ja vapaa muille piireille, jotka haluaisin lisätä myöhemmin.
Kiinnitä kellotaulu kelloon ja varmista, että kaikki elektroniikka mahtuu sisään. Kaikki sopi minulle hyvin tiukasti, joten sinun on ehkä tehtävä jonkin verran uudelleenjärjestelyjä. Kytke virtalähde ja suorita test1.py ja test2.py SSH: sta tarkistaaksesi, että kaikki toimii ennen takaosan kiinnittämistä.
Vaihe 8: Lataa koodi + Valmis
Koodi
Lopuksi, jos et ole jo tehnyt sitä, lataa koodi ja muokkaa sitä haluamallasi tavalla (käyttämällä nano -tiedostonimeä.py). Pi -yhteyden muodostamisen etu SSH: n kautta on, että voit päivittää koodin avaamatta kelloa.
Nämä vaiheen 2 python -ohjelmat toimivat seuraavasti:
- light_clock_simple.py näyttää yksinkertaisesti tunnit LED -valoissa ja himmenee ylös ja alas LED -nauhassa tiettyinä aikoina
- light_clock_pwm.py on sama kuin yllä, mutta mahdollistaa myös LEDien kirkkauden pienentämisen ja näyttää minuutit eri kirkkaudella kuin tunnit. Sinun täytyy leikkiä molempien kirkkaustasoilla, joten näiden kahden välinen kontrasti on havaittavissa
Näiden pitäisi tarjota vankka perusta koodin lisäämiselle, esimerkiksi haluat lisätä painikkeen valohälytyksen torkuttamiseksi.
Ohjelman käynnistämiseksi, kun Pi käynnistyy, meidän on lisättävä '@reboot nohup python light_clock_pwm.py &' crontab -tiedoston loppuun, joka voidaan avata päätelaitteesta crontab -e. Käynnistä Raspberry Pi uudelleen ja tarkista, että se toimii sudo shutdown -r kanssa.
Mahdollisia lisäyksiä
Tässä on joitain ideoita lisätoiminnoista, jotka voitaisiin lisätä
- Torkkupainikkeen lisääminen
- Lampputilan lisääminen
- Yhteyden muodostaminen IFTTT: hen (esim. Valo voi syttyä, kun puhelimesi hälytys soi/vilkkuu sähköpostin saapuessa)
- Lisää kapasiteetin kosketusominaisuutta eli tee kellosta kosketuslamppu
PWM -tekniikkaa käytettäessä saatat huomata, että LED -valo välkkyy ajoittain, varsinkin kun kirkkaus on pienempi. Tämä johtuu siitä, että Pi käyttää ohjelmistoa PWM, joten CPU -prosessit voivat vaikuttaa käyttöjaksoon. Koska vähemmän prosesseja on käynnissä, tämä auttaa, joten käytin raspbian Lite -käyttöjärjestelmää. Laitteiston PWM on saatavana myös muutamilla nastoilla, joten jos välkkyminen osoittautuu ongelmaksi, tämä saattaa olla syytä tutkia.
Toivon, että olet löytänyt tämän opastettavan informatiivisen ja joko inspiroidun kierrättämään vanhan herätyskellon tai käyttämään koodielementtejä omaan projektiin.
Toinen palkinto LED -nauhan nopeushaasteessa
Suositeltava:
Uudistettu minikaiutin: 7 vaihetta (kuvilla)
Uudistettu minikaiutin: Hei kaverit, tämä on jälleen Matthias ja tänään teemme kierrätetyn minikaiuttimen. Tämän äänenvoimakkuus ei ole kovin kova, koska siinä ei ole vahvistinta, mutta voit silti säätää äänenvoimakkuutta puhelimella tai tietokoneella. Pidä hauskaa
Uudistettu kello: 5 vaihetta (kuvilla)
Rekonstruoitu kello: Analogiset kellot voivat olla klassisia, mutta ne ovat hieman tylsiä. Hakkaa analoginen kello näyttääksesi ajan eri tavalla. Kun lisäät pyöriviä numeronäppäimiä tuntiin, minuuttiin ja sekuntiin, aika luetaan siitä, missä valitsimet putoavat pystysuoraan
Älykäs herätyskello: Älykäs herätyskello, joka on valmistettu Raspberry Pi: llä: 10 vaihetta (kuvilla)
Älykäs herätyskello: älykäs herätyskello, joka on valmistettu Raspberry Pi: llä: Oletko koskaan halunnut älykkään kellon? Jos näin on, tämä on ratkaisu sinulle! Tein Smart Alarm Clockin, tämä on kello, jolla voit muuttaa herätysaikaa verkkosivuston mukaan. Kun hälytys soi, kuuluu ääni (summeri) ja 2 valoa
Uudistettu 80 -luvun boombox: 8 vaihetta (kuvilla)
Remodeled 80s Boombox: Minulla oli ensimmäinen idea tähän projektiin, kun törmäsin samanlaiseen hackster.io -rakenteeseen, joka on nyt myös julkaistu täällä ohjeena. Tässä projektissa he uudistivat rikki 80 -luvun boomboxin Raspberry Pi: n avulla ja korvasivat kaiken elektroniikan paitsi
Uudistettu videokameran varakamera: 7 vaihetta (kuvilla)
Uudistettu videokameran varmuuskopiointikamera: Olen varma, että useimmilla teistä, jotka luette tätä, on laatikko tai vaatekaappi jonnekin täynnä kerran rakastettua tekniikkaa, joka on juuri vanhentunut ja vanhentunut. Minulla on ehdottomasti osani vanhaa tekniikkaa, ja on surullista nähdä, että tällainen potentiaali menee hukkaan. Tässä oppaassa olen