机器人课程结课总结报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程结课总结报告
课程名称:机器人的制作
实验一基于arduino控制器的轮式机器人循迹避障功能设计
实验二应变式传感器电子秤实验
实验三基于C51单片机控制器的轮式机器人电机控制系统
实验四基于ARM控制器的博创平台轮式机器人循迹避障功能实现实验五摄像头实现轮式机器人循迹功能的应用
实验六应用卓越联盟实验室设备进行设计和实现作品说明
指导教师许晓飞
系别机电工程学院
专业机械电子工程
学生姓名邓银涛
班级/学号机电1401/2014010339
成绩
实验一基于ardunio控制器的轮式机器人循迹避障功能设计
实验目的
1.了解ardunio平台,并熟练使用此软件完成小车的各种活动
2.了解HC-SR04超声波测距模块的原理,并且熟练使用此模块作为小车的传感器进行工作
3.了解并且熟悉红外线传感器循迹原理
实验器材:
Adrunio软件,超声波传感器,红外线传感器,导线,底板,电机,电池,单片机等
实验内容:
1.将硬件组装成小车,即轮式机器人
2.利用ardunio使小车完成循迹功能
步骤:(1)写好后缀为.txt的c语言循迹文件
(2)将文件导入单片机中
(3)根据具体路况,运行并且进行调试红外线传感器的灵敏程度
3.利用ardunio使小车完成避障功能
步骤:(1)写好后缀为.txt的c语言避障文件
(2)将文件导入单片机中
(3)运行并且进行调试小车躲避障碍物的距离
实验程序
1.循迹程序:
小车循迹程序思路图
#include
int Left_motor_back=8; //左电机后退(IN1)
int Left_motor_go=9; //左电机前进(IN2)
int Right_motor_go=10; // 右电机前进(IN3)
int Right_motor_back=11; // 右电机后退(IN4)
int key=7;//定义按键数字7 接口
const int SensorRight = 3; //右循迹红外传感器(P3.2 OUT1)
const int SensorLeft = 4; //左循迹红外传感器(P3.3 OUT2)
int SL; //左循迹红外传感器状态
int SR; //右循迹红外传感器状态
void setup()
{
//初始化电机驱动IO为输出方式
pinMode(Left_motor_go,OUTPUT); // PIN 8 (PWM)
pinMode(Left_motor_back,OUTPUT); // PIN 9 (PWM)
pinMode(Right_motor_go,OUTPUT);// PIN 10 (PWM)
pinMode(Right_motor_back,OUTPUT);// PIN 11 (PWM)
pinMode(key,INPUT);//定义按键接口为输入接口
pinMode(SensorRight, INPUT); //定义右循迹红外传感器为输入
pinMode(SensorLeft, INPUT); //定义左循迹红外传感器为输入
}
void run(int time) // 前进
void run()
{
digitalWrite(Right_motor_go,HIGH); // 右电机前进digitalWrite(Right_motor_back,LOW);
analogWrite(Right_motor_go,255);//PWM比例0~255调速analogWrite(Right_motor_back,0);
digitalWrite(Left_motor_go,HIGH); // 左电机前进digitalWrite(Left_motor_back,LOW);
analogWrite(Left_motor_go,255);//PWM比例0~255调速analogWrite(Left_motor_back,0);
//delay(time * 50); //执行时间,可以调整
} //void left(int time) //左转(左轮不动,右轮前进)
void left()
{
digitalWrite(Right_motor_go,HIGH); // 右电机前进digitalWrite(Right_motor_back,LOW);
analogWrite(Right_motor_go,200);
analogWrite(Right_motor_back,0);//PWM比例0~255调速digitalWrite(Left_motor_go,LOW); //左轮后退digitalWrite(Left_motor_back,LOW);
analogWrite(Left_motor_go,0);
analogWrite(Left_motor_back,100);//PWM比例0~255调速//delay(time * 50); //执行时间,可以调整
}
void right(int time) //右转(右轮不动,左轮前进)
void right()
{
digitalWrite(Right_motor_go,LOW); //右电机后退digitalWrite(Right_motor_back,LOW);
analogWrite(Right_motor_go,0);
analogWrite(Right_motor_back,100);//PWM比例0~255调速digitalWrite
}
2.避障程序:
char L1 = 9 ; // zheng
char L2 = 8 ;
char R1 = 10 ; // zheng
char R2 = 11 ;
int echopin = 13 ;
int trigpin = 12 ;
void setup ( ) //初始化动作的区块,定义串行端口和脚位{ pinMode ( echopin , INPUT ) ; // pwm
pinMode ( trigpin , OUTPUT ) ;
}