首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Arduino Uno +伺服电机(SG-90) +超声波传感器(HC-S04)检测到障碍物

Arduino Uno是一款开源的微控制器板,它基于ATmega328P芯片,具有丰富的输入输出接口,适用于各种物联网和嵌入式系统开发。伺服电机(SG-90)是一种小型直流电机,具有高精度和稳定性,常用于机器人、航模和自动化设备中。超声波传感器(HC-S04)是一种测距传感器,通过发射超声波并接收其反射信号来测量与目标物体的距离。

当Arduino Uno连接伺服电机和超声波传感器时,可以实现障碍物检测功能。具体实现步骤如下:

  1. 连接硬件:将伺服电机的信号线连接到Arduino Uno的数字引脚,并连接电源和地线。将超声波传感器的Trig引脚连接到Arduino Uno的数字引脚,Echo引脚连接到另一个数字引脚,并连接电源和地线。
  2. 编写代码:使用Arduino开发环境编写代码,通过控制伺服电机和读取超声波传感器的数据来实现障碍物检测。代码示例:
代码语言:cpp
复制
#include <Servo.h>

Servo servo;
int trigPin = 2;
int echoPin = 3;

void setup() {
  servo.attach(9);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  Serial.begin(9600);
}

void loop() {
  long duration, distance;
  
  // 发射超声波
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  
  // 读取超声波传感器的反射信号
  duration = pulseIn(echoPin, HIGH);
  
  // 计算距离
  distance = duration * 0.034 / 2;
  
  // 控制伺服电机
  if (distance < 10) {
    servo.write(90);  // 转动到中间位置
  } else {
    servo.write(0);  // 转动到初始位置
  }
  
  // 输出距离
  Serial.print("Distance: ");
  Serial.print(distance);
  Serial.println(" cm");
  
  delay(500);
}
  1. 上传代码:将编写好的代码上传到Arduino Uno板上。

这个项目的应用场景可以是智能避障小车。通过超声波传感器检测到障碍物的距离,当距离小于10厘米时,伺服电机会将车轮转动到中间位置,使小车停下来避免碰撞;当距离大于10厘米时,伺服电机将车轮转动到初始位置,使小车继续前进。

腾讯云相关产品中,可以使用物联网开发平台(IoT Hub)来实现与Arduino Uno的连接和数据传输。通过IoT Hub,可以将Arduino Uno采集到的障碍物距离数据上传到云端进行存储和分析。具体产品介绍和链接地址请参考腾讯云官方文档:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 树莓派综合项目2:智能小车(五)红外避障

    阅读本篇文章前建议先参考前期文章: 树莓派基础实验34:L298N模块驱动直流电机实验,学习了单个电机的简单驱动。 树莓派综合项目2:智能小车(一)四轮驱动,实现了代码输入对四个电机的简单控制。 树莓派综合项目2:智能小车(二)tkinter图形界面控制,实现了本地图形界面控制小车的前进后退、转向和原地转圈。 树莓派综合项目2:智能小车(三)无线电遥控,实现了无线电遥控设备控制小车的前进后退、转向和原地转圈。 树莓派综合项目2:智能小车(四)超声波避障,实现了超声波传感器实时感知小车前方障碍物的距离,当距离近于某个阈值时,小车自动减速,再低于某个阈值时自动刹车,然后倒车至安全距离。

    01

    树莓派综合项目2:智能小车(六)黑线循迹

    阅读本篇文章前建议先参考前期文章: 树莓派基础实验34:L298N模块驱动直流电机实验,学习了单个电机的简单驱动。 树莓派综合项目2:智能小车(一)四轮驱动,实现了代码输入对四个电机的简单控制。 树莓派综合项目2:智能小车(二)tkinter图形界面控制,实现了本地图形界面控制小车的前进后退、转向和原地转圈。 树莓派综合项目2:智能小车(三)无线电遥控,实现了无线电遥控设备控制小车的前进后退、转向和原地转圈。 树莓派综合项目2:智能小车(四)超声波避障,实现了超声波传感器实时感知小车前方障碍物的距离。 树莓派综合项目2:智能小车(五)红外避障,实现了红外光电传感器探测前方是否存在障碍物。   本实验中将使用HJ-IR1红外循迹模块。循迹模块的红外发射二极管不断发射红外线,放射出的红外线被物体反射后,被红外接收器接收,并输出信号给树莓派处理,再对电机驱动模块进行控制,实现通过对黑线和小车位置的判断,控制小车沿黑线行进。   这样的循迹小车又称为简单的循迹机器人,比如餐厅的机器人服务员、农场的投食机器人、瓜果采摘机器人等等。

    03

    毕业设计 – 题目:基于stm32的智能扫地机器人设计与实现

    随着人口老龄化的到来和人民对提升生活品质的需要, 人们对在现实生活场景中取代人力的服务机器人有着迫切的需要。 同时, 机电、 自动控制、 计算机、 传感器等技术的发展也为制造服务机器人提供了技术支持。 扫地机器人是服务机器人中技术最成熟和最为广泛使用的机器人。 它可以自动的在室内行走, 通过刷扫和吸尘将地面上的碎屑吸收进垃圾收集装置中, 完成清洁地面的任务,有效的减少了人们清洁地面这种简单重复的家务劳动, 节约了劳动力, 提高了生活品质。 对于许多忙于工作和生的人来说,扫地机器人已经成为家庭必备的产品。

    04

    智能小车设计规划_智能循迹避障小车设计

    该课题主要基于单片机的循迹、避障、WiFi、蓝牙等功能的智能小车,在一些特殊环境下有着特殊的意义。硬件控制以arduino为控制核心。采用超声波避障和红外避障传感器共同完成寻迹、避障功能,并将相关信号传送给单片机,经单片机控制系统分析判断后控制驱动芯片驱动直流电机实现小车前进、后退、左转、右转,停止。软件采用移植性较好的c语言编写,通过手机蓝牙App实现对智能小车的控制。通过TCP/UD协议以及WiFi无线操作系统完成远距离通过终端控制,并将所扫描的信息路线传输给服务器,终端图形界面通过Qt设计实现。通过多次测试使小车能无线遥控、避障、循迹功能。

    04

    基于51单片机智能小车的设计与实现转弯避障_基于单片机的智能小车设计

    学习智能小车系统,有助于提高搭建系统的能力和对自动控制技术的理解。智能小车是一个较为完整的智能化系统,而智能化的研究已成为我国追赶世界科技水平的重要任务。智能小车有它特有的特点:成本低,涉及的知识面广,易于拓展[1]。整个智能小车系统作为一个完整的系统,从它的原理图的实现到实物的完成的过程,不仅需要深厚的电子方面的知识,还有对电路实现的良好掌握,对于培养学生的实践能力都有重要的意义。智能小车的竞赛在我国各大高校中都受到了重视,吸引了大批的高校学生的兴趣,而且取得了很多优异的成果,为我国推进智能化的进程做出了巨大的贡献,也为智能汽车的发展提供了理论依据[2-3]。只有当把理论和模型应用到实践中,这样的创新才用意义,我们国家这几年在智能化方面的进步越来越快,也推动了我国在国际社会上在智能化方面的话语权。智能小车是智能化的一部分,它的系统里的避障、循迹、红外遥控的技术用到了智能化,将智能化应用到传统技术上是21世纪发展的趋势。我国虽然从改革开放以来大力发展科技创新,但是在智能化的创新水平与国外较发达的国家相比还有巨大的差距,智能竞赛在高校越来越流行,也证明了我国教育在这方面很快会赶上世界上的发展水平。本次设计是以单片机为CPU,通过编程和一些外围电路的设计来实现红外遥控,避障,循迹等功能。最重要的是把模型上的研究应用到实际生活中,智能车辆便做到了这一点[4-6]。在实际应用中比如在倒车的过程中实现的红外警报系统是以智能小车为模型而研发出来的。对于电子知识的热爱与钻研有利于研发更多智能车辆,使我们的生活更加便利、智能化。

    011

    【参赛经验分享】智能导盲杖设计

    摘 要:中国的盲人数量占全球盲人数量比重很大,盲人在日常交通和生活活动中都受到很大限制,盲人对于出行有很大的困扰。本篇论文利用超声波测距原理解决盲人出行问题。本文首先介绍了国内外定位的发展现状和发展趋势,其次对硬件进行选型和硬件外围电路设计,对硬件电路部分的各个模块做了详细设计说明,包括单片机最小系统、电源电路、超声波测距电路、GPS模块电路、GSM模块电路、报警电路、显示电路以及语音播放电路。根据所画流程框图编写程序,再通过仿真电路图进行调试。通过实验表明,本系统能实现距离的实时测量、语音播报、紧急报警的功能。经测试本系统具有硬件结构简单、成本低、工作可靠、流程清晰、精度高、易于推广的优点。

    03
    领券