Przygotowując się do zimy, postanowiłem zainwestować w nawilżacz powietrza. Wybór padł na urządzenie Smartmi Evaporative Humidifier 2 (SKV6004EU), czasem nazywane Xiaomi, bo ładnie się integrowało z domową automatyką i nie wymagało drogich filtrów. Postawiłem na urządzenie z rynku wtórnego, bo i na urządzenie nie chciałem wydawać na nie zbyt dużych pieniędzy.
Po kilku miesiącach pracy nawilżacz jednak postanowił odmówić współpracy – wystąpiła w nim bardzo powszechna awaria czujnika poziomu wody. Czytałem gdzieś o tym problemie jeszcze na etapie zakupu urządzenia i kojarzyłem, że społeczność już się z nim uporała, więc bez większego namysłu zamówiłem układ Attiny85 i ochoczo zabrałem się za rozbiórkę urządzenia. Bardzo przydatny okazał się ten filmik, mimo że dotyczy starszego modelu
![](https://lukasz.oksejuk.pl/wp-content/uploads/2023/12/image-1024x768.png)
![](https://lukasz.oksejuk.pl/wp-content/uploads/2023/12/image-1-1024x768.png)
![](https://lukasz.oksejuk.pl/wp-content/uploads/2023/12/image-2-1024x768.png)
![](https://lukasz.oksejuk.pl/wp-content/uploads/2023/12/image-3-1024x768.png)
Zdjęcie górnej pokrywy jednak było dla mnie niemałym zaskoczeniem – pod spodem ukazała się płytka zupełnie inna niż we wszystkich opisach naprawy – próżno było szukać modułu odpowiadającego za odczyt poziomu wody.
![](https://lukasz.oksejuk.pl/wp-content/uploads/2023/12/image-4-1024x768.png)
Zacząłem więc rozbierać resztę urządzenia aby sprawdzić, czy czegoś nie pominąłem.
![](https://lukasz.oksejuk.pl/wp-content/uploads/2023/12/image-5-1024x768.png)
Po rozmontowaniu urządzenia udało mi się określić, że moduł którego szukam znajduje się przy gnieździe zasilania a łączy go z płytą główną jeden przewód. Postanowiłem go odpiąć, żeby zobaczyć co się stanie. Urządzenie nie zareagowało, co uznałem za dobry znak – oznaczało to, że tym przewodem musi iść komunikacja z nieszczęsnym czujnikiem i przy odrobinie szczęścia uda się go zastąpić układem przeznaczonym do starszego modelu.
Do przygotowania emulatora potrzebny był odpowiednio zaprogramowany układ scalony Attiny85 – miał za zadanie wysyłać do urządzenia sygnał, że zbiornik wody jest pełny.
Do zaprogramowania układu potrzebne jest Arduino IDE, doposażone w biblioteki Digispark Attiny. Oprogramowanie do emulowania czujnika napisał Tomas Vilda i udostępnił na swoim githubie.
Aby wgrać kod na attiny, ustawiamy w Adruino IDE Board: na Digispark (Default – 16.5MHz) oraz Programmer na Micronucleus, kopiujemy kod z repozytorium Tomasa a następnie klikamy upload – jeśli wszystko pójdzie dobrze, to Arduino IDE poprosi nas w pewnym momencie o podłączenie płytki do komputera – podłączamy ją do dowolnego portu USB przewodem microusb
![](https://lukasz.oksejuk.pl/wp-content/uploads/2023/12/image-6.png)
Po wszystkim powinniśmy zobaczyć komunikat:
Micronucleus done. Thank you!
Następnie musimy jakoś podłączyć to do naszego urządzenia. Nie chciałem ciąć oryginalnego przewodu, ale udało mi się określić jaki typ złącza wykorzystuje moduł czujnika – okazało się, że jest to JST PH-2.0 5-pin. Na spodzie płyty głównej znajdowała się rozpiska pinów.
![](https://lukasz.oksejuk.pl/wp-content/uploads/2023/12/image-7-1024x929.png)
Wystarczyło podpiąć 5v i gnd modułu do odpowiednio opisanych przewodów wtyczki oraz Rx do P2 i urządzenie wróciło do żywych.
![](https://lukasz.oksejuk.pl/wp-content/uploads/2023/12/image-8-1024x859.png)
![](https://lukasz.oksejuk.pl/wp-content/uploads/2023/12/image-9-1024x768.png)
![](https://lukasz.oksejuk.pl/wp-content/uploads/2023/12/image-10-1024x768.png)
Wadą obecnego rozwiązania jest to, że moduł oszukuje urządzenie wysyłając cały czas sygnał o pełnym zbiorniku wody, więc trzeba ręcznie sprawdzać, czy woda wciąż znajduje się w zbiorniku. Widziałem na githubie inne rozwiązania, wykorzystujące też czujnik poziomu wody, ale pochylę się nad nimi kiedy indziej – póki co cieszę się z uruchomionego i (wystarczająco 😉 ) sprawnego nawilżacza.