简单超声波报警器的实现(arduino+超声波传感器+蜂鸣器+LED)

如题,这是一个使用arduino以及多个传感器实现的一个警报器,Let's get started!

  • 1.首先是电路图的确定
  • 2.代码部分
        • 程序无误后我们就可以将代码上传到开发板了
  • 3.可能出现的错误
    • 1)电脑无法正确识别开发板
    • 2) avrdude: ser_open(): can't open device "\\.\COM7":
  • 4.实现效果
            • 1)首先是静息状态,即超声波传感器没有感应到物体接近,LED以及蜂鸣器都没有动作(如图)
            • 1)接着是反应状态,在有物体接近的时候,LED亮起,蜂鸣器发出声音。
  • 总结

1.首先是电路图的确定

简单超声波报警器的实现(arduino+超声波传感器+蜂鸣器+LED)_第1张图片
如图,将超声波传感器按照上图的连线方式连接到开发板上;
简单超声波报警器的实现(arduino+超声波传感器+蜂鸣器+LED)_第2张图片
再将LED以及蜂鸣器链接上。
简单超声波报警器的实现(arduino+超声波传感器+蜂鸣器+LED)_第3张图片
连线部分到这完成。

2.代码部分

在完成连线部分之后,我们就可以进行代码部分的编写了,首先是IDE的选择,必须选择Arduino,不能选其他的,没有就去下载,附带Arduino官网地址:www.arduino.cc。

源程序如下:

const int TrigPin = 2; 
const int EchoPin = 3; 
int LedPin = 12;
float cm; 
void setup() 
{ 
Serial.begin(9600); 
pinMode(TrigPin, OUTPUT); 
pinMode(EchoPin, INPUT); 
pinMode(8,OUTPUT);
pinMode(LedPin,OUTPUT);
} 
void loop() 
{ 
digitalWrite(8, LOW);

digitalWrite(TrigPin, LOW); //低高低电平发一个短时间脉冲去TrigPin 
delayMicroseconds(2); 
digitalWrite(TrigPin, HIGH); 
delayMicroseconds(10); 
digitalWrite(TrigPin, LOW); 

cm = pulseIn(EchoPin, HIGH) / 58.0; //将回波时间换算成cm 
cm = (int(cm * 100.0)) / 100.0; //保留两位小数 
if (cm>=2 && cm<=10)
{digitalWrite(8, HIGH);
digitalWrite(LedPin,HIGH);}//在距离范围内亮灯
else{
  digitalWrite(LedPin,LOW);
}
}

简单超声波报警器的实现(arduino+超声波传感器+蜂鸣器+LED)_第4张图片
将代码复制进arduino之后,点击图示标记的按钮,代码将会被编译验证,假如代码没有出现错误,将会在控制台出现以下的内容:
简单超声波报警器的实现(arduino+超声波传感器+蜂鸣器+LED)_第5张图片

程序无误后我们就可以将代码上传到开发板了

如图,点击第二个标记按钮,代码将会被上传到开发板,当然,你必须要将开发板连接到电脑。
简单超声波报警器的实现(arduino+超声波传感器+蜂鸣器+LED)_第6张图片

3.可能出现的错误

1)电脑无法正确识别开发板

这时候你需要找到arduino的驱动给电脑打上,自行百度或google。

2) avrdude: ser_open(): can’t open device “\.\COM7”:

端口错误,在打上了驱动之后(或者你已经排除了并非是驱动的问题之后),这大概率是端口没有选对;在arduino IDE内选:工具->端口,选择上对应的端口。

4.实现效果

在排除了种种困难以及各种bug之后,我们终于可以来看看这个东西到底能干些什么了。

1)首先是静息状态,即超声波传感器没有感应到物体接近,LED以及蜂鸣器都没有动作(如图)

简单超声波报警器的实现(arduino+超声波传感器+蜂鸣器+LED)_第7张图片

1)接着是反应状态,在有物体接近的时候,LED亮起,蜂鸣器发出声音。

简单超声波报警器的实现(arduino+超声波传感器+蜂鸣器+LED)_第8张图片
注意右边的阴影,那是物体接近的证据,可惜没有拍到;但是你可以看到LED已经亮了。

总结

这算是一个比较简单的arduino实验,用到的传感器数量也不多,只要心细一点,在接线的时候没有出岔子,把程序复制上传之后都能成功。写的很乱,希望对看官有所帮助。

你可能感兴趣的:(物联网)