《Arduino实验》实验三:HC-SR04超声波测距传感器检测距离

更完整、更全面的Arduino实验存放在我的github上,有需要的可以到github上查看和下载。
当然如果你觉得有帮助,给一个小小的star和fork就谢谢您了。
gtihub网址:https://github.com/Seven-AnAn/Arduino

实验内容

使用arduino开发板以及HC-SR04超声波测距传感器检测距离,并在串口输出检测出的距离数据;

请先点击了解HC-SR04相关内容

实验器件

  • arduino X 1
  • HC-SR04超声波测距传感器 X 1
  • USB数据烧写线 X 1
  • 杜邦线 X 4

实验连线

HC-SR04 Arduino
VCC 5V
GND GND
Trig 2
Echo 3

实验电路图

  • 7
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
以下是基于HC-SR04超声波测距模块的Arduino避障小车代码: ``` //定义超声波测距模块接口 #define echoPin 2 #define trigPin 3 //定义电机驱动模块接口 #define in1 5 #define in2 6 #define in3 9 #define in4 10 //定义小车参数 #define carSpeed 100 #define safeDistance 20 void setup() { //初始化串口通信 Serial.begin(9600); //设置IO口模式 pinMode(echoPin, INPUT); pinMode(trigPin, OUTPUT); pinMode(in1, OUTPUT); pinMode(in2, OUTPUT); pinMode(in3, OUTPUT); pinMode(in4, OUTPUT); } void loop() { //定义变量 long duration, distance; int left, right; //发送超声波信号 digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); //接收超声波信号 duration = pulseIn(echoPin, HIGH); //计算距离 distance = duration / 58; //打印距离 Serial.print("Distance: "); Serial.print(distance); Serial.println(" cm"); //判断距离并控制小车运动 if (distance > safeDistance) { //往前走 digitalWrite(in1, HIGH); digitalWrite(in2, LOW); digitalWrite(in3, HIGH); digitalWrite(in4, LOW); left = right = carSpeed; } else { //停止 digitalWrite(in1, LOW); digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, LOW); left = right = 0; } //打印电机速度 Serial.print("Left Motor Speed: "); Serial.print(left); Serial.print(", Right Motor Speed: "); Serial.println(right); } ``` 该代码中首先定义了超声波测距模块和电机驱动模块的接口,然后在setup函数中初始化IO口模式,并在loop函数中发送超声波信号、接收超声波信号并计算距离,最后根据距离判断小车是否需要运动,并控制电机驱动模块使小车前进或停止。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值