|
1.代码如下,要求:超声波检测小于20厘米,6接口就输出高电平,否则就输出低电平!
2.定义超声波信号接收接口 ECHO接4口,定义超声波信号发出接口 TRIG 接5口,我用示波器测试了,5接口根本都没有方波出来是怎么回事?
[mw_shl_code=c,true] int inputPin=4; // 定义超声波信号接收接口 ECHO接4口
int outputPin=5; // 定义超声波信号发出接口 TRIG 接5口
void setup()
{
Serial.begin(9600);
pinMode(inputPin, INPUT);
pinMode(outputPin, OUTPUT);
pinMode(6, OUTPUT);
}
void loop()
{
digitalWrite(outputPin, LOW); // 使发出发出超声波信号接口低电平2μs
delayMicroseconds(2);
digitalWrite(outputPin, HIGH); // 使发出发出超声波信号接口高电平10μs,这里是至少10μs
delayMicroseconds(10);
digitalWrite(outputPin, LOW); // 保持发出超声波信号接口低电平
int distance = pulseIn(inputPin, HIGH); // 读出脉冲时间
distance= distance/58; // 将脉冲时间转化为距离(单位:厘米)
Serial.println(distance); //输出距离值
delay(50);
if(distance<=20)
{
digitalWrite(6,HIGH);
}
else
{
digitalWrite(6,LOW);
}
}
[/mw_shl_code] |
|