Cześć wszystkim!
posiadam przewodową instalacje na skrytkach, którą wykorzystuję do sterowania oświetleniem w domu oraz planowanymi innymi urządzeniami. Niestety jestem aktualnie w kropce. Zabrakło mi pinów analogowych w Arduino, które podłączam do monostabilnych przełączników w celu włączenia danego punktu światła (txt - niedozwolony typ pliku?).
Kupiłem EasySwitch 64 w celu podłączenia do Arduino i potrzebuję z tym pomocy.
Będę bardzo wdzięczny za przykładowe skrypty i rady.
Jak mogę załączyć plik?
zip, rar
a jak nie jest wielki ten skrypt to wklej w post jako kod
pzdr.
@isom Dziękuję za odpowiedź.
Chciałbym podłączyć aduino do expandera od Easy Switch 64, który były podłaczony ze wszystkimi w przekaźnikami SSR oraz monostabilnymi włacznikami ściennymi. Tak, aby w razie awarii Arduino łatwo dokonać podmiany. Nie bardzo wiem jak się za to zabrać. Aktualnie mam taki kod jak załączyłem powyżej.
Będe wdzięczny za linki/skrypty/sugestie, które pomogą mi ogarnąć ten etap.
Docelowo będę chciał podpiąć owe Arduino do Maliny i użyć jakiegoś Home Asistant, który będę mógł połączyć z HomeKit.
Pozdrawiam
Czarek
@ccenzura Nie bardzo rozumiem twój plan , ten expander to nic innego jak 4 szt modułów MCP23017 podłączanych do arduino przy użyciu magistrali I2C . Samodzielnie ten expander nie może działać , więc jak padnie arduino to nie mozesz go zastąpić tym modułem.
Tak jak napisałem wcześniej masz w tym arduino spory zapas GPIO więc albo rozbudujesz ten kod o kolejne przekaźniki i przyciski , albo trzeba go praktycznie napisać od nowa uwzględniając ten expander i programując same przyciski na arduino a wyjścia przekaźników na tych MCP23017.
@isom "Tak, aby w razie awarii Arduino łatwo dokonać podmiany." - w razie awarii chcę łatwo podmienić arduino a nie zastąpić
Brakuje mi chyba podstawowej wiedzy o kodzie, przykłady powinny mi wystarczyć.
- przykładowy kod z połączeniem magistrali I2C
- jak powinien wyglądać kod wykorzystujący włącznik monostabilny i pin cyfrowy
@ccenzura dobra to na początek przeanalizuj , wgraj i sprawdź ten kod
Zaznaczam, że nie mam arduino mega więc nie miałem na czym tego sprawdzić , są dodane dwa przekaźniki i dwa przyciski do tego co już masz
@isom Dziękuję, jak tylko będę miał możliwość to przeanalizuję.
Hej,
dopiero teraz znalazłem czas aby zajrzeć do przesłanego przez Ciebie skryptu.
Niestety zapewne omyłkowo przesłałeć plik, który wygląda identycznie jak mój :/
Czy ktoś jest w stanie mi pomóc?
Może i wygląda identycznie ale nie jest identyczny 🙂
@steel_rat aby szybko zlokalizaować zmienione fragmenty kodu wkleiłem zawartość obu plików w porównywarki tekstów online...
pokazała, że oba pliki są identyczne :/
Są dwa pliki GatewaySerialWired_16_CG.txt i GatewaySerialWired_18.txt .
Ten pierwszy ma 361 linii a drugi 383 linie tak więc nie są identyczne. W tym drugim dodano dodatkowe przekaźniki (GPIO). Chyba tylko tym się różnią. 🙂
Porównanie tekstu to nie jest analiza. Kod to nie opowiadanie. Dodane przyciski i przekaźniki miały pomóc w rozbudowie i zrozumieniu nawet pobieżnie tego jak z tym pracować.
@steel_rat faktycznie, usiadłem do tego stosunkowo poźno i musiałem nadpisać zawartość swojego oryginalnego pliku
@isom gdybym nie chciał przeanalizować to bym nie szukał różnic w kodzie
mój błąd, być może dzisiaj uda mi się do tego usiąść
Jeszcze raz dziękuję za pomoc i przepraszam za zamieszanie.
@isom Witam ponownie. Twoja prosta modyfikacją jest najprawdopodobniej poprawna, lecz... mam pewien problem.
Udało mi się zorganizować czas aby usiąść do tego ponowne i testuję sobie to na biurku.
Mając podłączone Arduino zaislane przez USB z komputera i sprawdzając zmianę stanu na pinie wyjściowym diodą z użyciem rezystora 220 wszystko jest ok, lecz w momencie kiedy zmieniam zasilanie na 9V stan na pinie wyjściowym zmienia się losowo bez mojej integrecji.
Co może być tego powodem?
Może nie w tym miejscu podajesz 9v? Wygląda jak by układ się przegrzewał. Chociaż czytałem że powinien mieć wyższe napięcie zasilania tak między 7 a 12v.
@steel_rat jak sprawdzam "przyciski anaglogowe" to działa, więc raczej nie to jest problemem