• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 1 głosów - średnia: 1
  • 1
  • 2
  • 3
  • 4
  • 5
próba budowy systemu alarmowego
#4
Napotkałem nowy problem którego nie mogę rozgryźć. Kod:
#include <LiquidCrystal.h>
#include <Keypad.h>

int diodaZielona = 13;
int diodaZulta = 12;
int diodaCzerwona = 11;
int buzzer = 10;
int czujnikRuchu = 1;

const byte ROWS = 4;
const byte COLS = 4;

byte rowPins[ROWS] = {9, 8, 7 ,6 };
byte colPins[COLS] = {5, 4, 3, 2};

char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};

Keypad klawiatura = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); //inicjalizacja klawiatury

volatile int stanAlarmu = 1;
int aktywacjaAlarmuPozycja = 1;
char aktywacjaCyfra1 = '1';
char aktywacjaCyfra2 = '2';
char aktywacjaCyfra3 = '3';
char aktywacjaCyfra4 = '4';
char aktywacjaCyfra5 = 'A';

int dezaktywacjaAlarmuPozycja = 1;
char dezaktywacjaCyfra1 = '1';
char dezaktywacjaCyfra2 = '2';
char dezaktywacjaCyfra3 = '3';
char dezaktywacjaCyfra4 = '4';
char dezaktywacjaCyfra5 = 'D';

void setup() {
pinMode(diodaZielona, OUTPUT);
pinMode(diodaZulta, OUTPUT);
pinMode(diodaCzerwona, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(czujnikRuchu, INPUT_PULLUP);

}
void loop() {

char klawisz = 0;

switch(stanAlarmu) {
case 1:
//Czuwanie
digitalWrite(diodaZielona, HIGH);
digitalWrite(diodaZulta, LOW);
digitalWrite(diodaCzerwona, LOW);

klawisz = klawiatura.getKey();
if (klawisz) {
if (aktywacjaAlarmuPozycja == 1 && klawisz == aktywacjaCyfra1) {
aktywacjaAlarmuPozycja++;
} else if (aktywacjaAlarmuPozycja == 2 && klawisz == aktywacjaCyfra2) {
aktywacjaAlarmuPozycja++;
} else if (aktywacjaAlarmuPozycja == 3 && klawisz == aktywacjaCyfra3) {
aktywacjaAlarmuPozycja++;
} else if (aktywacjaAlarmuPozycja == 4 && klawisz == aktywacjaCyfra4) {
aktywacjaAlarmuPozycja++;
} else if (aktywacjaAlarmuPozycja == 5 && klawisz == aktywacjaCyfra5) {
stanAlarmu = 2;
}
}

break;

case 2://Monitorowanie
digitalWrite(diodaZielona, LOW);
digitalWrite(diodaZulta, HIGH);
digitalWrite(diodaCzerwona, LOW);

klawisz = klawiatura.getKey();
if (klawisz) {
if (dezaktywacjaAlarmuPozycja == 1 && klawisz == dezaktywacjaCyfra1) {
dezaktywacjaAlarmuPozycja++;
} else if (dezaktywacjaAlarmuPozycja == 2 && klawisz == dezaktywacjaCyfra2) {
dezaktywacjaAlarmuPozycja++;
} else if (dezaktywacjaAlarmuPozycja == 3 && klawisz == dezaktywacjaCyfra3) {
dezaktywacjaAlarmuPozycja++;
} else if (dezaktywacjaAlarmuPozycja == 4 && klawisz == dezaktywacjaCyfra4) {
dezaktywacjaAlarmuPozycja++;
} else if (dezaktywacjaAlarmuPozycja == 5 && klawisz == dezaktywacjaCyfra5) {
stanAlarmu = 1;
}
}
break;

}
}

W celu aktywacji wpisuje pin "1 2 3 4 A" , następnie dezaktywuje alarm wpisując pin "1 2 3 4 D" i rzeczywiście alarm jest dezaktywowany. Przy ponownej próbie aktywacji wystarczy nacisnąć na klawiaturze ostatni znak pinu "A" , a przy dezaktywacji tylko "D". Oczywiście takiego efektu nie oczekiwałem. Chcę aby wymagany był cały pin, a nie tylko ostatnie znaki. Analizując kod nie mogę zrozumieć dlaczego tak się dzieje.
 
Odpowiedź
  


Wiadomości w tym wątku
próba budowy systemu alarmowego - przez Lucek20 - 05-01-2020, 14:31
RE: próba budowy systemu alarmowego - przez elvis - 05-01-2020, 15:02
RE: próba budowy systemu alarmowego - przez Lucek20 - 05-01-2020, 15:08
RE: próba budowy systemu alarmowego - przez Lucek20 - 05-01-2020, 19:25
RE: próba budowy systemu alarmowego - przez Lucek20 - 05-01-2020, 22:04
RE: próba budowy systemu alarmowego - przez Lucek20 - 10-01-2020, 00:03
RE: próba budowy systemu alarmowego - przez Lucek20 - 10-01-2020, 12:32
RE: próba budowy systemu alarmowego - przez Lucek20 - 13-02-2020, 23:08
RE: próba budowy systemu alarmowego - przez Lucek20 - 14-02-2020, 22:32
RE: próba budowy systemu alarmowego - przez Lucek20 - 15-02-2020, 21:02
RE: próba budowy systemu alarmowego - przez Lucek20 - 15-02-2020, 22:36
RE: próba budowy systemu alarmowego - przez Lucek20 - 16-02-2020, 12:04
RE: próba budowy systemu alarmowego - przez Lucek20 - 22-02-2020, 12:34
RE: próba budowy systemu alarmowego - przez Lucek20 - 26-02-2020, 17:23
RE: próba budowy systemu alarmowego - przez Lucek20 - 26-02-2020, 19:12
RE: próba budowy systemu alarmowego - przez Lucek20 - 01-03-2020, 20:42
RE: próba budowy systemu alarmowego - przez Lucek20 - 03-03-2020, 21:44
RE: próba budowy systemu alarmowego - przez Lucek20 - 04-03-2020, 23:42
RE: próba budowy systemu alarmowego - przez Lucek20 - 15-03-2020, 20:33
RE: próba budowy systemu alarmowego - przez Lucek20 - 20-03-2020, 23:43
RE: próba budowy systemu alarmowego - przez Lucek20 - 01-04-2020, 14:30
RE: próba budowy systemu alarmowego - przez Lucek20 - 04-04-2020, 09:33
RE: próba budowy systemu alarmowego - przez Lucek20 - 12-04-2020, 08:24
RE: próba budowy systemu alarmowego - przez Lucek20 - 12-04-2020, 22:17
RE: próba budowy systemu alarmowego - przez Lucek20 - 23-04-2020, 11:41
RE: próba budowy systemu alarmowego - przez Lucek20 - 26-04-2020, 14:47

Skocz do:


Przeglądający: 1 gości