Obsah:

Pozičné multifunkčné hodiny na kocky: 5 krokov (s obrázkami)
Pozičné multifunkčné hodiny na kocky: 5 krokov (s obrázkami)

Video: Pozičné multifunkčné hodiny na kocky: 5 krokov (s obrázkami)

Video: Pozičné multifunkčné hodiny na kocky: 5 krokov (s obrázkami)
Video: Легендарные ЧАСЫ с КУКУШКОЙ | Ремонт своими руками 2024, Júl
Anonim
Image
Image
Multifunkčné hodiny na kocke založené na polohe
Multifunkčné hodiny na kocke založené na polohe
Multifunkčné hodiny na kocke založené na polohe
Multifunkčné hodiny na kocke založené na polohe

Projekty Fusion 360 »

Jedná sa o hodiny založené na Arduino s OLED displejom, ktoré fungujú ako hodiny s dátumom, ako časovač spánku a ako nočné svetlo. Rôzne „funkcie“sú ovládané akcelerometrom a sú vybrané otáčaním hodín kocky.

Chcel som nový nočný stolík, ale nechcel som míňať peniaze na efektné hodiny s množstvom funkcií, ktoré by som nevyužil. Okrem toho som zbieral komponenty a senzory, ktoré práve ležali, a tak som sa rozhodol použiť ich na výrobu vlastných hodín!

Pre tento projekt som mal niekoľko cieľov:

  1. Zobrazte ten čas s možnosťou vypnúť
  2. Zahrňte funkciu nočného svetla
  3. Zahrňte 15 -minútový časovač spánku s budíkom
  4. Vedieť zobraziť dátum

Zásoby

  • Arduino Pro Mini 5V
  • 3-osový akcelerometer ADXL335
  • DS3231 AT24C32 IIC presnosť Hodiny reálneho času
  • Mini reproduktor
  • OLED displej SSD1306 IIC 0,96 palca
  • Napájanie 5 V DC
  • LED dióda x 2
  • Rezistory x 2 ohmy
  • DC barel jack
  • Drôt
  • Nástroje

    • Strihače/odizolovače drôtu
    • Spájkovačka/spájkovačka
    • 3D tlačiareň (voliteľné)
    • Programátor FTDI na rozhranie medzi Pro mini a Arduino IDE

Krok 1: Prototypujte a otestujte obvod

Prototypujte a otestujte obvod
Prototypujte a otestujte obvod
Prototypujte a otestujte obvod
Prototypujte a otestujte obvod
Prototypujte a otestujte obvod
Prototypujte a otestujte obvod

Pripojte komponenty k Arduinu. Rozvrhnutie alebo schematický diagram dosky je zobrazený vyššie. RTC a OLED používajú na prepojenie s Arduino protokol I2C a využívajú piny A4 a A5. Akcelerometer používa 3 analógové piny. Použil som A0, A1, A2. LED diódy a Piezo môžu používať ktorýkoľvek z digitálnych pinov, použil som 4 a 8.

Rozhranie s každým komponentom. Musel som nainštalovať niektoré knižnice Arduino na prepojenie s každým komponentom. Sú zobrazené na obrázku vyššie.

Kódujte pomocou Arduino IDE. Prešiel som niekoľko ukážkových skíc poskytnutých každou knižnicou, aby som zistil správnu syntax pre každý komponent na základe toho, čo som chcel, aby urobili. Ku každému komponentu som vymyslel skicu, aby som ich otestoval jednotlivo. Sú uvedené nižšie. Začal som s piezo reproduktorom, pretože bol najľahší. V skutočnosti nepotrebovala špeciálnu knižnicu, iba konkrétnu funkciu, ktorá nastavuje frekvenciu a zvuk. Na to, aby LED diódy fungovali, bolo potrebné potiahnuť jeden z digitálnych pinov vysoko a nízko. Ďalej som prešiel na OLED a nastavenie bolo tiež veľmi jednoduché. Nasledujúca skica je ukážkou Adafruit, ktorá prechádza všetkými animáciami/textmi, ktoré je možné zobraziť. Potom som sa pokúsil uviesť RTC do prevádzky. Náčrt, ktorý som poskytol, bol súčasťou príkladu v knižnici, ktorá zistí aktuálny čas a vytlačí ho na sériový monitor. Nakoniec som pomocou uvedeného príkladu otestoval akcelerometer. Výstupy každej osi sú vytlačené na sériovom monitore.

Teraz je čas dať všetko dohromady!

Krok 2: Hlavný program

Hlavný program
Hlavný program
Hlavný program
Hlavný program

Teraz, keď viem, že všetko funguje individuálne, môžem začať vymýšľať program, ktorý všetko spojí. Nižšie budem diskutovať o svojom postupe pri písaní programu, ale neváhajte si stiahnuť nižšie uvedený úplný kód a použiť ho vo svojom vlastnom projekte. Snažil som sa zanechať konkrétne komentáre, aby ste si kód mohli prejsť sami.

Potreboval som zobraziť čas a dátum na OLED, čo bolo dosť jednoduché. Len som musel vytlačiť aktuálny čas na displej namiesto sériového monitora. Existuje niekoľko vecí týkajúcich sa formátovania, ktoré som musel zohľadniť, aby zobrazoval 12 -hodinový formát namiesto 24 a podľa potreby pridal/odstránil 0. Dátum bol podobný s pridaním zobrazenia mesiaca a dňa v obdĺžnikoch nakreslených na obrazovke. Na vytvorenie časovača som použil vnorenú slučku FOR a po skončení slučky som spustil piezo. Keď sa bzučiak vypínal, rozhodol som sa nechať obrazovku blikať, čo bola základná animácia prevzatá z ukážky Adafruit. Otočením kocky späť do polohy hodín som jediným spôsobom vypol bzučiak. Nakoniec som chcel spôsob, ako vypnúť obrazovku, čo sa dosiahlo jednoduchým vymazaním displeja. Teraz som potreboval, aby všetky tieto funkcie fungovali na základe výstupov z akcelerometra. Skriptom Accel_Test som určil súradnice osí každej polohy, v ktorej som chcel, aby sa každá funkcia spustila. Ručne som presunul čip akcelerometra a zaznamenal údaje na sériový monitor. Vyššie uvedený diagram uvádza výstupné súradnice každej polohy v SIVEJ. Súradnice v ČERVENEJ sú hranicou medzi každou pozíciou a tieto čísla som použil pre svoj program. V 4 polohách zobrazenia sú potrebné iba súradnice osi X a Y. Piata poloha nočného svetla využíva os Z. Použil som jednoduché príkazy IF pre polohy akcelerometra pred každým funkčným blokom. Ak použijete iný akcelerometer, tieto súradnice sa môžu líšiť a bude ich potrebné v programe upraviť.

Krok 3: 3D tlač kocky

3D tlač kocky
3D tlač kocky
3D tlač kocky
3D tlač kocky
3D tlač kocky
3D tlač kocky

Myslel som si, že kocka bude najlepším riešením na to, ako chcem, aby hodiny fungovali. Na výrobu modelu som použil fusion360. Potreboval som výrez pre OLED a barel jack. Tiež som chcel ľahký prístup k výmene článkovej batérie v RTC potom, čo bolo všetko zapojené. Potreboval som slot, ktorý by udržal Arduino v orientácii, ktorá by sa v prípade potreby dala ľahko preprogramovať. Okrem toho musel byť kryt ľahko odnímateľný, aby som mal prístup k Arduinu. Môžete vidieť model CAD vyššie a súbory STL sú nižšie.

Telo som vytlačil čiernou PLA s 20% výplňou, rozlíšením 0,2 mm.

Kryt alebo objímka bola vytlačená z flexibilného vlákna Solutech so 100% výplňou, rozlíšenie 0,3 mm. Tento materiál som použil, pretože má určitú flexibilitu, vďaka ktorej sa dá ľahko natiahnuť na telo. Má tiež mäkší pocit pri otáčaní hodín. Nakoniec som vybral číre vlákno, aby presvitali LED diódy pre nočné svetlá.

Krok 4: Zostavenie

zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie

Všetko som zapojil pomocou schémy z kroku 1. Na prepojenie všetkých bežných vodičov som použil malý kúsok perfboardu, aby som nemusel spájkovať viac drôtov na jeden pin na Arduine. Na zaistenie všetkého na svojom mieste okrem Arduina bolo použité horúce lepidlo. Bol iba zasunutý do určeného otvoru. Uistil som sa, že doska akcelerometra je kolmá a rovná v spodnej časti tela, aby nebolo potrebné meniť súradnice v kóde.

Krok 5: Nahrajte a ste hotoví

Nahrajte a ste hotoví!
Nahrajte a ste hotoví!
Nahrajte a ste hotoví!
Nahrajte a ste hotoví!
Nahrajte a ste hotoví!
Nahrajte a ste hotoví!
Nahrajte a ste hotoví!
Nahrajte a ste hotoví!

Teraz je možné konečný program nahrať na hodiny a nastaviť správny čas. Článková batéria by mala udržať čas, aj keď je napájanie odpojené. Nasuňte 3D vytlačený rukáv na telo, aby ste skryli všetky súčasti, a máte kompletné hodiny na kocky!

Dúfam, že sa vám tento projekt bude páčiť a bude pre vás rovnako užitočný ako ja. Pekná časť tohto projektu je, že je veľmi prispôsobiteľný. Neváhajte pridať svoje vlastné rôzne funkcie, ako napríklad funkciu budíka, používať rôzne komponenty, ako je väčší OLED, FM rádioprijímač atď. Šťastné vytváranie!

Odporúča: