Innehållsförteckning:

Infinity Clock - Arduino - WS2813 och DS3231: 5 steg (med bilder)
Infinity Clock - Arduino - WS2813 och DS3231: 5 steg (med bilder)

Video: Infinity Clock - Arduino - WS2813 och DS3231: 5 steg (med bilder)

Video: Infinity Clock - Arduino - WS2813 och DS3231: 5 steg (med bilder)
Video: Making the best Arduino Clock for beginners 2024, Juli
Anonim
Image
Image
Infinity Clock - Arduino - WS2813 och DS3231
Infinity Clock - Arduino - WS2813 och DS3231

Infinity Clock - Arduino - WS2813 och DS3231

Jag ville bygga en klocka och gillade tanken på att försöka göra en oändlig klocka med en Arduino. Jag ville att den skulle bygga den av vanliga objekt och skriva programmet själv.

Vad är en Infinity Clock?

3D -illusionens spegeleffekt produceras när det finns två parallella reflekterande ytor som kan studsa en ljusstråle fram och tillbaka ett obestämt (teoretiskt oändligt) antal gånger. Reflexerna tycks avta i avståndet eftersom ljuset faktiskt passerar avståndet. Genom att lägga till färgade lysdioder i Infinity -spegeln försöker vi simulera en analog klocka med det avtagande färgade ljuset som klockhänder.

I denna instruerbara guide kommer jag att gå igenom stegen för att skapa Infinity Clock och sedan granska några justerbara parametrar i programmet.

Steg 1: Delar som behövs för detta projekt

Delar som behövs för detta projekt
Delar som behövs för detta projekt

Reservdelar:

  1. Arduino Uno $ 6 på taydaelectronics
  2. Protoshield för arduino uno. Du kan få en för 2,50 på Amazon här.
  3. DS3231 plus batteri. du kan få en för cirka 3.00 på Amazon här.
  4. WS2813 LED 144 för 1 meter. $ 20 på Amazon här.
  5. 470 OHM 1 W Kolfilmmotstånd cirka 1 cent på Taydaelectronics.
  6. 1000uf 16V elektrolytkondensator 9 cent på Taydaelectronics
  7. 5v strömförsörjning- Jag använde en gammal björnbärsladdare.
  8. 6in rund spegel. runt $ 5 på Amazon
  9. 6in akrylskiva runt 10 på Amazon
  10. 2 - 6 "träbroderiringar (ja det stämmer) $ 2 vardera på Amazon
  11. Silver envägs spegelfilm. Ebay verkar vara billigast.
  12. Diverse ledningar.
  13. 3/8 "trä fyrkantig plugg HomeDepot för $ 1,27
  14. gammal träklockbock eller annat displayställ.
  15. 2 små dragkedjor.

Prototypskölden krävs inte, men om du gillar att använda Arduino kommer du att tycka att det är mycket praktiskt att bygga dessa projekt. Byt prototypskölden med en brödbräda om det behövs.

Du kan också behöva ett lödkolv.

Jag förväntar mig att projektet kommer att kosta cirka $ 40,00

Steg 2: Konfigurera din dator

Konfigurera din dator
Konfigurera din dator
Konfigurera din dator
Konfigurera din dator
Konfigurera din dator
Konfigurera din dator

Om detta är ditt första arduino -projekt:

  1. Ladda ner arduino -programvaran från arduino.cc
  2. Anslut Arduino till datorn med usb -kabel.
  3. När du har startat programvaran måste du installera tre bibliotek:

    • Klicka på "Sketch" -menyn, klicka sedan på "Inkludera bibliotek" och sedan "Hantera bibliotek …"
    • Installera de två biblioteken: FastLED och RTClib. Se bilder för mer detaljer.
  4. Skaffa Arduino scketch från min github

    • Jag kommer att granska koden i slutet så att du kan ändra den efter behov.
    • Ladda nu programmet Infinity_Clock_DS3231_WS2813.ino
  5. Gå till Sketch and Upload för att ladda Arduino.
  6. Det sista avsnittet i Instructable täcker några av de konfigurerbara parametrarna.

Det är bäst att ladda upp skissen nu, för när den externa strömmen har lagts till är det bäst att inte ansluta den till din dator.

Steg 3: Anslutning av projektet

Anslutning av projektet
Anslutning av projektet
Anslutning av projektet
Anslutning av projektet

Om du använder ProtoType Shield lägger du den på Arduino.

Ledningarna är den mest komplexa delen av projektet. Jag inkluderade bilder för att se vad jag gjorde. Jag rekommenderar att du dubbelkollar alla anslutningar innan du startar.

DS3231 - Klockmodul i realtid

Sätt DS3231 -modulen i brödbrädan och anslut som på bilden.

  • Arduino Ground till GND
  • Arduino 5V till VCC
  • Arduino A4 till SDA
  • Arduino A5 till SCL

På bilden kopplar jag 5V och Ground till sin egen körning på brödbrädan eftersom vi senare vill ansluta extern ström.

Fäst WS2813 LED -remsan

  • arduino 5V till din 5V effekt.
  • De två mellersta kontakterna är redundanta datapinnar. de går till stift 7

    Se till att sätta ett 470 OHM -motstånd mellan pin7 och två datakablar

  • Arduino Ground till den sista kontakten.

Anslut den externa 5V -strömförsörjningen (att köra LED -remsan från arduinoeffekten under långa perioder rekommenderas inte).

  • Sätt en 1000uf elektrolytkondensator mellan ledningarna.
  • Anslut ström och jord till Arduino Power (5V) och Ground (GND)

Jag rekommenderar inte att du ansluter extern ström och USB till Arduino samtidigt.

Steg 4: Bygg Infinity Mirror

Bygg Infinity Mirror
Bygg Infinity Mirror

Steg för att bygga Infinity Mirror:

  1. Applicera filmen på akrylfärgerna. Detta kommer att göra din envägs spegel.
  2. Lägg akrylskivan i broderiramen. Dra åt skruven så att den inte glider
  3. Sätt spegeln i den andra broderiramen. Dra åt skruven.
  4. Skär den fyrkantiga pluggen i små sektioner. ungefär 1/2"
  5. Slinga ledremsan med lysdioderna pekande inuti cirkeln.

    1. Använd dragkedjorna för att hålla lampan på plats.
    2. Du kan behöva klippa ett snäpp i dragkedjan.
  6. Sätt öglan på spegeln

    1. Använd träblock som distanser
    2. Limma blocken på plats. De ska vara tillräckligt säkra för att hålla ledningen på plats.
  7. Sätt akrylspegeln ovanpå spegeln/lysdioderna och limma på plats.

Steg 5: Koden

Koden
Koden
Koden
Koden

Programmet använder Real Time Clock -biblioteket och Fastled -biblioteket.

Här är några kodavsnitt för att anpassa beteendet.

  • OFFSET - är överlappningen. Programmet förväntar sig att överlappningen kommer från LED0. Jag har en 3 LED -förskjutning.
  • CLOCKSTART - är där klockan är mitt på dagen. LED 30 sätter den motsatt från de elektriska anslutningarna.

Jag skrev programmet för att använda HTML -färger. Du kan få dem från https://htmlcolorcodes.com/ Byt bara # för 0x i programmet.

Du kan ändra bakgrunden för am/pm

  • bakgrundAM = 0x070707;
  • bakgrundPM = 0x646D7E;

LED -händer på klockan:

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

För att få det att sticka ut lade jag till ett alternativ för att ha 3 lysdioder för timvisare men låta dig ändra färgen på båda sidor av den mellersta för att få den att sticka ut.

  • theeledhour = true; // du kan göra det sant eller falskt
  • extraHourHand = 0x00001F;

En annan trevlig funktion är att RTClib upptäcker att din DS3231 har tagit bort batteriet och kommer att ställa in tiden till datorns kompileringstid. Det är en bra funktion för nya DS3231.

Om du inte fick skissen i början av dokumentet kan du hitta den på GitHub

Tack för att du läste denna instruerbara. Min son hjälpte till och det var ett roligt projekt för oss. Jag hoppas att vi beaktas i optiktävlingen.

Rekommenderad: