Innholdsfortegnelse:

Infinity Clock - Arduino - WS2813 og DS3231: 5 trinn (med bilder)
Infinity Clock - Arduino - WS2813 og DS3231: 5 trinn (med bilder)

Video: Infinity Clock - Arduino - WS2813 og DS3231: 5 trinn (med bilder)

Video: Infinity Clock - Arduino - WS2813 og DS3231: 5 trinn (med bilder)
Video: Arduino WS2812 ring - 60 Clock with 3D printed panel&base, assemble and demo show of prototype. 2024, November
Anonim
Image
Image
Infinity Clock - Arduino - WS2813 og DS3231
Infinity Clock - Arduino - WS2813 og DS3231

Infinity Clock - Arduino - WS2813 og DS3231

Jeg ønsket å bygge en klokke, og likte tanken på å prøve meg på å lage en uendelig klokke med en Arduino. Jeg ville at den skulle bygge den ut av vanlige elementer, og skrive programmet selv.

Hva er en uendelig klokke?

3D -illusjonsspeileffekten produseres når det er to parallelle reflekterende overflater som kan sprette en lysstråle frem og tilbake et ubestemt (teoretisk uendelig) antall ganger. Refleksjonene ser ut til å trekke seg inn i avstanden fordi lyset faktisk krysser avstanden. Ved å legge fargede lysdioder til Infinity -speilet prøver vi å simulere en analog klokke ved å bruke det tilbakevendende fargede lyset som klokkehender.

I denne instruksen vil jeg lede deg gjennom trinnene for å lage Infinity Clock og deretter gjennomgå noen justerbare parametere i programmet.

Trinn 1: Deler som trengs for dette prosjektet

Deler som trengs for dette prosjektet
Deler som trengs for dette prosjektet

Deleliste:

  1. Arduino Uno $ 6 på taydaelectronics
  2. Protoshield for arduino uno. Du kan få en for 2,50 på Amazon her.
  3. DS3231 pluss batteri. du kan få en for rundt 3,00 på Amazon her.
  4. WS2813 LED 144 for 1 meter. $ 20 på Amazon her.
  5. 470 OHM 1 W Karbonfilmmotstand rundt 1 cent på Taydaelectronics.
  6. 1000uf 16V elektrolytisk kondensator 9 cent på Taydaelectronics
  7. 5v strømforsyning- Jeg brukte en gammel bjørnebærlader.
  8. 6in rund speil. rundt $ 5 på Amazon
  9. 6in akrylskive rundt 10 på Amazon
  10. 2 - 6 "broderiramme (treff) $ 2 hver på Amazon
  11. Enveis speilfilm i sølv. Ebay ser ut til å være billigst.
  12. Assorterte ledninger.
  13. 3/8 "trekantet dowel HomeDepot for $ 1,27
  14. gammel treklokkebase eller annet displaystativ.
  15. 2 små glidelåser.

Prototypeskjoldet er ikke nødvendig, men hvis du liker å bruke Arduino, vil du finne det veldig praktisk å bygge disse prosjektene. Bytt prototypeskjoldet med et brødbrett om nødvendig.

Du kan også trenge et loddejern.

Jeg forventer at prosjektet vil koste rundt $ 40,00

Trinn 2: Sett opp PC -en

Sett opp PC -en
Sett opp PC -en
Sett opp PC -en
Sett opp PC -en
Sett opp PC -en
Sett opp PC -en

Hvis dette er ditt første arduino -prosjekt:

  1. Last ned arduino -programvaren fra arduino.cc
  2. Koble Arduino til PC -en med usb -kabel.
  3. Når du har startet programvaren, må du installere tre biblioteker:

    • Klikk på "Sketch" -menyen, klikk deretter "Inkluder biblioteker" og deretter "Administrer biblioteker …"
    • Installer de to bibliotekene: FastLED og RTClib. Se bilder for flere detaljer.
  4. Få Arduino scketch fra githuben min

    • Jeg vil gjennomgå koden på slutten, slik at du kan endre den etter behov.
    • Last ned programmet Infinity_Clock_DS3231_WS2813.ino på dette tidspunktet
  5. Gå til Sketch and Upload for å laste Arduino.
  6. Den siste delen av Instructable dekker noen av de konfigurerbare parameterne.

Det er best å laste opp skissen nå, for når den eksterne strømmen er lagt til, er det best å ikke koble den til PCen.

Trinn 3: Koble til prosjektet

Kabling av prosjektet
Kabling av prosjektet
Kabling av prosjektet
Kabling av prosjektet

Hvis du bruker ProtoType Shield, legg den på Arduino.

Kablingene er den mest komplekse delen av prosjektet. Jeg tok med bilder for å se hva jeg gjorde. Jeg anbefaler å dobbeltsjekke alle tilkoblinger før du slår den på.

DS3231 - Modul i sanntid

Sett DS3231 -modulen i brødbrettet og koble til som på bildet.

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

På bildet kobler jeg 5v og bakken til sin egen kjøring på brødbrettet fordi vi senere vil koble til ekstern strøm.

Fest WS2813 LED -stripen

  • arduino 5V til din 5V effekt.
  • De to midtre kontaktene er redundante datapinner. de går til pin 7

    Sørg for å sette en 470 OHM -motstand mellom pin7 og to dataledninger

  • Arduino Ground til den siste kontakten.

Koble til den eksterne 5V strømforsyningen (det er ikke anbefalt å kjøre LED -stripen fra arduino -strømmen i lange perioder).

  • Sett en 1000uf elektrolytisk kondensator mellom ledningene.
  • Koble strøm og jord til Arduino Power (5V) og Ground (GND)

Jeg anbefaler ikke å koble ekstern strøm og USB til Arduino samtidig.

Trinn 4: Bygg Infinity Mirror

Bygg Infinity Mirror
Bygg Infinity Mirror

Trinn for å bygge Infinity Mirror:

  1. Påfør filmen på akryldiktene. Dette vil gjøre ditt enveis speil.
  2. Legg akrylskiven i broderirammen. Trekk til skruen for å unngå at den glir
  3. Sett speilet i den andre broderirammen. Trekk til skruen.
  4. Skjær den firkantede dyvelen i små seksjoner. ca 1/2"
  5. Sløyfe led -stripen med lysdiodene pekende inne i sirkelen.

    1. Bruk glidelåsbåndene for å holde LED -en på plass.
    2. Du må kanskje kutte et hakk i glidelåsen.
  6. Sett løkken på speilet

    1. Bruk treblokker som avstandsstykker
    2. Lim blokkene på plass. De skal være sikre nok til å holde ledningen på plass.
  7. Sett akrylspeilet på toppen av speilet/lysdiodene og lim på plass.

Trinn 5: Koden

Koden
Koden
Koden
Koden

Programmet bruker Real Time Clock -biblioteket og Fastled -biblioteket.

Her er noen kodebiter for å tilpasse oppførselen.

  • OFFSET - er overlappingen. Programmet forventer at overlappingen kommer fra LED0. Jeg har en 3 LED offset.
  • CLOCKSTART - er der middagen er på klokken. LED 30 setter den motsatt fra de elektriske tilkoblingene.

Jeg skrev programmet for å bruke HTML -farger. Du kan få dem fra https://htmlcolorcodes.com/ Bare bytt # for 0x i programmet.

Du kan endre bakgrunnen for am/pm

  • bakgrunnAM = 0x070707;
  • backgroundPM = 0x646D7E;

LED -klokker:

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

For å få det til å skille seg ut la jeg til et alternativ for å ha 3 lysdioder for timevis, men lar deg endre fargen på begge sider av den midterste for å få den til å skille seg ut.

  • theeledhour = true; // du kan gjøre det sant eller usant
  • extraHourHand = 0x00001F;

En annen fin funksjon er at RTClib oppdager at DS3231 har fjernet batteriet og vil sette tiden til PC -kompileringstiden. Det er en god funksjon for nye DS3231.

Hvis du ikke fikk skissen i begynnelsen av doktoren, kan du finne den på GitHub

Takk for at du leser denne Instructable. Sønnen min hjalp til, og det var et morsomt prosjekt for oss. Jeg håper vi blir vurdert i optikkonkurransen.

Anbefalt: