Inhoudsopgave:
- Wat is een oneindige klok?
- Laten we nu beginnen…
- Stap 1: Wat heb je nodig?
- Bereid uw componenten voor
- Je kan ook…
- Stap 2: Monteer de klok
- Bereid de zaak voor
- Dan het elektronische gedeelte
- Controleer alles… twee keer
- Stap 3: Upload de code
- Laten we programmeren
- Let daar op…
- Stap 4: Geniet
- Nog een laatste instelling…
- Animaties…
- Wat nog meer?
- Stap 5: Nieuwe versie om nauwkeurige tijd te behouden
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-23 15:01
Ik heb veel projecten van Infinity Mirrors en Infinity Clocks op Instructables gezien, dus ik besloot de mijne te maken. Het is misschien niet heel anders dan de andere… maar ik heb het zelf gedaan, dus het is !
Mocht je het nog niet weten:
Wat is een oneindige klok?
Een oneindigheidsklok gebruikt meerdere reflecties tussen een spiegel en een semi-reflecterende spiegel om de illusie van grote diepte te geven terwijl deze slechts één centimeter diep is!
De tijd wordt aangegeven door LED's die vele malen reflecteren tussen deze interfaces en deze indruk van diepte geven.
Meerdere reflecties geven de indruk van diepte
De LED's zijn adresseerbaar en meerkleurig, dus het is gemakkelijk om ze te gebruiken om lichte animaties te maken.
Ik wilde het interactief en veranderend maken, dus ik voegde een smartphone-bediening toe met Bluetooth-communicatie. Er is een echte tweerichtingscommunicatie tussen de klok en de smartphone. De gebruiker kan de HMI (Human Machine Interface) gebruiken om de verschillende parameters, zoals animaties, kleuren, te wijzigen. Maar ze kan ook directe commando's sturen om bijvoorbeeld de tijd te veranderen, en de klok antwoordt om te zeggen dat het commando geaccepteerd wordt of niet.
De HMI werd gedaan met behulp van een programmeerbare Android-app, dus ik hoefde hem alleen maar te ontwerpen en de communicatie aan de Arduino-kant te coderen.
Laten we nu beginnen…
Stap 1: Wat heb je nodig?
Om deze oneindigheidsklok te bouwen, heeft u het volgende nodig (prijzen zijn indicatief):
- Een Arduino nano (2 USD)
- Een adresseerbare ledstrip, zoals WS2812 leds, 60 leds per meter (6 USD)
- Een bluetooth-module, zoals de HC-05 (3 USD)
- Een breadboard (1,5 USD)
- Een 5V-voeding, die 4A of meer kan leveren
- Een paar elektrische draden
- Een smartphone met Android en de Bluetooth Electronics-app van KeuwlSoft
- Sommige stukken vezelplaat met gemiddelde dichtheid (MDF, één 3 mm dik en één 10 mm dik)
- Een transparante plaat van plexiglas of perspex (ongeveer 15 tot 20 USD)
- Spiegel en een semi-reflecterende spiegel zelfklevende films (van 4 tot 15 USD)
- Connectoren, weerstanden en één capaciteit van 1000 µF
- Wat lijm en ducttape.
Principeschema van de klokgeometrie
De plexiplaat moet 2 tot 3 mm dik zijn, zodat hij stevig op zijn plaats blijft tijdens gebruik.
Het bovenstaande diagram verklaart de geometrie van de klok. De ledstrip wordt tussen de twee spiegels geplaatst. Natuurlijk heb je 60 van die leds op de strip nodig. Online vind je ledstrips met 60 leds per meter, dus eentje daarvan is goed. Dan is de omtrek van de led-cirkel 1 m, de diameter is 100 / PI = 31,8 cm (ongeveer 12,53 inch).
Bereid uw componenten voor
Snijd een cirkel van deze diameter in de 3 mm MDF-plaat. Om dit te doen, ging ik naar het plaatselijke fablab en vroeg om de lasersnijder te gebruiken. Ze kunnen het zelfs voor je doen, als je het vriendelijk vraagt en je komt met het bord: het duurt maar een paar seconden. Terwijl je daar bent, snijd je dezelfde schijf in je plexiglasplaat.
Van de MDF-plaat heb je nu een schijf en de plaat met het ronde gat. Bewaar ze allebei voor later.
Om de LED's op hun plaats te houden, snijdt u ook in de 1 cm dikke MDF een dunne cilinder van dezelfde diameter. De dikte is niet belangrijk zolang het maar niet te kwetsbaar is. De LED-strip wordt in deze cilinder geplaatst, dus het is belangrijk dat de binnenomtrek gelijk is aan de lengte van de strip. Te lang of te kort, en sommige leds kunnen onregelmatig uit elkaar staan, dus wees hier heel nauwkeurig.
Het snijden van zo'n dikke plaat kan iets langer duren dan het snijden van de dunne. Vraag de fablab-eigenaar of hun lasersnijder krachtig genoeg is om die dikte te snijden. Voor mij moest de laser meer dan tien keer passeren voor dat deel, vergeleken met slechts twee voor de andere plaat.
Je kan ook…
In plaats van MDF is het ook mogelijk om hier transparante of gekleurde plexiglasplaten te gebruiken. Plexiglas bestaat in verschillende kleuren, van zwart over geel tot groen en paars, dus aarzel niet om ze te proberen.
Het fablab weet hoe ze ze moeten snijden, en het snijden van plexiglas is erg "schoon" in vergelijking met hout dat kan "branden" (ik bedoel van kleur veranderen door de laserenergie) op het laserpad. Er bestaat ook spiegelplexiglas, wat u kan behoeden voor de aanschaf van de spiegelfolie. Onthoud gewoon dat je tijdens het snijden de laser naar de achterkant van de spiegel moet sturen …
Hieronder staan de geometriebestanden voor de lasercut.
Stap 2: Monteer de klok
Om de klok te maken, hoef je alleen de onderdelen volgens het schema in elkaar te zetten.
Bereid de zaak voor
Lijm eerst de spiegelfolie op de MDF-schijf. Het zal de onderkant van de klok zijn.
Plak vervolgens de semi-transparante film op de plexiglas schijf. Dit vormt het voorglas van de klok. Deze schijf wordt in de MDF-plaat gestoken, in het cirkelgat: lijm deze eventueel met houtlijm of gebruik siliconenrubber.
Bereid als laatste de LED's voor. WS2812 LED's gebruiken 3 verbindingspads: voeding, aarde en commando. Als er al 3 elektrische draden zijn aangesloten, gebruikt u deze gewoon. Soldeer anders 3 draden aan de aansluitblokken. Onthoud dat LED's gepolariseerde apparaten zijn: dit betekent dat de stroom maar in één richting vloeit. Deze richting is op de strip aangegeven met een pijl. Soldeer vervolgens de draden aan het uiteinde van de strip waar de pijlen vandaan komen (niet het uiteinde waarnaar de pijlen wijzen).
Plak de LED's in de dikke MDF cilinder en monteer de 3 delen, met lijm en/of tape.
Dan het elektronische gedeelte
Plaats de Arduino in het breadboard en maak het circuit zoals hierboven weergegeven. Zorg ervoor dat alle massa's (GND) zijn aangesloten (GND van Arduino, HC-05-module, LED-strip en voeding).
- De RX- en TX-pinnen van de HC-05 Bluetooth-module zijn verbonden met de pinnen D3 en D2 van de Arduino
- De datalijn van de ledstrip wordt aangesloten op pin D12, je kunt er eventueel een weerstand van 300 Ohm tussen plaatsen.
Als u de pinnen wilt wijzigen, wijzigt u hun definities in de code dienovereenkomstig (regel 7 en 13 van het ino-bestand).
Merk op dat de HC-05-module een spanningsdeler vereist voor zijn RX-pin, zoals hieronder weergegeven. Je hebt dus één weerstand van 1000 Ohm en één weerstand van 2000 Ohm nodig.
De voeding wordt zowel voor de Arduino als voor de ledstrip gebruikt. Sluit eerst de 1000µF condensator aan op een schroefklem (domino). U kunt een snelkoppeling gebruiken als u die heeft. Zie hier voor meer details.
Deze condensator kan ook gepolariseerd zijn: zorg ervoor dat de + en - pootjes zijn aangesloten op de + en - van de voeding. Zoals te zien is op de afbeelding van de condensator, is het - been gelabeld met een groot minteken.
Sluit vervolgens vanaf de connector elektrische draden aan om de LED-strip en het Arduino-bord aan te sluiten. Zoals hierboven vermeld, moet alle GND met elkaar worden verbonden. Sluit vanaf het positieve potentiaal van de voeding de 5V-draad van de strip aan en trek een draad naar de 5V-pin van de Arduino: laat deze voorlopig los, u sluit hem aan het einde aan.
Controleer alles… twee keer
Controleer alle verbindingen twee keer… Gebruik een multimeter als je die hebt om de elektrische continuïteit te controleren.
Als alles klopt, is je klok bijna klaar. Lever het voorlopig niet aan.
Stap 3: Upload de code
Laten we programmeren
Gebruik de Arduino IDE om de code in de Arduino nano te uploaden. Plaats alle bestanden in een map met de naam "Horloge_LED3_nano_BTOK" in uw Arduino-map. Open de IDE, selecteer de juiste parameters (bordtype, COM-poort, enz.) en klik op de uploadknop.
Installeer op uw Android-smartphone de applicatie Bluetooth Electronics, u kunt deze gemakkelijk vinden op Google Play. Download het bestand "BluetoothElectronicsCode.txt" van deze Instructable en verander de extensie in zip: je krijgt een zip-archief met de code voor de smartphone-interface om te draaien met Bluetooth Electronics.
Als u klaar bent, sluit u de voeding aan. De LED's zullen oplichten, de HC-05 module zal ook knipperen om de verbinding te zoeken. Start de Android-app en volg de instructies om de Bluetooth-module te koppelen met uw smartphone. Als je klaar bent, start je de HMI: je bent klaar om te spelen!
Let daar op…
De eerste LED van de strip moet bovenop de klok worden geplaatst. Als je het daar niet hebt geplaatst, kun je de waarde van de offset-parameter in de code wijzigen (regel 65 van het ino-bestand). Daar zorgt het voor.
Toen je de LED Strip in de ondiepe cilinder lijmde, waren er 2 opties: ofwel de strip draait met de klok mee of tegen de klok in. Als je het op de verkeerde manier hebt gedaan, draaien de wijzers van de klok in de verkeerde richting! Geen zorgen. Verander gewoon de waarde van de booleaanse variabele sens_horaire in true (regel 77 van het ino-bestand)
Stap 4: Geniet
Nog een laatste instelling…
Stel nu de tijd in. Dit kan worden gedaan met behulp van eenvoudige commando's die u typt in de kleine console in de linkerbenedenhoek van de HMI.
- Hxx: stel de uren in op xx (ex: H4)
- Myy: stel de minuten in (bijv: M15)
- Szz: stel de seconden in (bijv: S30)
De commando's kunnen worden gekoppeld door er een ster tussen te plaatsen, bijvoorbeeld: H4*M15*S35
Door uren en/of minuten in te stellen worden de seconden op nul gezet.
U zult dan zien dat het uur wordt gevolgd door een RODE LED, de minuten door een GROENE LED:
Het is 9:52:00!
De kleur van de seconden kan worden gewijzigd met de schuifregelaar op de HMI
Wanneer u de schuifregelaar verplaatst, toont de kleine cirkel aan de rechterkant de huidige kleur. Wanneer de schuifregelaar stopt, stuurt deze de kleur naar de klok en verandert de LED van de seconden dienovereenkomstig.
De schuifregelaars ANIMATIE en PALET kunnen worden gebruikt om de lichtanimaties op de klok te selecteren en aan te passen. Test ze, en bekijk de video voor enkele voorbeelden. Wanneer u enkele instellingen op de HMI wijzigt, toont de kleine console het antwoord van de Arduino.
Animaties…
- 0: geeft alleen de tijd weer, u kunt de kleur van de seconden wijzigen met behulp van de schuifregelaar.
- 1: Een gekleurde achtergrond (u kunt de kleur veranderen) met variabele amplitude.
- 2: Roterende regenboog
- 3: Een gekleurde band (die kan worden verwisseld) die één omwenteling per seconde maakt.
- 4: Een gekleurde streep die weerkaatst op de secondewijzer.
- 5: Een gekleurde achtergrond (u kunt het palet wijzigen) met willekeurige amplitude.
- 6: Geeft alleen de tijd weer, de secondewijzer verandert zijn lichtsterkte.
- 7: Roterende vlaggen (verander het palet om de vlag tussen 4 mogelijke te veranderen)
De Franse vlag -- het is 7:11:51
Onlangs is er nog een animatie toegevoegd, die elke 15 seconden verandert voor een willekeurig gekozen animatie.
De MINUTES-knop schakelt om de 5 minuten op de klok witte LED's in en uit.
Het is 7:11:25
Houd er rekening mee dat de video en foto's zijn gemaakt met een smartphone en daarom van slechte kwaliteit zijn. De kleuren zijn veel helderder en nauwkeuriger op de klok dan hoe ze eruit zien op de video…
Wat nog meer?
Ik hoop dat je deze oneindigheidsklok leuk zult vinden. Er moet nog veel gebeuren: je kunt de MDF-frontplaat schilderen om hem mooier te maken, nog een ledstrip aan de buitenkant van de cilinder toevoegen om ook wat geanimeerd licht op de muur te krijgen, enz.
Stap 5: Nieuwe versie om nauwkeurige tijd te behouden
De klok van de Arduino nano heeft de neiging om in de tijd te drijven, omdat hij geen nauwkeurige klok heeft. Ik heb een andere versie gemaakt met behulp van een Real Time Clock (RTC) om een nauwkeurige tijd bij te houden.
RTC bestaat in verschillende modellen, ik raad het gebruik van een DS3231-module aan, die zeer nauwkeurig is (vergeleken met DS1307). Deze nieuwe versie van het programma maakt gebruik van de MD-DS3231-bibliotheek, die hier beschikbaar is. Maak gewoon een nieuwe map met de naam Horloge_LED3_nano_BT_RTC in uw Arduino-map en download alle bestanden.
Sluit de DS3231 aan als een I2C-apparaat, d.w.z. SDA op A4 en SCL (of SCK) op A5
Eerst moet u de tijd van de RTC instellen. Zie bijvoorbeeld deze Instructables of deze tutorial.
Upload het Horloge_LED3_nano_BT_RTC.ino-bestand op uw Arduino nano en voer het uit. De tijd wordt elke 30 minuten ververst, zodat de klok altijd nauwkeurig blijft.
Natuurlijk moet je de batterij op de RTC-module hebben, omdat deze de RTC in leven houdt, zelfs als deze niet door de Arduino wordt geleverd, en hij kan de juiste tijd bijhouden.
Aanbevolen:
Goedkope smartphone gestuurde arm (+ optie opslaan positie): 5 stappen
Goedkope smartphonegestuurde arm (+ optie opslaan van positie): het project Bestuur een robotarm die wordt bestuurd door een smartphone met behulp van een Bluetooth-apparaat. Modusbonus: we hebben een knop waarmee de Arduino een positie kan onthouden. Wanneer we willen, kunnen we met een andere knop naar deze opgeslagen positie gaan. FRLE PROJET Commando
Smartphone-gestuurde Bluetooth-leds (met Live Music Sync): 7 stappen
Smartphone-gestuurde Bluetooth-LED's (met Live Music Sync): ik heb er altijd van gehouden om dingen te bouwen, nadat ik ontdekte dat mijn nieuwe studentenhuis vreselijke verlichting had, besloot ik het een beetje op te fleuren. ***WAARSCHUWING*** Als je bouwt dit project op dezelfde schaal als mijn setup, zul je werken met een behoorlijke hoeveelheid ele
Circuit Leer NANO: één PCB. Makkelijk te leren. Oneindige mogelijkheden. 12 stappen (met afbeeldingen)
Circuit Leer NANO: één PCB. Makkelijk te leren. Oneindige mogelijkheden.: Beginnen in de wereld van elektronica en robotica kan in het begin behoorlijk ontmoedigend zijn. Er zijn in het begin veel dingen om te leren (circuitontwerp, solderen, programmeren, de juiste elektronische componenten kiezen, enz.)
Een klok maken van een klok: 11 stappen (met afbeeldingen)
Een klok maken van een klok: in deze Instructable neem ik een bestaande klok en creëer ik een betere klok. We gaan van de afbeelding links naar de afbeelding rechts. Voordat u op uw eigen klok begint, moet u weten dat het opnieuw in elkaar zetten een uitdaging kan zijn, aangezien de piv
Oneindige grap: 7 stappen (met afbeeldingen)
Infinite Jest: een roterende machine die wordt bestuurd door een robothandschoen. Oneindig plezier