Sadržaj:

Višenamjenski kockasti sat baziran na položaju: 5 koraka (sa slikama)
Višenamjenski kockasti sat baziran na položaju: 5 koraka (sa slikama)

Video: Višenamjenski kockasti sat baziran na položaju: 5 koraka (sa slikama)

Video: Višenamjenski kockasti sat baziran na položaju: 5 koraka (sa slikama)
Video: Finally : Turkey Revealed Its New next-Generation Helicopter 2024, Srpanj
Anonim
Image
Image
Višenamjenski kockasti sat s položajem
Višenamjenski kockasti sat s položajem
Višenamjenski kockasti sat s položajem
Višenamjenski kockasti sat s položajem

Fusion 360 projekti »

Ovo je sat baziran na Arduinu s OLED zaslonom koji funkcionira kao sat s datumom, kao timer za drijemanje i kao noćno svjetlo. Različite "funkcije" kontroliraju se mjeračem ubrzanja, a biraju se rotiranjem kockastog sata.

Željela sam novi sat na noćnom ormariću, ali nisam htjela trošiti novac na otmjeni sat s mnoštvom funkcija koje ne bih koristila. Osim toga, prikupljao sam komponente i senzore koji su samo ležali pa sam ih odlučio upotrijebiti za izradu vlastitog sata!

Imao sam nekoliko ciljeva za ovaj projekt:

  1. Prikažite to vrijeme s opcijom isključivanja
  2. Uključuje funkciju noćnog svjetla
  3. Uključite 15 -minutni mjerač vremena za drijemanje s alarmom
  4. Moći prikazati datum

Pribor

  • Arduino Pro Mini 5V
  • ADXL335 troosni akcelerometar
  • DS3231 AT24C32 IIC preciznost Sat u stvarnom vremenu
  • Mini zvučnik
  • OLED zaslon SSD1306 IIC 0,96 inča
  • 5V DC napajanje
  • LED x 2
  • Otpornici 220ohm x 2
  • Jednosmjerna utičnica
  • Žica
  • Alati

    • Rezači/skidači žice
    • Lemilica/lemljenje
    • 3D pisač (izborno)
    • FTDI programer za povezivanje između Pro mini i Arduino IDE -a

Korak 1: Prototip i ispitivanje kruga

Prototip i ispitivanje kruga
Prototip i ispitivanje kruga
Prototip i ispitivanje kruga
Prototip i ispitivanje kruga
Prototip i ispitivanje kruga
Prototip i ispitivanje kruga

Spojite komponente na Arduino. Izgled matične ploče ili shema prikazani su gore. RTC i OLED koriste I2C protokol za povezivanje s Arduinom i korištenje A4 i A5 pinova. Akcelerometar koristi 3 analogna pina. Koristio sam A0, A1, A2. LED i Piezo mogu koristiti bilo koji od digitalnih pinova, koristio sam 4 odnosno 8.

Sučelje sa svakom komponentom. Morao sam instalirati neke Arduino knjižnice za povezivanje sa svakom komponentom. Oni su prikazani na gornjoj slici.

Kodirajte pomoću Arduino IDE -a. Pregledao sam neke primjere skica koje pruža svaka knjižnica kako bih shvatio odgovarajuću sintaksu za svaku komponentu na temelju onoga što želim da učine. Smislio sam skicu za svaku komponentu kako bih ih pojedinačno testirao. Oni su navedeni u nastavku. Počeo sam s piezo zvučnikom jer je bio najlakši. Zapravo nije trebala posebna knjižnica, samo određena funkcija koja postavlja frekvenciju i zvuk. Za pokretanje LED dioda bilo je potrebno samo povući jedan od digitalnih pinova visoko i nisko. Zatim sam prešao na OLED, a i ovo je bilo prilično jednostavno postaviti. Skica ispod je Adafruit demo koji prolazi kroz sve animacije/tekstove koji se mogu prikazati. Zatim sam pokušao natjerati RTC na rad. Skica koju sam dao bio je dio primjera u knjižnici koji dobiva trenutno vrijeme i ispisuje ga na serijski monitor. Konačno, upotrijebio sam navedeni primjer za testiranje akcelerometra. Izlazi svake osi ispisani su na serijskom monitoru.

Sada je vrijeme da sve spojite!

Korak 2: Glavni program

Glavni program
Glavni program
Glavni program
Glavni program

Sad kad znam da sve funkcionira pojedinačno, mogu početi s osmišljavanjem programa koji sve spaja. U nastavku ću raspravljati o svom procesu pisanja programa, ali slobodno preuzmite cijeli kôd u nastavku kako biste ga koristili za svoj projekt. Pokušao sam ostaviti određene komentare kako biste sami mogli proći kroz kôd.

Morao sam prikazati vrijeme i datum na OLED -u, što je bilo prilično jednostavno. Morao sam samo ispisati trenutno vrijeme na zaslonu umjesto na serijskom monitoru. Morao sam uzeti u obzir nekoliko stvari oko oblikovanja kako bi prikazao 12 -satni format umjesto 24 i dodao/uklonio 0 gdje je to bilo prikladno. Datum je bio sličan s dodatkom prikaza mjeseca i dana unutar pravokutnika nacrtanih na ekranu. Koristio sam ugniježđenu FOR petlju za stvaranje mjerača vremena i postavio piezo nakon završetka petlje. Odlučio sam zasvijetliti dok se zujalica gasila, što je bila osnovna animacija preuzeta iz Adafruit demonstracije. Napravio sam okretanje kocke natrag u položaj sata jedini način da isključim zujalicu. Konačno, htio sam način isključivanja zaslona što je postignuto samo brisanjem zaslona. Sada su mi sve ove funkcije trebale za rad na temelju izlaza akcelerometra. Koristio sam skriptu Accel_Test za određivanje koordinata osi svakog položaja za koji sam htio da se svaka funkcija izvodi. Ručno sam premjestio čip akcelerometra i snimio očitanja na serijski monitor. Gornji dijagram daje izlazne koordinate svake pozicije u SIVOJ. Koordinate u crvenom su granice između svakog položaja i te sam brojeve koristio za svoj program. U 4 položaja prikaza potrebne su samo koordinate osi X i Y. Peti položaj noćnog svjetla koristi os Z. Koristio sam jednostavne IF izraze za položaje akcelerometra prije svakog funkcionalnog bloka. Ako koristite neki drugi mjerač ubrzanja, te koordinate mogu varirati i morat će se prilagoditi u programu.

Korak 3: 3D ispis kocke

3D ispis kocke
3D ispis kocke
3D ispis kocke
3D ispis kocke
3D ispis kocke
3D ispis kocke

Pretpostavio sam da bi kocka bila najbolji dizajn koji bi prilagodio način na koji želim da sat funkcionira. Za izradu modela koristio sam fusion360. Trebao mi je izrez za OLED i utičnicu za cijev. Također sam želio jednostavan pristup zamjeni ćelijske baterije u RTC -u nakon što je sve ožičeno. Trebao mi je utor za držanje Arduina u orijentaciji koju bi bilo lako reprogramirati ako je potrebno. Dodatno, kućište je moralo biti lako uklonjivo kako bih mogao pristupiti Arduinu. CAD model možete vidjeti gore, a STL datoteke ispod.

Tiskao sam tijelo crnim PLA -om s ispunom od 20%, rezolucije 0,2 mm.

Kućište ili rukav tiskani su u Solutech fleksibilnoj niti sa 100% ispunom, razlučivosti 0,3 mm. Koristio sam ovaj materijal jer ima određenu fleksibilnost zbog koje se lako rastezati po tijelu. Također ima mekši osjećaj pri rotiranju sata. Na kraju, odabrao sam čistu nit kako bi LED diode za noćna svjetla zasjale.

Korak 4: Montaža

Skupština
Skupština
Skupština
Skupština
Skupština
Skupština

Sve sam spojio pomoću sheme iz 1. koraka. Upotrijebio sam mali komad ploče za povezivanje svih uobičajenih žica tako da nisam morao lemiti više žica na jedan pin na Arduinu. Vruće ljepilo korišteno je za pričvršćivanje svega na svoje mjesto osim Arduina. Samo je gurnut u predviđeno mjesto. Uvjerio sam se da je ploča akcelerometra okomita i ravna na dnu tijela tako da koordinate u kodu ne treba mijenjati.

Korak 5: Prenesite i gotovi ste

Prenesite i gotovi ste!
Prenesite i gotovi ste!
Prenesite i gotovi ste!
Prenesite i gotovi ste!
Prenesite i gotovi ste!
Prenesite i gotovi ste!
Prenesite i gotovi ste!
Prenesite i gotovi ste!

Sada se konačni program može postaviti na sat kako bi se postavilo točno vrijeme. Ćelijska baterija treba držati vrijeme čak i kad je napajanje isključeno. Gurnite 3D ispisani rukav po tijelu kako biste sakrili sve komponente i imate kompletan sat u obliku kocke!

Nadam se da ćete uživati u stvaranju ovog projekta i da će vam biti jednako koristan kao i meni. Lijep dio ovog projekta je to što se vrlo može prilagoditi. Slobodno dodajte svoje različite funkcije poput funkcije alarma, koristite različite komponente poput većeg OLED -a, FM radijskog prijemnika itd. Sretno!

Preporučeni: