Kazalo:

Položaj večnamenske kockaste ure: 5 korakov (s slikami)
Položaj večnamenske kockaste ure: 5 korakov (s slikami)

Video: Položaj večnamenske kockaste ure: 5 korakov (s slikami)

Video: Položaj večnamenske kockaste ure: 5 korakov (s slikami)
Video: Как заменить распредвал в OPEL ASTRA G 1.6 16V x16xel 2024, Julij
Anonim
Image
Image
Položaj večnamenske kockaste ure
Položaj večnamenske kockaste ure
Položaj večnamenske kockaste ure
Položaj večnamenske kockaste ure

Projekti Fusion 360 »

To je ura na osnovi Arduina z zaslonom OLED, ki deluje kot ura z datumom, kot časovnik za dremež in kot nočna luč. Različne "funkcije" nadzira merilnik pospeška in se izberejo z vrtenjem kocke.

Želel sem novo uro za nočno omarico, vendar nisem hotel porabiti denarja za modno uro, ki je imela na tone funkcij, ki jih ne bi uporabljal. Poleg tega sem zbiral komponente in senzorje, ki so le ležali naokoli, zato sem se odločil, da jih uporabim za izdelavo svoje ure!

Za ta projekt sem imel nekaj ciljev:

  1. Prikažite ta čas z možnostjo izklopa
  2. Vključite funkcijo nočne luči
  3. Vključite 15 -minutni časovnik za dremež z alarmom
  4. Sposobnost prikaza datuma

Zaloge

  • Arduino Pro Mini 5V
  • ADXL335 3-osni merilnik pospeška
  • DS3231 AT24C32 IIC natančnost Ura v realnem času
  • Mini zvočnik
  • OLED zaslon SSD1306 IIC 0,96 palca
  • 5V DC napajalnik
  • LED x 2
  • Upori 220 ohmov x 2
  • Vtičnica za enosmerni tok
  • Žica
  • Orodja
    • Rezalniki/odstranjevalci žice
    • Spajkalnik/spajkalnik
    • 3D tiskalnik (neobvezno)
    • Programer FTDI za vmesnik med Pro mini in Arduino IDE

Korak: Prototip in preskusite vezje

Prototip in preskus vezja
Prototip in preskus vezja
Prototip in preskus vezja
Prototip in preskus vezja
Prototip in preskus vezja
Prototip in preskus vezja

Povežite komponente z Arduinom. Shema ali shema je prikazana zgoraj. RTC in OLED uporabljata protokol I2C za vmesnik z Arduinom in uporabo zatičev A4 in A5. Merilnik pospeška uporablja 3 analogne zatiče. Uporabil sem A0, A1, A2. LED in Piezo lahko uporabljata kateri koli digitalni zatič, uporabil sem 4 oziroma 8.

Vmesnik z vsako komponento. Za povezavo z vsako komponento sem moral namestiti nekaj knjižnic Arduino. Prikazani so na zgornji sliki.

Kodirajte z uporabo Arduino IDE. Prebral sem nekaj vzorčnih skic, ki jih ponuja vsaka knjižnica, da bi ugotovil ustrezno skladnjo za vsako komponento glede na to, kaj želim, da naredijo. Za vsako komponento sem pripravil skico, da jih preizkusim posebej. Spodaj so navedene. Začel sem s piezo zvočnikom, ker je bil najlažji. Pravzaprav ni potreboval posebne knjižnice, samo posebno funkcijo, ki nastavi frekvenco in zvok. Za zagon LED je bilo potrebno le potegniti enega od digitalnih zatičev visoko in nizko. Nato sem prešel na OLED in tudi to je bilo precej preprosto nastaviti. Spodnja skica je demo Adafruit, ki pregleduje vse animacije/besedila, ki jih je mogoče prikazati. Nato sem poskušal zagnati RTC. Skica, ki sem jo posredoval, je bila del primera v knjižnici, ki dobi trenutni čas in ga natisne na serijski monitor. Nazadnje sem uporabil priložen primer za preizkušanje merilnika pospeška. Izhodi vsake osi so natisnjeni na serijskem monitorju.

Zdaj je čas, da vse sestavite!

2. korak: Glavni program

Glavni program
Glavni program
Glavni program
Glavni program

Zdaj, ko vem, da vse deluje individualno, lahko začnem pripravljati program, ki vse združuje. Spodaj bom razpravljal o svojem postopku pri pisanju programa, vendar prosimo, da spodaj prenesete celotno kodo, ki jo boste uporabili za svoj projekt. Poskušal sem pustiti posebne komentarje, da se lahko sami sprehodite po kodi.

Na OLED -u sem moral prikazati čas in datum, kar je bilo precej preprosto. Moral sem samo natisniti trenutni čas na zaslon namesto na serijski monitor. Upoštevati je bilo treba nekaj oblikovalskih stvari, da je namesto 24 prikazala 12 -urno obliko in dodala/odstranila 0, kjer je bilo to primerno. Datum je bil podoben z dodatkom prikaza meseca in dneva v pravokotnikih, narisanih na zaslonu. Za ustvarjanje časovnika sem uporabil ugnezdeno zanko FOR in po koncu zanke nastavil piezo. Odločil sem se, da bo zaslon utripal, ko se je ugasnil zvok, kar je bila osnovna animacija, vzeta iz predstavitve Adafruit. Naredil sem obračanje kocke nazaj v položaj ure, edini način, da izklopim zvočni signal. Nazadnje sem želel način, kako izklopiti zaslon, kar je bilo doseženo samo z brisanjem zaslona. Zdaj sem potreboval vse te funkcije za delo na podlagi izhodov merilnika pospeška. S skriptom Accel_Test sem določil koordinate osi vsakega položaja, ki ga želim izvajati. Ročno sem premaknil čip merilnika pospeška in odčitke zapisal na serijski monitor. Zgornji diagram prikazuje izhodne koordinate vsakega položaja v sivi barvi. Koordinate v RED -u so meje med vsakim položajem in te številke sem uporabil za svoj program. V 4 položajih prikaza so potrebne samo koordinate osi X in Y. Peti položaj nočne luči uporablja os Z. Za položaje merilnika pospeška sem pred vsakim funkcijskim blokom uporabil preproste stavke IF. Če uporabljate drug merilnik pospeška, se lahko te koordinate razlikujejo in jih bo treba v programu prilagoditi.

3. korak: 3D tiskanje kocke

3D tiskanje kocke
3D tiskanje kocke
3D tiskanje kocke
3D tiskanje kocke
3D tiskanje kocke
3D tiskanje kocke

Ugotovil sem, da bi bila kocka najboljša oblika, ki bi prilagodila, kako želim, da ura deluje. Za izdelavo modela sem uporabil fusion360. Potreboval sem izrez za OLED in priključek za cev. Želel sem tudi enostaven dostop do zamenjave celične baterije v RTC, potem ko je bilo vse povezano. Potreboval sem režo, da bi Arduino ohranil v orientaciji, ki bi jo bilo po potrebi enostavno reprogramirati. Poleg tega je bilo treba ohišje enostavno odstraniti, da lahko dostopam do Arduina. Model CAD si lahko ogledate zgoraj, spodaj pa datoteke STL.

Telo sem natisnil v črni PLA z 20% polnilom, ločljivostjo 0,2 mm.

Ohišje ali puša je bila natisnjena iz fleksibilne nitke Solutech s 100% polnilom, ločljivostjo 0,3 mm. Ta material sem uporabil, ker ima nekaj prožnosti, zaradi česar se je enostavno raztegniti po telesu. Mehkejši občutek ima tudi pri vrtenju ure. Nazadnje sem izbral prozorno nit, tako da bodo LED diode za nočne luči svetile.

4. korak: Montaža

Montaža
Montaža
Montaža
Montaža
Montaža
Montaža

Vse sem ožičil po shemi iz koraka 1. Uporabil sem majhen kos perfboard -a, da povežem vse običajne žice, tako da mi ni bilo treba spajati več žic na en pin na Arduinu. Vroče lepilo je bilo uporabljeno za zavarovanje vsega na svojem mestu, razen Arduina. Pravkar so ga potisnili v določeno režo. Poskrbel sem, da je plošča merilnika pospeška pravokotna in ravna na dnu telesa, tako da koordinat v kodi ni treba spreminjati.

5. korak: Naložite in končali ste

Naložite in končali ste!
Naložite in končali ste!
Naložite in končali ste!
Naložite in končali ste!
Naložite in končali ste!
Naložite in končali ste!
Naložite in končali ste!
Naložite in končali ste!

Zdaj lahko končni program naložite na uro, da nastavite pravilen čas. Celična baterija mora ohraniti čas tudi, ko je napajanje izklopljeno. Potisnite 3D natisnjen tulec po telesu, da skrijete vse komponente in imate popolno kockasto uro!

Upam, da boste uživali pri ustvarjanju tega projekta in da se mi bo zdel prav tako koristen kot jaz. Lepo pri tem projektu je, da je zelo prilagodljiv. Dodajte svoje različne funkcije, kot je funkcija alarma, uporabite različne komponente, kot je večji OLED, FM radijski sprejemnik itd. Veselo!

Priporočena: