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?
thanks
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?
that's read code. servo doing?
Arduino Forum > Forum 2005-2010 (read only) > Software > Syntax & Programs > Wind Sensor and Servo
arduino
Comments
Post a Comment