ITPub博客

首页 > 数据库 > 数据库开发技术 > 基于Arduino的避障小车

基于Arduino的避障小车

原创 数据库开发技术 作者:逍遥子 时间:2024-06-14 11:04:48 0 删除 编辑

基于Arduino的避障小车,实现超声波和红外避障。代码分享如下:

代码

#include "qxmbot1.h"

volatile long g_frontDistance;
volatile long g_leftDistance;
volatile long g_rightDistance;

QXMBOT_SR04  g_QXMBOT_SR04Ult1(A4, A5);

QXMBOT1_motor  g_QXMBOT1_CarControl(2, 3, 4, 7, 5, 6);

QXMBOT_cloudServo G_QXMBOT_cloudServo1(9, OUTPUT);

QXMBOT1_avoidSensor  g_QXMBOT1_avoidSensor1(12, 13);

// 红外避障
void IR_Avoid() {
  // 当测距距离大于20cm就前进,否则后退
  if ((LOW == g_QXMBOT1_avoidSensor1.getAvoidStatus_L())) {
    g_QXMBOT1_CarControl.QXMBOT1_arCarRight(150, 150);

  } else if ((LOW == g_QXMBOT1_avoidSensor1.getAvoidStatus_R())) {
    g_QXMBOT1_CarControl.QXMBOT1_arCarLeft(150, 150);
  } else {
    g_QXMBOT1_CarControl.QXMBOT1_arCarForward(150, 150);

  }
}

void setup()
{
  g_frontDistance = 0;
  g_leftDistance = 0;
  g_rightDistance = 0;
  G_QXMBOT_cloudServo1.cloudServoContrl(90,100);
}

void loop()
{
  if (g_QXMBOT_SR04Ult1.QXMBOT_getDistance() < 30) {
    g_QXMBOT1_CarControl.QXMBOT1_arCarStops(150, 150);
    G_QXMBOT_cloudServo1.cloudServoContrl(180,800);
    g_leftDistance = g_QXMBOT_SR04Ult1.QXMBOT_DistanceAvg();
    G_QXMBOT_cloudServo1.cloudServoContrl(0,800);
    g_rightDistance = g_QXMBOT_SR04Ult1.QXMBOT_DistanceAvg();
    G_QXMBOT_cloudServo1.cloudServoContrl(90,800);
    g_frontDistance = g_QXMBOT_SR04Ult1.QXMBOT_DistanceAvg();
    if (g_frontDistance < 30) {
      if (g_leftDistance > g_rightDistance) {
        g_QXMBOT1_CarControl.QXMBOT1_arCarLeftTurn(255, 255);
        delay(100);

      } else if (g_leftDistance < g_rightDistance) {
        g_QXMBOT1_CarControl.QXMBOT1_arCarRightTurn(255, 255);
        delay(100);
      }

    } else {
      g_QXMBOT1_CarControl.QXMBOT1_arCarForward(150, 150);

    }

  } else {
    for (int i = 1; i <= 3600; i = i + (1)) {
      IR_Avoid();
    }

  }

  // 舵机回正

}

这里用到了qxmbot1.h文件,点击阅读原文可以下载。

视频效果

更多精彩文章 欢迎关注我们

原文作者:Kali笔记;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2021-01-22

  • 博文量
    760
  • 访问量
    443465