1.2 Sterowanie przekaźnikami przy pomocy klawiatury matrycowej
Jak już przećwiczyliśmy sterowanie przy pomocy zwykłych przycisków to teraz możemy spróbować coś „trudniejszego” jak sterowanie poprzez klawiaturę matrycową.
![]() |
| Sterowanie klawiaturą matrycową |
K1 i K4 to kolumny klawiatury, a R3 i R4 to rzędy. Następnie piszemy program:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
$regfile = "m32def.dat" $crystal = 8000000 Config Kbd = Portc Dim K As Byte Config Portd.5 = Output Config Portd.6 = Output Przekaznik0 Alias Portd.5 Przekaznik1 Alias Portd.6 Przekaznik1 = 1 Przekaznik0 = 1 Do K = Getkbd() If K = 1 Then Waitms 30 Przekaznik1 = 0 End If If Przekaznik1 = 0 And K = 0 Then Waitms 30 Przekaznik1 = 1 End If If K = 13 Then Waitms 30 Przekaznik0 = 0 End If If Przekaznik0 = 0 And K = 12 Then Waitms 30 Przekaznik0 = 1 End If Loop End |
Ze względu na to, że ze wcześniejszych lekcji znamy instrukcje wstępne to nie będę ich ponownie opisywał, lecz skupię się nad pętlą główną programu.
Pętla główna jest złożona z czterech instrukcji warunkowych.
Pierwsza funkcja ma za zadanie uruchomienie Przekaźnika1 przy użyciu przycisku z 3. rzędu i 4. kolumny. Zatem przywołujemy numer przycisku i jak zostanie on wciśnięty to Przekaźnik1 zostanie uruchomiony.
Kolejna instrukcja będzie miała za zadanie wyłączyć uruchomiony wcześniej przekaźnik. W tym celu musimy sprawdzić aktualny stan przekaźnika oraz czy przycisk wyłączający przekaźnik jest załączony.
Żeby zrozumieć tą funkcję to musimy odczytać ją od końca, tzn. wyłącz Przekaźnik1 jeżeli jest włączony i jak przycisk wyłączający jest załączony (4. rząd, 4. kolumna).
Trzeciej i czwartej funkcji nie muszę opisywać, bo jak możemy zauważyć to są dokładnie te same co przed chwilą opisałem, z tym że dla innego przekaźnika i innych przycisków.
Jak już mamy w małym palcu ten sposób to na sam koniec będziemy sterować przekaźnikami po przez pilot RC5. O zasadzie działania i sposobie sterowania po przez pilot dowiedziecie się z tego poradnika
