Inhoudsopgave:
- Stap 1: Onderdelen die nodig zijn voor dit project
- Stap 2: Stel uw pc in
- Stap 3: Bedrading van het project
- Stap 4: Bouw de Infinity Mirror
- Stap 5: De code
Video: Infinity Clock - Arduino - WS2813 en DS3231 - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
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 lijst:
- Arduino Uno $6 op taydaelectronics
- Protoshield voor arduino uno. Je kunt er hier een krijgen voor 2,50 op Amazon.
- DS3231 plus batterij. je kunt er hier een krijgen voor ongeveer 3,00 op Amazon.
- WS2813 LED 144 voor 1 meter. $ 20 op Amazon hier.
- 470 OHM 1 W Koolfilmweerstand ongeveer 1 cent op Taydaelectronics.
- 1000uf 16V Elektrolytische condensator 9 cent op Taydaelectronics
- 5v-voeding - Ik gebruikte een oude Blackberry-oplader.
- 6 inch ronde spiegel. ongeveer $ 5 op Amazon
- 6 inch acrylschijf rond 10 op Amazon
- 2 - 6 "houten borduurringen (ja, dat klopt) $ 2 per stuk op amazon
- Zilveren eenrichtingsspiegelfolie. Ebay schijnt het goedkoopst te zijn.
- Diverse draden.
- 3/8 "houten vierkante plug HomeDepot voor $ 1,27"
- oude houten klokvoet of andere displaystandaard.
- 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
Als dit je eerste Arduino-project is:
- Download de arduino-software van arduino.cc
- Verbind de Arduino met de pc met een usb-kabel.
-
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.
-
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
- Ga naar Sketch en Upload om de Arduino te laden.
- 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
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
Stappen om de Infinity Mirror te bouwen:
- Breng de film aan op de acrylschijven. Dit maakt je eenrichtingsspiegel.
- Plaats de acrylschijf in de borduurring. Draai de schroef vast om te voorkomen dat hij wegglijdt
- Zet de spiegel in de andere borduurring. Draai de schroef vast.
- Snijd de vierkante plug in kleine secties. ongeveer 1/2"
-
Loop de ledstrip met de leds naar binnen in de cirkel.
- Gebruik de kabelbinders om de led op zijn plaats te houden.
- Mogelijk moet u een inkeping in de ritssluiting knippen.
-
Zet de lus op de spiegel
- Gebruik houten blokken als afstandhouders
- Lijm de blokken op hun plaats. Ze moeten stevig genoeg zijn om de led op zijn plaats te houden.
- Plaats de acrylspiegel op de spiegel/LED's en lijm deze op zijn plaats.
Stap 5: 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:
Maak een Infinity Mirror Clock: 15 stappen (met afbeeldingen)
Maak een Infinity Mirror Clock: In een vorig project bouwde ik een oneindige spiegel, waar mijn uiteindelijke doel was om er een klok van te maken. (Maak een kleurrijke oneindigheidsspiegel) Ik heb dat niet nagestreefd nadat ik het had gebouwd, want hoewel het er cool uitzag, waren er een paar dingen met de
Maak een EENVOUDIGE Infinity Mirror Cube - GEEN 3D-printen en GEEN programmering: 15 stappen (met afbeeldingen)
Maak een EENVOUDIGE Infinity Mirror Cube | GEEN 3D-printen en GEEN programmering: iedereen houdt van een goede infinity-kubus, maar ze zien eruit alsof ze moeilijk te maken zijn. Mijn doel voor deze Instructable is om je stap voor stap te laten zien hoe je er een kunt maken. Niet alleen dat, maar met de instructies die ik je geef, kun je er een maken o
Een real-time klokmodule gebruiken (DS3231): 5 stappen
Hoe een real-time klokmodule (DS3231) te gebruiken: De DS3231 is een goedkope, extreem nauwkeurige I2C real-time klok (RTC) met een geïntegreerde temperatuurgecompenseerde kristaloscillator (TCXO) en kristal. Het apparaat heeft een batterij-ingang en houdt de tijd nauwkeurig bij wanneer de hoofdstroom naar
Maak een Infinity Mirror Cube: 12 stappen (met afbeeldingen)
Een oneindige spiegelkubus maken: terwijl ik informatie opzocht bij het maken van mijn eerste oneindige spiegel, kwam ik enkele afbeeldingen en video's van oneindige kubussen tegen, en ik wilde er zeker een van mijn eigen maken. Het belangrijkste dat me tegenhield, was dat ik het anders wilde doen
De DS3231 RTC (Real Time Clock) nauwkeurig, snel en geautomatiseerd instellen met Java (+-1s): 3 stappen
De DS3231 RTC (Real Time Clock) nauwkeurig, snel en geautomatiseerd instellen met Java (+-1s): Deze Instructable laat u zien hoe u de tijd op een DS3231 Real Time Clock kunt instellen met behulp van een Arduino en een kleine Java-toepassing die gebruik maakt van de seriële verbinding van de Arduino.De basislogica van dit programma:1. De Arduino stuurt een serieel verzoek