机器人课程

机器人课程是对于创客教育三项基础技能应用极高的课程。为学生在以后的机器人学习和创新项目中打下基础,基本掌握一些机器人控制的相关知识。

中学阶段的机器人学习,更多的是引导学生以科学探究的方式去积极思考,以解决问题的方式,将机器人学习与有趣的场景结合,锻炼学生的动手操作及编程的能力。

      Arduino探索机器人是适用于机器人教学进阶的套件,易组装的机器人平台与多种功能的传感器的搭配,可以满足实现多种机器人项目。

      本套件已经经过了课堂实践验证,和多次的调整,具有很好的稳定性。Arduino探索机器人具有靓丽的外形,可以很好的吸引孩子的注意力,简单易实现的一体成型外部结构,内含丰富的基础的传感器,不仅可以完成电子骰子、声控风扇等任意的创意体验,也可以以小车为平台设置多种多样的游戏创意。

D1教材

《Arduino机器人设计与制作

作者:钟柏昌

河北教育出版社 出版

无线电 出品

《Arduino机器人设计与制作》教材运用ArduBlock软件,可以满足课堂20+课时。教材内容由易到难,每节课程采用科学探究的方式展开,通过让学生观察生活,发现问题,来引起对每一节课精心设计的课题的兴趣,会引导学生去参与方案的设计,引发怎么解决问题的,去获取相关的基本知识和技能,这样可以避免单纯的接触知识不能很好的理解和及时的运用,锻炼学生的逻辑思维,培养项目流程图的习惯,有条理有目的的进步,并且可以针对基础项目进行不同方面的拓展提升

课程的设计是以数字输出与模拟输出(LED)—数字输入(电子骰子)— 模拟输入(蜂鸣器)— 单电机控制(风扇)—双电机控制(小车)— STEM(科学探究)为线索组织教材内容,深入浅出,帮助大家系统的学习 Arduino 机器人的设计及制作。

”南京师范大学 钟柏昌教授 说

希望通过这本书的学习,大家能够掌握Arduino机器人的基础知识和基本技能,获得利用Arduino机器人解决实际问题的能力,从而进一步形成利用机器人分析问题、解决问题的思维方法和价值观。大胆的尝试,积极的创新,跟随本书的脚步,一起来开启奇幻的机器人创作之旅吧。

本教学案例来源于河北教育出版社出版的《Arduino机器人设计与制作》

中,第3课 会“呼吸”的灯

1.了解PWM的概念,能够识别控制板上支持PWM的针脚号;

2.理解模拟输出、模拟变量和当循环;

3.能够编写程序模拟呼吸灯效果。

呼吸灯的应用在我们的生活中越来越常见,例如手机、电脑、家用电器等电子设备上的信号灯、装饰灯等,具有提醒和装饰的作用。呼吸灯的发光效果与我们常见的日光灯有明显不同,其发光状态总是处在亮与灭的渐变过程中,由亮到灭和由灭到亮都是动态变化的,感觉好像是人在呼吸(如图3-1所示)。

LED虽然是一个很小的电子元件,但是它能够通过我们的操作来实现各种各样的发光效果。在呼吸灯的设计过程中,最重要的是如何控制LED的发光状态。由于呼吸灯不只有亮和灭两种状态,而是具有若干不同明暗度的变化,所以采用上节课中的数字输出控制LED将无法实现预期效果,此时需要采用一种新的输出方式——PWM。我们可以参考设计方案表3-1,来完成呼吸灯的制作。

3-1 呼吸灯的设计方案

作品名称

呼吸灯

作品功能

使LED产生类似于“呼吸”的发光效果

器材清单

RomeoUSB数据线、LED

运行流程

LED由灭逐渐变亮再由亮逐渐变灭,并一直循环下去

实现过程

1.LEDRomeo支持PWM的针脚连接起来

2.编写程序,控制LED的发光效果

3.上传程序,测试效果

 

(一)PWM

Arduino端口的输入电压只有0V/5V,如果我们需要3V的输出电压该怎么办呢?也许你会说在电路中加入串联电阻,当然这个方法是可行的,但是如果需要电压在1V3V5V之间不断转换呢?显然,用手工更换电阻或可变电阻的方式很不方便,此时就需要PWM来帮助我们实现这种功能了。

PWMPulse Width Modulation)又称脉冲宽度调制,简称脉宽调制。Romeo6个支持PWM的数字针脚(这些针脚标有*~标记),分别是35691011号数字针脚。

PWM的输出值范围在0-255之间,而普通数字针脚的输出值只有0(低电平)1(高电平)两个值。我们可以通过改变PWM针脚的输出值来控制LED,从而改变其发光强度。

(二)模拟输出和模拟变量

 

在程序中使用PWM时,需要在ArduBlock中调用设定针脚模拟值模块。 模块位于“引脚”,通过改变该模块中的针脚号与输出信号模拟值可以实现对PWM针脚的赋值。以图3-2为例,将针脚3的模拟值设定为110

在程序设计中,如果想实现针脚模拟值的依次递增,就需要定义一个模拟变量(例如k)。在ArduBlock模拟变量对应的是 模块,我们可以在 中调用它并且可以根据程序设计中的需要为该模块命名。此处的模拟变量如同我们所学的数学函数中的变量一样,并不是某一特定的数值,而是可以变化的。以图3-3为例,将针脚3的模拟值设定为模拟变量k

(三)当循环

在制作呼吸灯的程序中,针脚模拟值需从0递增到255,再从255递减到0,因此我们可以使用循环结构来控制针脚模拟值的变化,以使程序简单高效。

当循环是一种循环结构,它由条件语句和循环体两部分组成,若条件语句为真(即条件满足)时执行循环体内的语句;若条件语句为假(即条件不成立)时跳出循环体,结束循环;若条件语句恒为真时,循环体将会一直执行下去从而进入死循环。

ArduBlock中,当循环块位于 ,通过添加条件语句与循环体来实现相应的循环功能。以图3-4为例,若条件语句为真(即k值小于255),则执行循环体语句,每执行一次循环体就将模拟变量k的值赋给针脚3,然后将k值加1,之后进入下一次循环,再进行条件语句的判断与循环体的执行。

想一想:请同学们思考一下, 两者之间的异同?

(一)连接LEDRomeo

 

准备好器材后,将LED模块连接到RomeoPWM针脚上(注意接线颜色对应)。如图3-5所示,LED连接了RomeoPWM针脚3

3-5 LED模块与Romeo的连接

(二)编写程序

 

呼吸灯由灭变亮和由亮变灭是两个相反的过程,其中由灭变亮的程序可参考图3-6所示

3-6 呼吸灯由灭逐渐变亮的参考程序

说一说:在该程序示例中,为什么当循环的循环体内增加了 模块?若循环内没有该模块的话,对LED的发光效果有何影响?

做一做:

1完善程序,实现LED由灭逐渐变亮,再由亮逐渐变灭的发光效果。

2改变程序中k值的增加量和延迟的毫秒数,观察其与呼吸灯发光效果的关系。

(三)测试效果

单击ArduBlock中的 ,待程序上传成功后观察LED的发光效果是否符合预期,如有问题,在老师的帮助下逐一排查解决。最后,与同学分享自己的作品和经验。

做一做:通常手机上会安装一个呼吸灯作为信号灯使用,当手机中有未读取的通知时呼吸灯打开,以此来通知用户查看手机。那么当呼吸灯作为数码设备或是舞台等场景上的效果灯使用时,只使用一个LED很难达到所要的效果。因此,请同学们尝试通过对多个LED添加不同的发光效果来制作出酷炫的魔幻呼吸灯。

 

3-2 魔幻呼吸灯

作品名称

魔幻呼吸灯

作品功能

 

器材清单

 

运行流程

 

 

实现过程

 

 

 

 

中文名称 英文名称 数量
共阴数码模块   1
3路巡线传感器 3-Channel Line-tracking Sensor 1
带功放喇叭模块 Digital Speaker Module 1
火焰传感器 Analog Flame Sensor 1
声音传感器 Analog Sound Sensor 1
碰撞开关(左) Crash sensor(Left) 1
碰撞开关(右) Crash sensor(Right) 1
红外接收模块 Digital IR Receiver Module 1
车体部件 Explorer Cody Robot 1
mini遥控器21键   1
斜面出线全金属蓝色9克舵机带金属舵盘螺丝   1
红外数字避障传感器 Gravity: Analog Adjustable Infrared Distance Sensor 1
继电器模块 Gravity: Relay Module V3.1 1
数字食人鱼绿色LED发光模块 Gravity:Digital Piranha LED Module - Green 1
数字食人鱼红色LED发光模块 Gravity:Digital Piranha LED Module-Red 1
数字食人鱼黄色LED发光模块 Gravity:Digital Piranha LED Module - Yellow 1
模拟环境光线传感器 Gravity: Analog Ambient Light Sensor 1
微型振动模块 Gravity: Digital Vibration Sensor 1
数字大按钮模块(黄色) Gravity:Digital Push Button (Yellow) 1
防水温度传感器 Waterproof DS18B20 kit 1
土壤湿度传感器 Gravity: Soil Moisture Sensor ((Immersion Gold) 1
超声波传感器 URM10 Ultrasonic Sensor 1
水泵 Immersible pump & Water tube 1
风扇模块 Dual Mode Fan Module 1
4节5号电池盒   1

创客项目示例

以下均为来自于学生及老师的创客项目记录

Copyright © 2017 Zhiwei Robotics Corp. All rights reserved.