Skocz do zawartości

Sterowanie zespołem przekaźników z niezależnej klawiatury


Kshyhoo

Pomocna odpowiedź

3 godziny temu, Kshyhoo napisał:

Wiesza się. Moje też się wieszają. HGW dlaczego...

Zdaje się, że źle wpisałeś dane do tablicy klawiszy:

byte hexaKeys[ROWS][COLS] = {
  {40, 36, 32, 28, 24, 20, 16, 12, 8, 4},
  {39, 35, 31, 27, 23, 19, 15, 11, 7, 3},
  {38, 34, 30, 26, 22, 18, 14, 10, 6, 2},
  {37, 33, 29, 25, 21, 17, 13, 9, 5, 1}
};

byte rowPins[ROWS] = {A0, A1, A2, A3};
byte colPins[COLS] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11};

rząd A0 zaczyna się od kolumny 2 więc powinien być tam przycisk 1, a jest wpisany 37.

Link do komentarza
Share on other sites

4 godziny temu, orb777 napisał:

Dziwna sprawa, jakby biblioteka zawieszała się. Dioda pracuje normalnie, serial też.

Niepoprawnie tylko działają klawisze w od 1 do 9 z pierwszego wiersza, tzn. można każdy z nich włączyć, ale nie działa przełączanie "on" - "off". Każdy z tych klawiszy można po restarcie symulacji włączyć indywidualnie w stan "on", ale kolejne wciskanie przycisku nie powoduje przełączenia w stan "off".

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Witam.

Nie wiem na czym stanęło, ale ktoś tam wiele wątków wcześniej rzucił fajne hasło "rejestr przesuwny".
I o to chyba autorowi chodzi? Ma dwa Arduino połaczone ze sobą parą przewodów którą wymieniają  się danymi dwie płytki. Jedna z multiplekserem czyta stan klawiatury (nawet 50 razy na sekundę)  zamienia to na 5 bajtów  i wysyła RS 232 czy 485 do drugiego który jest zaprzęgniety do 5 połaczonych szeregowo ośmio  bitowych rejestrów i przy stwierdzeniu poprawnej transmisji zatrzaskuje w rejestrach i trzyma ten stan do pojawienia się jakiejś zmiany. I teraz najważnejsze czy wciśnięty jest jeden przycisk czy pięć albo 37 to żadna różnica dla elektroniki.
Idąc dalej jak wspomniałem komunikacja może się odbywać w obu kierunkach , więc  można zrobić że układ z przyciskami wysyła 5 bajtów (lub więcej) jako polecenie zmiany stanów przekaźników a w odpowiedzi od dostaje np. potwierdzenie prawidłowego wykonania polecnia (kwestia ustalenia czy potrzeby tego).
Takie potwierdzenie przydaje się do testu czy wogóle urzadzenia pracują tzn. test np. 1 x 60sek.
Duży projekt jak dla Ciebie zapewne i jest trochę przy tym pracy , ale uważam że warto spróbować takie coś zrobić na "chińskich klonach" niż stosować "długowieczny" gruby kabel ?
Zacząłbym  od płytki stykowej i uruchomieniu układu ot tak na 8 przyciskach a potem jeśli się sprawdzi zmienić kilka wartości w kodzie i możesz sterować 256 urządzeniami wysyłając przykładowo 8 bajtów informacji.
Teraz musisz mieć zarys tego a dalej w trakcie kolejnych kroków będą się pojawiać nowe lepsze rozwiązania.

Powodzenia.

Link do komentarza
Share on other sites

Znalazłem przypadkiem taki ciekawy układ TM1638/TM1650, jest to scalony układ do obsługi klawiatury 24/32 przyciski + 10/4 wyświetlaczy LED 8 seg ( w praktyce 80 LEdów można tym obsłużyć.) Komunikacja po szynie szeregowej. Podaje jako ciekawostka, może komuś kiedyś się przyda. 10 scalaków na Ali kosztuje chyba 30zł.

TM1650.thumb.jpg.2391d3c323a4ff5f7388db288882b128.jpg

Przykładowa płytka.

https://allegro.pl/oferta/modul-wyswietlacza-8-cyfrowego-z-przyciskami-tm1638-16572958959?context=9f6596b4ec06f2c7981e93ac9334d291e117ca75c5725d06e2b293df9b4bfbef4d5e12aaebee126172efee2d1b653cf86c09e39aab47cf722ae78e09731f4c75f0d32d3397d036ea27bcb965f08b510f29cd5b376e028a793d9926ac79e48f9c08b9910140d30fc95c4d5609caae50d4b81779aabac3e0bba1eaa33e553ab57ba7b1260885d400fe0d99c3d41f204f48&sellerHasChanged=false&fromVariant=16572958959

 

Link do komentarza
Share on other sites

Dnia 28.12.2024 o 17:59, Kshyhoo napisał:

Dzień dobry. To moja pierwsza wizyta na Forum.

Chcę zrobić pewien sterownik w domu i szukam rozwiązania. Podpowiedziano mi na innym forum o innej tematyce, że wykonanie innym sposobem niż opartym na mikroprocesorze będzie trudne. Zwracam się z prośbą o wskazanie kierunku, w jakim mam się udać, co ew. zakupić, jaką konfigurację, co będę potrzebował, oprócz chęci 😉

Do rzeczy: mam w domu sterowanie oświetleniem opartym na przyciskach i przekaźnikach bistabilnych F&F BIS-411 2Z 230V . Wszystko robiłem osobiście, to jeden z moich zawodów...

Chciałbym do tych przekaźników dodać klawiaturę 4x10 z podświetleniem LED, oddaloną jakieś 2m, od skrzynki sterowniczej.

Próby zrealizowania to w technice cyfrowej mnie przerosły.

Podpowiedziano mi, że układ na dwóch Arduino (jeden po stronie klawiatury, drugi po stronie przekaźników), byłby najlepszy.

Mam jako takie pojęcie o programowaniu, ale programowałem w Pascalu 😉 Znam "języki" webowe. Mam też chęć poznania czegoś nowego...

Moja klawiatura:

 

 

20241223_175721.jpg

Sprzętowo potrzebujesz dwóch Arduino (np. Nano) i kabli do komunikacji. Programowanie w Arduino IDE jest prostewięc dasz radę. Na początek odczytaj sygnały z klawiatury i wyświetl je w monitorze szeregowym –potem wyślesz je do drugiego Arduino, które obsłuży przekaźniki.

Link do komentarza
Share on other sites

53 minuty temu, Mariusz339 napisał:

Sprzętowo potrzebujesz dwóch Arduino (np. Nano) i kabli do komunikacji. Programowanie w Arduino IDE jest prostewięc dasz radę. Na początek odczytaj sygnały z klawiatury i wyświetl je w monitorze szeregowym –potem wyślesz je do drugiego Arduino, które obsłuży przekaźniki.

To już zostało powiedziane w tym wątku...

Idąc inną drogą (be programowania), co szanowne grono powie:

przyciski_1.png

przyciski_2.png

przyciski_3.png

przyciski_4.png

przyciski_5.png

przyciski_6.png

Link do komentarza
Share on other sites

Jeżeli masz dostęp do książki "Układy scalone serii UCA64/UCY74 - parametry i zastosowania" Włodzimierza Sasala to możesz w niej podejrzeć możliwe do rozważenia rozwiązania układowe.

Strona 260 - dekoder naturalnego sześciobitowego kodu dwójkowego na kod 1 z 64 z wejściem strobowania. Dekoder ten zbudowany jest na układach 7442. Jednak gdyby zastosować jako układy wyjściowe, dekoder 74145 to ich wyjść bez problemu można włączyć diodę LED, a nawet przekaźnik (strona 266 powyższej książki).

Strona 311 - multipleksowy system transmisji danych. Jeśli są większe odległości,  między "nadajnikiem" - klawiaturą i "odbiornikiem" włączającym przekaźniki wymagane są tak zwane nadajniki i odbiorniki symetrycznych linii przesyłowych. Są to np. układy 74107 i 75108, 75110. Strona 450 w/w książki.

Strona 319  - schemat klawiatury matrycowej o 64 przyciskach.

Strona 316 - dekoder kodu sześciobitowego na kod 1 z 64 na układach 75154.

Rozwiązania te należy traktować raczej jako ciekawostkę lub punkt wyjścia do własnych rozwiązań. Niektóre układy cyfrowe TTL mogą być trudniej dostępne w "wysokiej" cenie np. 10-20 zł za układ. Natomiast urządzenie to może wymagać użycia kilkunastu lub nawet kilkudziesięciu takich układów. Największym problemem może być jednak przesłanie niezakłóconego sygnału między "nadajnikiem" i "odbiornikiem" jeśli jest to większa odległość.

Nasunęła się mi jeszcze jedna koncepcja. Zamiast klawiatury sterowanie głosem. Mówisz np. "ogród" i masz oświetlony ogród. Rozwiązanie to nie obejdzie się jednak bez programowania. Pozostaje kwestia podchodzenia do mikrofonu i rozpoznawania głosu innych osób. 

Skłaniał bym się bardziej ku rozwiązaniu sterowania za pomocą "pilota", którym może być smartfon lub pilot radiowy, który będzie sterował odpowiednią kartą przekaźników. Różne rozwiązania są dostępne w postaci gotowych modułów. Zobacz sobie na moduł o nazwie "KinCony A32 Pro", który zawiera co prawda tylko 32 kanały.

Link do komentarza
Share on other sites

(edytowany)
Dnia 9.01.2025 o 10:45, Kshyhoo napisał:

Idąc inną drogą (be programowania), co szanowne grono powie:

Zwróć uwagę na to że sygnały się zmieniają tak samo jak multiplexer działa więc transoptory będą "szaleć" a pewno nie taki sygnał potrzebny jest do załączenia czegoś tam? Czas załączenia będzie tylko 1 na 40 sekwencji.
Wspominałem -"rejestr przesuwny" (ma zatrzaski które utrzymują niezmieniony stan na wyjściu, mimo ruchu na wejściu).

Pozdrawiam.

I jeszcze jedno: Zwróć uwagę na równoczesne naciśnięcie dwóch przycisków. Będą niespodzianki. 😉

 

Edytowano przez KaDe
Link do komentarza
Share on other sites

OK, długo mnie nie było, zaliczyłem awarię samochodu (wymiana wtryskiwaczy) i szpital (kolonoskopia). Ale wydaje mi się, że nie próżnowałem. Oto postępy:

Testowo uruchomiłem 2 rejestry (16 we/wy) na przyciskach i kontrolnie LEDy i to działa:

https://wokwi.com/projects/420276759184615425

Jeżeli chcę przenieść to na 5 rejestrów (40 we/wy), nie działa 😞

https://wokwi.com/projects/420187361848931329

HELP!

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.