Ten kod się nie kompiluje, wyskaują dwa błędy.
Poza tym dobrze abyś umieścił jakieś komentarze w programie aby np. było wiadomo co i gdzie podłączasz.
Program bez komentarzy ciężko się analizuje...
Jak za jakiś czas do niego wrócisz to też nie będziesz pamiętał co i jak robiłeś.
Na przykład można tak...
Kod:
a = "a"; //Ten zapis to błąd! Zmienną a określiłeś jako: int, a chcesz załadować String'a!
Poza tym dobrze abyś umieścił jakieś komentarze w programie aby np. było wiadomo co i gdzie podłączasz.
Program bez komentarzy ciężko się analizuje...
Jak za jakiś czas do niego wrócisz to też nie będziesz pamiętał co i jak robiłeś.
Na przykład można tak...
Kod:
// ----------------------------------------
// Keypad 4x4
// ----------------------------------------
// Zdefiniowanie zmennych.
// -----------------------
int a; // Zmienna określająca...
int b; // ...
int c;
int d;
int e;
char ser1; // Zmienna określająca...
char ser2; // ...
char ser3;
char ser4;
// Ustawienia programu.
// --------------------
void setup()
{
pinMode(11, OUTPUT); // Do pinu wyjścia podłączone...
pinMode(10, OUTPUT); // ...
pinMode(9, OUTPUT);
pinMode(8, OUTPUT);
pinMode(5, INPUT_PULLUP); // Do pinu wejścia podłączone...
pinMode(4, INPUT_PULLUP); // ...
pinMode(3, INPUT_PULLUP);
pinMode(2, INPUT_PULLUP);
digitalWrite(11, HIGH); // Ustawienie stanu wysokiego na...
digitalWrite(10, HIGH); // ...
digitalWrite(9, HIGH);
digitalWrite(8, HIGH); // i tak dalej...
Serial.begin(9600);
b = 1;
e = 1;
}
// Pętla główna programu.
// ----------------------
void loop()
{
digitalWrite(11, LOW);
d = 0;
if (d == 0)
{
digitalWrite(11, LOW);
ser1 = digitalRead(5);
ser2 = digitalRead(4);
ser3 = digitalRead(3);
ser4 = digitalRead(2);
if (ser1 == 0 && d == 0 )
{
a = 1;
Serial.print("1");
delay(100);
}
else if (ser2 == 0 && d == 0 )
{
a = 2;
Serial.print("2");
delay(100);
}
else if (ser3 == 0 && d == 0 )
{
a = 3;
Serial.print("3");
delay(100);
}
else if (ser4 == 0 && d == 0 )
{
// a = "a"; Ten zapis to błąd! Zmienną a określiłeś jako: int, a chcesz załadować String'a!
Serial.print("a");
delay(100);
}
d =1;
}
if(d == 1)
{
digitalWrite(11, HIGH);
digitalWrite(10, LOW);
ser1 = digitalRead(5);
ser2 = digitalRead(4);
ser3 = digitalRead(3);
ser4 = digitalRead(2);
if (ser1 == 0)
{
a = 4;
Serial.print("4");
delay(100);
}
else if (ser2 == 0)
{
a = 5;
Serial.print("5");
delay(100);
}
else if (ser3 == 0)
{
a = 6;
Serial.print("6");
delay(100);
}
else if (ser4 == 0)
{
// a = "b"; Ten zapis to błąd! Zmienną a określiłeś jako: int, a chcesz załadować String'a!
Serial.print("b");
delay(100);
}
d = 0;
}
}
Jeżeli pomogłem, to poproszę o punkt reputacji