避障机械车

来自Labplus盛思维基百科
跳转至: 导航搜索
避障机械车.png

概述

本作品可实现机械车自动避障行走功能。使用时先根据制作说明将作品组装完整,然后接通电源,打开主控板开 关即可开始工作。本作品用超声波传感器作为输入装置,两路电机作为输出装置,当超声波传感器检测到前方有 障碍时,改变两路马达转速,实现转向,自动避开前方障碍,结构精细,外形优美。DIY动手组装,锻炼动手能 力,了解智能创意电子套件的使用,激发创新思维,增加学习乐趣。

使用教程


组装说明

点击下载.png
File:避障机械车装配.pdf


避障机械车 装配.png

电子模块清单

模块名称 数量
UNO板 x1
电机拓展板 x1
超声波模块 x1
舵机 x2

电子模块连接说明

模块 引脚 说明
舵机(左) D4
舵机(右) D5
超声波模块 TrigPin -> 2
EchoPin ->3

Arduino程序/图形化程序


点击下载.png
避障机械车程序包


#include <Servo.h>
Servo myservo;//创建伺服器对象
Servo myservo2;//创建伺服器对象


// 设定SR04连接的Arduino引脚
const int TrigPin = 2;
const int EchoPin = 3;
float distance;
void setup()
{ // 初始化串口通信及连接SR04的引脚
  Serial.begin(9600);
  pinMode(TrigPin, OUTPUT);
  // 要检测引脚上输入的脉冲宽度,需要先设置为输入状态
  pinMode(EchoPin, INPUT);
  Serial.println("Ultrasonic sensor:");
}
void loop()
{
  // 产生一个10us的高脉冲去触发TrigPin
  digitalWrite(TrigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(TrigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(TrigPin, LOW);
  // 检测脉冲宽度,并计算出距离
  distance = pulseIn(EchoPin, HIGH) / 58.00;
  Serial.print(distance);
  Serial.print("cm");
  Serial.println();
  delay(100);
  if (distance > 10){
    myservo.attach(4);
    myservo2.attach(5);
    myservo.write(0);
    myservo2.write(180);
  }
  else
    {
       myservo.attach(4);
    myservo2.attach(5);
    myservo.write(180);
    myservo2.write(180);
  }

}

FAQ

版本历史记录

Version Date 新增/删除/修复