该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
今天实验了用超声波感测器ultrasound HC-SR04来测物体和感应器的距离。然后根据距离LED灯亮或灭。这里分享编码,外加简单讲解:
const int trigPin=9;//发送声波的pin
const int echoPin=10;//接收声波*(pulse的pin
int ledPin=7;//led
int pulse,distance;//创建pulse和distance
void setup(){
Serial.begin(9600);//传送
}
void loop(){
pinMode(trigPin,OUTPUT); //输出
digitalWrite(trigPin,HIGH);
delayMicroseconds(2);//delay防止trig和echo间的互相混淆
digitalWrite(trigPin,LOW);
pinMode(echoPin,INPUT); //输入
digitalWrite(echoPin,HIGH);
delayMicroseconds(10);
pulse = pulseIn(echoPin, HIGH); //echoPin接收物体上反弹的pulse,pulse等于echoPin的输入
distancia=pulse/29/2;//距离等于pulse除于29再除于2
Serial.println("cm");//在monitor里写上cm PS:加上ln后自动换行*(自动处于显示数值最后)
Serial.print(distance);//monitor里写接收到的数值*(距离)。打开monitor就能看到ultrasound传回来并且自动写成cm的距离。
if (distance>5)
{ digitalWrite(7,HIGH);
}//如果距离大于5cm,led灯亮
else { digitalWrite(7,LOW);
}
//反之,灭
}
enjoy it!