Spisu treści:

Zegar Infinity - Arduino - WS2813 i DS3231: 5 kroków (ze zdjęciami)
Zegar Infinity - Arduino - WS2813 i DS3231: 5 kroków (ze zdjęciami)

Wideo: Zegar Infinity - Arduino - WS2813 i DS3231: 5 kroków (ze zdjęciami)

Wideo: Zegar Infinity - Arduino - WS2813 i DS3231: 5 kroków (ze zdjęciami)
Wideo: Arduino DIY mechanical clock ( #shorts #arduino #diy ) 2024, Lipiec
Anonim
Image
Image
Zegar nieskończoności - Arduino - WS2813 i DS3231
Zegar nieskończoności - Arduino - WS2813 i DS3231

Zegar nieskończoności - Arduino - WS2813 i DS3231

Chciałem zbudować zegar i spodobał mi się pomysł spróbowania swoich sił w tworzeniu zegara nieskończoności za pomocą Arduino. Chciałem go zbudować z typowych elementów i sam napisać program.

Co to jest zegar nieskończoności?

Efekt złudzenia 3D powstaje, gdy istnieją dwie równoległe powierzchnie odbijające światło, które mogą odbijać wiązkę światła w tę i z powrotem nieskończoną (teoretycznie nieskończoną) liczbę razy. Odbicia wydają się cofać w dal, ponieważ światło faktycznie pokonuje tę odległość. Dodając kolorowe diody LED do lustra Infinity, próbujemy symulować zegar analogowy, wykorzystując oddalające się kolorowe światło jako wskazówki zegara.

W tej instrukcji przeprowadzę Cię przez kroki, aby utworzyć zegar nieskończoności, a następnie przejrzę kilka dostrajalnych parametrów w programie.

Krok 1: Części potrzebne do tego projektu

Części potrzebne do tego projektu
Części potrzebne do tego projektu

Lista części:

  1. Arduino Uno 6 USD na taydaelectronics
  2. Protoshield dla arduino uno. Możesz dostać jeden za 2,50 na Amazon tutaj.
  3. DS3231 plus bateria. możesz dostać jeden za około 3.00 na Amazon tutaj.
  4. WS2813 LED 144 na 1 metr. 20 USD na Amazon tutaj.
  5. Rezystor węglowy 470 OHM 1 W około 1 centa na Taydaelectronics.
  6. Kondensator elektrolityczny 1000 uf 16 V 9 centów na Taydaelectronics!
  7. Zasilacz 5v- użyłem starej ładowarki do jeżyn.
  8. Okrągłe lustro 6 cali. około 5 USD na Amazon
  9. 6-calowy dysk akrylowy około 10 na Amazon
  10. 2 - 6" drewniane obręcze do haftu (tak, to prawda) 2 USD za sztukę na amazon
  11. Folia lustrzana jednokierunkowa w kolorze srebrnym. Ebay wydaje się być najtańszy.
  12. Różne przewody.
  13. Drewniany kwadratowy kołek 3/8" HomeDepot za $1.27
  14. stara drewniana podstawa zegara lub inny stojak wystawowy.
  15. 2 małe opaski na suwak.

Prototypowa osłona nie jest wymagana, ale jeśli lubisz korzystać z Arduino, okaże się bardzo przydatna w budowaniu tych projektów. W razie potrzeby zamień prototypową tarczę na płytkę stykową.

Możesz również potrzebować lutownicy.

Spodziewam się, że projekt będzie kosztował około 40,00 $

Krok 2: Skonfiguruj swój komputer

Skonfiguruj swój komputer
Skonfiguruj swój komputer
Skonfiguruj swój komputer
Skonfiguruj swój komputer
Skonfiguruj swój komputer
Skonfiguruj swój komputer

Jeśli to Twój pierwszy projekt na arduino:

  1. Pobierz oprogramowanie arduino z arduino.cc
  2. Podłącz Arduino do komputera za pomocą kabla USB.
  3. Po uruchomieniu oprogramowania będziesz musiał zainstalować trzy biblioteki:

    • Kliknij menu „Szkic”, a następnie kliknij „Dołącz biblioteki”, a następnie „Zarządzaj bibliotekami…”
    • Zainstaluj dwie biblioteki: FastLED i RTClib. Zobacz zdjęcia, aby uzyskać więcej szczegółów.
  4. Pobierz szkic Arduino z mojego github

    • Na końcu przejrzę kod, abyś mógł go zmodyfikować w razie potrzeby.
    • W tym momencie załaduj program Infinity_Clock_DS3231_WS2813.ino
  5. Przejdź do szkicu i prześlij, aby załadować Arduino.
  6. Ta ostatnia sekcja Instructable obejmuje niektóre konfigurowalne parametry.

Najlepiej przesłać szkic teraz, ponieważ po dodaniu zewnętrznego zasilania najlepiej nie podłączać go do komputera.

Krok 3: Okablowanie projektu

Okablowanie projektu
Okablowanie projektu
Okablowanie projektu
Okablowanie projektu

Jeśli używasz ProtoType Shield, umieść go na Arduino.

Okablowanie to najbardziej złożona część projektu. Dołączyłem zdjęcia, które pomogą Ci zobaczyć, co zrobiłem. Zalecam podwójne sprawdzenie wszystkich połączeń przed włączeniem.

DS3231 - Moduł zegara czasu rzeczywistego

Włóż moduł DS3231 do płytki stykowej i podłącz jak na zdjęciu.

  • Uziemienie Arduino do GND
  • Arduino 5V do VCC
  • Arduino A4 do SDA
  • Arduino A5 do SCL

Na zdjęciu podłączam 5v i masę do własnego biegu na płytce stykowej bo później będziemy chcieli podłączyć zewnętrzne zasilanie.

Zamocuj pasek LED WS2813

  • arduino 5V do twojej mocy 5V.
  • Dwa środkowe złącza to nadmiarowe styki danych. idą na pin 7

    Pamiętaj, aby umieścić rezystor 470 omów między pin7 a dwoma przewodami danych

  • Uziemienie Arduino do ostatniego złącza.

Podłącz zewnętrzny zasilacz 5V (nie jest zalecane uruchamianie paska LED z zasilania arduino przez dłuższy czas).

  • Umieść kondensator elektrolityczny o pojemności 1000 uf między przewodami.
  • Podłącz zasilanie i uziemienie do Arduino Power (5V) i Ground (GND)

Nie polecam jednoczesnego podłączania zewnętrznego zasilania i USB do Arduino.

Krok 4: Zbuduj lustro nieskończoności

Zbuduj Lustro Nieskończoności
Zbuduj Lustro Nieskończoności

Kroki do zbudowania Lustra Nieskończoności:

  1. Nałóż folię na krążki akrylowe. To sprawi, że twoje jednokierunkowe lustro.
  2. Umieść krążek akrylowy w tamborku. Dokręć śrubę, aby się nie ześlizgnęła
  3. Umieść lustro w drugiej obręczy Embroiery. Dokręć śrubę.
  4. Pokrój kwadratowy kołek na małe odcinki. około 1/2"
  5. Zapętl pasek led z diodami LED skierowanymi do wnętrza okręgu.

    1. Użyj opasek na suwak, aby utrzymać diodę na miejscu.
    2. Może zajść potrzeba wycięcia nacięcia w zamkach błyskawicznych.
  6. Umieść pętlę na lustrze

    1. Użyj drewnianych klocków jako przekładek
    2. Przyklej bloki na miejsce. Powinny być wystarczająco bezpieczne, aby utrzymać diodę na miejscu.
  7. Umieść lustro akrylowe na lustrze/diodach LED i przyklej na miejsce.

Krok 5: Kodeks

Kod
Kod
Kod
Kod

Program korzysta z biblioteki zegara czasu rzeczywistego oraz biblioteki Fastled.

Oto kilka fragmentów kodu, które pozwalają dostosować zachowanie.

  • PRZESUNIĘCIE - to zakładka. Program oczekuje, że nakładanie się będzie pochodzić z LED0. Mam offset 3 LED.
  • CLOCKSTART - to miejsce, w którym na zegarze jest południe. LED 30 stawia go naprzeciw połączeń elektrycznych.

Napisałem program do używania kolorów HTML. Możesz je pobrać z https://htmlcolorcodes.com/ Po prostu zamień # na 0x w programie.

Możesz zmienić tło na am/pm

  • tłoAM = 0x070707;
  • tłoPM = 0x646D7E;

Wskazówki LED zegara:

  • hourHand =0x000FFF;
  • MinRęka =0x00CC00;
  • secHand = 0xcc0000;

Aby go wyróżniać dodałem opcję posiadania 3 diod LED na wskazówkę godzinową, ale pozwala na zmianę koloru po obu stronach środkowej, aby się wyróżniał.

  • theeledhour=prawda; //możesz zrobić to prawda lub fałsz
  • dodatkowa godzina = 0x00001F;

Inną fajną funkcją jest to, że RTClib wykryje, że twój DS3231 ma wyjętą baterię i ustawi czas na czas kompilacji komputera. To dobra cecha nowego DS3231.

Jeśli nie dostałeś szkicu na początku dokumentu, można go znaleźć na GitHub

Dzięki za przeczytanie tej instrukcji. Mój syn pomógł i był to dla nas fajny projekt. Mam nadzieję, że zostaniemy uwzględnieni w konkursie optycznym.

Zalecana: