Innehållsförteckning:

Webbansluten SMART LED-animationsklocka med webbaserad kontrollpanel, synkroniserad tidsserver: 11 steg (med bilder)
Webbansluten SMART LED-animationsklocka med webbaserad kontrollpanel, synkroniserad tidsserver: 11 steg (med bilder)

Video: Webbansluten SMART LED-animationsklocka med webbaserad kontrollpanel, synkroniserad tidsserver: 11 steg (med bilder)

Video: Webbansluten SMART LED-animationsklocka med webbaserad kontrollpanel, synkroniserad tidsserver: 11 steg (med bilder)
Video: 🚀 RUTUBE и ТОЧКА. Разработка РУТУБА за 5 часов *БЕЗ ВОДЫ* [Next / React / Nest / PostgreSQL / Redux] 2024, Juli
Anonim
Image
Image
Webbansluten SMART LED-animationsklocka med webbaserad kontrollpanel, tidsserver synkroniserad
Webbansluten SMART LED-animationsklocka med webbaserad kontrollpanel, tidsserver synkroniserad
Webbansluten SMART LED-animationsklocka med webbaserad kontrollpanel, tidsserver synkroniserad
Webbansluten SMART LED-animationsklocka med webbaserad kontrollpanel, tidsserver synkroniserad

Historien om den här klockan går långt tillbaka - mer än 30 år. Min far var banbrytande för denna idé när jag bara var 10 år gammal, långt före LED -revolutionen - tillbaka när LED: erna var 1/1000 ljusstyrkan för deras nuvarande bländande glans. En sann innovatör, han kodade i monteringsspråk och handledde varje enskild LED (en imponerande bedrift av tålamod och beslutsamhet)! Hans originalversion fungerar fortfarande än idag.

Jag ville hämta det där han slutade och dra nytta av teknikens framsteg för att göra en vacker klocka som var nätansluten, färgstark, rolig att spela med och full av intresse. Det har avancerat till den punkt där vi skulle vilja släppa klockan för allmänheten som ett open source -projekt men också tillhandahålla färdiga produkter till dem som är intresserade av att köpa. Se vår indiegogo -kampanj om du tycker att du är intresserad av att stödja!

Klockan som den ser ut idag har en mängd funktioner och är en helt färdig och fungerande produkt. Vi är mycket nöjda med hur det blev både vad gäller kvalitet och funktionalitet men också när det gäller funktionsuppsättningen och stabiliteten. Klockan synkroniseras varje minut med en tidsserver som säkerställer att tiden alltid kommer att vara perfekt. Användare behöver bara ställa in tidszonen en gång, aktivera sommartidsläge och de behöver aldrig oroa sig för att ställa in klockan igen!

52 olika animationer med justerbar färg, hastighet och ljusstyrka ger användaren exakt kontroll och oändlig variation. Favoritlägen sparas i minnet. Lätta timers och dagliga händelser kan ställas in som gör att användare visuellt kan meddelas vid den valda tiden. Särskilda semesterlägen kan lägga till festlighet i ditt hus under Halloween, nyår eller jul. Vi har till och med ett speciellt läge för pi -dag där klockan animerar siffrorna i pi för 100 siffror varje timme.

Klockan drivs av en webbansluten Node MCU ESP8266 och är programmerad med hjälp av arduinospråket och populära c ++ bibliotek som är standard i arduino -plattformen. Vill du göra en? Här är hur:

Steg 1: Montera materialen

Montera ihop materialen
Montera ihop materialen
Montera ihop materialen
Montera ihop materialen

Här är en komplett lista över allt du behöver med priser och länkar.

  • 18 "diameter 1" tjockt cirkulärt träämne - $ 10.40 - Lowes
  • Lätt spridande akryl - $ 5,79 + $ 6,55 Frakt = $ 12,34 från Amazon
  • (2) LED -försträngade strängar på 50 - $ 11,67 x 2 = $ 23,34 från eBay
  • LED -avgivande sida - $ 26,62 från Adafruit
  • ESP 8266 Node MCU - $ 8,39 från Amazon
  • 2,5 mm Pigtail - 6,99 dollar (10 -pack) från Amazon
  • 4cm x 6cm kretskort för prototyper - 9,99 $ (10 -pack - du behöver 1) från Amazon
  • Terminalblock - $ 7,99 (paket med 20 - du behöver 5)
  • 1x8 tall tall - $ 4,79 från Lowes
  • 1/4 bit trägolvmaterial (för stativet) Artikelnummer 422633 - $ 10,48 från Lowes
  • (1) 5v, 5a strömförsörjning - $ 14,99 från Amazon
  • 2,7 mm verktygsunderlagsmaterial (artikel 757295000023) - $ 10,98 från Home Depot
  • (20) Svarta träskruvar #6 - $ 6,83 - Amazon
  • Fläck och klarlack. Allmänna finish rekommenderas! - cirka $ 20 från Woodcraft
  • (2) Svarta 1/4-20 muttrar (artikel 755801) - $ 1,38 från Lowes
  • (2) Svarta 1/4-20 pannhuvudskruvar (artikel 755806) - $ 1,49

Totalt pris på listade artiklar här: $ 177,38

Verktyg som behövs:

  1. CNC -maskin
  2. Lim pistol
  3. Lödkolv
  4. Dremel eller handfil
  5. Wire strippers

Steg 2: Bekanta dig med webbsidan

Image
Image
Bekanta dig med webbsidan
Bekanta dig med webbsidan
Bekanta dig med webbsidan
Bekanta dig med webbsidan

Denna del är det som gör klockan både rolig och cool. Webbsidan är uppdelad i fyra sektioner: Allmänna inställningar, Färg, Ringanimationer och Nummeranimationer.

  • Allmänna inställningar - Det här avsnittet innehåller justeringar som sommartid, tidszon, etc. På denna sida finns också ett alternativ för att spara och återkalla tre olika klockkonfigurationer. Detta gör att användaren kan spara favoritscener. Alla inställningar sparas i eeprom (icke -flyktigt minne); Dessutom sparas alltid aktuell inställning så att klockan vid strömavbrott återhämtar sig där den slutade.
  • Färgalternativ - Varje aspekt av klockan kan anpassas. För att ändra färgen på ett element klickar du bara på knappen som motsvarar det element du vill ändra och klickar sedan på färghjulet. Inuti färghjulet är rent vitt. Utanför färghjulet släcks LED: n.
  • Ringanimationer - Ringanimationer är händelser som händer varje minut (dvs. animationer som förar fram minutvisaren) eller intressant aktivitet som en pendel. Välj bland en mängd olika alternativ här
  • Nummeranimationer - Nummeranimationerna är ljusskärmar som inte är kopplade till en tidshändelse. De skapar snarare stämningar eller intresse. Det finns 52 olika alternativ här och de kan göras ännu mer intressanta genom att justera antingen ljusstyrkan eller hastigheten med hjälp av skjutreglagen.

HTML och javascript för den här sidan ingår i källkoden som finns på github. Vi kommer till det om ett ögonblick.

Steg 3: Förbered CNC -filerna

Förbered CNC -filerna
Förbered CNC -filerna
Förbered CNC -filerna
Förbered CNC -filerna
Förbered CNC -filerna
Förbered CNC -filerna
Förbered CNC -filerna
Förbered CNC -filerna

Konstruktionen av CNC -maskinen pressar på din CNC -maskin. Men som någon vet är CNC -arbete 95% installation och 5% skärning! Några ord om installationen är viktiga här.

För det första är det viktigt att skaffa en solid fixtur. Jag väljer att hålla nere träämnet med dessa kamklämmor. De fungerar fantastiskt och är väldigt starka! För att de inte ska skada träet lägger jag några små bitar av gummi mellan kontaktytan och träet (detta minskar inte klämkraften). Utöver att vara otroligt stark är en annan stor fördel med dessa klämmor det faktum att klämmans totala höjd är under arbetsytan så att det aldrig finns någon risk för kollision. Om du inte har dessa klämmor kan du använda dubbelsidig tejp. Oavsett din metod, se till att du håller starkt och korrekt kornsjustering.

Viktig anmärkning: Du måste vända på klockan och CNC på båda sidor av maskinen, så se till att du indexerar din träbit. Se till att du kan vända den och vara EXAKT på samma plats. Detta är viktigt för att klippa en bra klocka!

Nu några anteckningar om CAD- och CAM -arbetet.

Cad -filen (ProductionClockMaster.3dm) är en Rhino3d -fil och har alla nödvändiga CAD -lager för klockan. Om du behöver ett mer generiskt format har jag också inkluderat en *dxf -export av klockans främre och bakre lager. Detta bör vara all information du behöver.

CNC CAM -arbetet är uppdelat i 9 separata CNC -operationer. De faktiska Mach3 gcode -filerna ingår i GitHub -förvaret såväl som i VCarve -filerna som producerade dem (om du behöver öppna dem och exportera med en annan efterbehandlare).

Alla filer för projektet finns tillgängliga på GItHub. Så här tolkar du filerna. De är relativt självförklarande men här är lite extra hjälp för att rensa upp eventuell förvirring. De fem första filerna listas i skärningsordning. Filnamnet slutar inom parentes med skärverktygets storlek. Så till exempel - 01_Rear Pockets_v1.8_ (1-2 tum)

  • Detta filnamn börjar med 01 så det är den första operationen.
  • Det kommer att klippa ut de bakre fickorna.
  • Detta är version 1.8 (jag började med 0.0 så det berättar hur många misstag jag gjorde!)
  • Använd ett 1/2 tums skärverktyg

Förutom dessa fem träklossoperationer finns det två stativoperationer, en akrylelementoperation och en bakre täckplåt.

En operation som är unik är T-slot-CNC-operationen. Detta ger en kanal för bultarna på skrivbordsstativet att glida in i. Du behöver en T-spårbit som den som visas på fotot ovan.

Återigen, om du behöver något annat än den vanliga Mach3 -efterbehandlaren öppnar du VCarve -filerna och exporterar i ditt lokala format. Nästa steg kommer vi faktiskt att gå igenom att klippa kärnan och illustrera steg för steg hur klockan ska se ut i varje steg.

Steg 4: Skär ur klockkärnan, skrivbordet, akrylplattor och underlagsmaterial

Skär ur klockkärnan, skrivbordet, akrylplattor och underlagsmaterial
Skär ur klockkärnan, skrivbordet, akrylplattor och underlagsmaterial
Skär ur klockkärnan, skrivbordet, akrylplattor och underlagsmaterial
Skär ur klockkärnan, skrivbordet, akrylplattor och underlagsmaterial
Skär ur klockkärnan, skrivbordet, akrylplattor och underlagsmaterial
Skär ur klockkärnan, skrivbordet, akrylplattor och underlagsmaterial

Här är några bilder på var och en av de färdiga bitarna när de kommer från maskinen. Akrylen är det mest utmanande snittet sedan akryl har en tendens att smälta om det blir för varmt och det chattar och lyfter om det inte hålls säkert. En laserskärare skulle vara perfekt om du har en. Som du kan se på bilden gjorde jag en speciell jigg som håller alla fyra sidorna tätt. Dubbelsidig tejp skulle förmodligen vara det absolut bästa för denna operation men skulle vara lite mer tidskrävande att ta bort.

Steg 5: Anpassa med urtavla och avsluta

Anpassa med Urtavla och avsluta
Anpassa med Urtavla och avsluta
Anpassa med Urtavla och avsluta
Anpassa med Urtavla och avsluta
Anpassa med Urtavla och avsluta
Anpassa med Urtavla och avsluta

Klockan kan användas alldeles utmärkt utan detta steg men det är kul att anpassa den efter dina behov eller smak. Vi har provat många olika mönster och himlen är gränsen här. Vi vill gärna se exempel på saker du hittar på!

När det gäller efterbehandling har vi provat massor av olika saker men älskar enkelhet och enkel färgning. Vi älskar också General Finishes topplack eftersom den är särskilt enkel att installera, hållbar och ser bra ut! Nu är det dags att göra det innan vi börjar installera elektronik.

Tips: Glöm inte att också fläcka skrivbordsstativet, bakplattan och bakplattan samtidigt. Det är lätt att dras med och glömma dessa tillbehör!

Steg 6: Akrylplattor och stativmontering

Akrylplattor och stativmontering
Akrylplattor och stativmontering
Akrylplattor och stativmontering
Akrylplattor och stativmontering
Akrylplattor och stativmontering
Akrylplattor och stativmontering
Akrylplattor och stativmontering
Akrylplattor och stativmontering

När du har applicerat finishen på träbitarna är det dags att trycka in akrylplattorna och montera stativet. Akrylplattorna har presspassningstoleranser och kräver i allmänhet inget lim. Några av brickorna kan behöva små mängder slipning eller arkivering, men i allmänhet trycker de bara på plats och du är klar. Om du upptäcker att några av dem är för lösa och faller ut använder vi några droppar vitt Elmers skollim eftersom detta är lätt att applicera, torkar helt klart och ger mycket vidhäftning. Klockans framsida är nu KOMPLETT! Stå tillbaka och njut.

Vid denna tidpunkt kan du också trycka in 1/4-20 muttrarna och spetsarna i bultarna som glider ner i T-spårets kanaler. Släpp stativet i basen med lite lim och ditt skrivbordsstativ är nu klart!

Steg 7: Installera de förkopplade lysdioderna i klockkärnan

Image
Image
Installera de förkopplade lysdioderna i klockkärnan
Installera de förkopplade lysdioderna i klockkärnan

Okej, vi närmar oss! Förmodligen den mest tidskrävande delen av klockan är att trycka in de enskilda lysdioderna. Det finns totalt 100 lysdioder i denna del av klockan och eftersom lysdioderna kommer i remsor om 50 behöver du två remsor som är anslutna från ände till ände. Toleranserna för LED -hålrummen är sådana att de i princip är presspassade. Även om presspassningstoleranserna håller lysdioderna på plats använder vi en liten klick (mycket liten klick) varmt lim för att ge extra säkerhet. För mycket lim och överskottet kommer att pressa ut och blockera lysdioderna.

Efter det här steget kommer du att ha många slingor som sträcker sig från baksidan av klockan som måste tryckas ned för att bakpanelen ska passa på plats. Lite varm luft från en hårtork gör trådarna mer smidiga och lätta att böja ner. Återigen, med hjälp av varmt lim håller dessa trådar säkrade.

Sammantaget tar denna process cirka 45 minuter till en timme. Se bilderna ovan för att se hur detta steg ska se ut. Titta också på den roliga time-lapse-videon! Om vi bara kunde köra så snabbt!

Steg 8: Montera elektroniken

Montera elektroniken
Montera elektroniken
Montera elektroniken
Montera elektroniken
Montera elektroniken
Montera elektroniken

Den elektriska ledningen är på ca är lätt på det kommer men här är en detaljerad förklaring. Vi hittade det enklaste sättet att koppla ihop det med att använda en 4 cm x 6 cm proto -bräda (storleken på CNC -hålrummet) och installera skruvterminaler som kommer att ta emot LED -remsorna samt likströmadaptern. Vi försökte lödning på ett mer direkt sätt och det är inte bara besvärligt och svårt, men det gör det omöjligt att ta bort eller byta klockans tarm om ESP8266 går sönder eller behöver uppgraderas. Att använda rubriker är mer flexibelt och, tror vi, lättare.

När skruvplintarna har installerats följer du bara kopplingsschemat för att ansluta plintarna till rätt stift. Det finns inga faktiska komponenter på kretskortet, endast spår från rubrikerna till lämpliga ESP8266 -stift.

Stift 4 är stiftet för ring -lysdioderna och stift 2 är stiftet för siffrorna. Positivt går till VSS och negativt går till marken.

Det enda som behövs är en 300ohm -resistor på datapinnen på LEDstripen. I varje WS2812b -remsa jag någonsin har sett (och jag har sett massor) är detta mittstiftet. Detta motstånd skyddar remsan från fara spänningar och överspänningar som kan orsaka antingen skada eller oförutsägbart beteende. Jag har försummat att installera detta motstånd och har bränt ut den första lysdioden på remsan (andra gånger hände ingenting och det fungerade perfekt). Motståndet bör läggas till inline vilket innebär att det fungerar som en länk i kedjan som förbinder kortet med ledningen till lysdioden. Vissa LED -remsor har dessa motstånd redan installerade och andra inte. Om du inte är säker på om din LED -remsa har en, fortsätt och lägg till en ändå. Det är inte skadligt att göra det. Var noga med att lägga till detta motstånd inline så nära LED -sidan på anslutningskabeln som möjligt, INTE PCB -sidan.

Hålrummet på baksidan av klockan är utformat för två ändamål. Antingen kan den ta emot kroppen av en 5V -transformator för väggmontering eller så kan den hålla tillbaka ett valfritt batteri. Här illustreras ett vanligt 5v -batteri som används för att utöka utbudet av trådlösa enheter. Köp helt enkelt en USB till 2,5 mm adapter och din klocka är nu batteridriven!

Du kommer att behöva borra ett hål från mitthålan till kretskortet för att ta emot DC -honfläkten. Detta görs enkelt genom att helt enkelt vinkla din borr. Var noga med att hålla dig grund så att du inte borrar genom klockans framsida! Visad är den avslutade borrningen med pigtail lindad snyggt i hålrummet.

Steg 9: Ladda upp koden

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

Koden för klockan finns på github -sidan för brightlightart. Koden förbättras ständigt och är välkommenterad. Om du inte är bekant med *.ino -filer är detta ett Arduino -filformat och måste kompileras med arduino IDE. När du har sammanställt laddar du upp via standard microUSB -uttaget på ESP8266. Om du behöver hjälp med hur du gör detta med ESP 8266, här är en utmärkt handledning om hur du programmerar det med detta populära gränssnitt. Det är ganska nära ur lådan men inte riktigt!

Vad gör dessa olika filer? Här är en uppdelning av strukturen för dessa filer och vad de gör i helheten.

Webbservermapp

Index.htm -När koden först laddas upp till ESP8266 kommer du att få en uppladdningssida som ber dig ladda upp en fil. Ladda upp index.htm -filen. Den här filen serverar webbsidan - de andra filerna i mappen finns på brightlightart.com men är här för din referens om du vill ändra formatmallar/javascript och vara värd för dem själva

Huvudmapp

  • enLIGHTen-LED-Clock.ino-Detta är den överordnade filen och kommer från det utmärkta McLighting-projektet. Manuset har kraftigt modifierats från dess ursprungliga tillstånd men vi är skyldiga detta projekt som en utmärkt utgångspunkt för vårt projekt.
  • colormodes.h - Hanterar de flesta ljusanimationerna på ringen. Hanterar även tidsfunktioner.
  • definitions.h - Definierar de flesta av de globala variablerna.
  • request_handlers.h - Detta kommunicerar med ESP8266 och hanterar inkommande förfrågningar och skickar information till ESP8266.
  • spiffs_webserver.h - Hjälper till att visa och tolka webbsidan. Detta är den enda filen utan förändring från McLighting -projektet.
  • WS2812FX.cpp - Hanterar ljusanimationerna på siffrorna. Detta är nästan helt hämtat från det utmärkta kitsurfer WS2812B -biblioteket. Den största förändringen här är att lägga till funktionalitet för att timvisaren ska vara tänd
  • WS2812FX.h - rubrikfil som följer med WS2812fx -biblioteket. Detta är i stort sett oförändrat.

Ytterligare inkludera filer

Förutom de filer som ingår här behöver du följande bibliotek. Dessa är standardbibliotek och ingår enkelt genom att söka inom IDE.

  • NtpClientLib.h
  • DNSServer.h
  • FS.h
  • ESP8266mDNS.h
  • EEPROM.h
  • WiFiClient.h
  • Biljett. H
  • WiFiUdp.h
  • WiFiManager.h
  • WebSocketsServer.h
  • WebSockets.h
  • ESP8266WiFi.h
  • ESP8266WebServer.

Steg 10: Initial installation av EnLIGHTen Clock and Demonstration

Initial Setup av EnLIGHTen Clock och Demonstration
Initial Setup av EnLIGHTen Clock och Demonstration
Initial Setup av EnLIGHTen Clock och Demonstration
Initial Setup av EnLIGHTen Clock och Demonstration
Initial Setup av EnLIGHTen Clock och Demonstration
Initial Setup av EnLIGHTen Clock och Demonstration
Initial Setup av EnLIGHTen Clock och Demonstration
Initial Setup av EnLIGHTen Clock och Demonstration

Efter att ha laddat upp källkoden och slagit på strömmen för första gången lyser alla lampor statiskt blått. Detta är din indikation på att klockan sänder en åtkomstpunkt och väntar på att du ska ansluta. Skanna de närliggande nätverken med en telefon, bärbar dator eller någon annan trådlös enhet (som du skulle göra om du försökte ansluta till internet på ett kafé). I listan över tillgängliga nätverk bör du se en med titeln "klocka". Anslut till den.

När du har anslutit till det nätverket laddas den automatiskt en webbsida (igen, som en omdirigering som du skulle uppleva på ett kafé). Var tålmodig eftersom det ibland kan ta upp till 30 sekunder. Webbsidan kommer att be dig att söka efter närliggande nätverk. Välj ditt hem- eller kontorsnätverk och förse det med WiFi -lösenordet. När du klickar på skicka sparas det trådlösa lösenordet för ditt lokala nätverk i minnet. Du behöver bara göra detta en gång. Klockan startas om.

När den börjar igen ser du att den visar en serie nummer i ordning. Siffrorna som visas är IP -adressen för den webbsida du behöver ansluta till. Så det kan till exempel visa 1, 9, 2,., 1, 6, 8,., 0,., 3, 1. Detta översätts till https://192.168.0.31. Skriv den här adressen på webbsidan så ska du nu vara ansluten till din klocka. Konfigurera bort och ha kul! Återigen använder klockan websocket -teknik så att alla ändringar du gör bör reflekteras omedelbart utan att du behöver trycka på spara eller uppdatera webbsidan. Det är väldigt interaktivt och roligt i detta avseende!

Om du av någon anledning tappar anslutningen, uppdatera helt enkelt din webbsida. De flesta routrar behåller ip -adressen densamma för anslutna enheter, men då och då tenderar de att ändras, så var uppmärksam vid start. Om du behöver påminnas om webbsidans ip -adress, starta bara om klockan.

När du är bekväm med att koden fungerar, glöm inte att installera stödmaterialet! De förborrade hålen gör det enkelt att justera. Tryck ner alla trådar som är stolta och nu är dina ledningar säkra och klockan ser väldigt färdig ut!

Steg 11: Bygg, utveckla, stöd och njut

Image
Image

Vi skulle gärna se så många människor bygga och njuta av den här klockan som möjligt. Vi har älskat det här projektet och vi vill att andra ska dela med sig av upplevelsen! Vi har haft så roligt att lösa problem, övervinna hinder, klämma buggar och belönas med roligt och meningsfullt ljus. Fördelen vi har fått från det kreativa open source-samhället är ovärderligt och har uppmuntrat oss att släppa detta källmaterial för delat lärande, fortsatt förbättring och teknisk njutning. Vi vill gärna höra om framgångsrika byggnader och hur du har förbättrat enLIGHTen -klockan. Släpp oss en rad och meddela oss!

Inte alla har tid, skicklighet, verktyg eller resurser för att bygga en av dessa klockor från grunden, så om du är intresserad av att köpa en färdig klocka antingen som en färdig produkt eller som en bas för fortsatt utveckling, vänligen stöd oss på indiegogo.

Rekommenderad: