Skocz do zawartości

Arduino w modelarstwie kolejowym


prezesedi

Pomocna odpowiedź

Powielając kod który teraz mamy o kolejne semafory/tarcze i biorąc pod uwagę  ilość kombinacji swiecenia kod miałby około 1000linii(sprawdzałem😜)...taki makaron switch-case, więc na razie się z tym nie wyrywam bo kolega @ethanak by mnie po pysku wytrzaskał😜hihi 

 

Link do komentarza
Share on other sites

(edytowany)
21 minut temu, ethanak napisał:

Co do tych sygnałów - to nieco komplikuje sterowanie (a właściwie sam układ klawiszy na panelu), bo do zapalenia jednej z 5 diod wystarczy 5 przycisków, jeśli mają być jakieś pary czy migania to już jest gorzej.

Obecnie mogę zapalić 10 różnych sygnałów na jednym semaforze złożonym z 5 diod (3mm). Raczej przy tym pozostanę - łatwa wymiana w przypadku zwarcia i przepalenia (chodzi o diody 3mm). Dlatego w jednym z wcześniejszych wpisów pisałem o użyciu kombinacji A0-A9 na klawiaturze.

Edytowano przez prezesedi
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

Miałem w szkole zawodowej przedmiot związany z tym tematem

 Przypomniałem sobie , że 1 i 2 semafor są ze sobą 'powiązane' , sprawdziłem i tek jest.  To wbrew pozorom upraszcza sytuacja. W tym miesiącu muszę remontować mieszkanie bo szwagierka przyjeżdża.  Urlopu nie mam i czasu niezawiele z tego powodu nie mogę pomóc. jednak spróbuję, bo czas na myślenie mam w pracy. Potrzebuję jedynie konkretnego planu i co ma  być robione i w jaki sposób. 

Jeżeli klawiatura to co ma ona robic, czy też zmieniać komunktu czy tylko światła ? 

Poza tym jeżeli semafor pokaże STOP lokomotywa sama lub ze składem powinna  się zatrzymać.

Jeżeli mam prędkość Max a drugi semafor nakazuje 100  ,40 to pojazd trakcyjny na makiecie powinien respektować to.  W przeciwnym wypadku makieta straci nieco na uroku.

Chętnie pomogę w miarę możliwości dlatego że zbyt wiele lat pracowałem przy tym.

Czasami nawet jechałem Tamarą czy Škodą TEM 102 itp

Link do komentarza
Share on other sites

 

@ethanak Ty Jesteś artysta to ogarniesz...gorzej ze mną 😁 

Jak by miało być esp-now i wyjaśniło się że semafory mają występować parami, tzw. 5led-2led, to ja bym zrobił tak...Pozostał bym przy tej klawiaturze membranowej, tak jak autor wspominał, pierwsza liczba była by nr semafora, a druga kombinacją, łączył bym je jako liczbę i wysyłał np. 25...na czterech odbiornikach miałbym tablice bajtów dla wszystkich kombinacji swiecenia, potem w odbiorniku jakiś prosty warunek żeby aktualnie działał tylko jeden semafor...

//dla semafora 1
if (data >= 10 && data <= 19) {
  switch (data) { 
      case 17:
      ledset(data);
      break;
      //etc 
      //etc 
      //etc 
 } 
  
  void ledset(byte dane) {                 pcf.write(pin, (tab[data] >> 4)&1);
    pcf.write(pin, (tab[data] >> 3)&1);
    pcf.write(pin, (tab[data] >> 2)&1);
    pcf.write(pin, (tab[data] >> 1)&1);
    pcf.write(pin, (tab[data] >> 0)&1);
              

W sumie wyszły by dwa switch odpowiednio po 10 i 3 case co było by do przeżycia...jedynie dla migania trzeba by jeszcze dopisać osobno parę bajtów, no ale to już nie byłby taki makaron jak te wcześniejsze wypociny 😜 No ale ja się chętnie przypatrzę temu nad czym już zacząłeś rozmyślać

Edytowano przez farmaceuta
Link do komentarza
Share on other sites

@farmaceuta po tym co tu napisano też jednak wsadziłbym zwykłą klawiaturę 16 klawiszy. Potrzebny byłby wyświetlacz 7seg żeby nie wciskać klawiszy na ślepo. Tu jest możliwość 14 urzadzeń i 14 możliwych programów na każdym.

BTW pcf-y ustawia się wysyłając stan całego portu.

Poszukam czy mam jakąś klawiaturę, bo wyświetlacz gdzieś mi się pałęta w szufladzie. Pcf8574 chyba mam...

 

Link do komentarza
Share on other sites

22 minuty temu, ethanak napisał:

@farmaceuta

BTW pcf-y ustawia się wysyłając stan całego portu.

To już od Libsa zależy bo widziałem i write(pin) i write16(data)...chociaż z tym wpisaniem całego portu to nie tak hop siup bo o ile włączenie odpowiednich LED proste to o tyle zgaszenie już nie takie oczywiste, załóżmy... 

B00000101 //zapalenie ledow
B00000001 // zgaszenie

więc podczas migania (a takie przypadki ma autor) do gaszenia nie mogę już wykorzystać zapisu 

data = read16() & ~(kombinacja); 
write16 (data); 

znów trzeba kombinować jakoś z pojedynczymi bitami...

Edytowano przez farmaceuta
Link do komentarza
Share on other sites

15 minut temu, ethanak napisał:

@prezesedi a możesz powiedzieć, co oznaczają te A0..A9? Będzie łatwiej coś zaproponować wiedząc o co chodzi...

Litera oznacza indeks semafora a liczba za nią indeks kombinacji swiecenia...(semafory 5-ledowe mają po 10 kombinacji, a semafory 2-ledowe po 3 kombinacje)

Link do komentarza
Share on other sites

27 minut temu, ethanak napisał:

@prezesedi a możesz powiedzieć, co oznaczają te A0..A9? Będzie łatwiej coś zaproponować wiedząc o co chodzi

Tak jak @farmaceuta napisał. Litera oznacza urządzenie a cyfra wyświetlany sygnał. Dlatego miałem pod jednym ESP dwa semafory i kombinacje A0-A9; B0-B9 na drugim 4 tarcze A0-A2 do D0-D2

Link do komentarza
Share on other sites

2 minuty temu, ethanak napisał:

prezesedi Dalej nie wiem o co chodzi... co robi np. A0, co robi A1, co robi A2... i tak dalej do A9.  Coś tam miga podobno

A0 zapala sygnał S1 czyli czerwony. A1 zapala S2 czyli zielony. A3 zapala s3 czyli migający zielony. Kolejny zielony z dolnym pomarańczowym. Kolejny dwa pomarańczowe. Kolejny pomarańczowy migający górny i stały dolny. Aż do czerwonego z migającym białym

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

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