Innehållsförteckning:

Moonlamp Nightlight: 13 steg (med bilder)
Moonlamp Nightlight: 13 steg (med bilder)

Video: Moonlamp Nightlight: 13 steg (med bilder)

Video: Moonlamp Nightlight: 13 steg (med bilder)
Video: LOFTEK: A 3D Printed Moon Lamp #Lights 2024, Juli
Anonim
Moonlamp Nightlight
Moonlamp Nightlight
Moonlamp Nightlight
Moonlamp Nightlight
Moonlamp Nightlight
Moonlamp Nightlight

Detta underbara nattljus använder den underbara månskenet som du kan hitta här

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

Den använder ett billigt ESP8266-kort för att skapa ett fantastiskt nattljus som använder en 3W RGB LED från Future Eden och kan visa vilken som helst av sju färger plus ett vackert "skimmer" -läge där färgen ändras kontinuerligt.

Månklotet är roterbart - om du föredrar att se den "mörka sidan av månen" är det bara att vända jordklotet.

Eftersom detta kommer att användas i ett barns rum har noggrann uppmärksamhet ägnats åt säkerhetshänsyn. Se avsnittet om säkerhet för mer information

Om du har en ungdom som är intresserad av att lära sig programmering, styrs nattljuset av MicroPython. Så det här är också ett bra sätt att få någon involverad i datorprogrammering !.

Tillbehör

WeMos D1 Mini ESP8266 -kort.

Det finns många leverantörer på ebay. Jag föreslår att du köper 10 eller så från en kinesisk leverantör enligt nedan. De är otroligt billiga och du kommer utan tvekan att hitta många användningsområden för dem i IoT -projekt

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

BC337 transistor

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

Ferritfilter

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

2W motstånd

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

Prototypbräda

www.ebay.co.uk/itm/Dubbel-sidigt-Prototypin…

3W RGB LED

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

2,5 mm DC -uttag

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

40 mm kylfläns

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

Rotary Encoder

Det finns massor av ebay -leverantörer som säljer dessa. Jag använde en 15 mm D -axelkodare

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

Vred (för att passa D -axel)

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

Steg 1: Skriv ut månlampan

Du vill skriva ut 5 -tums månlampan från instruktionslänken jag nämnde tidigare. Jag skrev ut detta på en Ender 3 med vit PLA vid 100% fyllning och 0,15 tum lagerhöjd med stöd. Sedan lyste jag en fackla genom trycket och använde en vass kniv för att ta bort allt återstående stödmaterial. Resultatet var helt perfekt. Total utskriftstid var cirka 15 timmar.

Steg 2: Skriv ut månlampans topp och bas

Skriv ut månlampans topp och bas
Skriv ut månlampans topp och bas
Skriv ut månlampans topp och bas
Skriv ut månlampans topp och bas

Använd de bifogade STL: erna för att skriva ut toppen och basen. Jag skrev ut dessa i svart PETG för att få en fin glansig yta men PLA skulle också fungera bra.

Steg 3: Skriv ut Moon Support

Skriv ut Moon Support
Skriv ut Moon Support

Jag skrev ut detta i genomskinlig PLA för att undvika att skuggor kastas. Jag använde PLA eftersom månstödsplattan kommer att limmas på måntrycket och jag ville därför vara säker på att den skulle fästa bra.

Steg 4: Flasha ESP8266 med MicroPython

Ladda ner den senaste versionen av Micro Python, anslut ESP8266 till en USB -port på din dator och använd sedan enhetshanteraren för att avgöra vilken COM -port den mappas till

Blixta sedan Micro Python -undersystemet med hjälp av flashverktyget som de tillhandahåller. Exempelkommandona nedan blinkar den senaste versionen jag hittade i skrivande stund, förutsatt att COM4 är porten som enheten är mappad till och att Python 2.7 har installerats 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 = detect 0 micropython / esp8266-20190529-v1.11.bin

Du behöver bara blinka Micro Python en gång.

Steg 5: Installera WebRepl -systemet

WebRepl är ett webbläsarbaserat system som låter dig ange Micro Python-kommandon och även överföra filer till och från ESP8266. Den ansluts via WiFi direkt till ESP8266 så att du inte behöver ha ESP -kortet anslutet till din dator.

Följ instruktionerna här för att få allt att fungera.

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

Överför de två Python -filerna ovan till ESP8266 med WebRepl -webbläsargränssnittet

Överför också filerna från detta github -projekt - det finns två pythonfiler som tillsammans styr den roterande kodaren

github.com/miketeachman/micropython-rotary

När du är säker på att Micro Python fungerar OK på ESP8266 kan du fortsätta med nästa steg, där du skapar kontrollkortet.

Obs - du kan när som helst omprogrammera ESP8266 även efter att du har monterat den på styrkortet. Men jag har fått den udda enheten inte att blinka korrekt så att se till att den fungerar korrekt är en bra idé innan du lödar den på styrkortet

Steg 6: Anslut kretskortet

Dra upp kretskortet
Dra upp kretskortet
Dra upp kretskortet
Dra upp kretskortet
Dra upp kretskortet
Dra upp kretskortet

Jag använde en prototypkort som visas i länken till förbrukningsmaterial. Komponenterna är bara trådbundna punkt-till-punkt

RGB -lysdioden är monterad på 40 mm kylfläns med Akasa termotape.

WeMOS -klonerna levereras med rubrikstift; Jag lödde dessa till brädet och sedan till prototyperna.

Observera att pinnarna är lödda till botten av prototypkortet och att det är förskjutet något till höger om brädet och sett uppifrån och med pulsgivarens axel mot dig. Detta beror på att det finns åtta tillgängliga brädkuddar på brädans ände och så är de tre givarstiften anslutna och lämnar två lediga kuddar åt ena sidan och tre till den andra.

Eftersom 40 mm kylfläns sitter ovanpå kretskortet, se till att det område som täcks av kylflänsen inte har några komponenter monterade för högt, annars stör de kylflänsen.

Steg 7: Skriv ut mellanlägget och montera bottenplattan

Skivan är bara en liten kvadrat av plast som sitter under kylflänsen för att säkerställa att den inte kortar ut någonting.

Montera mellanlägget på bottenplattan och lägg sedan kylflänsen ovanpå. Du kan bara sätta lite eltejp på kylflänsen om du föredrar det. Det kommer faktiskt inte i kontakt med någonting på kretskortet förutom möjligen skärmen över ESP8266 -kortet och lysdioden är elektriskt isolerad från kylflänsen ändå

Montera nu kretskortet och basplattan.

Steg 8: Fäst lysdioden på kylflänsen och anslut den sedan till kretskortet

Jag använde Akasa termotape. Klipp helt enkelt en fyrkant på 20 mm x 20 mm och fäst lysdioden. Notera instruktionerna om vilken färgad sida som går till kylflänsen och vilken sida som går till lysdioden.

Jag använde en standard datorbandskabel för att ansluta de sex ledningarna från lysdioden tillbaka till kretskortet.

Steg 9: Gör strömkabeln

Gör strömkabeln
Gör strömkabeln

Strömkabeln är precis gjord av en billig USB -kabel. Klipp av USB-kontakten och lämna cirka 1-2 tum kabel så att du kan ta bort den och ansluta en strömkabel med två kärnor (jag använde en tvåkärnig kabel med en totalbredd på cirka 5 mm, så att en standard 5 mm ferritundertryckare kläms fast på den). Använd värmekrympslang för att ansluta de röda och svarta ledningarna från USB -kontakten till ström och jorda och löd sedan en 2,5 mm strömkontakt i andra änden.

Observera att kabeln på bilden är ganska kortare än du vill - den var för ett annat projekt men har samma kabel. Förmodligen vill du ha en 2 m kabel.

Varför inte bara koppla direkt till mikro -USB -porten ?. Det finns två problem. Spänningsfallet över standard USB -kabel är ganska högt eftersom de små trådarna vid höga strömmar tappar en hel del spänning och detta kan orsaka problem med ESP8266. Dessutom är dessa kort inte konstruerade för att leverera betydande ström - spåren är ganska tunna på brädet - så jag skulle leverera ström separat.

Obs: inte visas på denna kabel är ett klipp-på ferritfilter. Jag rekommenderar att du lägger till en av dessa om något elbrus utstrålas via strömkabeln. Kom ihåg att du växlar runt 500mA ström genom de tre lysdioderna och detta har potential att skapa RFI.

Steg 10: Kolla in det

Med strömmen kopplad till kretskortet bör du se lysdioderna tändas med ungefär halv ljusstyrka och sedan rotera kodaren bör ändra ljusstyrkan.

Om du fortsätter att rotera kodaren ser du färgförändringen. Det finns sju färger och det sista läget är "skimrande". I skimmerläge ändras färgen ständigt. Effekten är ganska subtil och väldigt vacker.

När du trycker på givarknappen ska lampan slockna. Genom att trycka på den igen blir lysdioderna vita i halv ljusstyrka igen.

Steg 11: Limma månlampan till månen och sätt ihop allt

Limma månlampan till månen och sätt ihop allt
Limma månlampan till månen och sätt ihop allt

Kontrollera att allt passar ihop. Limma sedan månlampans stödplatta till månen och placera månen med en av "polerna" nedåt - normalt basen av 3D -utskriften. Jag använde epoxiharts som visas på bilden ovan.

Månen ska rotera fritt efteråt men hållas säkert vid toppmonteringen Använd sedan bara fyra små självgängande skruvar för att skruva fast basen på toppmonteringen och naturligtvis säkra kodaren med den medföljande muttern.

Steg 12: En anmärkning om säkerhet

Eftersom det här är en apparat avsedd för ett barns rum är säkerheten viktig. Den går från en säker 5V standard telefonladdare så så länge du använder en välrenommerad laddare som är ganska säker. Effektmotståndets värden väljs så att den inre kylflänsens temperatur ligger cirka 10-15 grader över omgivningen. De väljs också så att i extremt osannolika fall av en LED-kortslutning är effektförlusten i varje motstånd fortfarande långt inom dess effekt på 2W.

Steg 13: Pythonkoden

Det huvudsakliga python -kontrollprogrammet är ganska enkelt. Det är inte särskilt elegant kod - det kan göra med lite ombyggnad till separata rutiner - men det fungerar.

Koden måste hantera ett oväntat problem jag hittade - när jag testade blev jag irriterande slumpmässigt flimrande. Det visar sig att när du ändrar PWM -driftscykeln för en kanal kan du inte ändra flera kanaler samtidigt. Om du gör det får du ibland ett flimmer - så jag ställer in en kort tidsfördröjning och sedan görs PWM -ändringar på varje kanal på ett "round -robin" -sätt, så att flimmer undviks.

Rekommenderad: