Mam program który sprawdza dwa czujniki. Chciałbym, żeby sprawdzał dwa jednocześnie. Gdy jeden zmini stan to chce to wypisać na konsole to samo gdy drugi czujnik zmini stan. Ale program wykonuje tylko pierwszą wywołaną funkcję (drugą pomija- nie wykonuje jej). więc jak wywołać te funkcje żeby sprawdzały się cały czas?
int czujnik_SW520D = 2;
int det_lasera_o = 6;
boolean odczyt1;
boolean stan1;
boolean odczyt;
boolean stan;
void setup() {
Serial.begin(9600);
pinMode(czujnik_SW520D, INPUT);
pinMode(det_lasera_o, INPUT);
}
void Funk1(){
odczyt = digitalRead(czujnik_SW520D);
if (odczyt) stan = 1; else stan = 0;
delay(500);
while(1){
odczyt = digitalRead(czujnik_SW520D);
if(odczyt){
if (stan){
delay(500);
continue;
}
else{
stan = 1;
Serial.println("przewrocony!\n");
delay(500);
continue;
}
}
else {
if (! stan){
delay(500);
continue;
}
else{
stan = 0;
Serial.println("ok!\n");
delay(500);
continue;
}
}
}
delay(10);
}
void Funk2(){
odczyt1 = digitalRead(det_lasera_o);
if (odczyt1) stan1 = 1; else stan1 = 0;
delay(500);
while(1){
odczyt1 = digitalRead(det_lasera_o);
if(odczyt1){
if (stan1){
delay(500);
continue;
}
else{
stan1 = 1;
Serial.println("zabrali!\n");
delay(500);
continue;
}
}
else {
if (! stan1){
delay(500);
continue;
}
else{
stan1 = 0;
Serial.println("pelny!\n");
delay(500);
continue;
}
}
}
delay(10);
}
void loop() {
Funk1();
Funk2();
}