Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Prototyypin ja testin suorittaminen
- Vaihe 2: Pääohjelma
- Vaihe 3: Kuution 3D -tulostus
- Vaihe 4: Kokoonpano
- Vaihe 5: Lataa ja olet valmis
Video: Paikkapohjainen monitoimikellokello: 5 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
Fusion 360 -projektit »
Tämä on Arduino -pohjainen kello, jossa on OLED -näyttö, joka toimii kellonajan kanssa päivämäärän, uniajastimen ja yövalona. Eri "toimintoja" ohjataan kiihtyvyysmittarilla ja ne valitaan pyörittämällä kuutiokelloa.
Halusin uuden yöpöydän kellon, mutta en halunnut käyttää rahaa hienoon kelloon, jossa oli paljon toimintoja, joita en käyttäisi. Lisäksi olin kerännyt komponentteja ja antureita, jotka olivat juuri paikallaan, joten päätin käyttää niitä oman kelloni valmistamiseen!
Minulla oli muutama tavoite tälle projektille:
- Tuo aika näkyviin kytkemällä se pois päältä
- Sisältää yövalotoiminnon
- Sisällytä 15 minuutin uniajastin ja hälytys
- Pystyy näyttämään päivämäärän
Tarvikkeet
- Arduino Pro Mini 5V
- ADXL335 3-akselinen kiihtyvyysanturi
- DS3231 AT24C32 IIC tarkkuus Reaaliaikainen kello
- Mini kaiutin
- OLED -näyttö SSD1306 IIC 0,96 tuumaa
- 5V DC -virtalähde
- LED x 2
- Vastukset 220ohm x 2
- DC -tynnyrin liitin
- Johto
-
Työkalut
- Langanleikkurit/-kuorijat
- Juotin/juote
- 3D -tulostin (valinnainen)
- FTDI -ohjelmoija Pro minin ja Arduino IDE: n välille
Vaihe 1: Prototyypin ja testin suorittaminen
Liitä komponentit Arduinoon. Leipälevyn asettelu tai kaavio on esitetty yllä. RTC ja OLED käyttävät I2C -protokollaa liitäntään Arduinon kanssa ja hyödyntävät A4- ja A5 -nastoja. Kiihtyvyysmittari käyttää 3 analogista nastaa. Käytin A0, A1, A2. LEDit ja pietso voivat käyttää mitä tahansa digitaalisia nastoja, käytin 4 ja 8 vastaavasti.
Liitäntä jokaisen komponentin kanssa. Jouduin asentamaan joitain Arduino -kirjastoja liittymään jokaisen komponentin kanssa. Ne näkyvät yllä olevassa kuvassa.
Koodia käyttäen Arduino IDE: tä. Selasin läpi jokaisen kirjaston tarjoamia esimerkkiluonnoksia selvittääkseni oikean syntaksin kullekin komponentille sen perusteella, mitä halusin niiden tekevän. Keksin luonnoksen jokaiselle komponentille testataksesi niitä erikseen. Ne on esitetty alla. Aloitin pietsokaiuttimella, koska se oli helpoin. Se ei itse asiassa tarvinnut erityistä kirjastoa, vain tietyn toiminnon, joka asettaa taajuuden ja äänen. LED -valojen toimiminen edellytti vain yhden digitaalisen nastan vetämistä korkealle ja alas. Seuraavaksi siirryin OLEDiin, ja myös tämä oli melko yksinkertainen asentaa. Alla oleva luonnos on Adafruit -demo, joka käy läpi kaikki näytettävät animaatiot/tekstit. Sitten yritin saada RTC: n toimimaan. Antamani luonnos oli osa kirjaston esimerkkiä, joka hakee nykyisen ajan ja tulostaa sen sarjamonitorille. Lopuksi käytin mukana toimitettua esimerkkiä kiihtyvyysmittarin testaamiseen. Kunkin akselin lähdöt tulostetaan sarjamonitoriin.
Nyt on aika koota kaikki yhteen!
Vaihe 2: Pääohjelma
Nyt kun tiedän, että kaikki toimii yksilöllisesti, voin alkaa keksiä ohjelman, joka kokoaa kaiken yhteen. Keskustelen alla olevasta ohjelman kirjoittamisprosessistani, mutta voit ladata alla olevan koko koodin käytettäväksi omaan projektiin. Yritin jättää tiettyjä kommentteja, jotta voit käydä koodin läpi itse.
Minun piti näyttää aika ja päivämäärä OLED: ssä, mikä oli melko yksinkertaista. Minun piti vain tulostaa nykyinen aika näytölle sarjamonitorin sijaan. Minun oli otettava huomioon muutama muotoilu, jotta se näyttäisi 12 tunnin muodon 24 sijasta ja lisäisi/poistaisi 0 -kohteita tarvittaessa. Päivämäärä oli samanlainen lisäämällä kuukausi ja päivä ruudulle piirrettyihin suorakulmioihin. Käytin sisäkkäistä FOR -silmukkaa ajastimen luomiseen ja aloitin pietson silmukan päättymisen jälkeen. Päätin laittaa näytön vilkkumaan summerin soidessa, mikä oli perusanimaatio Adafruit -demosta. Tein kuution kääntämisen takaisin kelloasentoon ainoana keinona sammuttaa summeri. Lopuksi halusin tavan sammuttaa näyttö, mikä saavutettiin vain tyhjentämällä näyttö. Nyt tarvitsin kaikkien näiden toimintojen toimia kiihtyvyysmittarin ulostulojen perusteella. Määritin Accel_Test -komentosarjan avulla kunkin sijainnin akselikoordinaatit, jotka halusin kunkin toiminnon suoritettavan. Siirsin manuaalisesti kiihtyvyysmittarin sirua ympäri ja tallensin lukemat sarjamonitoriin. Yllä olevassa kaaviossa esitetään kunkin sijainnin lähtökoordinaatit HARMAASSA. PUNAISET koordinaatit ovat kunkin sijainnin väliset rajat ja käytin niitä ohjelmassa. Neljässä näytön asennossa tarvitaan vain X- ja Y -akselin koordinaatit. Yövalon viides asento käyttää Z -akselia. Käytin yksinkertaisia IF -lausekkeita kiihtyvyysmittarin asentoihin ennen jokaista toimintolohkoa. Jos käytät eri kiihtyvyysmittaria, nämä koordinaatit voivat vaihdella ja niitä on säädettävä ohjelmassa.
Vaihe 3: Kuution 3D -tulostus
Ajattelin, että kuutio olisi paras muotoilu, joka sopii siihen, miten halusin kellon toimivan. Käytin mallia fusion360. Tarvitsin katkaisun OLEDille ja tynnyrin liittimelle. Halusin myös helpon pääsyn RTC -kennon pariston vaihtamiseen, kun kaikki on kytketty. Tarvitsin korttipaikan, jotta Arduino pysyisi suunnassa, joka olisi helppo ohjelmoida uudelleen tarvittaessa. Lisäksi kotelon oli oltava helposti irrotettava, jotta voin käyttää Arduinoa. Näet yllä olevan CAD -mallin ja alla olevat STL -tiedostot.
Tulostin rungon mustaksi PLA: ksi 20% täyteaineella, 0,2 mm: n resoluutiolla.
Kotelo tai holkki painettiin Solutechin joustavalla filamentilla 100% täyteaineella, 0,3 mm: n resoluutiolla. Käytin tätä materiaalia, koska siinä on jonkin verran joustavuutta, joka helpotti venyttämistä vartalon yli. Se tuntuu myös pehmeämmältä, kun pyörität kelloa ympäri. Lopuksi valitsin kirkkaan hehkulangan, jotta yövalojen LEDit loistavat läpi.
Vaihe 4: Kokoonpano
Johdotin kaiken yhteen käyttäen vaiheen 1 kaaviota. Käytin pientä pahvilevyä yhdistämään kaikki yhteiset johdot niin, että minun ei tarvinnut juottaa useita johtoja yhteen nastaan Arduinossa. Kuumaa liimaa käytettiin kaiken kiinnittämiseen paikalleen paitsi Arduinoa. Se työnnettiin vain sille varattuun paikkaan. Varmistin, että kiihtyvyysmittarilevy oli kohtisuorassa ja vaakasuorassa rungon pohjassa, jotta koodin koordinaatteja ei tarvitsisi muuttaa.
Vaihe 5: Lataa ja olet valmis
Nyt lopullinen ohjelma voidaan ladata kelloon oikean ajan asettamiseksi. Akun pitäisi säilyttää aika myös silloin, kun virta on katkaistu. Liu'uta 3D -painettu holkki rungon päälle piilottaaksesi kaikki komponentit, ja sinulla on täydellinen kuutiokello!
Toivottavasti pidät tämän projektin tekemisestä ja pidät sitä yhtä hyödyllisenä kuin minä. Hieno puoli tässä projektissa on, että se on hyvin muokattavissa. Voit vapaasti lisätä omia eri toimintojasi, kuten hälytystoiminnon, käyttää erilaisia komponentteja, kuten suurempaa OLEDia, FM -radiovastaanotinta jne. Hyvää tekemistä!
Suositeltava:
DIY 37 Leds Arduino -rulettipeli: 3 vaihetta (kuvilla)
DIY 37 Leds Arduino Roulette Peli: Ruletti on kasinopeli, joka on nimetty ranskalaisen sanan mukaan, joka tarkoittaa pientä pyörää
Covid -suojakypärä, osa 1: johdanto Tinkercad -piireihin!: 20 vaihetta (kuvilla)
Covid -suojakypärä, osa 1: johdanto Tinkercad -piireihin!: Hei, ystävä! Tässä kaksiosaisessa sarjassa opimme käyttämään Tinkercadin piirejä - hauskaa, tehokasta ja opettavaista työkalua piirien toiminnasta! Yksi parhaista tavoista oppia on tehdä. Joten suunnittelemme ensin oman projektimme: th
Weasleyn sijaintikello neljällä kädellä: 11 vaihetta (kuvilla)
Weasleyn sijaintikello neljällä kädellä: Joten Raspberry Pi: n kanssa, joka oli pyörinyt jonkin aikaa, halusin löytää mukavan projektin, jonka avulla voisin hyödyntää sitä parhaalla mahdollisella tavalla. Löysin ppeters0502 tämän upean Instructable Build Your Own Weasley Location Clockin ja ajattelin, että
Ammattimainen sääasema käyttäen ESP8266- ja ESP32 -DIY: 9 vaihetta (kuvilla)
Ammattimainen sääasema käyttämällä ESP8266- ja ESP32 -DIY: LineaMeteoStazione on täydellinen sääasema, joka voidaan liittää Sensirionin ammattitunnistimiin sekä joihinkin Davis -instrumenttikomponentteihin (sademittari, tuulimittari)
Pultti - DIY -langaton latauskello (6 vaihetta): 6 vaihetta (kuvilla)
Pultti - DIY -langaton latausyökello (6 vaihetta): Induktiiviset lataukset (tunnetaan myös nimellä langaton lataus tai langaton lataus) on langattoman voimansiirron tyyppi. Se käyttää sähkömagneettista induktiota sähkön tuottamiseen kannettaville laitteille. Yleisin sovellus on langaton Qi -latauslaite