#include <Servo.h>
#define Trig1 7//初始化端口
#define Echo1 6
#define DuoPIN 9
Servo myDuoJi;
int pin = 5;
int buttonPin = 4;
long gettime()
{
digitalWrite(Trig1,HIGH);// 产生一个10us的高脉冲去触发TrigPin
delayMicroseconds(5);
digitalWrite(Trig1,LOW);
return pulseIn(Echo1,HIGH);
}
void initChaoShengBo()
{
pinMode(Echo1,INPUT);
pinMode(Trig1,OUTPUT);
}
void setup() {
pinMode(pin, OUTPUT);
initChaoShengBo();
myDuoJi.attach(DuoPIN);
pinMode(9, INPUT);
Serial.begin(115200);//波特率设置为115200
}
void loop() {
int n = digitalRead(4);
if (n == HIGH){
long dis;//获取距离
dis = gettime()/58;//通过脉冲计算距离
if(dis <10){
myDuoJi.write(90);//开盖亮灯
digitalWrite(pin, 1);
delay(2000);
}
else{
myDuoJi.write(180);//关闭盖子状态
digitalWrite(pin, 0);
}
}
else{myDuoJi.write(90);
digitalWrite(pin, 1);}
}