Sisällysluettelo:

Paikkapohjainen monitoimikellokello: 5 vaihetta (kuvilla)
Paikkapohjainen monitoimikellokello: 5 vaihetta (kuvilla)

Video: Paikkapohjainen monitoimikellokello: 5 vaihetta (kuvilla)

Video: Paikkapohjainen monitoimikellokello: 5 vaihetta (kuvilla)
Video: Vaikuttavuuden mittaamisen ABC -webinaari, 23.10.2023 2024, Heinäkuu
Anonim
Image
Image
Paikkapohjainen monitoimikello
Paikkapohjainen monitoimikello
Paikkapohjainen monitoimikellokello
Paikkapohjainen monitoimikellokello

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:

  1. Tuo aika näkyviin kytkemällä se pois päältä
  2. Sisältää yövalotoiminnon
  3. Sisällytä 15 minuutin uniajastin ja hälytys
  4. 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

Prototyyppi ja testata piiri
Prototyyppi ja testata piiri
Prototyyppi ja testata piiri
Prototyyppi ja testata piiri
Prototyyppi ja testata piiri
Prototyyppi ja testata piiri

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

Pääohjelma
Pääohjelma
Pääohjelma
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

Kuution 3D -tulostus
Kuution 3D -tulostus
Kuution 3D -tulostus
Kuution 3D -tulostus
Kuution 3D -tulostus
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

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

Lataa ja olet valmis!
Lataa ja olet valmis!
Lataa ja olet valmis!
Lataa ja olet valmis!
Lataa ja olet valmis!
Lataa ja olet valmis!
Lataa ja olet valmis!
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: