Smartphone kontrollerad oändlig klocka: 5 steg (med bilder)
Smartphone kontrollerad oändlig klocka: 5 steg (med bilder)
Anonim
Image
Image
Smartphone kontrollerad oändlig klocka
Smartphone kontrollerad oändlig klocka
Smartphone kontrollerad oändlig klocka
Smartphone kontrollerad oändlig klocka

Jag har sett många projekt med Infinity Mirrors och Infinity Clocks på Instructables, så jag bestämde mig för att göra mina. Det kanske inte är så mycket annorlunda än de andra … men jag gjorde det själv, så det är det!

Bild
Bild

Om du inte redan vet det:

Vad är en oändlighetsklocka?

En oändlighetsklocka använder flera reflektioner mellan en spegel och en halvreflekterande spegel för att ge illusionen av stort djup medan den bara är en centimeter djup!

Tiden indikeras av lysdioder som reflekterar många gånger mellan dessa gränssnitt och ger detta intryck av djup.

Bild
Bild

Flera reflexioner ger intryck av djup

Lysdioderna är adresserbara och mångfärgade, så det är enkelt att använda dem för att göra ljusa animationer.

Jag ville göra det interaktivt och förändrat, så jag lade till en Smartphone -kontroll med Bluetooth -kommunikation. Det finns en verklig kommunikation mellan klockan och smarttelefonen på två sätt. Användaren kan använda HMI (Human Machine Interface) för att ändra de olika parametrarna, till exempel animationer, färger. Men hon kan också skicka direktkommandon till exempel för att ändra tiden, och klockan svarar för att säga att kommandot accepteras eller inte.

HMI gjordes med en programmerbar Android -app, så jag var bara tvungen att designa den och koda kommunikationen på Arduino -sidan.

Bild
Bild

Låt oss börja nu …

Steg 1: Vad behöver du?

Vad behöver du?
Vad behöver du?
Vad behöver du?
Vad behöver du?
Vad behöver du?
Vad behöver du?
Vad behöver du?
Vad behöver du?

För att bygga denna oändlighetsklocka är det här du behöver (priserna är vägledande):

  • En Arduino nano (2 USD)
  • En adresserbar ledremsa, till exempel WS2812 -lysdioder, 60 lysdioder per meter (6 USD)
  • En Bluetooth-modul, till exempel HC-05 (3 USD)
  • En brödbräda (1,5 USD)
  • En 5V -strömförsörjning, som kan leverera 4A eller mer
  • Några elektriska ledningar
  • En smartphone som kör Android och appen Bluetooth Electronics från KeuwlSoft
  • Några bitar av medellång densitet (MDF, en 3 mm tjock och en 10 mm tjock)
  • En transparent plexiglas- eller perspexplatta (cirka 15 till 20 USD)
  • Spegel och halvreflekterande spegelhäftande filmer (från 4 till 15 USD)
  • Kontaktdon, motstånd och en 1000µF kapacitans
  • Lite lim och tejp.
Bild
Bild

Principdiagram över klockans geometri

Plexi -plattan ska vara 2 till 3 mm tjock så att den sitter stadigt på plats när den används.

Diagrammet ovan förklarar klockans geometri. Ledremsan placeras mellan de två speglarna. Naturligtvis behöver du 60 av dessa lysdioder på remsan. Du kan hitta LED -remsor online med 60 lysdioder per meter, så en av dem är bra. Då är omkretsen av den ledda cirkeln 1 m, dess diameter är 100/PI = 31,8 cm (ca. 12,53 tum).

Förbered dina komponenter

Klipp en cirkel med denna diameter i 3 mm MDF -brädan. För att göra detta gick jag till den lokala fablab och bad att använda laserskäraren. De kan till och med göra det åt dig, om du frågar vänligt och du följer med tavlan: det tar bara några sekunder. Medan du är där, skär samma skiva i din plexiglasplatta.

Från MDF -plattan har du nu en skiva och plattan med det cirkulära hålet. Behåll dem båda för senare.

För att hålla lysdioderna på plats skär du också i en 1 cm tjock MDF en tunn cylinder med samma diameter. Tjockleken är inte viktig så länge den inte är för ömtålig. LED -remsan kommer att placeras inuti denna cylinder, så det är viktigt att den inre omkretsen är densamma som remsans längd. För lång eller för kort, och vissa lysdioder kan vara oregelbundet fördelade, så var mycket exakt här.

Att skära en så tjock platta kan ta lite längre tid än att skära den tunna. Fråga fablab -ägaren om deras laserskärare är tillräckligt kraftfull för att klippa den tjockleken. För mig fick lasern passera mer än tio gånger för den delen, jämfört med bara två för den andra plattan.

Du kan också…

Det är också möjligt att använda transparenta eller färgade plexiglasskivor här istället för MDF. Plexiglas finns i olika färger, från svart till gult till grönt och lila, så tveka inte att prova dem.

Bild
Bild

Fablab vet hur man skär dem och skärning av plexiglas är mycket "rent" jämfört med trä som kan "brinna" (jag menar ändra färg på grund av laserenergin) vid laserbanan. Spegel plexiglas finns också, vilket kan rädda dig från att köpa spegelfilmen. Kom bara ihåg att skicka lasern på baksidan av spegeln när du skär den …

Nedan finns geometrifilerna för laserskärningen.

Steg 2: Montera klockan

Montera klockan
Montera klockan
Montera klockan
Montera klockan
Montera klockan
Montera klockan
Montera klockan
Montera klockan

För att göra klockan behöver du bara montera delarna, enligt schemat.

Förbered ärendet

Limma först spegelfilmen på MDF -skivan. Det blir klockans botten.

För det andra, fäst den halvtransparenta filmen på plexiglasskivan. Detta bildar klockans främre glas. Denna skiva kommer att sättas in i MDF -plattan, i cirkelhålet: lim den med trälim om det behövs eller använd silikongummi.

Slutligen, förbered lysdioderna. WS2812 lysdioder använder 3 anslutningsdynor: spänningsmatning, jord och kommando. Om det redan är 3 elektriska ledningar anslutna, använd bara dem. Annars löd 3 trådar till anslutningsdynorna. Kom ihåg att lysdioder är polariserade enheter: det betyder att strömmen bara flödar i en riktning. Denna riktning anges på remsan med en pil. Sedan bör du löda trådarna i slutet av remsan från var pilarna kommer (inte slutet som pilarna pekar mot).

Sätt fast lysdioderna i den tjocka MDF -cylindern och montera de tre delarna med lim och / eller tejp.

Bild
Bild

Sedan den elektroniska delen

Lägg Arduino i brödbrädan och skapa kretsen enligt bilden ovan. Se till att alla jordningar (GND) är anslutna (GND från Arduino, HC-05-modul, LED-remsa och matning).

  • RX- och TX-stiften på HC-05 Bluetooth-modulen är anslutna till stiften D3 och D2 på Arduino
  • Dataraden på LED -remsan är ansluten till stiftet D12, du kan sätta in ett 300 Ohms -motstånd däremellan om du har ett.

Om du vill ändra stiften ändrar du deras definitioner i koden i enlighet med detta (rad 7 och 13 i ino -filen).

Observera att HC-05-modulen kräver en spänningsdelare för sitt RX-stift, som visas nedan. Så du behöver ett 1000 ohm och ett 2000 ohm motstånd.

Bild
Bild

Matningen används både för Arduino och LED -remsan. Anslut först 1000µF kondensatorn i en skruvterminal (domino). Du kan använda snabbkontakt om du har några. Se här för mer information.

Bild
Bild

Denna kondensator kan också vara polariserad: se till att + och - benen är anslutna till + och - på matningen. Som kan ses på kondensatorns bild är benet - märkt med ett stort minustecken.

Bild
Bild

Anslut sedan elektriska ledningar från kontakten för att ansluta LED -remsan och Arduino -kortet. Som sagt ovan bör all GND vara ansluten tillsammans. Från den positiva potentialen i försörjningen, anslut 5V -kabeln på remsan och dra en tråd till 5V -stiftet på Arduino: låt den vara ansluten för tillfället, du ansluter den i slutet.

Kontrollera allt … två gånger

Kontrollera alla anslutningar två gånger … Använd en multimeter om du har en för att kontrollera elektrisk kontinuitet.

Om allt är rätt är din klocka nästan klar. Ge det inte för tillfället.

Steg 3: Ladda upp koden

Ladda upp koden
Ladda upp koden
Ladda upp koden
Ladda upp koden
Ladda upp koden
Ladda upp koden

Låt oss programmera

För att ladda upp koden i Arduino nano, använd Arduino IDE. Lägg alla filer i en mapp som heter "Horloge_LED3_nano_BTOK" i din Arduino -mapp. Öppna IDE, välj rätt parametrar (korttyp, COM -port, etc) och klicka på uppladdningsknappen.

Bild
Bild

Installera Bluetooth Electronics -appen på din Android -smartphone, du hittar den enkelt på Google Play. Ladda ner filen "BluetoothElectronicsCode.txt" från denna instruktionsbok och ändra tillägget till zip: du får ett zip -arkiv med koden för smartphone -gränssnittet för att köra med Bluetooth Electronics.

När du är redo, anslut kontakten. Lysdioderna tänds, HC-05-modulen kommer också att blonk för att söka efter anslutningen. Starta Android -appen och följ instruktionerna för att para ihop Bluetooth -modulen med din smartphone. När du är klar startar du HMI: du är redo att spela!

Anteckna det…

Den första lysdioden på remsan ska placeras ovanpå klockan. Om du inte placerade det där kan du ändra parametervärdet för offset i koden (rad 65 i ino -filen). Det tar hand om det.

När du limmade LED-remsan inuti den grunda cylindern fanns det två alternativ: antingen remsan vrider medurs eller moturs. Om du gjorde det på fel sätt kommer klockans händer att vrida åt fel håll! Inga problem. Ändra bara värdet på den booleska variabeln sens_horaire till true (rad 77 i ino -filen)

Bild
Bild

Steg 4: Njut

Njut av!
Njut av!
Njut av!
Njut av!
Njut av!
Njut av!

En sista inställning …

Ställ in tiden. Detta kan göras med enkla kommandon som du skriver i den lilla konsolen i nedre vänstra delen av HMI.

  • Hxx: ställ in timmarna till xx (ex: H4)
  • Myy: ställ in minuter (ex: M15)
  • Szz: ställ in sekunderna (ex: S30)

Kommandona kan kedjas genom att infoga en stjärna mellan dem, till exempel: H4*M15*S35

Om du ställer in timmar och / eller minuter återställs sekunderna till noll.

Du kommer då att se att timmen spåras av en RÖD LED, minuter av en GRÖN LED:

Bild
Bild

Klockan är 9:52:00!

Sekundernas färg kan ändras med reglaget på HMI

Bild
Bild

När du flyttar reglaget visar den lilla cirkeln på höger sida den aktuella färgen. När skjutreglaget stannar skickar det färgen till klockan och sekundernas LED ändras därefter.

Skjutreglagen ANIMATION och PALETTE kan användas för att välja och anpassa ljusanimationerna på klockan. Testa dem och titta på videon för några exempel. När du ändrar vissa inställningar på HMI visar den lilla konsolen svaret från Arduino.

Animationer …

  • 0: Visar bara tiden, du kan ändra sekundernas färg med reglaget.
  • 1: En färgad bakgrund (du kan ändra färgen) med variabel amplitud.
  • 2: Roterande regnbåge
  • 3: Ett färgat band (som kan ändras) som gör ett varv per sekund.
  • 4: En färgad rand som studsar av andra handen.
  • 5: En färgad bakgrund (du kan ändra paletten) av slumpmässig amplitud.
  • 6: Visar bara tiden, sekundvisaren ändrar sin ljusstyrka.
  • 7: Roterande flaggor (ändra paletten för att ändra flaggan bland 4 möjliga)
Bild
Bild

Den franska flaggan - klockan är 7:11:51

En ny animering har nyligen lagts till, som ändras var 15: e sekund för en slumpmässigt vald animation.

MINUTES -knappen slår på och av vita lysdioder var femte minut på klockan.

Bild
Bild

Klockan är 7:11:25

Observera att videon och fotona gjordes med en smartphone och därför är av dålig kvalitet. Färgerna är mycket ljusare och mer exakta på klockan än vad de ser ut på videon …

Vad annars?

Jag hoppas att du kommer att gilla den här oändlighetsklockan. Det finns mycket kvar att göra: du kan måla MDF -frontplattan för att göra den snyggare, lägga till en annan LED -remsa på cylinderns yttre sida för att få lite animerat ljusbelysning på väggen, etc.

Bild
Bild

Steg 5: Ny version för att hålla exakt tid

Arduino nanos klocka tenderar att driva i tid, eftersom den inte har en exakt klocka. Jag gjorde en annan version med en Real Time Clock (RTC) för att hålla en exakt tid.

RTC finns i olika modeller, jag rekommenderar att du använder en DS3231 -modul, vilket är mycket exakt (jämfört med DS1307). Denna nya version av programmet använder biblioteket MD-DS3231, tillgängligt här. Skapa bara en ny mapp som heter Horloge_LED3_nano_BT_RTC i din Arduino -mapp och ladda ner alla filer.

Anslut DS3231 som en I2C -enhet, dvs SDA till A4 och SCL (eller SCK) till A5

Först måste du ställa in tiden för RTC. Se till exempel denna instruktion eller den här självstudien.

Ladda upp filen Horloge_LED3_nano_BT_RTC.ino på din Arduino nano och kör den. Tiden uppdateras var 30: e minut, så klockan förblir exakt hela tiden.

Naturligtvis måste du ha batteriet på RTC -modulen, eftersom det håller RTC vid liv även om det inte levereras av Arduino, och det kan hålla den exakta tiden.

Rekommenderad: