Indholdsfortegnelse:

Moonlamp Nightlight: 13 trin (med billeder)
Moonlamp Nightlight: 13 trin (med billeder)

Video: Moonlamp Nightlight: 13 trin (med billeder)

Video: Moonlamp Nightlight: 13 trin (med billeder)
Video: seeing wife face for first time #shorts 2024, Juli
Anonim
Moonlamp Nightlight
Moonlamp Nightlight
Moonlamp Nightlight
Moonlamp Nightlight
Moonlamp Nightlight
Moonlamp Nightlight

Dette dejlige natlys bruger den vidunderlige måneskin, som du kan finde her

www.instructables.com/id/Progressive-Detai…

Det bruger et billigt ESP8266-kort til at skabe et fantastisk natlys, der bruger en 3W RGB LED fra Future Eden og kan vise en af syv farver plus en smuk 'shimmer' -tilstand, hvor farven ændres kontinuerligt.

Månekloden er drejelig - hvis du foretrækker at se den 'mørke side af månen', skal du bare vende kloden rundt.

Da dette vil blive brugt i et barns værelse, er der blevet taget omhyggelig opmærksomhed på sikkerhedshensyn; se afsnittet senere om sikkerhed for flere detaljer

Hvis du har en ung, der er interesseret i at lære programmering, styres natlyset af MicroPython. Så dette er også en fantastisk måde at få nogen involveret i computerprogrammering !.

Forbrugsvarer

WeMos D1 Mini ESP8266 bord.

Der er masser af leverandører på ebay. Jeg vil foreslå at købe 10 eller deromkring fra en kinesisk leverandør som nedenfor. De er utroligt billige, og du vil uden tvivl finde masser af anvendelser til dem i IoT -projekter

www.ebay.co.uk/itm/ESP8266-ESP-12-WeMos-D1…

BC337 transistor

www.ebay.co.uk/itm/25-x-BC337-40-NPN-Trans…

Ferrit filtre

www.ebay.co.uk/itm/10Pcs-Black-Clip-On-Cla…

2W modstande

www.ebay.co.uk/itm/0-1-100ohm-Various-Valu…

Prototype bord

www.ebay.co.uk/itm/Dobbeltsidet-Prototypin…

3W RGB LED

futureeden.co.uk/products/3w-rgb-red-green…

2,5 mm DC stik

www.ebay.co.uk/itm/2-5mm-x-5-5mm-METAL-PAN…

40 mm køleplade

www.ebay.co.uk/itm/Aluminum-Heatsink-Radia…

Rotary Encoder

Der er masser af ebay -leverandører, der sælger disse. Jeg brugte en 15 mm D -akselkoder

www.ebay.co.uk/itm/Rotary-Shaft-Encoder-EC…

Knap (passer til D -aksel)

www.ebay.co.uk/itm/5-Colours-D-Shaft-270-P…

Trin 1: Udskriv månelampen

Du vil udskrive den 5 tommer måneskin fra det instruktionslink, jeg nævnte tidligere. Jeg printede dette på en Ender 3 ved hjælp af hvid PLA ved 100% udfyldning og 0,15 tommer laghøjde med understøtninger. Derefter skinnede jeg en lommelygte gennem printet og brugte en skarp kniv til at fjerne alt det resterende støttemateriale. Resultatet var helt perfekt. Den samlede udskrivningstid var omkring 15 timer.

Trin 2: Udskriv Moon Lamp Top og Base

Print Moon Lamp Top og Base
Print Moon Lamp Top og Base
Print Moon Lamp Top og Base
Print Moon Lamp Top og Base

Brug de vedhæftede STL'er til at udskrive toppen og bunden. Jeg printede dem i sort PETG for at få en flot blank finish, men PLA ville også fungere fint.

Trin 3: Udskriv Moon Support

Udskriv Moon Support
Udskriv Moon Support

Jeg printede dette i gennemskinnelig PLA for at undgå at der blev kastet skygger. Jeg brugte PLA, fordi månestøttepladen vil blive limet til månetrykket, og jeg ville derfor være sikker på, at den ville klæbe godt.

Trin 4: Flash ESP8266 med MicroPython

Download den nyeste version af Micro Python, tilslut ESP8266 til en USB -port på din pc, og brug derefter enhedshåndtering til at bestemme, hvilken COM -port den er tilknyttet

Flash derefter Micro Python -undersystemet ved hjælp af det flashværktøj, de leverer. Nedenstående eksempelkommandoer blinker den nyeste version, jeg fandt i skrivende stund, forudsat at COM4 er porten, som enheden er tilknyttet, og at Python 2.7 er installeret i c: / python27

c: / python27 / scripts / esptool.py --port COM4 --baud 115200 erase_flash

c: / python27 / scripts / esptool.py --port COM4 --baud 115200 write_flash --flash_size = detekter 0 micropython / esp8266-20190529-v1.11.bin

Du behøver kun at blinke Micro Python én gang.

Trin 5: Installer WebRepl -systemet

WebRepl er et browserbaseret system, der lader dig indtaste Micro Python-kommandoer og også overføre filer til og fra ESP8266. Den tilsluttes via WiFi direkte til ESP8266, så du ikke behøver at have ESP -kortet tilsluttet din computer.

Følg instruktionerne her for at få det hele til at køre.

docs.micropython.org/en/latest/esp8266/tut…

Overfør de to Python -filer ovenfor til ESP8266 ved hjælp af WebRepl browser UI

Overfør også filerne fra dette github -projekt - der er to python -filer, der tilsammen styrer den roterende encoder

github.com/miketeachman/micropython-rotary

Når du er sikker på, at Micro Python kører OK på ESP8266, kan du fortsætte med det næste trin, hvor du opretter controller -kortet.

Bemærk - du kan til enhver tid omprogrammere ESP8266, selv efter at den er monteret på controller -kortet. Jeg har dog haft den ulige enhed ikke til at blinke korrekt, så det er en god idé at sikre, at den fungerer korrekt, før den loddes på controller -kortet

Trin 6: Tråd op på printkortet

Tråd op på printpladen
Tråd op på printpladen
Tråd op på printpladen
Tråd op på printpladen
Tråd op på printpladen
Tråd op på printpladen

Jeg brugte et prototypebord som vist i forbrugsvarelinket. Komponenterne er bare tilsluttet punkt-til-punkt

RGB -lysdioden er monteret på 40 mm kølelegeme ved hjælp af Akasa termotape.

WeMOS -klonerne leveres med headerstifter; Jeg loddet disse til tavlen og derefter til prototypebordet.

Bemærk, at encoderboltene er loddet til bunden af prototypekortet, og at det er forskudt lidt til højre for brættet set ovenfra og med encoderakslen mod dig. Dette skyldes, at der er otte tilgængelige brætpuder i enden af brættet, og så er de tre encoderbolte forbundet, hvilket efterlader to ledige puder til den ene side og tre til den anden.

Fordi 40 mm kølelegemet sidder oven på kredsløbskortet, skal du sikre dig, at det område, der er dækket af kølelegemet, ikke har nogen komponenter monteret for højt, eller de forstyrrer kølelegemet.

Trin 7: Udskriv mellemlægspladen og saml bundpladen

Skiven er bare en lille firkant af plastik, der sidder under kølelegemet for at sikre, at den ikke kortslutter noget.

Monter mellemlægspladen på bundpladen, og anbring derefter kølelegemet ovenpå. Du kan bare sætte noget elektrisk tape på kølelegemet, hvis du foretrækker det. Det kommer faktisk ikke i kontakt med noget på printkortet alligevel undtagen muligvis skjoldet over ESP8266 -kortet, og LED'en er alligevel elektrisk isoleret fra kølelegemet

Saml nu printpladen og bundpladen.

Trin 8: Sæt lysdioden på kølelegemet, og led den derefter op til printkortet

Jeg brugte Akasa termotape. Skær blot en firkant på 20 mm x 20 mm og fastgør LED'en. Bemærk vejledningen om, hvilken farvet side der går til kølelegemet, og hvilken side der går til LED'en.

Jeg brugte et standard computerbåndkabel til at forbinde de seks ledninger fra LED'en tilbage til printkortet.

Trin 9: Lav strømkablet

Lav strømkablet
Lav strømkablet

Strømkablet er lige lavet af et billigt USB -kabel. Afbryd USB-stikket, så der er ca. 1-2 tommer kabel tilbage, så du kan fjerne det og tilslutte et dobbeltkernet strømkabel (jeg brugte et dobbeltkernekabel med en total bredde på cirka 5 mm, så en standard 5 mm ferritundertrykker klemmer fast på det). Brug varmekrympeslange til at forbinde de røde og sorte ledninger fra USB -stikket til strøm og jord, og lod derefter et 2,5 mm strømstik i den anden ende.

Bemærk, at kablet på billedet er temmelig kortere, end du vil have - det var til et andet projekt, men kablet det samme. Du vil sandsynligvis have omkring et 2 m kabel for nemheds skyld.

Hvorfor ikke bare koble direkte til mikro -USB -porten ?. Der er to problemer. Spændingsfaldet over standard USB -kabel er ret højt, fordi ved små strømme falder de små ledninger en del spænding, og det kan forårsage problemer med ESP8266. Derudover er disse tavler ikke designet til at levere betydelig strøm - sporene er ret tynde på tavlen - så jeg ville levere strøm separat.

Bemærk: ikke vist på dette kabel er et clip-on ferritfilter. Jeg anbefaler at tilføje en af disse, hvis der udsendes elektrisk støj via strømkablet. Husk, at du skifter omkring 500mA strøm gennem de tre lysdioder, og dette har potentiale til at skabe RFI.

Trin 10: Tjek det ud

Når strømforsyningen er tilsluttet kredsløbskortet, skal du se lysdioderne lyse med omkring halv lysstyrke, og derefter skal rotering af encoderen ændre lysstyrken.

Hvis du bliver ved med at rotere encoderen, vil du se farven ændre sig. Der er syv farver, og den sidste tilstand er 'shimmer'. I shimmer -tilstand ændres farven konstant. Effekten er ganske subtil og meget smuk.

Når du trykker på encoderkontakten, skal lampen slukke. Hvis du trykker på den igen, bliver lysdioderne hvide i halv lysstyrke igen.

Trin 11: Lim måneskinpladen til månen, og læg det hele sammen

Lim månelampe -pladen til månen, og læg det hele sammen
Lim månelampe -pladen til månen, og læg det hele sammen

Kontroller, at alt passer korrekt sammen. Lim derefter måneskinstøttepladen til månen og placer månen med en af 'polerne' nedad - normalt bunden af 3D -printet. Jeg brugte epoxyharpiks som vist på billedet ovenfor.

Månen skal rotere frit bagefter, men holdes forsvarligt fast på topmonteringen. Brug derefter fire små selvskærende skruer til at skrue bunden til den øverste samling og naturligvis sikre encoderen via den medfølgende møtrik.

Trin 12: En bemærkning om sikkerhed

Da dette er et apparat beregnet til et børns værelse, er sikkerheden vigtig. Den kører fra en sikker 5V standard telefonoplader, så længe du bruger en velrenommeret oplader, der vil være ganske sikker. Effektmodstandens værdier vælges således, at den interne kølepladestemperatur forbliver omkring 10-15 grader over omgivelserne. De er også valgt således, at i ekstremt usandsynligt tilfælde af en LED-kortslutning er effekttab i hver modstand stadig godt inden for dens 2W effektværdi.

Trin 13: Python -koden

Det vigtigste python -kontrolprogram er ganske enkelt. Det er ikke frygtelig elegant kode - det kan gøre med nogle refactoring i separate rutiner - men det virker.

Koden skal håndtere et uventet problem, jeg fandt - da jeg testede, blev jeg irriterende tilfældigt flimrende. Det viser sig, at når du ændrer PWM -driftscyklussen for en kanal, kan du ikke ændre flere kanaler på samme tid. Hvis du gør det, får du til tider et flimmer - så jeg opretter en kort tidsforsinkelse, og derefter foretages PWM -ændringer på hver kanal på en 'round -robin' måde, så flimmer undgås.

Anbefalede: