English version coming soon!
Ez az első ilyen formában közzétett projektem, ha bármilyen észrevételed lenne, akkor az építő jellegű javaslatokat szívesen veszem. 😊
Az alap ötlet két projekt kombinációjából származik:
- 3ative - How-to make a 'Galaxy Projector LED Nebula Light' smart and work with Home Assistant
- Nebula Light
Gyerekeimnek rendeltünk 3db űrhajóst (éjszakai fénynek) és két esetet szerettem volna kezelni:
- Sajnos (mint gondolom a gyerekek döntő többsége) rendszeresen elfelejtenek maguk után lekapcsolni minden világítást a szobájukban.
- A gyári távirányítóval beállítani a kedvenc színkombinációjukat elég nehézkes: ha bekapcsoltad és visszanyerted a látásod - mert 100% fényerővel égeti ki a retinád -, 10-20 gombnyomással már sikerül is.
Az űrhajós gyárilag nem rendelkezik a távirányítón kívül semmilyen interface-szel. A fent említett YouTube videó adta az ötletet, hogy ebben sem lesz túl bonyolult a vezérlés (sőt, sok pénzben mertem volna fogadni, hogy szinte ugyan azt a megoldást fogom megtalálni), és nem is tévedtem sokat.
A hátizsákon 4 kupak alatt találhatóak meg a csavarok. A kupakok eltávolítása kicsit nehézkes. Én kilyukasztottam, és úgy húztam ki. (Ha bárki talál rá kevésbé destruktív megoldást, akkor jelezze! 😊)
3 csatlakozó eltávolításával kiszabadítható a NYÁK:
Az ötletet adó kivetítőhöz hasonlóan ezen a NYÁK-on is egy kis mikrokontroller van, ami 3.3V-tal működik. Eltávolításához forrólevegős, vagy hagyományos forrasztópáka szükséges.
Jöhetett a keresés, mi hova van kivezetve. Mivel XYZ típusú N-Channel MOSFET-tel van vezérelve minden, így egyszerűbb feladat volt visszakeresni: Source->GND, Gate->MCU, Drain->Load->VCC.
Kiméregetve a csatlakozók alapján a lábkiosztás:
Szám | Funkció | Szám | Funkció |
---|---|---|---|
1 | 16 | ||
2 | 15 | Státusz LED (kék) | |
3 | Lézer | 14 | Státusz LED (piros) |
4 | Infravörös vevő | 13 | Csillagköd - Motor |
5 | 12 | ||
6 | Nyomógomb - Csillagköd | 11 | Csillagköd - Zöld |
7 | Nyomógomb - Be/Ki | 10 | Csillagköd - Piros |
8 | Nyomógomb - Csillagok | 9 | Csillagköd - Kék |
"Long story short" - megpróbáltam ESP12-vel is, de a relatív kevés felhasználható I/O port miatt I2C bővítő kellett, emiatt esett a választásom az ESP-WROOM-32 alapú lapkára (Wemos MINI D1 ESP32 néven fut általában).
Wemos MINI D1 ESP32 modul:
7.5cm hosszú (0.22mm2) vezetékeket forrasztottam az eredeti mikrokontroller csatlakozási helyeire.
Az űrhajós 5V-os USB adapterről működik és bár van rajta 3.3V-os stabilizátor, nem terveztem használni, mindent direktben a betáp csatlakozóra közöttem. A kábelek 7.5cm, illetve 12.5cm hosszúak (0.5mm2).
A műtét után az űrhajóshoz legalább 2A-es tápegység kell!
A mellékelt ESPHome kód tartalmaz némi extrát, amit az alábbiak szerint kötöttem be:
LED "tábla" az űrhajós testének, illetve műszereinek megvilágítására
- GPIO19 -> LED_IN
Dallas DS18B20 hőmérséklet mérő az úrhajós belső hőmérsékletének méréséhez (Azért terveztem bele, mert az ESP32 belső hőmérséklete 50C feletti értékeket mutatott és nem tudtam, hogy mennyire fog átmelegedni az egész. A tapasztalat azt mutatja, hogy nem létkérdés, kb. szobahőmérséklet van a testében is.)
- DATA -> GPIO18
- Vcc -> 3.3V(!)
- Vcc és GPIO18 közé kell egy 4K7 felhúzó ellenállás
Együtt az extrák
Az alábbiak szerint kötöttem össze a két NYÁK-ot:
Csatlakozási pont | Wemos Mini / Digital LED |
---|---|
+5V | VCC |
GND | GND |
Eredeti IC | Wemos Mini | Funkció |
---|---|---|
3 | GPIO4 | Lézer |
4 | GPIO33 | Infravörös vevő |
6 | GPIO34 | Nyomógomb - Csillagköd |
7 | GPIO23 | Nyomógomb - Be/Ki |
8 | GPIO35 | Nyomógomb - Csillagok |
9 | GPIO17 | Csillagköd - Kék |
10 | GPIO21 | Csillagköd - Piros |
11 | GPIO16 | Csillagköd - Zöld |
13 | GPIO22 | Csillagköd - Motor |
14 | GPIO32 | Státusz LED (piros) |
15 | GPIO27 | Státusz LED (kék) |
Ezt a fázist elég nehéz volt fotózni - fogynak a szabadon lévő kábelek:
A Wemos MINI-n gyárilag van egy LED, ami folyamatosan világít, jelezve, hogy van tápfeszültség. Ezt érdemes leszedni, mert átvilágít az űrhajós testén.
Kétoldalas ragasztóval oldottam meg a LED panel rögzítését, és hogy legyen hely közöttük, 3 réteget ragasztottam egymásra. A panelt úgy pozícionáltam, hogy ne takarja az antennát.
Multiméterrel ellenőriztem a forrasztásokat, majd az eredeti mikrokontrollernél ragasztóval (glue gun) rögzítettem a kábeleket. Kábelkötegelővel szépen össze lehet fogni az egészet és valami ilyesmi lesz a végeredmény:
Összeszerelés és a fotók visszanézése közben észrevettem, hogy nem teljesen egyforma a 3 űrhajós panelja, hiába stimmel a verziója. Az R15 és az R16 ellenállások hiányoznak kettőről, ami a 3.3V felhúzó ellenállások lennének a csillagköd és a csillagok nyomógomboknál. SMD-t és főleg ilyen picit sajnos nem tudnék normálisan felforrasztani, ezért maradt a "B" terv: 10K-s ellenállást forrasztottam a mikrokapcsolók lábaira, a másik felét pedig 3.3V-ra kötöttem.
Készítettem egy alap konfigurációs file-t, ezt be kell másolni az ESPHome-ba: ESPHome/astronaut.yaml
Az alábbi részeket javítsd a saját környezetednek megfelelően:
substitutions:
name: <preferált név>
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ap:
ssid: "${name}HotSpot"
password: !secret wifi_fallback_password
api:
password: !secret api_password
ota:
password: !secret ota_password
Ha ez megvan, akkor mehet a telepítés. Az első feltöltéshez mindenképp USB kábelen kell csatlakoztatni a Wemos MINI-t!
Feltöltés után Home Assistant-ban értesítés fog megjelenni, hogy új eszközt talált, konfiguráció után meg kell jelennie az eszközök között.
Még szétszedett állapotban érdemes tesztelni, hogy minden funkció működik-e rendesen, ehhez csak vissza kell dugni a fejből jövő 3 csatlakozót a NYÁK-ra.
Az eredeti "hátizsákban" alig van hely, így ez nem is volt opció, hogy ide próbáljam meg bezsúfolni az egészet. 35mm átmérőjű körkivágóval 2db egymásba érő lyukat vágtam, ügyelve arra, hogy a rögzítési pontokat ne fúrjam el. Így megfelelően nagy nyílás lett a "hátán", hogy könnyedén össze lehessen rakni. A fúrásnál célszerű lassan és óvatosan haladni, mert a hátizsák merevebb műanyagból van, az űrhajós teste viszont puha. Fúrás előtt ellenőrizd, hogy hova fog esni a kivágás! Az alábbi képeken látható is, hogy az alsó lyuk kicsit elcsúszott jobbra és épphogy nem nyílt szét az illesztés.
Fúrás után katasztrófálisan nézett ki nálam mindegyik. Sorjázóval és szikével szépen le lehet takarítani.
A mágnesek, amik a fejet tartják, elég gyengén vannak beragasztva, ezt érdemes orvosolni egy kis ragasztóval. Ha "glue gun"-t használsz, akkor egyszerre csak egy mágnesre nyomj ragasztót és támaszd meg, mert a hő feloldja a rajta lévő ragasztót és kiugrik a helyéről. Én elsőre sajnos úgy jártam, hogy kiugrott mindkét mágnes, és egy szép kis ragasztó csomóvá állt össze az egész.
Ha idáig eljutottál és nincsenek égési sérüléseid, akkor lehet összeszerelni. Az eredeti NYÁK-ot vissza kell csavarozni a hátizsák hátsó felére, és a fej kábeleit el kell rendezni, hogy a megfelelő helyen (a kivezetésnél) legyen.
A hátizsák műanyag eleménél fogva - és egy kicsit oldalra döntve - összeállítható az egész. Arra érdemes figyelni, hogy a LED panel a lehető leginkább felfelé (a mágnesek felé) legyen.
AZ ESPHome konfiguráció nincs teljesen kész:
- Kód optimalizálása (működik, használható, nem szép...)
- Effektek (a csillagköd és a LED panel effektjeit még lehetne szépíteni)
- Offline működés (utazások alkalmával vinni szoktuk magunkkal, elvileg a "reboot_timeout" lesz a megoldás.)
- Hátizsák gombok életre keltése (az eredetihez hasonló funkciókhoz még hiányoznak)
- Távirányító gombok életre keltése (az eredetihez hasonló funkciókhoz még hiányoznak (minta van a kódban))
Távirányító kódok:
Button name | Address | Command |
---|---|---|
Power | 0xFF00 | 0xBA45 |
Timer | 0xFF00 | 0xB847 |
Nebula | 0xFF00 | 0xBB44 |
Nebula B+ | 0xFF00 | 0xF609 |
Nebula B- | 0xFF00 | 0xEA15 |
Nebula S+ | 0xFF00 | 0xBC43 |
Nebula S- | 0xFF00 | 0xBF40 |
Star | 0xFF00 | 0x00FF |
Star S+ | 0xFF00 | 0xE619 |
Star S- | 0xFF00 | 0xB946 |
Star B+ | 0xFF00 | 0xF20D |
Star B- | 0xFF00 | 0xF807 |
HEStore:
Aliexpress (affiliate):
- Aliexpress: Astronaut Star Projector Night Light with Remote Control
- Aliexpress: Wemos D1 MINI ESP32
Tervezem még közzétenni más projektjeimet is, ahogy időm engedi:
Ha hasznosnak találtad ezt a leírást, és köszönenet mondanál, akkor egy ☕, vagy egy 🍺 meghívást szívesen veszek.😊
English version coming soon!