Sisällysluettelo:

Sääennustuskello vanhan hälytyksen ja Arduinon avulla: 13 vaihetta (kuvilla)
Sääennustuskello vanhan hälytyksen ja Arduinon avulla: 13 vaihetta (kuvilla)

Video: Sääennustuskello vanhan hälytyksen ja Arduinon avulla: 13 vaihetta (kuvilla)

Video: Sääennustuskello vanhan hälytyksen ja Arduinon avulla: 13 vaihetta (kuvilla)
Video: Päivän sääennuste tänään kello 2024, Marraskuu
Anonim
Sääennuste Kello käyttämällä vanhaa herätystä ja Arduinoa
Sääennuste Kello käyttämällä vanhaa herätystä ja Arduinoa
Sääennuste Kello käyttämällä vanhaa herätystä ja Arduinoa
Sääennuste Kello käyttämällä vanhaa herätystä ja Arduinoa

Minulla oli rikki herätyskello ja keksin idean muuttaa se kello- ja sääennusteasemiksi.

Tätä projektia varten tarvitset:

  • Vanha pyöreä herätyskello
  • Arduino Nano
  • BME280 -anturimoduuli (lämpötila, kosteus, paine)
  • Nokia 5110 LCD -näyttömoduuli
  • DS1307 RTC -kello
  • TP4056 litiumparistolaturi
  • Vanha litiumioniakku pelastettu matkapuhelimesta
  • Pieni 3,7v - 5v tehostinmoduuli
  • Valosta riippuva vastus (LDR - valomittari)
  • Summeri (käytetty pelastettu vanhasta tietokoneesta)
  • 3 painonappia
  • Joukko vastuksia (2x10 k, 270 ohmia) ja transistori (2N2222A tai vastaava)
  • Jotkut leveät kutistusputket
  • romu PCB käytettäväksi etulevyn koristeena
  • Micro-USB-jatkojohto (sekä naaras- että urospuolet ovat Micro-USB)
  • 2x8 cm prototyyppikortti ja johdot

Vaihe 1: Pura kaikki

Pura kaikki
Pura kaikki

Ensin purin vanhan kellon. Kellot, moottori, rikkoutunut kellomekanismi…

Vaihe 2: Digitaalisten asetusten painikkeet

Digitaalisten asetusten painikkeet
Digitaalisten asetusten painikkeet
Digitaalisten asetusten painikkeet
Digitaalisten asetusten painikkeet
Digitaalisten asetusten painikkeet
Digitaalisten asetusten painikkeet
Digitaalisten asetusten painikkeet
Digitaalisten asetusten painikkeet

Koska uusi kello on täysin digitaalinen ja siinä on minitietokone, lisäsin sivulle kolme yksinkertaista hyvännäköistä painiketta.

Leikkasin päällyslevyn käyttämällä alumiiniromua. Etikettien kirjaimet luotiin käyttämällä kirjaimia ja mustaa merkkiä.

Vaihe 3: Moottorin kondensaattori

Moottorin kondensaattori
Moottorin kondensaattori

Säilytän vanhat kellot, jotka käyttävät hälytystä moottorilla. Vanhassa rikkoutuneessa kellomekanismissa oli keraaminen kondensaattori, jossa oli merkintä 104. Irrotin sen piirilevystä ja juotin sen suoraan moottoriin - tämä auttaa estämään virtapiikkejä, kun moottori käynnistetään hälytyksen aikana. On myös tärkeää huomata, että moottoria ohjataan transistorin kautta, mutta tästä lisää myöhemmin.

Vaihe 4: Kellon uudet kasvot

Kellon uudet kasvot
Kellon uudet kasvot
Kellon uudet kasvot
Kellon uudet kasvot

Koska päätin tehdä kellolle uuden pinnan - otin piirilevyn roskakoristani ja poistin rakennuskomponentin nopeasti kaikkien komponenttien poistamiseksi. Keskellä oleva reikä on tehty uuden kellon digitaalinäyttöä varten.

Vaihe 5: Digitaalinen näyttö vanhasta matkapuhelimesta

Digitaalinen näyttö vanhasta matkapuhelimesta
Digitaalinen näyttö vanhasta matkapuhelimesta
Digitaalinen näyttö vanhasta matkapuhelimesta
Digitaalinen näyttö vanhasta matkapuhelimesta

Tässä projektissa päätin käyttää LCD -näyttöä vanhasta Nokia 5110 -matkapuhelimesta. Nämä näytöt ovat laajalti myynnissä moduulina, ne kuluttavat hyvin vähän virtaa ja Arduinolle on hyviä kirjastoja. Jos ostat uuden moduulin, jossa on 5110 -näyttö, säästät planeettaa, koska kaikki uudet moduulit on luotu pelastetuista 5110-, 3110- ja 3210 -puhelimista!

Vaihe 6: Piirien liittäminen

Piirien liittäminen
Piirien liittäminen
Piirien liittäminen
Piirien liittäminen
Piirien liittäminen
Piirien liittäminen

Olet ehkä jo arvannut, että suunnittelin Arduino -levyn käyttöä tämän kellon ohjaamiseen. Projekti on helposti toistettavissa myös aloittelijoille Arduino -faneille, koska en ole luonut omia piirilevyjä. Se on Arduino Nano -kortti, johon on liitetty moduuleja - BME280 -lämpötila-, paine- ja kosteusanturi, DS1307 RTC -kello, TP4056 -litium -akkulaturi, pieni 3,7–5 V: n tehostusmoduuli, valosta riippuva vastus (LDR - valomittari) ja summeri (otettu vanhalta tietokoneelta).

Katso myös luonnoksia - ne näyttävät kaikki yhteydet. Mielestäni kaikki on erittäin helppo lukea ja ymmärtää, mutta jos sinulla on kysyttävää, kysy alla olevista kommenteista.

Muutama huomautus asennuksesta:

  • Moottori on kytketty suoraan akusta transistorin kautta. Arduino ohjaa transistoria vastuksen ja PWM -nastan D5 kautta.
  • Tappeja D7-12 käytetään LCD-liittimessä. Maa ja VCC on kytketty kiskoon liitäntäkortilla.
  • LDR asennettiin kellotauluun ja vastus + 3 lähtevää johtoa juotettiin suoraan kellotaulun taakse.
  • Painikeyhteydessä käytin sisäistä PULLUP -toimintoa Arduinon sisällä. Valikko -painike on liitetty keskeytykseen ja huomasin vasta myöhemmin, että voit käyttää myös sisäistä PULLUPia keskeytykseen. Valikko -painikkeen keskeytys vaaditaan, jotta koodi ei skannaa painikkeiden tilaa koko ajan.
  • Kello seuraa ja näyttää myös akun tilan, joten akku on kytketty suoraan nastaan A0. Akun jännite ei ole koskaan korkeampi kuin 4,2 V, joten on turvallista kytkeä akku suoraan Arduino -analogiseen nastaan.
  • Summeri on kytketty suoraan PWM -nastaan D6. Vaikka tämä ei ole hyvä käytäntö, pääsin siitä eroon, koska Arduino Nano pystyi käsittelemään ilmoitettua korkeammat tekniset tiedot ja myös siksi, että summeri ei toimi jatkuvasti. Sama asetus polttaisi helposti ESP -levyjen tapit, joten näissä tapauksissa suosittelen transistorinohjaimen käyttöä.
  • Kellossa oli jo kytkin, joten päätin käyttää sitä. Se näyttää luonnolliselta takaa.

Vaihe 7: Helppo liitäntälevy

Liitäntäkortti helppoon liitäntään
Liitäntäkortti helppoon liitäntään
Liitäntäkortti helppoon liitäntään
Liitäntäkortti helppoon liitäntään

Kaikki moduulit edellyttävät positiivisia ja maadoitusliitäntöjä, joten päätin käyttää 2x8 cm: n prototyyppikorttia ja juottaa siihen 5 V: n ja Ground -kiskot. Tein myös pienen I2C -kiskon siellä, koska minulla oli useita moduuleja, jotka käyttivät I2C -liitäntää.

Toisella puolella juotin tavallisia tappeja, jotta voisin kytkeä ja irrottaa moduulit tarvittaessa.

Jotkut lisäkomponentit juotettiin myös sinne, kuten transistori ja vastus moottorin ohjaukseen ja vastus Menu -painikkeelle, joka käyttää keskeytystä. Esitin kaaviot edellisessä osassa.

btw Näetkö LDR -anturin, joka on jo asennettu kellotauluun ensimmäisessä kuvassa?

Vaihe 8: Virran asettaminen

Virran asettaminen
Virran asettaminen

Käytin matkapuhelimestani vanhaa litiumioniakkua tämän kellon virransyöttöön. Yleensä vaihdettavien matkapuhelinten paristojen kapasiteetti on edelleen hyvä (vähintään puolet siitä, mitä se oli uutena). Niiden etuna on, että niissä on sisäänrakennettu purkautumissuojapiiri ja ne ovat myös hyvin ohuita, joten niitä voidaan käyttää pienissä tilatilanteissa.

Liitä akku yksinkertaisesti juottamalla johdot akun + ja - nastoihin. Älä huolestu, et vahingoita kennoa, koska ohjain ja tyhjä tila nastojen ja kennon kemikaalien välissä.

Tässä kuvassa näet akun ja myös TP4056 -latausohjaimen sekä 5V: n tehostimen, jotka on liitetty yhteen ja akkuun. Käytin kutistekalvoputkia, jotta kaikki eristettiin ja kompakti.

Vaihe 9: Mikro -USB laiteohjelmiston lataamiseen ja päivittämiseen

Micro USB laiteohjelmiston lataamiseen ja päivittämiseen
Micro USB laiteohjelmiston lataamiseen ja päivittämiseen

Kun olin juottanut kaiken, liimasin summerin ja lämpötila-, paine-/kosteusanturin takapaneeliin. Ne kaikki sopivat hienosti olemassa oleviin paikkoihin vanhoista kellonvalitsimista.

Nyt oli aika asentaa Micro USB -portti taakse. Miksi Micro USB, jos Nano käyttää Mini USB: tä? Yksinkertaisesti siksi, että kotitaloudessa suurin osa USB -kaapeleista on peräisin matkapuhelimista, ja olisi kätevää, jos kello kykenisi ottamaan senkin.

Koska halusin käyttää sitä sekä kellon että sääaseman toimintojen lataamiseen ja päivittämiseen - irrotin USB -kaapelin, reititin virtajohdot TP4056 -laturin ja Data+/Data -johdot suoraan Arduino Nanon USB -liitäntään. Näet tämän kaaviossa, jonka näytin edellisissä osissa.

Vaihe 10: Lopullinen kokoonpano

Lopullinen kokoonpano
Lopullinen kokoonpano
Lopullinen kokoonpano
Lopullinen kokoonpano
Lopullinen kokoonpano
Lopullinen kokoonpano

Nyt oli aika pakata kaikki takaisin alkuperäiseen kelloon. Käytin kutisteputkea komponenttien ja moduulien eristämiseen. Jopa Arduino oli kääritty kutisteputkeen.

Vie hiiri ensimmäisen kuvan päälle nähdäksesi, mihin kukin komponentti on sijoitettu.

Vaihe 11: Koodi

Kuten näette, kello on täynnä. Tämä antoi mahdollisuuden luoda jotain hienostuneempaa kuin vanha kelloni, koska minulla oli tietysti ohjelmointitaitoja. Kirjoitin alkuperäisen koodin, mutta pyysin ystävääni astumaan sisään ja auttamaan minua.

Toistaiseksi kellon lisäksi nämä ovat toimintoja, joita tämä projekti jo tukee:

  • Kellonajan ja päivämäärän näyttö (sekä kellonaika ja hälytyksen aktivointi samalla näytöllä)
  • Näyttö syttyy pimeässä tai liikettä havaittaessa (valon muutosten perusteella)
  • Sääennuste (aurinkoinen, pilvinen, sateinen)
  • Lämpötilan, paineen ja kosteuden näyttö (kosteuden osalta se osoittaa, onko se liian kuiva)
  • Asetusvalikko: hälytys, kellonajan muuttaminen, päivämäärän näytön ottaminen käyttöön/poistaminen käytöstä, säämuutosten ääni -ilmoitusten ottaminen käyttöön/poistaminen käytöstä ja vaihtaminen keisarillisten ja metristen yksiköiden välillä
  • Hälytysasetukset - päälle/pois, ajan asettaminen, ilmoitusten melodian ja/tai kellojen asettaminen

Uusin koodi:

Koodi päivitetään tulevaisuudessa uusilla ominaisuuksilla, joten muista tarkistaa laiteohjelmistopäivitykset:-)

Jos olet uusi Arduino -maailmassa, suosittelen seuraavia vaiheita:

  • Asenna kortin USB -ohjain (esim. CH340)
  • Asenna Arduino IDE
  • Asenna tässä projektissa käytetyt kirjastot
  • Lataa GitHubista ja lataa uusin projektikoodi kelloon mikro -USB -kaapelilla (voit käyttää sitä matkapuhelimesta)

Ennustamisalgoritmi on seuraava:

Arduino Nano saa uusia tietoja BME280 -anturista 12 minuutin välein. Mittausjakso on 3 tuntia. 3 tunnin kuluttua paineenvalvonta -alue (maksimi- ja miniarvo 3 tunnin aikana) muuttuu suhteessa nykyisen alueen ja nykyisen painearvon keskiarvoihin. Paineenmuutoksen suunta nykyisen painearvon mukaan tallennetaan joka tunti. kPa -yksiköitä käytetään ennusteiden laskemiseen.

Nano -muistin rajoitusten vuoksi ennustamisalgoritmia oli yksinkertaistettava. Mutta yksinkertaistuksista huolimatta se pystyy ennustamaan sademäärän seuraavan 12–24 tunnin aikana, vaikka ennuste on nyt pessimistisempi - oletusarvo on "Pilvinen sää".

"Aurinkoinen sää" - paineen nykyinen arvo on normaalia korkeampi 7 pistettä, paine ei laske ja minimi- ja maksimiarvojen ero viimeisten 3 tunnin aikana on enintään 2 pistettä.

Mahdollinen sademäärä "Rainy Weather" - nykyinen paine on 15 pistettä alempi kuin normaali ja min & max -arvojen ero on yli 2 pistettä TAI Paine laskee ja ero nykyisen arvon ja normin välillä on 3-30 pistettä.

Ennustamisen laadun parantamiseksi on suositeltavaa muuttaa "korkeus" pääkooditiedostossa. Voit tarkistaa korkeutesi esimerkiksi täältä:

Vaihe 12: Vaiheittainen video

Image
Image

Jos oli vaikeaa seurata mitä tein yllä, tässä on myös videoversio, jossa on kaikki näytetyt vaiheet.

Vaihe 13: Viimeiset sanat

Kaiken kaikkiaan minun näkökulmastani tämän hankkeen vaikeustaso ei ole korkea ja kuka tahansa voisi tehdä sen. Jos sinulla ei ole vanhaa kelloa, voit löytää halvan paikalliselta kirpputorilta.

Kaikki komponentit ovat edullisia ja ne ovat saatavana Sparkfun/Aliexpress/eBay/Amazonista.

Toivottavasti tämä opetusohjelma oli sinulle mielenkiintoinen ja olisin kiitollinen, jos voisit tukea ensimmäistä Instructable -kellokilpailua.

Kellokilpailu
Kellokilpailu
Kellokilpailu
Kellokilpailu

Toinen sija kellokilpailussa

Suositeltava: