Obsah:

Hodiny nekonečna - Arduino - WS2813 a DS3231: 5 kroků (s obrázky)
Hodiny nekonečna - Arduino - WS2813 a DS3231: 5 kroků (s obrázky)

Video: Hodiny nekonečna - Arduino - WS2813 a DS3231: 5 kroků (s obrázky)

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

Hodiny nekonečna - Arduino - WS2813 a DS3231

Chtěl jsem postavit hodiny a zalíbila se mi myšlenka zkusit si vyrobit hodiny s nekonečnem pomocí Arduina. Chtěl jsem, aby to bylo postaveno z běžných položek a abych program napsal sám.

Co jsou to hodiny nekonečna?

Efekt zrcadla 3D iluze se vytváří vždy, když existují dvě rovnoběžné odrazné plochy, které mohou odrazit paprsek světla dopředu a dozadu neomezeně (teoreticky nekonečně) několikrát. Zdá se, že odrazy ustupují do dálky, protože světlo ve skutečnosti vzdálenost prochází. Přidáním barevných LED do zrcadla Infinity se pokoušíme simulovat analogové hodiny pomocí ustupujícího barevného světla jako ručiček hodin.

V tomto pokynu vás provedu kroky k vytvoření hodin nekonečna a poté přezkoumám některé laditelné parametry v programu.

Krok 1: Díly potřebné pro tento projekt

Díly potřebné pro tento projekt
Díly potřebné pro tento projekt

Seznam dílů:

  1. Arduino Uno $ 6 na taydaelectronics
  2. Protoshield pro arduino uno. Jeden můžete získat za 2,50 na Amazonu zde.
  3. Baterie DS3231 plus. zde jej můžete získat za přibližně 3,00 na Amazonu.
  4. WS2813 LED 144 na 1 metr. 20 $ na Amazonu zde.
  5. 470 OHM 1 W rezistor z uhlíkové fólie kolem 1 centu na Taydaelectronics.
  6. 1000uf 16V elektrolytický kondenzátor 9 centů na Taydaelectronics
  7. Napájení 5v- použil jsem starou nabíječku Blackberry.
  8. 6in kulaté zrcátko. kolem 5 $ na Amazonu
  9. 6in akrylový disk kolem 10 na Amazonu
  10. 2 - 6 "dřevěné vyšívací obruče (ano, je to tak) po 2 dolarech na Amazonu
  11. Jednosměrný stříbrný zrcadlový film. Ebay se zdá být nejlevnější.
  12. Různé dráty.
  13. 3/8 "dřevěná hranatá hmoždinka HomeDepot za 1,27 $
  14. stará dřevěná základna hodin nebo jiný stojan.
  15. 2 malé stahovací pásky.

Prototypový štít není vyžadován, ale pokud rádi používáte Arduino, při stavbě těchto projektů se vám bude hodit. V případě potřeby vyměňte prototyp štítu za prkénko.

Možná budete také potřebovat páječku.

Očekával bych, že projekt bude stát asi 40,00 $

Krok 2: Nastavení počítače

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

Pokud se jedná o váš první arduino projekt:

  1. Stáhněte si software arduino z arduino.cc
  2. Připojte Arduino k počítači pomocí USB kabelu.
  3. Jakmile spustíte software, budete muset nainstalovat tři knihovny:

    • Klikněte na nabídku „Skica“, poté na „Zahrnout knihovny“a poté „Spravovat knihovny…“
    • Nainstalujte dvě knihovny: FastLED a RTClib. Pro více detailů viz obrázky.
  4. Získejte scketch Arduino z mého githubu

    • Na konci kód zkontroluji, abyste jej mohli podle potřeby upravit.
    • V tomto okamžiku načtěte program Infinity_Clock_DS3231_WS2813.ino
  5. Přejděte na Sketch and Upload a načtěte Arduino.
  6. Tato poslední část Instructable pokrývá některé z konfigurovatelných parametrů.

Nejlepší je nahrát skicu hned teď, protože jakmile se přidá externí napájení, je nejlepší ji nepřipojit k počítači.

Krok 3: Zapojení projektu

Zapojení projektu
Zapojení projektu
Zapojení projektu
Zapojení projektu

Pokud používáte ProtoType Shield, vložte jej na Arduino.

Zapojení je nejsložitější částí projektu. Připojil jsem obrázky, které vám pomohou vidět, co jsem udělal. Před zapnutím doporučuji zkontrolovat všechna připojení.

DS3231 - Hodinový modul v reálném čase

Vložte modul DS3231 na prkénko a připojte jej jako na obrázku.

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

Na obrázku jsem zapojil 5v a uzemnění do vlastního běhu na prkénko, protože později budeme chtít připojit externí napájení.

Připojte LED pásek WS2813

  • arduino 5V na vaše 5V napájení.
  • Prostřední dva konektory jsou nadbytečné datové piny. jdou na pin 7

    Mezi pin7 a dva datové kabely nezapomeňte vložit odpor 470 OHM

  • Arduino Ground do posledního konektoru.

Připojte externí 5V napájecí zdroj (delší dobu nepoužívejte LED pásku z arduino napájení).

  • Mezi vodiče vložte elektrolytický kondenzátor 1 000 uf.
  • Připojte napájení a zem k napájení Arduino (5 V) a uzemnění (GND)

Nedoporučuji připojovat k Arduinu externí napájení a USB současně.

Krok 4: Sestavte zrcadlo nekonečna

Sestavte zrcadlo nekonečna
Sestavte zrcadlo nekonečna

Kroky k vytvoření zrcadla nekonečna:

  1. Naneste film na akrylové barvy. Díky tomu bude vaše jednosměrné zrcadlo.
  2. Vložte akrylový disk do vyšívacího rámečku. Utáhněte šroub, aby neklouzal
  3. Vložte zrcátko do druhé obruče Embroiery. Utáhněte šroub.
  4. Čtvercovou hmoždinku nakrájejte na malé části. asi 1/2"
  5. Smyčkněte LED pásku LED diodami směřujícími dovnitř kruhu.

    1. Pomocí pásků na zip držte LED na místě.
    2. Možná budete muset uříznout zářez na pásku na zip.
  6. Nasaďte smyčku na zrcadlo

    1. Jako podložky použijte dřevěné bloky
    2. Přilepte bloky na místo. Měly by být dostatečně bezpečné, aby udržely LED na místě.
  7. Umístěte akrylové zrcadlo na zrcadlo/LED diody a nalepte na místo.

Krok 5: Kód

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

Program používá knihovnu Real Time Clock a Fastled.

Zde je několik fragmentů kódu pro přizpůsobení chování.

  • OFFSET - je překrytí. Progam očekává, že překrytí bude z LED0. Mám 3 LED offset.
  • CLOCKSTART - je místo, kde je poledne na hodinách. LED 30 jej staví proti elektrickému připojení.

Napsal jsem program tak, aby používal barvy HTML. Můžete je získat z https://htmlcolorcodes.com/ Stačí v programu vyměnit # za 0x.

Pozadí můžete změnit na dopolední/odpolední

  • backgroundAM = 0x070707;
  • backgroundPM = 0x646D7E;

LED ručičky hodin:

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

Aby to vyniklo, přidal jsem možnost mít 3 LED diody pro hodinovou ručičku, ale umožnit vám změnit barvu na obou stranách prostřední, aby vynikla.

  • theeledhour = true; // můžete to udělat pravdivé nebo nepravdivé
  • extraHourHand = 0x00001F;

Další pěknou funkcí je, že RTClib zjistí, že ve vašem DS3231 byla vyjmuta baterie, a nastaví čas na čas kompilace počítače. Je to dobrá funkce pro nový DS3231.

Pokud jste skicu nedostali na začátku dokumentu, najdete ji na GitHubu

Děkujeme za přečtení tohoto Instructable. Pomohl mi syn a byl to pro nás zábavný projekt. Doufám, že jsme součástí optické soutěže.

Doporučuje: