Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
Med brskanjem po stvari stvari sem videl to neverjetno neverjetno Wave Lamp in moral sem jo zgraditi.
www.thingiverse.com/thing:774456
Svetilka je zelo dobro oblikovana in tiska brez opore (natisniti jo je treba ob strani)
Obstaja tudi osnova svetilke, ki prevzame LED trakove
In seveda nisem mogel preprosto pustiti, da gre za nočno svetilko. Moral sem narediti wifi in pokazati vreme. Torej uporabljam vseprisotni modul ESP8266 z LED -diodami WS2812B za nadzor barve luči na podlagi današnje napovedi. Lučka se tudi samodejno izklopi ob 22.00 in vklopi ob 6.00.
1. korak: Zahteve
Za izdelavo te valovne svetilke boste potrebovali naslednje elemente:
Orodja:
- 3D tiskalnik - tiskalnik, ki lahko natisne najmanj 30-35 cm
- Modul USB-TTL za programiranje ESP-12E
- Pištola za vroče lepilo
- Spajkalnik
Potrošni material:
- PLA - bela za svetilko in druga barva za podlago
- 30 WS2812B naslovljivih RGB LED
- ESP8266 - 12E
- 74HCT245N
- 5V napajanje
- Pretvornik moči 5V-3.3V
- Nekaj zatičev in uporov
- Spajkanje
Korak: 3D tiskanje
3D tiskanje naslednjih kosov
Svetilka
- Tiskajte z belim PLA, obrnjenim na stran
- Podpore in splavi niso potrebni
- Čeprav sem uporabil 5 mm rob, da sem zagotovil, da med tiskanjem ostane prilepljen na posteljo
-
Uporabil sem naslednje nastavitve:
- 0,8 mm vulkanska šoba in 0,3 mm višina sloja.
- 2 oboda
- 100% polnilo (to ni pomembno, saj so kosi tako tanki, da se vseeno napolnijo)
- Bodite opozorjeni - to je OGROMEN tisk in traja veliko časa. Torej, če vam tiskalnik ni všeč, da zapustite čez noč (ali več noči), to ni za vas. Natisnite ga s pomočjo 3Dhubs. Moj je trajal ~ 30 ur
Stojalo
- S pomočjo TinkerCAD -a sem stojalo spremenil, da sem v osnovi ustvaril votlino za elektroniko. Lahko ga prenesete tukaj:
-
Natisnite z barvnim PLA (uporabil sem leseno polnilo):
- 0,8 mm vulkanska šoba in 0,3 mm višina sloja.
- 2 oboda
- 20% polnilo
- Bodite opozorjeni - votlina, ki sem jo ustvaril, nima opore, notranjost pa je nekoliko umazana (zlasti pri PLA za lesne polnile, ki se ne premosti dobro)
Vrh
To je neobvezen kos. Ustvaril sem ga v TinkerCAD -u, da skrijem luknjo na vrhu svetilke. Ni nič super, ampak deluje.
- https://www.tinkercad.com/things/5aD6V4O0jpy
- Podpore in splavi niso potrebni
-
Uporabil sem naslednje nastavitve:
- 0,8 mm vulkanska šoba in 0,3 mm višina sloja.
- 2 oboda
- 30% polnilo
3. korak: Elektronsko vezje
Vezje, ki se uporablja za to svetilko, je zelo preprosto in če vaši WS2812B (nekateri delajo, nekateri ne) delujejo pri signalu 3,3 V, je še enostavnejši, saj se lahko potem izognete 74HCT245N.
Glavno vezje (glej shemo zgoraj):
-
ESP-12E (te korake lahko preskočite, če uporabljate enega od vnaprej izdelanih modulov iz Adafruit, Sparkfun itd.):
- Pina 3 in 8 priključite na 3.3V
- Pinove 1, 11 in 12 priključite na 3,3 V skozi 10k upor
- Pina 9 in 10 priključite na GND
- Priključite pin 12 na GND prek odprtega 2-polnega priključka. Te zatiče je mogoče povezati skupaj za programiranje ESP-12E
- Pina 15 in 16 povežite z nožicami glave (to so zatiči RX in TX, ki se uporabljajo za programiranje ESP-12E)
-
74HCT245N (prezrite tega, če vaše LED WS2812B delujejo neposredno pri 3.3V)
- Pina 1 in 20 priključite na +5V
- Pina 10 in 19 priključite na GND
- Priključite pin 2 na pin 13 ESP-12E
-
WS2812B
- Priključite +5V in GND na nožici +5V oziroma GND
- Priključite DIN na pin 18 na 74HCT245N
- Če preskočite 74HCT245N, priključite DIN na pin 13 ESP-12E
Prepričajte se, da so vsi GND povezani skupaj. Pazite, da ne priključite +5 ali +3,3 na GND.
Nekaj plošč je ležalo iz prejšnjega projekta in sem jih preprosto uporabil (slike zgoraj)
github.com/dushyantahuja/ESP8266-RGB-W-LED…
4. korak: Programiranje ESP-12E
Za nalaganje kode v ESP-12E sem uporabil Arduino IDE. Preden to storite, potrebujete nekaj nastavitev.
Nastavitev Arduino IDE
Najnovejša različica Arduino IDE je olajšala programiranje teh plošč in vam ni treba več skozi več obročev, da bi lahko delovala s ploščami ESP8266.
Koraki so naslednji:
- Prenesite najnovejši IDE s spletnega mesta
- Odprite IDE in pojdite na Orodja -> Plošče -> Upravitelj plošč …
- Poiščite ESP8266 in kliknite namestitev (glejte sliko zgoraj)
Programiranje modula
Ta modul ni opremljen z vmesnikom USB, zato morate za komunikacijo USB z računalnikom uporabiti modul USB-TTL / arduino. Lahko kupite katerega od poceni modulov, ki so na voljo na ebayu (https://www.ebay.com/sch/i.html?_from=R40&_sacat=0&…) - vsi delujejo enako - le opozorilo pri iskanju ustreznih gonilnikov da vaš računalnik zazna modul.
Povezave so precej preproste:
- GND priključite z USB-TTL na zatič z oznako GND na ESP-12E
- Priključite 3.3V iz USB-TTL na pin z oznako VCC na ESP-12E
- TX povežite z USB-TTL na pin z oznako RX na ESP-12E
- Priključite RX iz USB-TTL na zatič z oznako TX na ESP-12E
- Glavo programa skrajšajte tako, da se PIN 12 poveže z GND
Modul je zdaj pripravljen za programiranje.
5. korak: Koda
Koda je močno odvisna od vadnice na tečajih Random Nerd Tutorials https://randomnerdtutorials.com/esp8266-weather-fo…-pravzaprav se vremenski deli zgolj kopirajo od tam.
-
Namestite naslednje knjižnice:
- FastLED (https://fastled.io)
- ArduinoOTA (https://github.com/esp8266/Arduino/tree/master/libraries/ArduinoOTA)
- ArduinboJSON (https://github.com/bblanchon/ArduinoJson)
- Pridobite API OpenWeatherMap (https://openweathermap.org/api)
- Prenesite kodo z github-a:
-
Naredite naslednje spremembe:
- Wifi in geslo na linijah 56 in 57
- Mesto in ključ API na linijah 23 in 24
- Naložite v ESP-12E
Če je vse v redu, se koda naloži, vaš modul se poveže z usmerjevalnikom wifi in prikaže vreme. Trenutno sem nastavil tako:
- Če bo oblačno / dež - modra
- Če bo snežilo / nevihte - rdeče -modro
- Če je jasno - zeleno
- Else Rainbow - za upoštevanje posebnih pogojev / napak
Če želite spremeniti te vrstice, lahko spremenite vrstice 365-377. Uporabljene palete so na vrsticah 70-82
Korak 6: Sestavite
Sestavite naslednje kose:
- LED trak ovijte na LED stojalo in ga prilepite z vročim lepilom
- Na dnu vstavite modul vezja in ga pritrdite z vročim lepilom
- Potisnite valovno svetilko na vrh LED stojala
- Vrh postavite na vrh
Priključite na 5V napajanje in uživajte
7. korak: prihodnji načrti
Zaenkrat deluje, vendar nameravam dodati naslednje funkcije:
- Vključite MQTT, da ga lahko povežete z OpenHAB
- Morda ustvarite nekakšno funkcijo obveščanja o neodgovorjenih klicih / sporočilih
- Zbudi se luč
Predlogi dobrodošli. In če ga ustvarite, ne pozabite objaviti slike tukaj.