Sisukord:

Positsioonipõhine multifunktsionaalne kuubikell: 5 sammu (piltidega)
Positsioonipõhine multifunktsionaalne kuubikell: 5 sammu (piltidega)

Video: Positsioonipõhine multifunktsionaalne kuubikell: 5 sammu (piltidega)

Video: Positsioonipõhine multifunktsionaalne kuubikell: 5 sammu (piltidega)
Video: Aliexpressiga autole 20 kaupa, autokaup nr 28 2024, Juuli
Anonim
Image
Image
Positsioonipõhine multifunktsionaalne kuubikell
Positsioonipõhine multifunktsionaalne kuubikell
Positsioonipõhine multifunktsionaalne kuubikell
Positsioonipõhine multifunktsionaalne kuubikell

Fusion 360 projektid »

See on Arduino -põhine kell, millel on OLED -ekraan, mis toimib kellaajana koos kuupäevaga, uinakutaimerina ja öövalgustina. Erinevaid "funktsioone" juhib kiirendusmõõtur ja need valitakse kuubikella pööramisega.

Tahtsin uut öökapikella, kuid ei tahtnud kulutada raha väljamõeldud kellale, millel oli palju funktsioone, mida ma ei kasutaks. Lisaks olin kogunud komponente ja andureid, mis alles lebasid, nii et otsustasin neid oma kella tegemiseks kasutada!

Mul oli selle projekti jaoks mõned eesmärgid:

  1. Näidake seda aega väljalülitamise võimalusega
  2. Kaasa öövalguse funktsioon
  3. Kaasa 15 -minutiline uinakutaimer koos äratusega
  4. Saate kuvada kuupäeva

Tarvikud

  • Arduino Pro Mini 5V
  • ADXL335 3-teljeline kiirendusmõõtur
  • DS3231 AT24C32 IIC täpsus Reaalajas kell
  • Mini kõlar
  • OLED -ekraan SSD1306 IIC 0,96 tolli
  • 5V alalisvoolu toide
  • LED x 2
  • Takistid 220 oomi x 2
  • DC tünni pistik
  • Traat
  • Tööriistad

    • Traadi lõikurid/eemaldajad
    • Jootekolb/jootekolb
    • 3D -printer (valikuline)
    • FTDI programmeerija Pro mini ja Arduino IDE vaheliseks liideseks

Samm: vooluringi prototüüp ja testimine

Prototüüp ja katsetage vooluringi
Prototüüp ja katsetage vooluringi
Prototüüp ja katsetage vooluringi
Prototüüp ja katsetage vooluringi
Prototüüp ja katsetage vooluringi
Prototüüp ja katsetage vooluringi

Ühendage komponendid Arduinoga. Leivaplaadi paigutus või skeem on näidatud ülal. RTC ja OLED kasutavad I2C protokolli, et liituda Arduinoga ning kasutada A4 ja A5 kontakte. Kiirendusmõõtur kasutab 3 analoognõela. Ma kasutasin A0, A1, A2. LEDid ja Piezo saavad kasutada mis tahes digitaalseid tihvte, ma kasutasin vastavalt 4 ja 8.

Liides iga komponendiga. Pidin iga komponendiga liidestamiseks installima mõned Arduino teegid. Need on näidatud ülaltoodud pildil.

Kood, kasutades Arduino IDE -d. Sõelusin läbi iga raamatukogu näidisvisandid, et selgitada välja iga komponendi õige süntaks, lähtudes sellest, mida ma tahtsin. Mõtlesin välja iga komponendi jaoks visandi, et neid eraldi testida. Need on toodud allpool. Alustasin piesokõlarist, sest see oli kõige lihtsam. See ei vajanud tegelikult spetsiaalset raamatukogu, vaid konkreetset funktsiooni, mis määrab sageduse ja heli. Valgusdioodide tööle saamiseks oli vaja tõmmata üks digitaalne tihvt kõrgele ja madalale. Järgmisena liikusin OLED -ile ja seda oli ka üsna lihtne seadistada. Allolev visand on Adafruit'i demo, mis läbib kõik kuvatavad animatsioonid/tekstid. Seejärel proovisin RTC tööle saada. Esitatud eskiis oli osa raamatukogus toodud näitest, mis saab praeguse aja ja prindib selle jadamonitorile. Lõpuks kasutasin kiirendusmõõturi testimiseks esitatud näidet. Iga telje väljundid trükitakse jadamonitorile.

Nüüd on aeg kõik kokku panna!

Samm: põhiprogramm

Põhiprogramm
Põhiprogramm
Põhiprogramm
Põhiprogramm

Nüüd, kui ma tean, et kõik toimib individuaalselt, võin hakata välja mõtlema programmi, mis koondab kõik kokku. Arutlen allpool oma programmi kirjutamise protsessi, kuid laadige alla kogu allolev kood, et seda oma projekti jaoks kasutada. Püüdsin jätta konkreetseid kommentaare, et saaksite koodi ise läbi käia.

Mul oli vaja OLED -il kuvada kellaaeg ja kuupäev, mis oli üsna lihtne. Pidin lihtsalt seeriamonitori asemel praeguse aja ekraanile printima. Ma pidin arvestama mõne vormindamisega, et see kuvaks 24 tunni asemel 12 -tunnise vormingu ja lisaks/eemaldaks 0 -d, kui need olid sobivad. Kuupäev oli sarnane, lisades kuu ja päeva kuvamise ekraanile joonistatud ristkülikutes. Taimeri loomiseks kasutasin pesastatud FOR -silmust ja pärast silmuse lõppu hakkasin pieso teele. Otsustasin ekraani vilkuma panna, kui sumin välja lülitati, mis oli Adafruit'i demost võetud põhianimatsioon. Tegin kuubi keeramise kellaasendisse ainsaks viisiks, kuidas sumin välja lülitada. Lõpuks tahtsin ma ekraani välja lülitada, mis saavutati lihtsalt ekraani tühjendamisega. Nüüd vajasin kõiki neid funktsioone kiirendusmõõturi väljundite põhjal töötamiseks. Kasutasin Accel_Test skripti, et määrata iga funktsiooni telje koordinaadid, mida ma soovisin, et iga funktsioon käivitaks. Liigutasin käsitsi kiirendusmõõturi kiibi ringi ja salvestasin näidud jadamonitorile. Ülaltoodud diagramm annab halli iga positsiooni väljundkoordinaadid. PUNASED koordinaadid on piirid iga positsiooni vahel ja ma kasutasin neid numbreid oma programmi jaoks. 4 näidikuasendis on vaja ainult X- ja Y -telje koordinaate. Öövalguse viies asend kasutab Z -telge. Kiirendusmõõturi positsioonide jaoks kasutasin enne iga funktsiooniplokki lihtsaid IF -lauseid. Kui kasutate teist kiirendusmõõturit, võivad need koordinaadid erineda ja neid tuleb programmis reguleerida.

Samm: kuubi 3D -printimine

Kuubi 3D printimine
Kuubi 3D printimine
Kuubi 3D printimine
Kuubi 3D printimine
Kuubi 3D printimine
Kuubi 3D printimine

Arvasin, et kuubik oleks parim disain, mis sobiks kella toimimiseks. Mudeli tegemiseks kasutasin fusion360. Mul oli vaja OLED -i ja tünnipistiku jaoks väljalõiget. Tahtsin ka lihtsat juurdepääsu RTC elemendi aku vahetamiseks pärast seda, kui kõik oli juhtmega ühendatud. Mul oli vaja pesa, et hoida Arduino orientatsioonis, mida oleks vajadusel lihtne ümber programmeerida. Lisaks pidi korpus olema kergesti eemaldatav, et saaksin Arduinole juurde pääseda. CAD -mudelit näete ülalpool ja STL -failid on allpool.

Prindisin korpuse musta PLA -ga, 20% täidisega, 0,2 mm eraldusvõimega.

Korpus või hülss trükiti Solutechi painduvast hõõgniidist, 100% täidisega, 0,3 mm eraldusvõimega. Ma kasutasin seda materjali, kuna sellel on teatud paindlikkus, mis hõlbustas üle keha venitamist. Samuti on see kella ümber pöörates pehmem. Lõpuks valisin selge hõõgniidi, et öölampide LED -id läbi paistaksid.

4. samm: kokkupanek

Kokkupanek
Kokkupanek
Kokkupanek
Kokkupanek
Kokkupanek
Kokkupanek

Ma ühendasin kõik kokku, kasutades 1. sammu skeemi. Kasutasin väikese ühiku tükki, et ühendada kõik tavalised juhtmed, nii et ma ei peaks Arduino ühele tihvtile mitu juhet jootma. Kuuma liimi abil kinnitati kõik oma kohale, välja arvatud Arduino. See lükati lihtsalt selleks ettenähtud pesasse. Veendusin, et kiirendusmõõturi plaat on kere põhjas risti ja tasane, et koodis olevaid koordinaate poleks vaja muuta.

Samm: laadige üles ja oletegi valmis

Laadige üles ja oletegi valmis!
Laadige üles ja oletegi valmis!
Laadige üles ja oletegi valmis!
Laadige üles ja oletegi valmis!
Laadige üles ja oletegi valmis!
Laadige üles ja oletegi valmis!
Laadige üles ja oletegi valmis!
Laadige üles ja oletegi valmis!

Nüüd saab lõpliku programmi kellale üles laadida, et määrata õige aeg. Akupatarei peaks hoidma aega ka siis, kui toide on vooluvõrgust lahti ühendatud. Kõigi komponentide peitmiseks libistage 3D -prinditud varrukas üle keha ja teil on täielik kuubikell!

Loodan, et teile meeldib selle projekti tegemine ja see on sama kasulik kui mina. Selle projekti kena osa on see, et see on väga kohandatav. Lisage julgelt oma erinevaid funktsioone, nagu äratusfunktsioon, kasutage erinevaid komponente, näiteks suuremat OLED -i, FM -raadiosaatjat jne. Head tegemist!

Soovitan: