Obsah:

Hodiny nekonečna - Arduino - WS2813 a DS3231: 5 krokov (s obrázkami)
Hodiny nekonečna - Arduino - WS2813 a DS3231: 5 krokov (s obrázkami)

Video: Hodiny nekonečna - Arduino - WS2813 a DS3231: 5 krokov (s obrázkami)

Video: Hodiny nekonečna - Arduino - WS2813 a DS3231: 5 krokov (s obrázkami)
Video: Infinity Mirror LED Clock - An Open sourc #computer #ambient #arduinoboard #arduino #time 2024, November
Anonim
Image
Image
Hodiny nekonečna - Arduino - WS2813 a DS3231
Hodiny nekonečna - Arduino - WS2813 a DS3231

Hodiny Infinity - Arduino - WS2813 a DS3231

Chcel som postaviť hodiny a páčila sa mi myšlienka skúsiť si vyrobiť hodiny s nekonečnom pomocou Arduina. Chcel som, aby to bolo postavené z bežných položiek a aby som si program napísal sám.

Čo sú to hodiny nekonečna?

Efekt zrkadla 3D ilúzie sa vytvára vždy, keď existujú dve rovnobežné odrazové plochy, ktoré môžu odraziť lúč svetla dopredu a dozadu neurčito (teoreticky nekonečne) mnohokrát. Zdá sa, že odrazy ustupujú do diaľky, pretože svetlo v skutočnosti vzdialenosť prekonáva. Pridaním farebných diód LED do zrkadla Infinity sa pokúšame simulovať analógové hodiny pomocou ustupujúceho farebného svetla ako ručičiek hodín.

V tomto návode vás prevediem krokmi k vytvoreniu hodín nekonečna a potom preskúmam niektoré laditeľné parametre v programe.

Krok 1: Časti potrebné pre tento projekt

Potrebné diely pre tento projekt
Potrebné diely pre tento projekt

Zoznam položiek:

  1. Arduino Uno 6 dolárov na taydaelectronics
  2. Protoshield pre arduino uno. Jednu za 2,50 dostanete na Amazone tu.
  3. Batéria DS3231 plus. jeden tu môžete získať za približne 3,00 na Amazone.
  4. WS2813 LED 144 na 1 meter. 20 dolárov na Amazone tu.
  5. 470 OHM 1 W rezistor z uhlíkovej fólie asi 1 cent na Taydaelectronics.
  6. 1 000uf 16V elektrolytický kondenzátor 9 centov na Taydaelectronics
  7. Napájanie 5v- použil som starú nabíjačku Blackberry.
  8. 6 -palcové okrúhle zrkadlo. okolo 5 dolárov na Amazone
  9. 6 -palcový akrylový disk okolo 10 na Amazone
  10. 2 - 6 "drevené vyšívacie obruče (áno, správne), 2 doláre za kus na Amazone
  11. Jednosmerný strieborný zrkadlový film. Ebay sa zdá byť najlacnejší.
  12. Rozmanité drôty.
  13. 3/8 "drevená hranatá hmoždinka HomeDepot za 1,27 dolára
  14. starý drevený podstavec na hodiny alebo iný stojan na displeje.
  15. 2 malé zapínanie na zips.

Prototypový štít nie je potrebný, ale ak radi používate Arduino, pri vytváraní týchto projektov sa vám bude veľmi hodiť. V prípade potreby vymeňte prototyp štítu za dosku.

Môžete tiež potrebovať spájkovačku.

Očakával by som, že projekt bude stáť asi 40,00 dolárov

Krok 2: Nastavte si počítač

Nastavte si počítač
Nastavte si počítač
Nastavte si počítač
Nastavte si počítač
Nastavte si počítač
Nastavte si počítač

Ak je to váš prvý projekt arduino:

  1. Stiahnite si softvér arduino z arduino.cc
  2. Pripojte Arduino k počítaču pomocou USB kábla.
  3. Po spustení softvéru budete musieť nainštalovať tri knižnice:

    • Kliknite na ponuku „Skica“, potom kliknite na „Zahrnúť knižnice“a potom „Spravovať knižnice …“
    • Nainštalujte dve knižnice: FastLED a RTClib. Bližšie informácie nájdete na obrázkoch.
  4. Získajte scketch Arduino z môjho githubu

    • Na konci kód skontrolujem, aby ste ho mohli podľa potreby upraviť.
    • V tomto okamihu načítajte program Infinity_Clock_DS3231_WS2813.ino
  5. Prejdite na položku Náčrt a nahrať a načítajte Arduino.
  6. Táto posledná časť inštrukcie pokrýva niektoré z konfigurovateľných parametrov.

Najlepšie je nahrať skicu hneď teraz, pretože keď sa pridá externé napájanie, bude najlepšie ju nepripojiť k počítaču.

Krok 3: Zapojenie projektu

Zapojenie projektu
Zapojenie projektu
Zapojenie projektu
Zapojenie projektu

Ak používate štít ProtoType, dajte ho na Arduino.

Zapojenie je najkomplexnejšou súčasťou projektu. Priložil som obrázky, aby ste videli, čo som urobil. Pred zapnutím odporúčam dvakrát skontrolovať všetky pripojenia.

DS3231 - Hodinový modul v reálnom čase

Vložte modul DS3231 na dosku a zapojte ako na obrázku.

  • Arduino Ground to GND
  • Arduino 5V až VCC
  • Arduino A4 až SDA
  • Arduino A5 až SCL

Na obrázku som zapojil 5V a uzemnenie do vlastného chodu na doske, pretože neskôr budeme chcieť pripojiť externé napájanie.

Pripojte pásik LED WS2813

  • arduino 5V na vaše 5V napájanie.
  • Stredné dva konektory sú nadbytočné dátové piny. idú na pin 7

    Medzi pin 7 a dva dátové vodiče zapojte odpor 470 OHM

  • Arduino Ground do posledného konektora.

Pripojte externý napájací zdroj 5 V (neodporúča sa dlhší čas používať LED pás z arduino napájania).

  • Medzi vodiče vložte elektrolytický kondenzátor 1 000 uf.
  • Pripojte napájanie a zem k napájaniu Arduino (5 V) a uzemneniu (GND)

Neodporúčam súčasne pripojiť externé napájanie a USB k Arduinu.

Krok 4: Zostavte zrkadlo Infinity

Postavte zrkadlo Infinity
Postavte zrkadlo Infinity

Kroky na zostavenie zrkadla Infinity:

  1. Naneste film na akrylové farby. Vďaka tomu bude vaše jednosmerné zrkadlo.
  2. Vložte akrylový kotúč do vyšívacieho rámika. Utiahnite skrutku, aby nekĺzala
  3. Zrkadlo vložte do druhého obruče Embroiery. Utiahnite skrutku.
  4. Hranatú hmoždinku nakrájajte na malé časti. asi 1/2"
  5. Ochlaďte pás s LED diódami smerujúcimi dovnútra kruhu.

    1. Pomocou popruhov na zips držte LED diódu na mieste.
    2. Možno budete musieť narezať zárez na zapínaní na zips.
  6. Nasaďte slučku na zrkadlo

    1. Ako rozpery používajte drevené bloky
    2. Prilepte bloky na miesto. Mali by byť dostatočne bezpečné, aby držali diódu na svojom mieste.
  7. Vložte akrylové zrkadlo na zrkadlo/LED diódy a prilepte na miesto.

Krok 5: Kód

Kód
Kód
Kód
Kód

Program používa knižnicu hodín v reálnom čase a knižnicu Fastled.

Tu je niekoľko útržkov kódu na prispôsobenie správania.

  • OFFSET - je prekrývanie. Progam očakáva, že prekrytie bude z LED0. Mám 3 LED offset.
  • CLOCKSTART - je miesto, kde je poludnie na hodinách. LED 30 ho stavia protiľahlo k elektrickým prípojkám.

Napísal som program tak, aby používal farby HTML. Môžete ich získať z https://htmlcolorcodes.com/ Stačí v programe vymeniť # za 0x.

Pozadie môžete zmeniť na dopoludnie/večer

  • pozadieAM = 0x070707;
  • backgroundPM = 0x646D7E;

LED ručičky hodín:

  • hourHand = 0x000FFF;
  • minHand = 0x00CC00;
  • secHand = 0xcc0000;

Aby to vyniklo, pridal som možnosť mať 3 LED diódy pre hodinovú ručičku, ale umožní vám zmeniť farbu na oboch stranách strednej, aby vynikla.

  • theeledhour = pravda; // môžete to urobiť pravdivo alebo nepravdivo
  • extraHourHand = 0x00001F;

Ďalšou príjemnou funkciou je, že RTClib zistí, že vo vašom DS3231 bola vybitá batéria, a nastaví čas na kompiláciu počítača. Je to dobrá vlastnosť pre nový DS3231.

Ak ste náčrt nedostali na začiatku dokumentu, nájdete ho na GitHub

Ďakujeme, že ste si prečítali tento návod. Pomáhal mi syn a bol to pre nás zábavný projekt. Dúfam, že sme súčasťou optickej súťaže.

Odporúča: