机器人源程序.pdf
《机器人源程序.pdf》由会员分享,可在线阅读,更多相关《机器人源程序.pdf(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、void left(int time)/左转(左轮不动,右轮前进)/右电机前进 analogWrite(Right_motor_back,0);/PWM 比例 0255 调速/左轮不动 analogWrite(Left_motor_back,0);/PWM 比例 0255 调速 delay(time*100);/执行时间,可以调整 void spin_left(int time)/左转(左轮后退,右轮前进/右电机前进 analogWrite(Right_motor_back,0);/PWM 比例 0255 调速 digitalWrite(Left_motor_go,LOW);/左轮后退 比例
2、0255 调速 智能小车前后左右综合实验 digitalWrite(Right_motor_go,HIGH);digitalWrite(Right_motor_back,LOW);analogWrite(Right_motor_go,200);digitalWrite(Left_motor_go,LOW);digitalWrite(Left_motor_back,LOW);analogWrite(Left_motor_go,0);digitalWrite(Right_motor_go,HIGH);digitalWrite(Right_motor_back,LOW);analogWrite(Ri
3、ght_motor_go,200);digitalWrite(Left_motor_back,HIGH);analogWrite(Left_motor_go,0);analogWrite(Left_motor_back,200);/PWM delay(time*100);/执行时间,可以调整 void right(int time)/右转(右轮不动,左轮前进)(digitalWrite(Right_motor_go,LOW);/右电机不动 digitalWrite(Right_motor_back,LOW);analogWrite(Right_motor_go,0);analogWrite(R
4、ight_motor_back,0);/PWM 比例 0255 调速 digitalWrite(Left_motor_go,HIGH);/左电机前进 digitalWrite(Left_motor_back,LOW);analogWrite(Left_motor_go,200);analogWrite(Left_motor_back,0);/PWM 比例 0255 调速 delay(time*100);执行时间,可以调整 void spin_right(int time)右转(右轮后退,左轮前进)(digitalWrite(Right_motor_go,LOW);/右电机后退 digitalW
5、rite(Right_motor_back,HIGH);analogWrite(Right_motor_go,0);analogWrite(Right_motor_back,200);/PWM 比例 0255 调速 digitalWrite(Left_motor_go,HIGH);/左电机前进 digitalWrite(Left_motor_back,LOW);analogWrite(Left_motor_go,200);analogWrite(Left_motor_back,0);/PWM 比例 0255 调速 delay(time*100);执行时间,可以调整 void back(int
6、time)/后退(digitalWrite(Right_motor_go,LOW);/右轮后退 digitalWrite(Right_motor_back,HIGH);比例 0255 调速 analogWrite(Right_motor_go,0);analogWrite(Right_motor_back,150);/PWM digitalWrite(Left_motor_go,LOW);/左轮后退 digitalWrite(Left_motor_back,HIGH);analogWrite(Left_motor_go,0);analogWrite(Left_motor_back,150);/
7、PWM 比例 0255 调速 delay(time*100);执行时间,可以调整 增加了向左转和向右转,向左转主要是控制左轮不动,邮轮前进,而向右转则是右轮不动左轮前进,后退则是给两个轮子后退高电平,注意不能同时给前进和后退高电平,这样会烧坏电机,同样烧录例程时要断开 vcc,以免小车乱跑影响实验。按键启动蜂鸣报警 安装开关是为了在烧录过程中及时不断开 vcc,小车也不会乱跑,以后每次烧录都不必断开 vcc int key=7;/int beep=12;/void keysacn()(int val;val=digitalRead(key);/while(!digitalRead(key)/(
8、val=digitalRead(key);/while(digitalRead(key)/(定义按键 数字 12 接口 定义蜂鸣器数字 7 接口 读取数字 7 口电平值赋给 val 当按键没被按下时,一直循环 此句可省略,可让循环跑空 当按键被按下时 delay(10);/延时 10ms val=digitalRead(key);/读取数字 7 口电平值赋给 val const int SensorRight=3;/右循迹红外传感器(P3.2 OUT1)const int SensorLeft=4;SR=digitalRead(SensorRight);/车子底板上 L3 灭 SL=digit
9、alRead(SensorLeft);/车子底板上 L2 灭/左循迹红外传感器(P3.3 OUT2)有信号说明在白色区域,车子底板上 L3 亮;没信号说明压在黑线上,有信号说明在白色区域,车子底板上 L2 亮;没信号说明压在黑线上,if(SL=LOW&SR=LOW)run();/调用前进函数 else if(SL=HIGH&SR=LOW)/左循迹红外传感器,检测到信号,车子向右偏离轨道,向左转 left();else if(SR=HIGH&SL=LOW)/右循迹红外传感器,检测到信号,车子向左偏离轨道,向右 right();if(val=HIGH)/第二次判断按键是否被按下(digitalWr
10、ite(beep,HIGH);/蜂鸣器响 while(!digitalRead(key)/判断按键是否被松开 digitalWrite(beep,LOW);/蜂鸣器停止 )else digitalWrite(beep,LOW);/蜂鸣器停止 )I/O 口的意思即为 INPUT 接口和 OUTPUT 接口,到目前为止我们设计的小灯实验都还只是应用到 Arduino 的 I/O 口的输出功能,这个实验我们来尝试一下使用 Arduino 的 I/O 口的输入功能即为读取外接设备的 输出值,智能小车寻黑线 利用小车下端两个探头对光的不同反应来确定小车行驶路线,主要是当探测到白时小车行驶电机转动,当左侧
11、压到黑线及探测到黑时小车向左行驶,当右侧探头探测到黑时则向行驶,只需在之前的程序上加一个判定的过程,十分简单 else/都是白色,停止 brake();这里使用了与的语句,当左边高电平右边低电频时想左,当左边低电平右边高电平时向右,假设都是高电 平则停车 这里的 if else 语句也满足了小车在行驶时的各种情况.智能小车红外避障 与黑线实验类似,只是将判定写到了红外探头中,当红外探头探测到障碍时小车停止或者转向或者跟随障 碍物行驶指向哪里走到哪里。遇到障碍物后退 else/都是有障碍物,后退 back(3);这里是与其他两个程序不同的一点,遇到了障碍则后退 SR_2=digitalRead(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机器人 源程序
限制150内