//// (1/1/2020 çarşamba)
int hiz= 600;//hız(değer düşürüldüğünde hız artar)
int rampa = 700;//rampa değeri
int rmpm= 500;//rampa mesafe değeri
int rmptd=4500;//rampa tepe değer
int mesafedeger=5000;//gidilecek mesafe(rmptd den yüksek olacak)
int rmp= rampa;
int mesafe= 0;
int ileri = A1;//ileri butonu
int geri = A2;//geri butonu
int strt = A3;//start butonu
int stp = A4;//stop butonu
int puls = 2;//sürücü puls
int dir = 3;//sürücü dır(yön)
bool flag = 0;//otomatik flag ı
void setup() {
pinMode(ileri, INPUT);
pinMode(geri, INPUT);
pinMode(strt, INPUT);
pinMode(stp, INPUT);
pinMode(puls, OUTPUT);
pinMode(dir, OUTPUT);
Serial.begin (9600);
}
void loop() {
///////////ileri
if (digitalRead (ileri)==HIGH||flag==HIGH)
while(mesafe<mesafedeger)
{ mesafe++;
if(mesafe<rmpm)
rmp--;
if(mesafe>rmptd)
rmp++;
digitalWrite(puls,HIGH);
delayMicroseconds(hiz+rmp);
digitalWrite(puls,LOW);
if (digitalRead (stp)==HIGH)
flag=LOW;
}
Serial.println(mesafe);
delay(150);
////////GERİ
if (digitalRead (geri)==HIGH||flag==HIGH)
while(mesafe>0 )
{ mesafe--;
if(mesafe>rmptd)
rmp--;
if(mesafe<rmpm)
rmp++;
digitalWrite(dir,HIGH);
digitalWrite(puls,HIGH);
delayMicroseconds(hiz+rmp);
digitalWrite(puls,LOW);
digitalWrite(dir,LOW);
if (digitalRead (stp)==HIGH)
flag=LOW;
}
Serial.println(mesafe);
delay(150);
/////
if (digitalRead (strt)==HIGH)
flag=HIGH;
if (digitalRead (stp)==HIGH)
flag=LOW;
}
bunu bidene