int foto1 = 0; //zmienna do przechowywania adc fotorezystora1
int foto2 = 0; //zmienna do przechowywania adc fotorezystora2
byte foto1map = 0;
byte foto2map = 0;
void setup() {
for(int x=2; x<=6; x++) { pinMode(x, OUTPUT); } //ustawienie portów od 2 do 6 jako wyjscia
for(int x=2; x<=6; x++) { digitalWrite(x, HIGH); } //ustawienie wyjsc na stan wysoki
Serial.begin(9200);
}
void loop() {
foto1 = analogRead(A5);// wartosc czujnika swiatla
foto2 = analogRead(A4); // wartosc potencjometru
Serial.print("Napiecie czujnika1 : ");
Serial.println(foto1*(5.0/1023.0));
Serial.print("Napiecie czujnika2 : ");
Serial.println(foto2*(5.0/1023.0)); //wyswietlenie wartosc napiecia czujnikow
delay(200);
foto1map = map(foto1, 100, 700, 4, 2);
foto2map = map(foto2, 100, 700, 4, 6); //mapowanie czujnikow
Serial.print("mapowanie czujnika1 : ");
Serial.println(foto1map);
Serial.print("mapowanie czujnika2 : ");
Serial.println(foto2map); //wyswietlenie wartosc mapowania czujnikow
delay(200);
if(foto1map == foto2map) {
digitalWrite(4, LOW);
for(int x=2; x<=6; x++) { digitalWrite(x, HIGH); }}
if((foto1map <= 4) && (foto1map <= foto2map)) { //ustawienie linijki w prawo
for(int a=4; a>=2; a--) { digitalWrite(a, HIGH); }
digitalWrite(foto1map, LOW); }
if((foto2map >= 4) && (foto2map >= foto1map)) { //ustawienie linijki w lewo
for(int b=4; b<=6; b++) { digitalWrite(b, HIGH); }
digitalWrite(foto2map, LOW); }
}
Witam, nie rozumiem dlaczego w (ustawienie linijki w prawo) dioda led 4 nie jest w stanie wysokim, a w (ustawienie linijki w lewo) jest w ok.