介绍
硬件准备
本篇文章专门介绍用Arduino制作超声波测距灯,需要的材料是:
- Arduino开发板
- HC-SR04超声波模块
- LED灯
- 杜邦线若干
注意事项
之所以要写这篇文章,很大原因是因为发现大多数看我博客的都对我最开始发的两篇关于Arduino和Mixly的文章很感兴趣。所以我在这里写一些文章。让这些朋友能有东西可以学习。但我在这个必须要说的是,如果你和我一样,是一个物联网相关专业或者电子机器人专业的学生的话,我必须要提醒你,你可以在这里学习Arduino,但最好先不要使用Mixly,因为过早的接触Mixly,会使你在未来的单片机学习中,产生很大误解,图形化学习有利有弊,对于创客来说,是非常好的,但是对于我们这些专业的人员来说,必须要在有一定的单片机基础下,再用这些图形化方式加快我们的编程。这都是我的经验教训,在没有一定的单片机编程知识的情况下,先用了Mixly,导致在后来的学习中,习惯用这些图形化编程使用,导致走了很多弯路,在后来用很长的时间来改正,所以我在这里希望大家引以为戒。当然,对于已经有了一定单片机编程知识,并且自己已经做了很多项目的人,或者不是这相关专业的人员。这些图形化编程还是很好用的。
实操
Arduino
volatile int juli;//定义变量juli为整型
float checkdistance_4_5() {
//定义管脚4和5,4为Trig,5为Echo
digitalWrite(4, LOW);
delayMicroseconds(2);
digitalWrite(4, HIGH);
delayMicroseconds(10);
digitalWrite(4, LOW);
float distance = pulseIn(5, HIGH) / 58.00;//计算距离
delay(10);
return distance;//返回值为距离
}
void setup(){
Serial.begin(9600);//串口波特率为9600
juli = 0;
pinMode(4, OUTPUT);
pinMode(5, INPUT);
pinMode(2, OUTPUT);
}
void loop(){
juli = checkdistance_4_5();
Serial.println(String(juli).toInt());//打印距离在串口
delay(1000);
if (juli < 30) {
digitalWrite(2,LOW);
} else {
digitalWrite(2,HIGH);
}
}
米思齐
效果图
结尾
我在项目实战里,会后续更新更多的复杂项目,会更详细注解,方便大家更好的学习。