|
//elecboard version 2.1
//wanzhenzhi
//更新内容:优化代码
#include <Servo.h>
Servo myservo;
int a,b,c,d;
unsigned int ADCValue;
//、、、、、、、、、、、、参数设置区、、、、、、、、、、、、、、、
//、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
#define motorControl 9 //、、、
#define button 8 //、、、
#define soundwave_range 13 //、、、
#define soundwave_out A1 //、、、
#define voltage A0 //、、、
int topSpeed = 2000;//最高速 //、、、
int mid = 1620;//最低速 //、、、
int accelerationlevel = 20;//越小加速越快 //、、、
//、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
//、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
void setup()
{
myservo.attach(motorControl);
pinMode(voltage,INPUT);
Serial.begin(9600);
pinMode(button,INPUT);
pinMode(soundwave_range,OUTPUT);
Serial.begin(9600);
digitalWrite(soundwave_range,HIGH);
}
void loop()
{
myservo.writeMicroseconds(1555); //油门中位
c=analogRead(voltage);
topSpeed= map(c,0,1023,1650,2000);
Serial.println(topSpeed);
if(digitalRead(button)==LOW)
{
forward();
}
}
void forward()
{
for(int i=mid;i<=topSpeed;i++)
{
myservo.writeMicroseconds(i);
delay(accelerationlevel);
while(i>=topSpeed)
{
myservo.writeMicroseconds(topSpeed);
Serial.println("top!");
if(digitalRead(button)==HIGH)
{
break;
}
}
Serial.println(i);
if(digitalRead(button)==HIGH)
{
break;
}
else
{
continue;
}
}
} |
|