介绍 硬件准备 本篇文章专门介绍用Arduino制作超声波测距灯,需要的材料是:
1. Arduino开发板 2. HC-SR04超声波模块 3. LED灯 4. 杜邦线若干
注意事项 之所以要写这篇文章,很大原因是因为发现大多数看我博客的都对我最开始发的两篇关于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);
}
}
米思齐
效果图