Wind Sensor and Servo


i have wind sensor , servo powered separately on 2 different breadboards.
the arduino powers wind sensor , battery powers servo.

each part of code works fine separately wind sensor becomes delayed.
the delay(15) seems cause. if run both delays off, servo has convulsion wind sensor works fine.
is there way write have best of both worlds?

a fast response wind sensor , delays needed servo?
code: [select]
// wind sensor , servo sweep

byte ledpin[] = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13}; //pins used led's
#include <servo.h>

servo myservo;                // servo object control servo

int pos = 0;                      // variable servo position

void setup()
{
 myservo.attach(3);         // servo on pin 3 servo
 //serial.begin(9600);
// set pins output
(int x = 0; x < 10; x++) {
  pinmode (ledpin[x], output); }
}


void loop()
{
 int sensorvalue = analogread(2);
 //serial.println(sensorvalue, dec);
 
   if (sensorvalue > 160){ digitalwrite(ledpin[0], high);  }
   if (sensorvalue > 180){ digitalwrite(ledpin[1], high);  }
   if (sensorvalue > 200){ digitalwrite(ledpin[2], high);  }
   if (sensorvalue > 220){ digitalwrite(ledpin[3], high);  }
   if (sensorvalue > 240){ digitalwrite(ledpin[4], high);  }
   if (sensorvalue > 260){ digitalwrite(ledpin[5], high);  }
   if (sensorvalue > 280){ digitalwrite(ledpin[6], high);  }
   if (sensorvalue > 300){ digitalwrite(ledpin[7], high);  }
   if (sensorvalue > 320){ digitalwrite(ledpin[8], high);  }
   if (sensorvalue > 340){ digitalwrite(ledpin[9], high);  }
   
   if (sensorvalue < 160){ digitalwrite(ledpin[0], low);  }
   if (sensorvalue < 180){ digitalwrite(ledpin[1], low);  }
   if (sensorvalue < 200){ digitalwrite(ledpin[2], low);  }
   if (sensorvalue < 220){ digitalwrite(ledpin[3], low);  }
   if (sensorvalue < 240){ digitalwrite(ledpin[4], low);  }
   if (sensorvalue < 260){ digitalwrite(ledpin[5], low);  }
   if (sensorvalue < 280){ digitalwrite(ledpin[6], low);  }
   if (sensorvalue < 300){ digitalwrite(ledpin[7], low);  }
   if (sensorvalue < 320){ digitalwrite(ledpin[8], low);  }
   if (sensorvalue < 340){ digitalwrite(ledpin[9], low);  }
   
 { servogo();}
}

void servogo()
{
 for(pos = 0; pos < 180; pos += 1)     //0 180 degrees, 1 degree steps
 {                                                    
   myservo.write(pos);                        // go variable 'pos'
   delay(15);                                      // waits 15ms servo reach position
 }
 for(pos = 180; pos>=1; pos-=1)        // 180 0 degrees, 1 degree steps
 {                                
   myservo.write(pos);                        // go variable 'pos'
   delay(15);                                      // waits 15ms servo reach position
 }
}


thanks

regardless of wind sensor reports, want move servo smoothly, through it's entire range of motion.

that's read code. servo doing?


Arduino Forum > Forum 2005-2010 (read only) > Software > Syntax & Programs > Wind Sensor and Servo


arduino

Comments

Popular posts from this blog

CAN'T INSTALL MAMBELFISH 1.5 FROM DIRECTORY - Joomla! Forum - community, help and support

error: expected initializer before 'void'

CPU load monitoring using GPIO and leds - Raspberry Pi Forums