版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
...................................................................................................................................................4前 更 实验准 项目1:LED灯的实 1-1:单个led灯的闪 1-2:S.O.S电 项目2:按键的输 2-1:按键控制灯的亮 项目3:火焰光的检 项目5:LCD1602显 项目6:扩展板介绍与使 :电源转 :电池电压检 :双路直流电机驱 :环境光检 :蜂鸣 :数字传感器接 项目7:红外小 项目8:蓝牙小 或者单位不得擅自摘录手册内容用于商业用途,违者将表示强烈谴责.用户可以在网上,让的人受惠,但务必请保证手册的完整性此手册旨在帮助用户更好的完成Robot-M机器YFROBOT权对该手册进行更正、修Robot-M套件的功能进行增强、改进或者其他更改,而不另行通知.YFROBOT保证套件中包含的所有配件的完整性,包括外观、数量、功能必须符合使用要求,若存在为的质量问题,将为用户提供免费更换服务.YFROBOT不对用户的任何应用承担使用过程中请务必注意以下事项底板边角锐利,安装时注意不要划到手若使用电烙铁、剥线钳类工具,请谨慎操套件含有细小部件,应避免未成年人需在成人陪同下完成安前11年的时候,我第一次接触ardino,那时我正在寻找一款适合的控制器,用来连接我的传感器,根据传感器的返回值,让我的继电器能够完成规定的动作.当时有很多的微控制89C1机.ardino.aruin余有动师.ardindinardino者用控制我的家电,这让我收获了很多乐趣ardinoaruin探测器,都能够轻易实更实验准说你是一个编程高手,这都没有关系.手册默认所有的使用者都具有一些C语言基础.aduno/得adun面: 或者你的英文足够的好,可以参考官网的前面章节的所有基础,都没有大篇幅的介绍元器件,但都有配套的实验电路图能套:“Robot-M用户/扩展资料制作开始之前,首先需要完成下面两个工安装arduino安装Robot-M平安装arduinoIDE:(目前版本为1.5,实验均在1.5版本中调试通过)Windows:点击 点击 点击(32位点击(64位)“Robot-M用户/Robot-M平台安装”Robot-M使用的硬件平台为YFROBOT自主兼容板-BlueBirdv3.0,使用的是UNO固件,驱动的安装及IDE的使用请参考“Robot-M用户 IDE介绍及驱动的安装Robot-M套件将使用YFROBOT自主的arduino兼容板 v3.0”,它使用开的UNOR3固件,主板扩展了A6及A7引脚,用户可以用来做电池电压检测,以及环境光的检测特性14I/O8组模拟输入引脚FT232RL,拥有更快且稳定的速“Bitbang”模式,可以用来扩展A6、A7DC7-15V*“Bitbang”模式,可以当作一个AVR的器,即使主BootLoader丢失,用户可以通过简单的接线重刷固件,或者给其他AVR目标/板重写固件.1:LED灯的实Diode,LED是一种能发光的半导体电子元件.它简写为LED,常见的LED1-1所示.限流电阻R可用下式计算R=(E-U)/I作电压一般为1.5~2.0V,工作电流取10~20mA,电阻通常取值220R~1K.原理图如右图所示,当在13引脚施加一个高电void{pinMode(13 //初始化数字引脚,使其为输出状态}void{pinMode(13 //初始化数字引脚,使其为输出状态}void{digitalWrite(13 //配置13引脚为高,点亮//持续1digitalWrite(13 //配置13引脚为低,熄灭//持续1秒钟}Setup()程序上电开始时执行,完成寄存器和函数初使化的工作,只执行一 函数内的程序无限循环执行,相当于 pinMode(pin,mode) adunpnode.# diaepin,aue) 数字O口输出电平定义函数,pn表示为0~13,aueIGHO.“HIGHLOW”必须为大写 延时函数,单位为ms,值 时表 ms,即1秒 延时函 单位为us,值 时表 us及1-2:S.O.S电S.O.S电码信号..S际.这种信号可用在船上或在登山遇难时使用.它是一种字符编码,使用开关模式传递字母和数字.它非常适合数字系统,因为你可以通过开关ED.在本例中S.O.S模式是三个点(短闪烁),紧接着三个横杠(长闪烁),然后再接三点voidvoid{for(intx=0;x<3;x++){, ////延时{//设置13//延时//设置13}//延时{//设置13//延时//设置13//延时通过实验发现,如果想改变灯的发光频率,通过delay(ms)延时函数对灯的亮灭进行控制,即可实现想要的闪动效果.后面制作小车的时候,可以在小车过程中加入指示灯警告,arduino是通过“digitalWrite(pin,mode)”函数实I/OHIGH表示输出高电平;LOW表示输出低电平.2:按键的输,3、4脚默认导通当按键未按下时,14断开;23断开;当按键按下时,14吸合;23吸合;实验将通过按键来控制L指示灯亮灭,如果有按键使用图2-2所示电路,无键按下时,引脚8通过10K电阻上拉到VCC,当按键按下后,引脚8即通过按键开关连接到GND,实现了由高到低的跳变过程;2-3电路不推荐使用,因为当键按下后,引IO口,这种设计是极不合理的,所以不推荐使用.intbuttonPin=8; intledPin=13; intledState=LOW;voidsetup() //13号数字口设置为输出状}voidloop() //检测按键是否{ {while(!digitalRead(buttonPin)); ledState //状态取}}}aduno的/Obuonn定义为输入模式,只需要将灯的控制端口定义为输出模式即可.读/O口的高低电平用到下#digitalRead(pin)数字IO口读输入电平函数,pin表示为0~13,读出来的值为HIGH或者LOW,即高电平1或低电平0.这是一个非常简单的按键检测程序,当有按键按下时,将灯的状态取反,取反通过edate=!edate”来完成,代码中加入了按键消抖与松手检测,这在简单的按键输入.在复杂的实时系统中,这种按键处理机制就无法行得通,尤其是在矩阵按键中,如果用dea()延时来进行消抖,将使系统的实时性大打折扣.用户可以在网上搜索“状态机按键检行.项目3:火焰光的检在一些机器人比赛中,经常会看到一些小机器人能够自己找到火源,然后利用自身的灭火装置将火熄灭.那么机器人是如何检测火源的右图是一款简单的火焰传感器应用电路,当火源慢慢靠近时,火焰0.这里加入一个状态指示灯,使用板上的13引脚,没有火焰的时候,指示灯缓慢闪烁;0E自带的窗口查看D.实验程序intsensorPin //intledPin=13; //LED输出引脚intsensorValue=0;//传感器的值voidsetup(){}voidloop()sensorValue=ogRead(sensorPin); digitalWrite(ledPin,HIGH); digitalWrite(ledPin,LOW); //延时,时间为输出的模拟}靠近的时候,AD0通过一个10KVCC,AD转换值1000(但小于1000,因为环境光中也包含红外光,如果在条件下,则接近1023,这时候灯的闪烁频率慢;当火焰靠近时,AD转换值变小,这时候灯的闪烁频率变快. 模拟IO口读函数,版本的UNO只能使用A0-A5,这里使BlueBirdv3.0可以使用A0- 串口定义波特率函数,speed表示波特率,如960038400等 判断缓冲器状态 串口输出数据项目4:利用来调节LED灯亮aduno通过软件模拟的产生一个周期恒定,占空比可自由变化的单极性信号(高电平/低电平的时间比.如图所示,当占空比为100时,负载接近满负0时,负载接近停止状态;会有5%左右的速度差),或者行驶速度太快,这时候就需要我们对较快一侧的电机速度进行调节,使小车能够沿着直线行驶了,可以通过来调节使其速度下降,但是慢了就没有办法了.控制电机将在以后的章节中介绍,本次实验将通过来调节DD15.aduno8”10K电阻到5VN灯的控制引脚接“11”,这时候不能使用数字引脚“13”来控制intbuttonPin //按键输入引intledPin= //引脚,用来控制 Value=255; voidsetup(){pinMode(ledPin //LED控制引脚设置为输}voidloop() //检测按键是否{ {while(!digitalRead(buttonPin)) //松手检测,等待按键释Value= Value-51; Value<=0) //保持熄灭状}} //用当前值来控制灯的亮}# oepn,aue) 数字O口aduno~pn3,5,6,9,10,,au~25.5:LCD1602显I2CVCC、GND、SDA、SCL4LCD1602显示的控制以及背光的亮灭.I2CLCD1602来显示最基本的“OWORLD”.qudsal_2Cadun的法解压参考资料里的“LiquidCrystal_I2C将解压后的“LiquidCrystal_I2C”文件夹到安装 例如:D:\arduino-1.5.4\libraries重启arduino 库添加完成后,程序中需要先使用“#include”包含件,如下#include实验程序#include #includeLiquidCrystal_I2CPCA8574的A0-A2=1,所以地址为0X27,16表示列,2表示2void//液晶的初使//关闭背lcd.print("o,//第一行显示“o,}//显示字符“a”的十六进制数void}下面对上面用到的函数做一些简要的说明 lcd(address,colsrows) 液晶设备初使化函数,在setup()中定义 lcd.setCursor(col 设定光标的位置,并将接下的数据从此处 将“data”数据显示到LCD屏上 将“data”数据以“BASE”制式显示到LCD屏上,“BASE” 二进OCTDECHEX#lcd.backlight() lcd 关闭背 显示光 lcd 不显示光 光标闪 lcd 光标不闪 清除LCD屏幕内容并将光标置位于左上角(起始位 lcd 打开显示器,在使用lcdnoDisy()后可以使用此函数打开液晶 lcdnoDisy() lcd.scrollDis 使屏幕上显示内容(光标及文字)向左滚动一个字 lcd.scrollDis 使屏幕上显示内容(光标及文字)向右滚动一个字 打开液晶的自动滚动功 lcd 关闭液晶的自动滚动功 设置文本从左往右(默认方向)输入,不影响已显示字 lcd 设置文本从右往左输入,不影响已显示字 lcd.createChar(num 为液晶创建一个自定义的字符,num表示0-7编号data表示字符数据制作机器人时建议关掉背光,机器人在高速行驶的状态下还可以关闭显示器.这样可.项目6:扩展板介绍Robot-M配有一块功能丰富的扩展板,如右图所示,主要功能可以分为以下几个部电源转oboM机器人自身带有6节A电池卡槽,用户可以使用普通的干电池或者可循环充电的镍氢电池为其提供电能.因为整个系统的全部电能均由这6得非常重要.如果使用普通干电池,推荐使用如南孚这样的高能量电池,可以为系统提供强15.oboMAX17734VBOOST=(R3/R4+1)*1.5(V)=(140/28+1)*1.5=9(V)驱动电机需要更高的电压与电流5-V的方法,即使T电压被拉低,因为控制系统是使用OOST降压供电的,因此.更宽的电压输入,用户可以使用3-6节普通干电池或者3-7节镍氢电池为系统供.MAX1771具有接近92%的转换效率,对于整个系统而言,能量损耗非常小扩展板有两种供电方式,第一种是电源从主板的.请确保输入电源满足以下电源电压须在7.2V-9V之这时候输入电源通过内部的保护二极管接uebdn5.J1必须设置到左侧,如右图圆圈内所示.电源的输入电压在3-9V之这时候电源通过扩展板的接线端子输入,先将99n5.J1必须设置到右侧,如右图圆圈内所示低于7Vn1至5池.2扩展板使用右图所示电路,用来对电池输入电压VBAT的实为例,当电池充满电时,VBAT的电压为7.2V,ADC6的电压有ADC65V,那么其值1023,那么3.6V电压对应的值则7373.0V的电压对应的值则为614.那么,使用下longbatteryValue=ogRead(A6);Vbat=(batteryValue/1024)*5000;这样算出的Vbat即为当前电池的电压值该功能只针对Bluebirdv3.0主板以及其他扩展出A6及A7引脚功能的arduino板使左图为Robot-M使用的直流电机,比为1:48,额定电压为3-9V.为什么使用带的电机,因为普通的直流电机原使转速非常的快,能够达到1万转/分,但负载能力却很低,能力也很弱;而加入箱后,不仅可以将速度控制在很流电机在移动平台中被广泛采用的原因*由于制造工艺的问题,直流电机之间存在速度差*比额定电额定电空载转负载转力36常态下,4个桥臂的开关保持开路状态,这时候电机两端悬空,没有电压1、231.2、142.通过上面的分析,我们只需要通过1、2、3、4号开关的打开与关闭,即可以实现下图为扩展板采用的电机驱这是一个双通道H桥驱动器,能够驱动两个直流DC马达,它由N沟道功率MOSFET组成,因此具有较低的导通内阻.STL293D、L298N相比,拥有更高的驱动效率.每个H桥能够提供持续1.5A2A的输出电流,电机电压输入范围为2.7V10.8V.*模块虽然保留了SENSEA与SENSEB两个检测接口,但正常情况下不推荐使用通过I1/IN2可以控制OOA电机,通过IN1IN2可以控制OB电机,下面电OA0或者为有不同.同为0时,电机自由停止,工作在快速衰减模式;同为1时,电机瞬间制动,工作在输入信号AIN可以使 信号来控制,从而实现对电机转速的调节 调速时也分快速衰减模式与慢速衰减模式,下图 调节时的逻辑真值表voidsetMotor(intMOTORA,intMOTORB){ //判断方向,大于0表示正{ //是高电平的占空比,这里需要取反,所以} //判断方向,小于0表示反{ //是高电平的占空//这里需要取反,这时MOTORA为负值,所以} //判断方向,大于0表示正{ //是高电平的占空比,这里需要取反,所以}{ 是高电平的占空//这里需要取反,这时MOTORB为负值,所以}}#eotor(ooA,ooB)用来设置电机速度,例如eoto127,12)表示小车向前以半速行驶,255最大表示全速;eoto127,127)则表示小车向后以半速行驶,255eoo00.这里的环境光检测是通过光敏电阻来完成的,右图是其工作电路,当有光照时,其电阻值变小;没有光照时,其电阻值变大;光敏电阻的工作电路、检测方式与火焰传感器几乎完全相同,都是通脚值.前面液晶的章节里我们提到过,就是在正常使用时,我们推荐用户关掉液晶的背光.甚至是在小车行驶的过程中,我们都可以关闭.常液晶显示时,我们可以使其自动打开液晶的背光..#include<Wire //总线#include<LiquidCrystal_I2C.h> LiquidCrystal_I2Clcd(0x27,16,2); voidsetup(){ //液晶的初使}voidloop() lcd //亮度足够时关} 此功能Bluebirdv3.0或其他附带A7模拟引脚的arduino主板使用 电平变化才能.相比而言,有源蜂鸣器使用简单,无源蜂鸣器则具有声音优美柔和的优aduno的O口能够向外提供至少20A的驱动电流,这对于驱动一只无源蜂鸣器来说显得绰绰有余,所以蜂鸣器的正极直接接到12.*ySuperMariothemesongwitharduinoand*8-ohmspeakerondigitalpinintmelody[]={330,330,330,262,330,392,196};//notedurations:4=quarternote,8=eighthnote,voidsetup(){// teoverthenotesofthefor(intthisNote=0;thisNote<7;thisNote++)//tocalculatethenoteduration,noteDuration=1000/noteDurations[thisNote];tone(12,//todistinguishthenotes,setaminimumtimebetween//thenote'sduration+30%seemstoworkintpauseBetweenNotes=noteDuration*1.30; //stopthetone}}voidloop()}G表示V表示S使用前请认真检查正负极,避免接反蓝牙接右图所示为扩展的串行接口,可以用来连接其I.V表示G表示T为Txd发送端,接其他串口设备的R为Rxd接收端,接其他串口设备的右图所示为扩展的模拟输入接口,使用液晶的45.G表示V表示A0-A5表示模拟输入oboM外过外制.实验使用了H0038红外接收头接收来自的红外信号,其行.“VCC”接电源正极用4按.对着红外接收头操作按键,信号丢失现象会严重.所以使用时请将红外接收头的朝向弯向上方,.实验程序#includeintRECV_PIN=11; //红外线OUTPUT端接在pin11IRrecvirrecv(RECV_PIN); //定义IRrecv对象来接收红外线信号 //结果放在decode_results构造的对象resultsintAIN1=6;//AintAIN2=5;//DIRAintBIN1=10; intBIN2=9; void //初使{irrecv.enableIRIn();// }voidsetMotor(intMOTORA,int //电机控制函{{}{}{}{}}voidloop()if //case // //case //setMotor(-100,- //case //setMotor(- //case //setMotor(100,- //case0xFFA857: }}}安卓来小车.配对连接后,就可以通过界面上的方向键来控制小车的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024【餐馆劳务合同范本】转让餐馆合同范本
- 2024年度技术转让合同:人工智能算法与应用
- 2024个人山林土地承包合同
- 临时工雇佣协议书模板
- 艺人专属签约协议
- 2024录音合同范本
- 政府采购空调合同管理
- 礼品寄售网站协议
- 饮料采购协议模板
- 2024工矿产品购销合同书模板
- 《赤壁赋》《登泰山记》群文教学课件-统编版高中语文必修上册
- 园长课程领导力课件
- 部编版八年级语文上册全册习题精编课件含答案
- UN38.3 金属锂电池和锂离子电池组-中英文对照版
- 臀位分娩课件-
- 大学生节能减排科技竞赛作品申报书
- 单位工程竣工验收证明书(完整版)
- 小学数学北师大三年级上册数学好玩《校园中的测量》活动设计树德小学张三莉
- 大型机械租赁供应商考评表
- 初二数学秋季讲义 第8讲.分式恒等变形 教师版
- 线束检验标准(修订版)
评论
0/150
提交评论