Go Down

Topic: Ensimmäinen robotti (Read 1 time) previous topic - next topic

racer123

Hei!
Osaisiko joku auttaa tämän koodin nopeuttamisessa? Kun robotti huomaa esteen, sillä kestää hetken "älytä" se ja kääntyä.
Code: [Select]

int servoFrontPin=8;
int servoBackPin=7;
int irLeft=2;
int irRight=4;

void pulseServo(int servoPin, int pulseLenUs)
{
digitalWrite(servoPin, HIGH);
delayMicroseconds(pulseLenUs);
digitalWrite(servoPin, LOW);
delay(20);
}

void setup()
{
        pinMode(irLeft, INPUT);
        pinMode(irRight, INPUT);
pinMode(servoFrontPin, OUTPUT);
pinMode(servoBackPin, OUTPUT);
}

void loop()
{
  int sensorRightValue = digitalRead(irRight);
  int sensorLeftValue = digitalRead(irLeft);
  if (sensorRightValue == 1 & sensorLeftValue ==1)
  {
   for (int i=0; i<=25; i++) {
pulseServo(servoFrontPin, 1900);
pulseServo(servoBackPin, 1000);
  }
  }
else if (sensorRightValue == 0 & sensorLeftValue == 0)
{
for (int i=0; i<=25; i++) {
pulseServo(servoFrontPin, 1900);
pulseServo(servoBackPin, 1900);
 
 
}
}

else if (sensorRightValue == 1 & sensorLeftValue == 0)
{
  for (int i=0; i<=25; i++) {
pulseServo(servoFrontPin, 1000);
pulseServo(servoBackPin, 1000);
  }
}
else if (sensorRightValue == 0 & sensorLeftValue == 1)
{
for (int i=0; i<=25; i++) {
pulseServo(servoFrontPin, 1900);
pulseServo(servoBackPin, 1900);

}
}
}


uk350

saattais nopeutua jos esm for luupeissa tutkit joka kierroksella onko sensor x valuet muuttuneet ja jos niin poistutaan luupista heti.


uk350

#3
Feb 26, 2012, 07:01 pm Last Edit: Feb 27, 2012, 12:21 pm by uk350 Reason: 1
for (int i=0; i<=25; i++) {
      pulseServo(servoFrontPin, 1900);
      pulseServo(servoBackPin, 1000);
if(jos sensorrightvalue tai sensorleftvalue muuttujissa ja sensoreissa on eri arvo kuin tähän silmukkaan tullessa)
{
i=tähän sellainen arvo jotta for silmukassa ei tarvitse enää pyöriä
}
 }

edit: muokattu

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy