Sisällysluettelo:

Uudistettu herätyskello Smart Light: 8 vaihetta (kuvilla)
Uudistettu herätyskello Smart Light: 8 vaihetta (kuvilla)

Video: Uudistettu herätyskello Smart Light: 8 vaihetta (kuvilla)

Video: Uudistettu herätyskello Smart Light: 8 vaihetta (kuvilla)
Video: Все о покраске валиком за 20 минут. ПЕРЕДЕЛКА ХРУЩЕВКИ от А до Я #32 2024, Marraskuu
Anonim
Uudistettu herätyskello Smart Light
Uudistettu herätyskello Smart Light
Uudistettu herätyskello Smart Light
Uudistettu herätyskello Smart Light
Uudistettu herätyskello Smart Light
Uudistettu herätyskello Smart Light

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

Osat
Osat
Osat
Osat
Osat
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

Raspberry Pi: n asentaminen
Raspberry Pi: n asentaminen
Raspberry Pi: n asentaminen
Raspberry Pi: n asentaminen

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

LED -nauhan asentaminen
LED -nauhan asentaminen
LED -nauhan asentaminen
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 ohjaus
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

Kellotaulun tekeminen
Kellotaulun tekeminen
Kellotaulun tekeminen
Kellotaulun tekeminen
Kellotaulun tekeminen
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

Virta Pi: lle
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

Täytä piiri ja pakkaus
Täytä piiri ja pakkaus
Täytä piiri ja pakkaus
Täytä piiri ja pakkaus
Täytä piiri ja pakkaus
Täytä piiri ja pakkaus
Täytä piiri ja pakkaus
Täytä 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

Lataa koodi + Valmis
Lataa koodi + Valmis
Lataa koodi + Valmis
Lataa koodi + Valmis
Lataa koodi + Valmis
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.

LED -nauhan nopeushaaste
LED -nauhan nopeushaaste
LED -nauhan nopeushaaste
LED -nauhan nopeushaaste

Toinen palkinto LED -nauhan nopeushaasteessa

Suositeltava: