Skocz do zawartości

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


Pomocna odpowiedź

(edytowany)

Te przekaźniki to w sumie nie tani interes. Stówka za sztukę. Zawsze można rozważyć coś po WiFi na szynę albo do puszki bezpośrednio. Z przekaźnikami, które obecnie są zainstalowane, żeby było uczciwie, to jeśli istnieje coś na podobieństwo sterownika LED, który masz  tej samej skrzynce, który by był na WiFi, BT, Ethernet, cokolwiek tak żeby było jakieś API. Z ciekawości, np. dolny rząd przekaźników, cienki, czerwony przewód przeskakuje z jednego na drugi (przyłącze nr 4 przekaźnika). Do czego on służy?

Edytowano przez matsobdev

No ale po co mam zmieniać coś, co działa dobrze od kilku lat!? Brakuje mi tylko dodatkowego sterowania (moje widzimisię). Arduino Nano jest dobre, bo małe.

Zbudować umiem, zaprogramować nie. Jeszcze nie... Może kiedyś zaprogramuję. Na dziś odkładam projekt, bo czarna magia.

@Kshyhoo W przykładach dla Arduino IDE masz gotowca - zmieniasz tylko ilość kolumn, tablice z numerami pinów i ze znakami odpowiadającymi klawiszom. Tyle to nawet paszczalowiec zrobi od ręki.

@Elvis ja się chyba starzeję - matryca z tym układem leży mi pod nosem i przeszkadza 🙂

policzmy:

LED - piny 10 do 13 (SPI)

Klawiatura: piny A0 do A5 i 2 do 9

Tyle masz w Arduino.

Przy okazji - jak połączysz klawisze 6x7 a nie 4x10 to jeszcze jeden pin zostanie (np. dla jakiegoś buzzera) i miejsce na dwa dodatkowe guziki jakbyś potrzebował.

@ethanak Jak ktoś będzie zawzięty to może nawet te same piny użyć do SPI oraz odczytu stanu klawiatury.

Więc w sumie 13 pinów powinno wystarczyć, ale łatwiej będzie napisać program gdzie klawiatura i diody będą miały oddzielne wyprowadzenia.

Arduino IDE? Teraz dowiedziałem się, że istnieje. W symulatorze online nie ma podglądu elementów 😞 Tej gotowej klawiatury nie mogę znaleźć.

Z racji tego, że jestem zielony w temacie, wszelkie "masz gotowca", "zmieniasz tylko", "proponowałbym dać" to to samo, co frazeologia mojej żony: wiem, że do mnie mówi ale nie wiem o czym mówi...

@Kshyhoo Jeśli nie znasz podstaw, to chyba trzeba nadrobić nieco zaległości przed zabraniem się za własny projekt. Na forum znajdziesz znany i lubiany kurs Arduino: https://forbot.pl/blog/kurs-arduino-podstawy-programowania-spis-tresci-kursu-id5290 

Dzięki niemu szybko opanujesz podstawy i wtedy będzie o wiele łatwiej Ci pomóc i podpowiedzieć co należy zrobić. A na zachętę dodam, że w części drugiej kursu masz omówione działanie klawiatury matrycowej: https://forbot.pl/blog/kurs-arduino-ii-klawiatura-wlasny-system-alarmowy-id18341

A myślisz, że tej części kursu nie widziałem? To były pierwsze wyniki po wpisaniu frazy "Arduino klawiatura" w Google...

Przy czym ma to się nijak do problemu, bo jak wcześniej pisałem "gotowce" 4x4 nie mają się nijak do klawiatury 4x10 bo nie wiem, jak zaprogramować użycie portów A0-A3 jako rzędów. Kombinowałem na wszelkie sposoby i zawsze mam błąd, zazwyczaj jakichś tam deklaracji.

Chcę zrobić klawiaturę do załączania przekaźników i moja przygoda z Arduino prawdopodobnie się zakończy.

Zapewne wiecie o czym piszecie i jestem wdzięczny za każdą podpowiedź. Ale jak dotąd, wszelkie podpowiedzi wprowadziły tylko zamęt w mojej głowie, nie mówiąc już o uświadomieniu, że nic nie umiem. A podpowiedzi bez poparcia konkretnym przykładem, nic nie wnoszą, bo nie wiem o czym mowa!

Przekopałem przykładu na TinkerCad, wokwi.com, włączając do tego ich Discord i znalazłem wiele przykładów, ale zazwyczaj są niedziałające...

 

(edytowany)
1 godzinę temu, Kshyhoo napisał:

Przekopałem przykładu na TinkerCad

Ale wiesz, że symulator z rzeczywistym Arduino ma tyle wspólnego, co symulator latania myśliwcem na C64 z lataniem F16?

1 godzinę temu, Kshyhoo napisał:

A myślisz, że tej części kursu nie widziałem?

A jak robiłeś prawo jazdy to od razu przechodziłeś do skręcania w lewo na skrzyżowaniu gdzie jedzie policja, motocyklista i tramwaj ? Czy może zaczynałeś od włączenia silnika? Kursy są tak skonstruowane, że trzeba je przechodzić kolejno od pierwszej lekcji.

Poza tym nie wiem co tam mogło nie działać, przykład z CustomKeyboard (jak zainstalujesz Arduino IDE i bibliotekę Keypad to będziesz miał na własnym dysku):

const byte ROWS = 6; //six rows
const byte COLS = 7; //seven columns
//define the cymbols on the buttons of the keypads
char hexaKeys[ROWS][COLS] = {
  {'a','b','c','d','e','f','g'},
  {'h','i','j','k','l','m','n'},
  {'o','p','q','r','s','t','A'},
  {'B','C','D','E','F','G','H'},
  {'I','J','K','L','M','N','O'},
  {'P','Q','R','S','T','#','*'},
};
byte rowPins[ROWS] = {A0, A1, A2, A3, A4, A5}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {2, 3, 4, 5, 6, 7, 8}; //connect to the column pinouts of the keypad

Tu masz fragment który trzeba podmienić żeby na wyjściu dostać odpowiedni znaczek... nawet ortografa w oryginalnym kodzie nie podmieniałem żebyś mógł łatwiej znaleźć.

Aha, zapewniam że się kompiluje:

Szkic używa 3152 bajtów (9%) pamięci programu. Maksimum to 32256 bajtów.
Zmienne globalne używają 363 bajtów (17%) pamięci dynamicznej, pozostawiając 1685 bajtów dla zmiennych lokalnych. Maksimum to 2048 bajtów.

Used library Version Path
Keypad       3.1.1   /home/ethanak/Arduino/libraries/Keypad

Used platform Version Path
arduino:avr   1.8.6   /home/ethanak/.arduino15/packages/arduino/hardware/avr/1.8.6

 

Edytowano przez ethanak

A coś nie działa? Jeśli nie działa to przesiądź się z C64 na F16.

Musi działać na Uno, Nano i Pro Mini (takie mam).

Przy okazji - rozumiem że 6x7 to be, a 4x10 to cacy? Jeśli tak, to użyj A4 i A5 zamiast 9 i 10, bo potem będziesz pytał dlaczego ledy nie świecą.

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...