Inhoudsopgave:

Infinity Clock - Arduino - WS2813 en DS3231 - Ajarnpa
Infinity Clock - Arduino - WS2813 en DS3231 - Ajarnpa

Video: Infinity Clock - Arduino - WS2813 en DS3231 - Ajarnpa

Video: Infinity Clock - Arduino - WS2813 en DS3231 - Ajarnpa
Video: Infinity CLock 2024, Juli-
Anonim
Image
Image
Infinity Klok - Arduino - WS2813 en DS3231
Infinity Klok - Arduino - WS2813 en DS3231

Infinity Klok - Arduino - WS2813 en DS3231

Ik wilde een klok bouwen en vond het een leuk idee om te proberen een oneindige klok te maken met een Arduino. Ik wilde dat het het uit veelvoorkomende items zou bouwen en het programma zelf zou schrijven.

Wat is een Infinity-klok?

Het 3D-illusiespiegeleffect wordt geproduceerd wanneer er twee parallelle reflecterende oppervlakken zijn die een lichtstraal een onbepaald (theoretisch oneindig) aantal keren heen en weer kunnen kaatsen. De reflecties lijken zich in de verte terug te trekken omdat het licht feitelijk de afstand aflegt. Door gekleurde LED's aan de Infinity-spiegel toe te voegen, proberen we een analoge klok te simuleren met het terugwijkende gekleurde licht als wijzers.

In deze instructable zal ik je door de stappen leiden om de Infinity Clock te maken en vervolgens enkele afstembare parameters in het programma bekijken.

Stap 1: Onderdelen die nodig zijn voor dit project

Onderdelen die nodig zijn voor dit project
Onderdelen die nodig zijn voor dit project

Onderdelen lijst:

  1. Arduino Uno $6 op taydaelectronics
  2. Protoshield voor arduino uno. Je kunt er hier een krijgen voor 2,50 op Amazon.
  3. DS3231 plus batterij. je kunt er hier een krijgen voor ongeveer 3,00 op Amazon.
  4. WS2813 LED 144 voor 1 meter. $ 20 op Amazon hier.
  5. 470 OHM 1 W Koolfilmweerstand ongeveer 1 cent op Taydaelectronics.
  6. 1000uf 16V Elektrolytische condensator 9 cent op Taydaelectronics
  7. 5v-voeding - Ik gebruikte een oude Blackberry-oplader.
  8. 6 inch ronde spiegel. ongeveer $ 5 op Amazon
  9. 6 inch acrylschijf rond 10 op Amazon
  10. 2 - 6 "houten borduurringen (ja, dat klopt) $ 2 per stuk op amazon
  11. Zilveren eenrichtingsspiegelfolie. Ebay schijnt het goedkoopst te zijn.
  12. Diverse draden.
  13. 3/8 "houten vierkante plug HomeDepot voor $ 1,27"
  14. oude houten klokvoet of andere displaystandaard.
  15. 2 kleine ritssluitingen.

Het prototype-schild is niet vereist, maar als je Arduino graag gebruikt, zul je het erg handig vinden bij het bouwen van deze projecten. Verwissel het prototype-schild indien nodig met een breadboard.

Mogelijk hebt u ook een soldeerbout nodig.

Ik zou verwachten dat het project ongeveer $ 40,00 kost

Stap 2: Stel uw pc in

Stel uw pc in
Stel uw pc in
Stel uw pc in
Stel uw pc in
Stel uw pc in
Stel uw pc in

Als dit je eerste Arduino-project is:

  1. Download de arduino-software van arduino.cc
  2. Verbind de Arduino met de pc met een usb-kabel.
  3. Zodra u de software start, moet u drie bibliotheken installeren:

    • Klik op het menu "Schetsen", klik vervolgens op "Bibliotheken opnemen" en vervolgens op "Bibliotheken beheren…"
    • Installeer de twee bibliotheken: FastLED en RTClib. Zie foto's voor meer details.
  4. Haal de Arduino-scketch van mijn github

    • Ik zal de code aan het einde beoordelen, zodat u deze indien nodig kunt wijzigen.
    • Laad nu het programma Infinity_Clock_DS3231_WS2813.ino
  5. Ga naar Sketch en Upload om de Arduino te laden.
  6. Dat laatste deel van de Instructable behandelt enkele van de configureerbare parameters.

Het is het beste om de schets nu te uploaden, want zodra de externe voeding is toegevoegd, is het het beste om deze niet op uw pc aan te sluiten.

Stap 3: Bedrading van het project

Bedrading van het project
Bedrading van het project
Bedrading van het project
Bedrading van het project

Als je het ProtoType Shield gebruikt, plaats het dan op de Arduino.

De bedrading is het meest complexe onderdeel van het project. Ik heb foto's toegevoegd om je te helpen zien wat ik heb gedaan. Ik raad aan om alle verbindingen dubbel te controleren voordat u het apparaat inschakelt.

DS3231 - Realtimeklokmodule

Plaats de DS3231-module in het breadboard en sluit aan zoals op de afbeelding.

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

Op de foto bedraad ik de 5v en Ground naar hun eigen run op het breadboard, omdat we later externe voeding willen aansluiten.

Bevestig de WS2813 LED Strip

  • arduino 5V naar uw 5V vermogen.
  • De middelste twee connectoren zijn redundante datapinnen. ze gaan naar pin 7

    Zorg ervoor dat u een weerstand van 470 OHM tussen pin7 en twee datakabels plaatst

  • Arduino Ground naar de laatste connector.

Sluit de externe 5V-voeding aan (het wordt niet aanbevolen om de LED-strip gedurende lange tijd van de arduino-voeding te laten lopen).

  • Plaats een elektrolytische condensator van 1000 uf tussen de draden.
  • Sluit voeding en aarde aan op de Arduino Power (5V) en Ground (GND)

Ik raad niet aan om tegelijkertijd de externe voeding en USB op de Arduino aan te sluiten.

Stap 4: Bouw de Infinity Mirror

Bouw de oneindige spiegel
Bouw de oneindige spiegel

Stappen om de Infinity Mirror te bouwen:

  1. Breng de film aan op de acrylschijven. Dit maakt je eenrichtingsspiegel.
  2. Plaats de acrylschijf in de borduurring. Draai de schroef vast om te voorkomen dat hij wegglijdt
  3. Zet de spiegel in de andere borduurring. Draai de schroef vast.
  4. Snijd de vierkante plug in kleine secties. ongeveer 1/2"
  5. Loop de ledstrip met de leds naar binnen in de cirkel.

    1. Gebruik de kabelbinders om de led op zijn plaats te houden.
    2. Mogelijk moet u een inkeping in de ritssluiting knippen.
  6. Zet de lus op de spiegel

    1. Gebruik houten blokken als afstandhouders
    2. Lijm de blokken op hun plaats. Ze moeten stevig genoeg zijn om de led op zijn plaats te houden.
  7. Plaats de acrylspiegel op de spiegel/LED's en lijm deze op zijn plaats.

Stap 5: De code

De code
De code
De code
De code

Het programma maakt gebruik van de Real Time Clock-bibliotheek en de Fastled-bibliotheek.

Hier zijn enkele codefragmenten om het gedrag aan te passen.

  • OFFSET - is de overlap. Het programma verwacht dat de overlap van LED0 zal zijn. Ik heb een offset van 3 leds.
  • CLOCKSTART - is waar de middag is op de klok. LED 30 plaatst het tegenover de elektrische aansluitingen.

Ik heb het programma geschreven om HTML-kleuren te gebruiken. Je kunt ze krijgen van https://htmlcolorcodes.com/ Wissel gewoon de # in voor 0x in het programma.

U kunt de achtergrond wijzigen voor am/pm

  • achtergrondAM =0x070707;
  • achtergrondPM =0x646D7E;

LED-wijzers van de klok:

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

Om het te laten opvallen, heb ik een optie toegevoegd om 3 LED's voor de uurwijzer te hebben, maar je kunt de kleur aan beide zijden van de middelste veranderen om het op te laten vallen.

  • theeledhour=waar; // je kunt het waar of onwaar maken
  • extraHourHand =0x00001F;

Een andere leuke functie is dat de RTClib detecteert dat de batterij van uw DS3231 is verwijderd en de tijd instelt op de compileertijd van de pc. Het is een goede functie voor de nieuwe DS3231.

Als je de schets aan het begin van het document niet hebt gekregen, kun je deze vinden op GitHub

Bedankt voor het lezen van deze Instructable. Mijn zoon hielp en het was een leuk project voor ons. Ik hoop dat we in aanmerking komen voor de optiekwedstrijd.

Aanbevolen: