Wynika to z tego, że co 20ms na kilkanaście mikrosekund przewód zasilający LED przełącza się i pracuje jako wejście, by odczytać stan przycisków. W tym momencie panuje na linii stan wysoki, a ponieważ trwa bardzo krótko, to na niektórych diodach można zaobserwować "żarzenie"zetbees wrote:Pierwsze co zwróciło moją uwagę, że przy takim połączeniu nawet jak wszystkie diody były jako "wyłączone" to trochę się żarzyły jeśli w przypadku diod jest to prawidłowe określenie, po ustawieniu na załącz dany kolor jaśniał pełnym blaskiem.
Niektóre diody mogą mieć spadek napięcia w kierunku przewodzenia na tyle mały, że odczytywane jest to przez moduł jako zwarcie przycisku. Wstaw szeregowo z tą LED diodę prostowniczą lub dobrany eksperymentalnie rezystor.zetbees wrote:Co więcej wszystkie kanały do których były podłączone moduły zielone były sygnalizowane jako przycisk wciśnięty
Coś tu jest nie jest dla mnie jasne. Nie wiem jaki chciałeś uzyskać efekt, ale nie ma takiej funkcji "ponowne naciśnięcie przycisku". Wciśnięty przycisk może uruchomić zawsze te same instrukcje, czyli jeśli wciśnięcie ma załączyć diodę zieloną, to każde wciśnięcie będzie tę diodę załączać. Nie ma w obecnym firmware rozróżnienia czy przycisk został wciśnięty pierwszy raz, czy drugi raz.zetbees wrote:Program miał być stosunkowo prosty
- naciśnięcie przycisku 1 załącza część zieloną diody 1 i neguje przekaźnik 1 w module przekaźników
- ponowne naciśnięcie załącza niebieską część diody i neguje przekaźnik 1 w module przekaźników...
Code: Select all
Włącz LED G, jeśli K1 włączony (=30 =20 =15 =0B =FF =FF =01 =FF =FF xFF xFF xFF)
Wyłącz LED G, jeśli K1 wyłączony (=30 =20 =15 =0B =FF =FF =01 =00 =FF xFF xFF xFF)
Włącz LED B, jeśli K1 wyłączony (=30 =20 =15 =0B =FF =FF =01 =00 =FF xFF xFF xFF)
Wyłącz LED B, jeśli K1 włączony (=30 =20 =15 =0B =FF =FF =01 =FF =FF xFF xFF xFF)
Wykorzystaj jedno wejście modułu przycisk. Zewrzyj je na stałe - tak jakby przycisk był zawsze wciśnięty. Po podłączeniu zasilania do tego modułu wyśle on po informację o wciśniętym przycisku. Uzależnij stan startowy systemu od tej właśnie wiadomości. Najlepiej użyj wiadomości "przycisk wciśnięty i przytrzymany przez 4s" - po to by pozostałe urządzenia zdążyły wystartować i odebrać tę informację.zetbees wrote:I tu pojawia się problem ustawienia diod w momencie startu systemu - brakuje ramki pt. "uwaga startuję!" która mogłaby być wykorzystana do startowego ustawienia diod.
Nie odłączaj zasilania od modułu interfejsu tylko od pozostałych modułów - wtedy dowiesz się jakie informacje są wysyłane podczas startu.zetbees wrote:Zresztą monitor LAN można uruchomić dopiero jakiś czas po starcie i nie widać co się dzieje na początku.
Brzmi magicznie. Rozumiem, że program był widoczny jak go zapisywałeś. A próbowałeś skasować boksy i zaprogramować ponownie?zetbees wrote:Ale jeden z modułów przycisku nadal nie widzi zapisanego programu - tzn. wykonuje go ale próba odczytu pokazuje puste komórki. Reset modułu nie pomógł.
Zetbees nie irytuj sięzetbees wrote:Na pewno jest też wiele rozwiązań za pomocą urządzeń zewnętrznych od kondesatora począwszy, ale irytuje mnie, że takiej funkconalności nie ma w "natywnym" Hapcan'ie.
Spróbuję przy najbliższej okazji.Jacek wrote:Wykorzystaj jedno wejście modułu przycisk. Zewrzyj je na stałe - tak jakby przycisk był zawsze wciśnięty. Po podłączeniu zasilania do tego modułu wyśle on po informację o wciśniętym przycisku. Uzależnij stan startowy systemu od tej właśnie wiadomości. Najlepiej użyj wiadomości "przycisk wciśnięty i przytrzymany przez 4s" - po to by pozostałe urządzenia zdążyły wystartować i odebrać tę informację.
Ale jeśli będę chciał "rozpiąć" magistralę żeby dodać nowe urządzenie to chyba muszę wyłączyć zasilenie w całości?Jacek wrote:Nie odłączaj zasilania od modułu interfejsu tylko od pozostałych modułów - wtedy dowiesz się jakie informacje są wysyłane podczas startu.
Już się nie irytuję, tak jak PelzaK nie potrafię. Zostaje mi pisanie skryptów.Jacek wrote:Zetbees nie irytuj się. (...) Lub tak jak to robi PelzaK stworzyć zupełnie nowe urządzenie.
Jacek wrote:Nie odłączaj zasilania od modułu interfejsu tylko od pozostałych modułów - wtedy dowiesz się jakie informacje są wysyłane podczas startu.
Tak jak pisze Jacek - odpinasz zasilanie modułów za interfejsem, podłączasz nowy moduł i załaczasz ponownie zasilanie na moduły.zetbees wrote: Ale jeśli będę chciał "rozpiąć" magistralę żeby dodać nowe urządzenie to chyba muszę wyłączyć zasilenie w całości?
Ja w tej chwili praktycznie nie mam potrzeby odłączania i załaczania modułów. Wszystkie, które posiadam mieszkają juz na swoich miejscach, jedyne co jest w trakcie montażu i przeróbek, prób itp. to przyciski dopuszkowe, oprócz zasilania muszę też przykręcić/odkręcić magistralę a to wszystko na dość "gołych" drutach, tak więc nie mam odwagi grzebać przy tym "pod prądem" no chyba, że wolno i zwarcie magistrali niczym nie grozi.Marcin wrote: Tak jak pisze Jacek - odpinasz zasilanie modułów za interfejsem, podłączasz nowy moduł i załaczasz ponownie zasilanie na moduły.