Shankusu
Hectopat
- Katılım
- 5 Şubat 2022
- Mesajlar
- 236
Daha fazla
- Cinsiyet
- Erkek
Merhaba, benim aşağıdaki gibi bir kodum var. En kısa mantığı ile sensör değeri 7 veya 7'den küçük olunca, değeri 0 olan gry değişkenine +1 ekleyecek, daha sonra 1. döngü çalışacak. Daha sonra sensör değeri tekrar 7 veya 7'den küçük olunca 2. döngü çalışacak. Aynı şekilde bir kez daha if bloğu olduktan sonra, gry değeri 4 olunca sifirlayacak ve baştan başlayacak lakin bende hep 1. döngü (gry <= 0 döngüsü) çalışıyor ve +1 eklemiyor.
(C kategorisine açma sebebim; 0 Arduino bilgisi ile sadece C bilerek düzeltilebilecek olması.)
C:
int trigPin = 12;
int echoPin = 13;
int mtp1 = 8;
int mtp2 = 9;
int mtp3 = 10;
int mtp4 = 11;
int gry;
void setup(){
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
pinMode(mtp1, OUTPUT);
pinMode(mtp2, OUTPUT);
pinMode(mtp3, OUTPUT);
pinMode(mtp4, OUTPUT);
}
void loop(){
int gry = 0;
int sure, uzaklik;
digitalWrite(trigPin, HIGH);
delayMicroseconds(1000);
digitalWrite(trigPin, LOW);
sure = pulseIn(echoPin, HIGH);
uzaklik = sure/58;
Serial.print("uzaklik: ");
Serial.println(uzaklik);
delay(200);
if(uzaklik <= 7){
gry = gry+1 ;
delay(1000);
if(gry > 0){
if(gry == 1){
digitalWrite(mtp1, HIGH);
digitalWrite(mtp2, LOW);
digitalWrite(mtp3, HIGH);
digitalWrite(mtp4, LOW);
delay(5000);
digitalWrite(mtp1, LOW);
digitalWrite(mtp2, LOW);
digitalWrite(mtp3, LOW);
digitalWrite(mtp4, LOW);
Serial.println(gry);
}
if(gry == 2){
digitalWrite(mtp1, LOW);
digitalWrite(mtp2, HIGH);
digitalWrite(mtp3, LOW);
digitalWrite(mtp4, HIGH);
delay(5000);
digitalWrite(mtp1, LOW);
digitalWrite(mtp2, LOW);
digitalWrite(mtp3, LOW);
digitalWrite(mtp4, LOW);
Serial.println(gry);
}
if(gry == 3){
digitalWrite(mtp1, HIGH);
digitalWrite(mtp2, LOW);
digitalWrite(mtp3, LOW);
digitalWrite(mtp4, LOW);
delay(5000);
digitalWrite(mtp1, LOW);
digitalWrite(mtp2, LOW);
digitalWrite(mtp3, LOW);
digitalWrite(mtp4, LOW);
Serial.println(gry);
}
Serial.println(gry);
}
}
}
(C kategorisine açma sebebim; 0 Arduino bilgisi ile sadece C bilerek düzeltilebilecek olması.)