Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Liitä piiri
- Vaihe 2: Summerin osan valmistelu
- Vaihe 3: LED -paneelin valmistelu
- Vaihe 4: Kytkimen valmistelu (itse asiassa painike)
- Vaihe 5: LED -nauhan valmistelu
- Vaihe 6: Kapasitanssianturin valmistelu
- Vaihe 7: Virtalähteen valmistelu
- Vaihe 8: Yhdistä ne Arduinoon
- Vaihe 9: Kotelo
- Vaihe 10: Ajan ohjelmointi
- Vaihe 11: Korjausmekanismi
- Vaihe 12: Kaikkien toimintojen käyttäminen
- Vaihe 13: Johtopäätös
- Vaihe 14: Päivitä: viikon käytön jälkeen
Video: DIY Arduino -binaarinen herätyskello: 14 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
Se on jälleen klassinen binaarikello! Mutta tällä kertaa vielä enemmän lisätoimintoja! Tässä ohjeessa näytän sinulle, kuinka rakentaa binäärinen herätyskello Arduinolla, joka voi näyttää sinulle paitsi ajan, myös päivämäärän, kuukauden, jopa ajastimella ja hälytystoiminnoilla, joita voidaan käyttää myös yölampuna! Aloitamme ilman lisäpuheita!
Huomautus: Tämä projekti ei käytä RTC -moduulia, joten tarkkuus riippuu käyttämästäsi kortista. Olen sisällyttänyt korjausmekanismin, joka korjaa ajanvirtauksen tietyn ajanjakson aikana, mutta sinun on kokeiltava löytääksesi oikean arvon kyseiselle ajanjaksolle (lisää tästä alla), ja jopa korjaavan mekanismin avulla se silti ajautuu pitkällä aikavälillä (verrattuna ilman sitä). Jos joku on kiinnostunut, ota RTC -moduulin käyttö käyttöön tässä projektissa
Tarvikkeet
5 mm: n LED (mitä tahansa väriä, käytin 13 valkoista LEDiä ja yksi RGB-LED merkkivalona) --- 14 kpl
Arduino Nano (muut voivat toimia) --- 1 kpl
Mikrokytkin --- 1 kpl
Pieni pala alumiinifoliota
Asennuslevy (kotelolle, mutta voit suunnitella itse)
Pala valkoista paperia (tai muuta väriä)
Jotkut muovikalvot (jota käytetään kirjan kansina)
Joukko johtoja
Summeri --- 1kpl
NPN-transistori --- 1kpl
Vastukset 6k8 --- 14 kpl, 500R --- 1 kpl, 20R (10Rx2) --- 1 kpl, 4k7 --- 1kpl
Virtalähde projektille (käytin litium-akkua)
5050 LED -nauha ja liukukytkin (valinnainen)
Vaihe 1: Liitä piiri
Jaan tämän vaiheen:
1) summerin osa
2) LED -paneeli
3) Kytkin (painike)
4) LED -nauha
5) Kapasitanssianturi
6) Virtalähde
7) Yhdistä ne kaikki Arduinoon
Useimmiten tämä on vain "seuraa kaavamaista" vaihetta. Joten tutustu yllä olevaan kaavioon tai jopa lataa ja tulosta se!
Vaihe 2: Summerin osan valmistelu
Jos olet aiemmin käyttänyt summeria Arduinon kanssa, tiedät, että jos kytket sen suoraan Arduinoon, se ei ole tarpeeksi kova. Tarvitsemme siis vahvistimen. Vahvistimen rakentamiseksi tarvitsemme NPN -transistorin (pohjimmiltaan mikä tahansa NPN toimii, käytin S9013: ta, koska sain sen vanhasta projektista) ja jonkin verran vastusta virran rajoittamiseksi. Aloita tunnistamalla ensin transistorin keräin, lähetin ja kanta. Pieni googlettaminen tietolomakkeesta toimii tähän. Juota sitten transistorin keräin summerin negatiiviseen napaan. Summerin positiivisessa navassa juotamme siihen vain langanpalan, jotta voimme juottaa sen myöhemmin Arduinollemme. Tämän jälkeen juota 500R (tai mikä tahansa vastaava vastusarvo) -vastus transistorin kantaan ja vastuksesta, juota toinen lanka tulevaa käyttöä varten. Lopuksi juotetaan kaksi 10R -vastusta sarjaan transistorin emitteriin ja kytketään toinen johdin vastuksista.
Oikeasti, katso kaavio.
p/s: En vieläkään oikein tiedä, miten valita vastus transistorille kirjoittaessani tätä. Käyttämäni arvo valitaan empiirisesti.
Vaihe 3: LED -paneelin valmistelu
Liitä LEDit ja vastus prototyyppikorttiin vastaavasti ja juota. Se siitä. Noudata kaaviota. Jos kiinnostuit käyttämistäni väleistä, 3 reikää toisistaan kullekin sarakkeelle ja kaksi reikää toiselle kullekin riville (katso kuva). Ja merkkivalo? Liitin sen satunnaisesti.
Kun olet juottanut LEDit ja vastuksen piirilevyyn, kytke kaikki LEDien positiiviset liittimet yhteen. Sitten juota johdot yksi kerrallaan jokaiseen vastukseen LEDien negatiivisissa liittimissä, jotta voimme juottaa ne myöhemmin Arduinolle.
HUOMAUTUS: Saatat hämmentyä tässä vaiheessa. Muista sen sijaan, että liität kaikki maat yhteen, liitämme kaikki positiiviset liittimet yhteen ja negatiiviset liittimet Arduinon yksittäiseen nastaan. Käytämme siis Arduino GPIO -tappia maana, ei Vcc: tä. Jos liität sen vahingossa taaksepäin, älä huoli. Voit muuttaa led -ohjaustoiminnon kaikki HIGH -arvoksi LOW ja LOW -HIGH.
Vaihe 4: Kytkimen valmistelu (itse asiassa painike)
Kytkimelle (kutsun sitä kytkimeksi, koska käytin mikrokytkintä, mutta tiedät, että se on painike) tarvitsemme 4k7-alasvetovastus ja tietysti itse kytkin. Älä unohda valmistella johtoja. Aloita juottamalla vastus ja johdinpala mikrokytkimen yhteiseen maahan (COM). Juotetaan sitten toinen johdinpala mikrokytkimen normaalisti avattuun (NO). Kiinnitä lopuksi toinen johto vastukseen. Kiinnitä se kuumalla liimalla.
Tietonurkka: Miksi tarvitsemme alasvetovastusta?
"Jos irrotat digitaalisen I/O -nastan kaikesta, LED -valo voi vilkkua epäsäännöllisesti. Tämä johtuu siitä, että tulo on" kelluva " - eli se palaa satunnaisesti joko KORKEA tai MATALA. Siksi tarvitset vetämisen tai alasvetovastus piirissä. " - Lähde: Arduino-verkkosivusto
Vaihe 5: LED -nauhan valmistelu
LED -nauha on sängyn valaisimelle, joka on valinnainen. Liitä vain LED -nauha ja liukukytkin sarjaan, ei mitään erikoista.
Vaihe 6: Kapasitanssianturin valmistelu
Ok, katso kuva. Pohjimmiltaan aiomme vain kiinnittää langan pieneen alumiinifoliopalaan (koska alumiinifoliota ei voi juottaa) ja teipata se pieneen asennuslevyyn. Hyvä muistutus, varmista, ettet teippaa kokonaan alumiinifoliota. Jätä osa siitä alttiiksi suoralle kosketukselle.
Vaihe 7: Virtalähteen valmistelu
Koska käytin virtalähteenä litium-akkua, tarvitsen lataukseen ja suojaukseen TP4056-moduulin ja tehonmuuntimen jännitteen muuntamiseen 9 volttiin. Jos päätit käyttää 9 V: n seinäadapteria, saatat tarvita DC -liittimen tai liittää sen suoraan. Huomaa, että vahvistimen vastuksen arvo on suunniteltu 9 V: lle ja jos haluat käyttää muuta jännitettä, sinun on ehkä vaihdettava vastus.
Vaihe 8: Yhdistä ne Arduinoon
Seuraa kaaviota! Seuraa kaaviota! Seuraa kaaviota!
Älä liitä väärää nastaa, muuten asiat muuttuvat outoiksi.
Vaihe 9: Kotelo
Suunnitteluni koko on 6,5 cm*6,5 cm*8 cm, joten se on hieman tilaa vievä. Se koostuu etuikkunasta LED -näytölle ja yläikkunasta yölampulle. Katso suunnitteluni kuvista.
Vaihe 10: Ajan ohjelmointi
Lataa luonnokseni alla ja lataa Arduinoosi. Jos et tiedä miten tämä tehdään, älä vaivaudu tekemään tätä projektia! Ei vitsi, tässä on hyvä opetusohjelma: Lataa luonnos arduinoon
Avaa sitten sarjamonitori, ja näet sen näyttävän nykyisen ajan. Voit asettaa ajan seuraavasti.
Tunnin asettaminen: h, XX - missä xx on nykyinen tunti
Minuutin asettaminen: min, XX - xx on nykyinen minuutti
Toiseksi: s, XX
Päivämäärän asettaminen: d, XX
Kuukauden asettaminen: ma, XX
Kun yllä oleva kommentti suoritetaan, sen pitäisi palauttaa sinulle juuri asettamasi arvo. (Jos esimerkiksi asetat tunnin tunnilla h, 15, sen pitäisi palauttaa sarjamonitorissa Tunti: 15.
Kapasitanssianturi on ehkä kalibroitava ennen kuin se toimii. Voit tehdä tämän painamalla mikrokytkintä kahdesti ja katsoaksesi sarjamonitoria. Sen pitäisi antaa joukko numeroita. Laita nyt sormesi kapasitanssianturin päälle ja katso huomioi numeroalue. Muokkaa seuraavaksi muuttujaa "captrigger". Oletetaan, että saat 20-30 painettaessa ja aseta sitten captrigger arvoon 20.
Luonnos käyttää ADCTouch -kirjastoa, varmista, että olet asentanut sen.
Vaihe 11: Korjausmekanismi
Koodin korjausmekanismin ajanjakso on asetettu minulle tarkalle. Jos aika ei vieläkään ole tarkka, sinun on muutettava muuttujan "corrdur" arvoa
Corrdur on nyt oletuksena 0 uusimmassa päivityksessä.
Corrdurin arvo tarkoittaa, kuinka monta millisekuntia kestää hidastaa yhden sekunnin
Voit selvittää corrdurin arvon käyttämällä kaavaa:
2000/(y-x)/x)
jossa x = kuluneen ajan todellinen kesto ja y = kellon kulunut aika, molemmat sekunnissa
Jos haluat löytää arvon x ja y, sinun on tehtävä pieni kokeilu.
Aseta kellonaika todelliseen aikaan ja tallenna alkuperäinen aika (todellisen alkamisajan ja kellon alkamisajan tulee olla sama). Kirjaa hetken (muutaman tunnin) kuluttua lopullinen todellinen aika ja kellon lopullinen aika.
x = todellinen viimeinen aika-aloitusaika ja y = kellon viimeinen aika-aloitusaika
Muuta sitten koodin corrdurin arvo ja lataa se uudelleen Arduinoon.
Toista sitten testi ja tällä kertaa kaava muuttui muotoon:
2000/((2/z)+(y-x/x))
Missä x ja y ovat sama asia kuin ennen, kun taas z on nykyinen corrdur -arvo.
Lataa uudelleen ja tee testi uudestaan ja uudestaan, kunnes se on tarpeeksi tarkka sinulle.
Jos kellosi kiihdyttää edelleen, vaikka Corrdur on asetettu arvoon 0 (ei korjausmekanismia), sinun on vaihdettava toinen ++ toiseksi- koodin korjausmekanismin osassa (kommentoin sitä), aseta corrdur arvoon 0, löydä sitten ei. millisekuntia kestää nopeuttaa yhden sekunnin.
Vaihe 12: Kaikkien toimintojen käyttäminen
Voit vaihtaa tilaa painamalla mikrokytkintä.
Ensimmäisessä tilassa se näyttää vain ajan. Jos merkkivalo vilkkuu 1 kertaa sekunnissa, hälytys on pois päältä. Jos 2 kertaa sekunnissa, hälytys on päällä. Voit siirtää hälytyksen 10 minuutiksi ensimmäisessä tilassa painamalla kapasitanssianturia.
Toisessa tilassa se näyttää päivämäärän. Kapasitanssianturin painaminen ei tee mitään.
Kolmannessa tilassa voit asettaa ajastimen. Kapasitanssianturin painaminen kytkee ajastimen päälle ja merkkivalo alkaa vilkkua. Kapasitanssianturia käytetään myös ajastimen asettamiseen. Ajastin on 1 minuutista 59 minuuttiin.
Neljännessä tilassa voit asettaa herätysajan käyttämällä kapasitanssianturia
Viidennessä tilassa voit asettaa hälytysminuutin kapasitanssianturin avulla.
Kuudennessa tilassa kapasitanssianturin painaminen nollaa minuutit 30: een ja sekunti 0: een muuttamatta tuntia. Tämä tarkoittaa sitä, että niin kauan kuin kellosi ei ajele yli 30 minuuttiin, voit kalibroida sen uudelleen käyttämällä tätä tilaa.
Seitsemäs tila on tekemätön -tila siinä tapauksessa, että kapasitanssianturi välkkyy latauksen aikana.
Jos haluat hylätä hälytyksen, paina vain mikrokytkintä. (VIIMEINEN PÄIVITYS SISÄLTÄÄ HÄLYTYSNUOKKUN)
Entäs kellon lukeminen? Se on helppoa! Binaarikellon lukeminen - Wikihow Saatat tuntua aluksi oudolta, mutta totut siihen!
Vaihe 13: Johtopäätös
Miksi aloitin tämän projektin. Aluksi se johtuu siitä, että minulla on vanha digitaalinen kello, joka makaa ympäriinsä, ja haluan muuttaa sen herätyskelloksi. Valitettavasti vanha kello osoittautui rikki. Joten ajattelin, miksi et rakenna sellaista Arduinolla? Pienellä google -haulla löysin tämän binaarikelloprojektin ilman RTC: tä Cello62: n ohjeiden mukaan. Siinä ei kuitenkaan ole haluamaani herätyskellotoimintoa, joten otan koodin ja muokkaan sitä itse. Ja projekti syntyy. Lisäksi näin äskettäin kellokilpailun, joka oli opetettavissa, mikä antoi minulle vielä enemmän motivaatiota tehdä tämä. Joka tapauksessa tämä on edelleen ensimmäinen projektini, jossa käytän Arduinoa, joten joukko mahdollisia parannuksia.
Tuleva parannus:
1) Käytä RTC: tä
2) Aseta herätys tai aika tai ajastin langattomasti!
3) Mitä tahansa ominaisuutta ajattelen
Vaihe 14: Päivitä: viikon käytön jälkeen
Ilmeisen ongelman - ajan kulumisen lisäksi - sanoisin seuraavaksi virrankulutuksen. Ensinnäkin nostan jännitteen 9v: iin, jonka sitten Arduinon lineaarinen säädin alentaa. Lineaarinen säädin on erittäin tehoton. Kello kestää vain YHDEN PÄIVÄN. Se tarkoittaa, että minun on ladattava se joka päivä. Se ei ole suurin asia, ennen kuin huomaat, että koko järjestelmä on vain noin 50% tehokas. Ottaen huomioon, että akuni on 2000 mAh, pystyisin laskemaan hukkaan menevän virran joka päivä.
Teho hukkaan = (7.4Wh*10%)+(7.4Wh*90%*50%) = 4.07Wh päivässä
Se on 1,486 kWh vuodessa! Sitä voidaan käyttää keittämään 283 g vettä (25 asteesta 100 asteeseen)? Mutta joka tapauksessa aion parantaa kellon tehokkuutta. Tapa tehdä tämä on olla käyttämättä lineaarista säädintä lainkaan. Tämä tarkoittaa, että meidän on säädettävä tehostinmuunnin lähtöön 5V suoraan Arduinon 5V -nastaan. Seuraavaksi minimoidaksesi hukkaan menevän tehon entisestään, minun on poistettava kaksi sisäistä LEDiä (nasta 13 ja virta), koska ne tuhlaavat 0,95 Wh päivässä. Valitettavasti olen täysin noob SMD -juotoksessa, joten ainoa tapa tehdä tämä on leikata kisko levylle. Tämän jälkeen minun on poistettava summerin ja yölampun emitterivastus (LED -nauha ei toimi 5 V: n jännitteellä). Mutta tarkoittaako tämä sitä, että sinun on luovuttava tästä hämmästyttävästä ominaisuudesta? Ei! Sinulla on kaksi vaihtoehtoa: Käytä tavallista 5 mm: n LED -diodia tai 5 V: n LED -nauhaa. Mutta minusta tuntui jo väsyneeltä tämän projektin tekemisestä koko viime viikolla, joten päätin luopua tästä ominaisuudesta. Käytin kuitenkin alun perin valo -ominaisuuden kytkintä kellopaneelin kytkemiseksi päälle tai pois päältä energian säästämiseksi, mutta lopulta LED vilkkuu, kun sammutan sen. Vika tullut ominaisuus? En tiedä (kuka tahansa tietää, kerro minulle alla).
Muutoksen päätyttyä kello kestää nyt yli 2 päivää!
Seuraavaksi minulla on vähemmän vakava ongelma kellon kanssa. Latauksen aikana kapasitanssianturi menisi hulluksi, joten lisään toisen tilan, joka ei tee mitään.
Mitä tulee ajankulkuun, koska on erittäin hankalaa kytkeä tietokone päivittäin sen nollaamiseen, olen lisännyt toisen tilan, joka asettaa minuutiksi 30 ja sekunti 0: een. Se tarkoittaa, että voit nollata sen puolen tunnin kuluttua!
Suositeltava:
Twin Bell herätyskello soodapurkeista: 7 vaihetta (kuvilla)
Kaksoiskellon herätyskello soodapurkeista: Tämä opaskirja näyttää, kuinka voit tehdä kaksoiskellon herätyskellon soodapurkeista. Projekti käyttää soodatölkkejä, joista muste on poistettu (linkki: musteen poistaminen soodapurkeista). Jotta tämä herätyskello toimisi täysin, DIY -kvartsikellomoduuli integroitiin
Kupla -herätyskello tekee heräämisestä hauskaa (ish): 7 vaihetta (kuvilla)
Kupla -herätyskello tekee heräämisestä hauskaa (ish): Herääminen surisevalle herätyskellolle on paskaa. Olen yksi niistä ihmisistä, jotka eivät halua herätä ennen kuin aurinko paistaa (tai on ollut poissa monta tuntia). Mikä olisikaan parempi tapa tehdä heräämisestä hauskaa kuin kuplat juhlia sängyssä! Käyttämällä arduinoa ja
Groundhog -päivän herätyskello: 12 vaihetta (kuvilla)
Groundhog Day Herätyskello: Groundhog Day Herätyskello koostuu Panasonic RC-6025 -kellosta, joka on muokattu toistamaan Groundhog Day -elokuvan ääni hälytyksen soidessa. ja elokuva) piti teknisiä tietoja
Oled -herätyskello: 8 vaihetta (kuvilla)
Oled -herätyskello: Siellä on paljon arduino-/ESP32 -kelloja, mutta käyttävätkö ne näitä hienoja ja raikkaita OLED -laitteita? Olen kokeillut arduinoja ja ESP32 -laitteita jo jonkin aikaa, mutta en ole koskaan tehnyt lopullista tuotetta. Olen tehnyt herätyskellon, jossa on 4 1,3 tuuman ma
Ä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