如题,这是一个使用arduino以及多个传感器实现的一个警报器,Let's get started!
1.首先是电路图的确定
如图,将超声波传感器按照上图的连线方式连接到开发板上;
再将LED以及蜂鸣器链接上。
连线部分到这完成。
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之后,点击图示标记的按钮,代码将会被编译验证,假如代码没有出现错误,将会在控制台出现以下的内容:
程序无误后我们就可以将代码上传到开发板了
如图,点击第二个标记按钮,代码将会被上传到开发板,当然,你必须要将开发板连接到电脑。
3.可能出现的错误
1)电脑无法正确识别开发板
这时候你需要找到arduino的驱动给电脑打上,自行百度或google。
2) avrdude: ser_open(): can’t open device “\.\COM7”:
端口错误,在打上了驱动之后(或者你已经排除了并非是驱动的问题之后),这大概率是端口没有选对;在arduino IDE内选:工具->端口,选择上对应的端口。
4.实现效果
在排除了种种困难以及各种bug之后,我们终于可以来看看这个东西到底能干些什么了。
1)首先是静息状态,即超声波传感器没有感应到物体接近,LED以及蜂鸣器都没有动作(如图)
1)接着是反应状态,在有物体接近的时候,LED亮起,蜂鸣器发出声音。
注意右边的阴影,那是物体接近的证据,可惜没有拍到;但是你可以看到LED已经亮了。
总结
这算是一个比较简单的arduino实验,用到的传感器数量也不多,只要心细一点,在接线的时候没有出岔子,把程序复制上传之后都能成功。写的很乱,希望对看官有所帮助。
文章来源: https://blog.csdn.net/Savoki_T/article/details/92380962