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, Juli
Anonim
Image
Image
Višenamjenski kockasti sat baziran na položaju
Višenamjenski kockasti sat baziran na položaju
Višenamjenski kockasti sat baziran na položaju
Višenamjenski kockasti sat baziran na položaju

Fusion 360 projekti »

Ovo je sat zasnovan na Arduinu sa OLED ekranom koji funkcionira kao sat s datumom, kao tajmer za dremež i kao noćno svjetlo. Različite "funkcije" kontroliraju se mjeračem ubrzanja i biraju se rotiranjem kockastog sata.

Htio sam novi sat na noćnom ormariću, ali nisam želio trošiti novac na elegantni sat koji je imao mnoštvo funkcija koje ne bih koristio. 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 tajmer za spavanje sa alarmom
  4. Moći prikazati datum

Supplies

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

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

Korak 1: Prototip i testiranje kola

Prototip i ispitivanje kola
Prototip i ispitivanje kola
Prototip i ispitivanje kola
Prototip i ispitivanje kola
Prototip i ispitivanje kola
Prototip i ispitivanje kola

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 koriste A4 i A5 pinove. 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 biblioteke 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 biblioteka kako bih shvatio odgovarajuću sintaksu za svaku komponentu na osnovu onoga što želim da urade. 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 biblioteka, samo određena funkcija koja postavlja frekvenciju i zvuk. Da bi LED diode radile potrebno je samo povući jedan od digitalnih pinova visoko i nisko. Zatim sam prešao na OLED i ovo je bilo prilično jednostavno za postavljanje. Skica ispod je Adafruit demo koji prolazi kroz sve animacije/tekstove koji se mogu prikazati. Zatim sam pokušao natjerati RTC da radi. Skica koju sam dao bio je dio primjera u biblioteci koja dobija trenutno vrijeme i štampa ga na serijskom monitoru. Konačno, upotrijebio sam navedeni primjer za testiranje akcelerometra. Izlazi svake osi se ispisuju na serijskom monitoru.

Sada je trenutak da sve spojite!

Korak 2: Glavni program

Glavni program
Glavni program
Glavni program
Glavni program

Sada kada 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 da odštampam trenutno vreme na ekranu umesto na serijskom monitoru. Morao sam uzeti u obzir nekoliko stvari pri oblikovanju kako bi prikazao 12 -časovni format umjesto 24 i dodao/uklonio 0 gdje je to bilo prikladno. Datum je bio sličan s dodavanjem prikaza mjeseca i dana unutar pravokutnika iscrtanih na ekranu. Koristio sam ugniježđenu FOR petlju za kreiranje timera i postavio piezo nakon završetka petlje. Odlučio sam da ekran počne da bljeska dok se zujalica gasila, što je bila osnovna animacija preuzeta iz Adafruit demo -a. Napravio sam okretanje kocke na položaj sata jedini način da isključim zujalicu. Konačno, htio sam način isključivanja ekrana što je postignuto samo brisanjem ekrana. Sada su mi sve ove funkcije trebale za rad na temelju izlaza akcelerometra. Koristio sam skriptu Accel_Test za određivanje koordinata osi svake pozicije za koju želim da se pokreće svaka funkcija. Ručno sam premjestio čip akcelerometra i snimio očitanja na serijski monitor. Gornji dijagram prikazuje izlazne koordinate svake pozicije u SIVOJ. Koordinate u crvenom su granice između svake pozicije i te brojeve sam koristio za svoj program. U 4 pozicije prikaza potrebne su samo koordinate osi X i Y. Peta pozicija noćnog svjetla koristi os Z. Koristio sam jednostavne IF izraze za položaje akcelerometra prije svakog funkcionalnog bloka. Ako koristite drugi akcelerometar, ove koordinate se mogu razlikovati i morat će se prilagoditi u programu.

Korak 3: 3D štampanje kocke

3D štampanje kocke
3D štampanje kocke
3D štampanje kocke
3D štampanje kocke
3D štampanje kocke
3D štampanje 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đe sam želeo lak pristup za zamenu ćelijske baterije u RTC -u nakon što je sve povezano. Trebao mi je utor za držanje Arduina u orijentaciji koju bi bilo lako reprogramirati ako je potrebno. Osim toga, kućište je moralo biti lako uklonjivo kako bih mogao pristupiti Arduinu. CAD model možete vidjeti gore, a STL datoteke ispod.

Štampao sam telo u crnom PLA sa ispunom od 20%, rezolucije 0,2 mm.

Kućište ili čaura su štampani u Solutech fleksibilnoj niti sa 100% ispunom, rezolucije 0,3 mm. Koristio sam ovaj materijal jer ima određenu fleksibilnost koja ga je olakšala rastezanjem 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

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

Sve sam spojio koristeći shemu iz koraka 1. Koristio sam mali komad perfboard -a 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 učvršćivanje svega na svom mjestu osim Arduina. Samo je gurnut u predviđeno mesto. Uvjerio sam se da je ploča akcelerometra okomita i ravna na dnu tijela tako da koordinate u kodu ne treba mijenjati.

Korak 5: Otpremite i gotovi ste

Otpremite i gotovi ste!
Otpremite i gotovi ste!
Otpremite i gotovi ste!
Otpremite i gotovi ste!
Otpremite i gotovi ste!
Otpremite i gotovi ste!
Otpremite i gotovi ste!
Otpremite i gotovi ste!

Sada se konačni program može postaviti na sat kako bi se postavilo tačno vrijeme. Ćelijska baterija bi trebala držati vrijeme čak i kad je napajanje isključeno. Gurnite 3D štampani 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 koristan kao i meni. Lijep dio ovog projekta je to što je vrlo prilagodljiv. Slobodno dodajte svoje različite funkcije poput funkcije alarma, koristite različite komponente poput većeg OLED -a, FM radio prijemnika itd. Sretno!

Preporučuje se: