资源简介 目录目录 2第一单元 小车动起来 3第一课 小车开动起来 3第二单元 小车亮起来 12第四课 前照灯的安装 15第五课 警灯的安装 18第三单元 小车响起来 20第六课 小车有声音 20第七课 小车声音受控制 23第一单元 小车动起来第一课 小车开动起来【课程目标】用scratch为小车编写第一个程序:当按下电脑键盘的“上移”键时,小车向前开动,当松开“上移”键时,小车停住。【实验准备】1.scratch蓝牙小车2.电脑上成功安装了“s2a淄博定制蓝牙版”程序3.电脑与小车蓝牙配对成功。【原理分析】我们用Arduino uno的PWM模式控制电机。通过改变两个数字IO针脚和两个PWM针脚的PWM对直流电动机控制端口实现。如表2-1-1是PWM控制模式的针脚分配,图2-1-2是对应的蓝牙小车实物连接图。针脚 功能4 电机1的方向控制5 电机1的PWM控制6 电机2的PWM控制7 电机2的方向控制表2-1-1 PWM针脚分配【脚本编写】1.初始化端口,引脚4、5控制电机M1;引脚6、7控制电机M2。2.设置小车的初始静止状态:重复执行如图2-1-3脚本,引脚4、5、6、7的值设置为0,即让两个电机的两段电压都设为低电平,电机不动,小车为静止状态。3.设置小车的运动状态:引脚4、5控制电机M1,设置引脚4、5的电压分别为高电平和低电平,M1开始工作,同理设置引脚6、7为不同的电平,M2开始工作。小车运动的条件是“上移”键按下。4. 消除抖动,如果只执行上述脚本,调试时会发现小车的车轮一会儿转一会儿停,这是因为程序在不停的判断是否按下了“上移”键。因此,我们还应该加入脚本,即在“上移”键松开前,程序一直等待着,也就是“一直运动着“。【答疑解惑】按下“上移键“后,小车开动,但是为什么走的不是直线?1.小车“走不直”原因分析在目前的智能小车中,差分驱动仍然是主流驱动方式。差分驱动是指左、右两个轮子分别用左、右两个电机驱动,通过分别改变两个电机的转速来控制小车前进或者后退。在这里,左右两个电机的特性肯定不会完全相同,这就将直接导致即使设置的转速一样,两个轮子的实际转速也是不相同的,所以本来应该走直线的小车行驶轨迹会发生偏移,也就产生了所谓的“走不直”的现象。影响小车“走不直”的原因还有很多,比如:道路上的障碍物、轮子瞬间打滑、小车左右重量不一致等等。而且这些因素是无法消除的,我们只有使用其他方法来解决这个问题。简单的做法:根据小车走直线时,实际路线的偏差,对小车左右电机数值进行微调。2.开环与闭环在了解开环与闭环之前,在地面上画出一条直线,尝试先闭着眼睛再睁开眼睛沿着直线走一遍。我们会发现,睁开眼睛走直线比闭着眼睛走直线要简单得多。事实上,没有安装任何传感器的小车就相当于眼睛闭着的我们,显而易见,这样走直线是很困难的。在这里,小车只通过电机控制转速,而不添加任何传感器行走的方式称之为“开环控制”。相对的,闭环控制是指小车通过各种传感器感应外界信息,根据这些信息调整自己的运动。我们在下面的课程学习中,会增加多种传感器,继续了解奥秘所在。第二课 小车转弯与倒车【课程目标】通过控制键盘“左移键“、”右移键“、”下移键“,实现小车的”左转“、”右转“和”倒车“。【实验准备】同上一课。【原理分析】我们的小车是有2个电机和2个轮子的(这里不考虑主要起支撑作用的万向轮)。对于采用这种驱动方式的小车来说,它运动时会有以下几种情况出现:(1)小车前进(上节课已经学习过)(2)小车后退(将电机反接,或者程序设置反向电压即可)(3)小车转弯左右轮子转动速度不同时,小车就会转弯。左右两个轮子转动的速度之差决定小车转弯半径大小。如果左右两个轮子转动的速率相同,方向正好相反,小车会原地转动。【脚本编写】1.新建模块。这节课要实现小车的左转、右转、倒车三个方向的运动,如果继续像上节课一样设计程序的话,程序会显得繁琐且易读性差,因此,我们可以为四个方向的运动各设计四个程序块,前、后、左、右四个方向分别对应的程序块为:go、back、left、right。2.为go模块添加脚本。3.克隆go模块脚本,依次修改为另外三个方向的脚本。4.编写主程序。【答疑解惑】为什么要将5、6脚设为PWM输出?为什么左转弯、右转弯时要将其中一个引脚设为255?设为其他的数值比如256、1000……可以吗?现今多数系统皆采用数字控制的方式,由核心微处理器接收回传的感测信息,并针对与目标的差值再调整输出。而数字信号只有0与1两种变化,怎么调整控制车辆的转速呢?我们知道速度可不能只用0和1来表示啊!这时我们可以将数字信号转化成模拟信号,这就是我们为什么要设置5、6脚为PWM的原因了。脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中,它可以将数字信号转化为模拟信号。仔细观察图 2-2-6 Arduino uno控制器,我们会发现它的数字口上有6个针脚支持PWM信号,即3、5、6、9、10和11。PWM的输出值为0~255,电机模块接到这几个针脚上面,就可以控制马达的转速,不会只有单纯的转与不转两种选择。第二单元 小车亮起来第三课 转向灯的安装【课程目标】给小车安装好转向灯,实现车辆转弯过程中点亮转向灯。【准备器材】黄色led灯两只固定塑料片3.双面胶【原理分析】使用Arduino控制板上的12、13数字引脚的输出信号来分别表示左转弯和右转弯时转向灯的控制信号,实现转向时对应一侧的转向灯点亮。【线路连接】【脚本编写】此脚本是在小车动起来的脚本之上添加转向时亮灯修改而成的,小车动起来的脚本请参考第二单元内容初始化端口,在第二单元基础上添加,设置引脚12为左转向灯输出,引脚13为右转向灯输出设置不转向时转向灯为熄灭状态3.设置左转时左灯亮4.同理设置右转时的状态【答疑解惑】LED(Light Emitting Diode),发光二极管,是一种能够将电能转化为可见光的固态的半导体器件,它可以直接把电转化为光。LED的心脏是一个半导体的晶片,晶片的一端附在一个支架上,一端是负极,另一端连接电源的正极,使整个晶片被环氧树脂封装起来。半导体晶片由两部分组成,一部分是P型半导体,在它里面空穴占主导地位,另一端是N型半导体,在这边主要是电子。但这两种半导体连接起来的时候,它们之间就形成一个P-N结。当电流通过导线作用于这个晶片的时候,电子就会被推向P区,在P区里电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED灯发光的原理。而光的波长也就是光的颜色,是由形成P-N结的材料决定的。上个世纪60年代,科技工作者利用半导体PN结发光的原理,研制成了LED发光二极管。当时研制的LED,所用的材料是GaASP,其发光颜色为红色。经过近30年的发展,大家十分熟悉的LED,已能发出红、橙、黄、绿、蓝等多种色光。第四课 前照灯的安装【课程目标】给小车安装头灯,按L键时灯亮,按C键灯熄灭。【准备器材】白色LED灯两只固定塑料片双面胶【线路连接】【原理分析】使用arduino线路版上的11数字端口作为头灯的输出信号端口,通过按键控制端口的高低电平输出实现头灯的开关。【脚本编写】此脚本是在小车动起来的脚本之上修改而成的,小车动起来的脚本请参考第二单元内容端口初始化,在第二单元基础上添加设置11脚为头灯输出在主程序中添加按下L键时开灯的分支,并发送“open light”广播同理添加当按下C键时关灯的分支,并广播 “close light”完成“open light”和“close light”两个广播中的内容第五课 警灯的安装【课程目标】给小车安装警灯,按A键时警灯灯亮,按S键灯熄灭【准备器材】1、红蓝LED灯各两只2、塑料固定片3、双面胶【线路连接】【原理分析】使用arduino线路板的D9、D10端口作为警灯的控制端口,D9控制红灯,D10控制蓝灯,按下a键时红蓝灯交替闪烁,按下s键时警灯停止闪烁。【脚本编写】此脚本是在小车动起来的脚本之上修改而成的,小车动起来的脚本请参考第二单元内容1、端口初始化,在第二单元基础上设置9脚为红灯输出,设置10脚为蓝灯输出2、在主程序中添加按下a键时打开警灯的分支,并广播“alarm”警灯闪烁与关闭的脚本如下第三单元 小车响起来第六课 小车有声音【课程目标】1.用杜邦线在小车上链接一个有源蜂鸣器;2.用scratch为小车编写第一个程序,让蜂鸣器响起来;【实验准备】1.scratch蓝牙小车2.用杜邦线将有源蜂鸣器链接到小车上3.电脑蓝牙与小车蓝牙配对并连接4.设置并启动“s2a”和“Scratch2.0”程序【原理分析】有源蜂鸣器工作的理想信号是直流电。因为蜂鸣器内部有一简单的振荡电路,能将恒定的直流电转化成一定频率的脉冲信号,从面实出磁场交变,带动钼片振动发音。我们用杜邦线把Arduino 板子的12号、GND与有源蜂鸣器的正极、负极连接起来,通过改变12号数字IO针脚,来控制蜂鸣器的发声。图4-1-1是对应的蓝牙小车实物连接图。针脚 功能12 有源蜂鸣器正极GND 有源蜂鸣器负极表4-1-1针脚分配【脚本编写】1.初始化端口:引脚12为输出,用于控制有源蜂鸣器,如图4-1-2所示。2.设置小车的发出声音:将引脚12的值设置为1,即让有源蜂鸣器发出声音。3.最终实现的脚本如图4-1-4所示。图4-1-4【答疑解惑】发出的声音为什么只有一种呢?因为有源蜂鸣器内部的震荡器就可以产生固定频率的信号,只需要在其供电端加上额定直流电压,其驱动蜂鸣器发出声音。因此,有源蜂鸣器只发出这一种声音。第七课 小车声音受控制【课程目标】用scratch为小车编程,使用键盘上的按键控制有源蜂鸣器发出声音;【实验准备】1.scratch蓝牙小车2.用杜邦线将有源蜂鸣器链接到小车上3.电脑蓝牙与小车蓝牙配对并连接4.设置并启动“s2a”和“Scratch2.0”程序【原理分析】我们用杜邦线把Arduino 板子的12号、GND与有源蜂鸣器的正极、负极连接起来,通过改变12号数字IO针脚,来控制蜂鸣器的发声。针脚 功能12 有源蜂鸣器正极GND 有源蜂鸣器负极表4-1-1针脚分配【脚本编写】1.初始化端口:引脚12为输出,用于控制有源蜂鸣器。2.设置小车的发出声音:将引脚12的值设置为1,即让有源蜂鸣器发出声音3.设置小车的停止发出声音:将引脚12的值设置为0,即让有源蜂鸣器停止发出声音。4.使用键盘上的“s”键来控制小车的发声,当按下“s”键时,小车发出声音,没有按下“s”键时,小车停止发出声音5.最终实现的脚本如图4-2-5所示。图4-2-5【答疑解惑】为什么要用重复循环呢?因为我们使用了一个“如果……那么……否则……”的判断,来判断“s”键是否被按下,由于这个判断只判断一次程序就结束了,为了使程序不停的运行下去,需要不停的进行判断,因此加了一个重复循环。 展开更多...... 收起↑ 资源列表 word10.mp4 蓝牙小车课程.docx