根据超声波测距调动SG90舵机源码
#include <Servo.h>
#define DuoPIN D5//定义舵机
#define Echo D2//定义超声波收
#define Trig D8//定义超声波发
Servo myDuoJi;
long getTime()//超声波发波测距
{
digitalWrite(Trig,HIGH);
delayMicroseconds(10);
digitalWrite(Trig,LOW);
return pulseIn(Echo,HIGH);
}
void initChaoShengBo()//初始化超声波端口
{
pinMode(Echo,INPUT);//进口
pinMode(Trig,OUTPUT);//出口
}
void setup()
{
initChaoShengBo();//定义超声波
myDuoJi.attach(DuoPIN);//定义舵机
Serial.begin(115200);//定义公共比特率(应该能省略)
}
void loop()
{
long dis;//一直发波
dis=getTime()/58;//一直测距
if(dis<10)//当距离小于10cm
{
myDuoJi.write(90);//SG90舵机转动90度
delay(2000);//延时两秒
}
else//除非
{
myDuoJi.write(180);//转动180度
}
}
如有错误之处望批评指正