Arduino 避障智能车实验报告 (含代码)

实验目的:

  1. 掌握 Arduino 的基本编程语法和基本电路原理;
  2. 学习使用超声波测距模块实现避障功能;
  3. 学习使用电机驱动模块控制电机运动。

实验材料:

  1. Arduino UNO 主板一块;
  2. 超声波测距模块一块;
  3. 电机驱动模块一块;
  4. 直流电机两个;
  5. 面包板一块;
  6. 杜邦线若干。

实验原理:

超声波测距模块原理:

超声波测距模块是一种利用超声波进行测距的装置。超声波是一种声波,其频率超过 20kHz,人耳听不到。超声波在空气中传播的速度为 340m/s。当超声波遇到障碍物时,会发生反射,反射回来的超声波经过计算,可以得到距离。超声波测距模块通过发射超声波,并记录反射回来的超声波的时间,从而计算出距离。

电机驱动模块原理:

电机驱动模块是一种用于控制电机转动的装置。电机驱动模块可以将来自 Arduino 主板的信号转换成电机可以接受的信号,从而控制电机的转动。

实验步骤:

  1. 将超声波测距模块和电机驱动模块连接到 Arduino 主板上。具体连接方式如下:

超声波测距模块:

  • VCC —— 5V
  • GND —— GND
  • Trig —— D2
  • Echo —— D3

电机驱动模块:

  • ENA —— D5
  • IN1 —— D6
  • IN2 —— D7
  • ENB —— D9
  • IN3 —— D10
  • IN4 —— D11
  • VCC —— 5V
  • GND —— GND
  1. 将两个电机连接到电机驱动模块上。

  2. 编写程序,实现避障功能。

代码如下:

#define ENA 5 //PWM信号输出口
#define IN1 6 //电机正转信号
#define IN2 7 //电机反转信号
#define ENB 9 //PWM信号输出口
#define IN3 10 //电机正转信号
#define IN4 11 //电机反转信号
#define Trig 2 //超声波发射信号
#define Echo 3 //超声波接收信号

int Distance; //距离变量

void setup()
{
  pinMode(ENA,OUTPUT);
  pinMode(IN1,OUTPUT);
  pinMode(IN2,OUTPUT);
  pinMode(ENB,OUTPUT);
  pinMode(IN3,OUTPUT);
  pinMode(IN4,OUTPUT);
  pinMode(Trig,OUTPUT);
  pinMode(Echo,INPUT);
  Serial.begin(9600);
}

void loop()
{
  digitalWrite(Trig,LOW);
  delayMicroseconds(2);
  digitalWrite(Trig,HIGH);
  delayMicroseconds(10);
  digitalWrite(Trig,LOW);
  Distance=pulseIn(Echo,HIGH)/58; //计算距离
  Serial.print("Distance:");
  Serial.println(Distance);
  if(Distance<=20) //如果距离小于等于20cm
  {
    digitalWrite(IN1,LOW);
    digitalWrite(IN2,HIGH);
    digitalWrite(IN3,LOW);
    digitalWrite(IN4,HIGH);
  }
  else //否则
  {
    digitalWrite(IN1,HIGH);
    digitalWrite(IN2,LOW);
    digitalWrite(IN3,HIGH);
    digitalWrite(IN4,LOW);
  }
  analogWrite(ENA,150); //设置电机速度
  analogWrite(ENB,150);
}
  1. 上传代码到 Arduino 主板上,并将智能车放置在有障碍物的区域进行测试。

实验结果:

智能车可以在遇到障碍物时自动停止,并向另一个方向转动,避免碰撞。

实验结论:

本实验成功实现了基于 Arduino 的避障智能车控制。通过超声波测距模块和电机驱动模块,实现了避障功能和电机控制功能。此外,还学习了 Arduino 的基本编程语法和基本电路原理。

Arduino 避障智能车实验报告 (含代码)

原文地址: https://www.cveoy.top/t/topic/nXqR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录