【Arduino玩具】东张西望的避障车

本文介绍了如何使用Arduino UNO和超声波测距模块创建一款避障车。当检测到距离障碍物小于10cm时,车辆会通过舵机转向避开。内容包括BOM清单、接线说明和Arduino IDE代码,代码中因马达驱动板与舵机控制冲突,稍显复杂。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


简介

通过舵机的左右旋转来控制超声波模块的测量区域。障碍物出现时, 即探测到的距离小于10cm时,底盘会朝着远离障碍物的方向转动。


演示

【Arduino玩具】东张西望的避障车


BOM

Arduino UNO x 1
超声波测距模块(HC-SR04) x 1
舵机(SG 90) x 1
红色LED x 1
履带式底盘,含两个减速电机(Pololu Zumo) x 1
马达驱动版(Zumo Shield V1.3) x 1


接线

在这里插入图片描述


Arduino IDE 代码

舵机的操控使用了 ATmega328P 的 timer-2, 代码稍微复杂一些。因为马达驱动板的库文件 <ZumoShield.h> 使用的是 timer -1,会与 <Servo.h> 冲突。如果使用其它不需要库文件的马达驱动的话,代码会简单很多,例如 L298N。

/* 
Obstacle Avoidace 避障车
Last Edited: March.18th.2021 by Mun Kim(老金)
Contact: Robotix.kim@gmail.com
*/

#include <Wire.h>           
#include <ZumoShield.h>  //马达驱动板需要的库文件     
ZumoMotors motors;

#define Echo  2  //HC-SR04 Echo pin//超声波测距模块的“回声”引脚接 D2
#define Trig  3  //HC-SR04 Trig pin//超声波测距模块的“激发”引脚接 D3
#define SERVO 11 //Servo pin//舵机接 D11或 D3,因为要使用 timer-2
#define LED   5  //LED pin//LED接 D5


uint16_t volatile servoTime = 0;
uint16_t volatile servoHighTime = 3000; // Pulse width in units of 0.5us//高电平持续时间
 boolean volatile servoHigh = false;    

float distance;                         //distance measured by HC-SR04//超声波模块探测到的距离 

void setup(){
   
  Serial.begin(9600);
  pinMode(Trig, OUTPUT); pinMode(Echo, INPUT); pinMode(LED, OUTPUT);
  servoInit();
}
 
void loop(){
   
    //Drive Forward//前进*******************************************************************************************
    motors.setLeftSpeed(100
python基于django框架航空订票管理系统设计与实现mysql数据库(项目源码+文档说明),含有代码注释,新手也可看懂,个人手打98分项目,导师非常认可的高分项目,毕业设计、期末大作业和课程设计高分必看,下载下来,简单部署,就可以使用。该项目可以直接作为毕设、期末大作业使用,代码都在里面,系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值,项目都经过严格调试,确保可以运行! python基于django框架航空订票管理系统设计与实现mysql数据库(项目源码+文档说明)python基于django框架航空订票管理系统设计与实现mysql数据库(项目源码+文档说明)python基于django框架航空订票管理系统设计与实现mysql数据库(项目源码+文档说明)python基于django框架航空订票管理系统设计与实现mysql数据库(项目源码+文档说明)python基于django框架航空订票管理系统设计与实现mysql数据库(项目源码+文档说明)python基于django框架航空订票管理系统设计与实现mysql数据库(项目源码+文档说明)python基于django框架航空订票管理系统设计与实现mysql数据库(项目源码+文档说明)python基于django框架航空订票管理系统设计与实现mysql数据库(项目源码+文档说明)python基于django框架航空订票管理系统设计与实现mysql数据库(项目源码+文档说明)python基于django框架航空订票管理系统设计与实现mysql数据库(项目源码+文档说明)python基于django框架航空订票管理系统设计与实现mysql数据库(项目源码+文档说明)python基于django框架航空订票管理系统设计与实现mysql数据库(项目源码+文档说明)python基于django框架航空
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值