超声波测距灯(Arduino、米思齐Mixly)

本文详细介绍如何使用Arduino开发板、HC-SR04超声波模块及LED灯制作一款超声波测距灯。文章涵盖硬件准备、注意事项及Arduino编程实操,特别强调了对于专业学习者避免过早依赖图形化编程工具的重要性。

介绍

硬件准备

本篇文章专门介绍用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);
    }
    }

米思齐

在这里插入图片描述

效果图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

结尾

我在项目实战里,会后续更新更多的复杂项目,会更详细注解,方便大家更好的学习。

RCWL-1605超声波测距模块是一种常用的非接触式测量设备,适用于多种应用场景。该模块通过发送接收超声波信号来计算与目标物体之间的距离,并支持数字信号输出[^1]。 ### 接线方法 RCWL-1605模块通常有4个引脚: - **VCC**:连接到主控设备的3.3V或5V电源引脚。 - **GND**:连接到主控设备的GND引脚。 - **Trig**:触发信号输入端,用于启动超声波发射,应连接到主控设备的一个数字输出引脚(例如Arduino的D9)。 - **Echo**:回响信号输出端,用于接收返回的超声波信号,应连接到主控设备的一个数字输入引脚(例如Arduino的D10)[^1]。 在使用米思齐Mixly)图形化编程工具时,确保接线方式与上述定义一致,以便实现正确的信号传输电源供应。 ### Mixly图形化代码示例 米思齐Mixly)是一款面向初学者的图形化编程工具,支持Arduino等微控制器平台。以下是基于RCWL-1605模块的测距功能在Mixly中的具体操作步骤代码示例: #### 实现步骤 1. 打开Mixly软件并选择适合的开发板型号(如Arduino Uno)。 2. 在“基础”模块中找到“设置串口通信”块,并配置波特率为9600。 3. 使用“数字输出”块设置Trig引脚为高电平持续10微秒以触发超声波发射。 4. 通过“脉冲读取”块获取Echo引脚的信号持续时间。 5. 应用公式 `(duration * 0.034) / 2` 计算实际距离(单位为厘),并通过串口打印结果。 #### 图形化代码逻辑 以下是以文字形式描述的Mixly图形化代码逻辑: - 设置串口通信波特率为9600。 - 定义TrigEcho引脚分别为D9D10。 - 发送一个10微秒的高电平脉冲以触发超声波发射。 - 等待Echo引脚变为高电平,并记录其持续时间。 - 计算距离并将结果通过串口监视器显示。 ```cpp // 示例代码对应的逻辑结构 void loop() { long duration; float distance; digitalWrite(TRIG_PIN, LOW); delayMicroseconds(2); digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIG_PIN, LOW); duration = pulseIn(ECHO_PIN, HIGH); distance = (duration * 0.034) / 2; Serial.print("Distance: "); Serial.println(distance); delay(500); } ``` 在Mixly中,这些逻辑可以通过拖拽相应的模块块完成,无需手动编写代码。 ### 注意事项 - 确保电源电压符合模块的要求,避免过压或欠压导致模块损坏。 - TrigEcho引脚应分别连接到主控设备的不同数字引脚,确保信号传输的准确性。 - 在实际应用中,可能需要根据具体硬件平台调整代码中的引脚定义通信设置。
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

跋扈洋

编写不易,打赏支持一下我吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值