Arduino创意机器人教材.doc

上传人:牧羊曲112 文档编号:4219427 上传时间:2023-04-10 格式:DOC 页数:101 大小:13.04MB
返回 下载 相关 举报
Arduino创意机器人教材.doc_第1页
第1页 / 共101页
Arduino创意机器人教材.doc_第2页
第2页 / 共101页
Arduino创意机器人教材.doc_第3页
第3页 / 共101页
Arduino创意机器人教材.doc_第4页
第4页 / 共101页
Arduino创意机器人教材.doc_第5页
第5页 / 共101页
点击查看更多>>
资源描述

《Arduino创意机器人教材.doc》由会员分享,可在线阅读,更多相关《Arduino创意机器人教材.doc(101页珍藏版)》请在三一办公上搜索。

1、浙江省普通高中兴趣特长类选修课程电子教材Arduino创意机器人温州中学 编著浙江省教育厅推荐 浙江教育资源网发布作者声明1、 本电子教材著作权归作者所有,未经作者授权,任何组织或个人不得以任何形式对本电子教材进行出版、发行。2、 本电子教材由作者授权在浙江教育资源网发布,其他组织和个人不得进行转载、发布。3、 本电子教材供浙江省普通高中选用,全省普通高中学校可以通过浙江教育资源网实名下载本电子教材的电子版及相关教育资源,允许并仅供在本校范围内用于选修课教学。4、 本电子教材存在的疏漏、错误之处敬请批评指正,欢迎相关专家老师与作者联系,共同参与本电子教材的研究和完善工作。编写说明主 编:谢作如

2、参与编写:张禄 张丽芳 刘正云前 言机器人教育融机械、传感与控制等为一体,让学生在手脑并用解决实际问题的过程中,有效地提高逻辑思维能力、判断能力、动手能力和创新能力,是实施素质教育的一个重要平台,十分有利于培养强国需要的高素质人才。为推广机器人教育,中国教育技术协会专业委员会启动了“机器人进课堂”项目。该项目将在全国部分省市以地方课程或校本课程的形式开展机器人教育实验,从试点开始逐步积累经验,扩大影响,直至形成遍及全国的成熟的机器人教育课程。温州中学有幸成为“机器人进课堂”项目的首批实验学校,于2011年开始实施基于Arduino的机器人课程。本电子教材配合“Arduino创意机器人”课程进行

3、使用,由浙江省温州中学谢作如老师主编,南师大教育科学学院研究生张禄、张丽芳和刘正云三位同学一起参与编写。作为面向中小学的Arduino的选修课程,“Arduino创意机器人”设计了大量需要学生动手实践的任务或者实验,引导学生在玩中学、做中学。本电子教材共设计了22课,其中4节课为选学内容。我们期望教师采用两节课连上的方式,以9个专题18课时的形式展开教学。当然,也可以采用单节课的形式,其中教材中的1课刚好为1课时,根据学生的学习情况,适当调整课时。如果有条件,建议增加几个综合创意的活动课,让课时增加到36。具体教材的课时安排请参考我们提供教学设计、教学课件、教学微视频等资源。为方便更多的学校开

4、展教学,也方便学生们根据网络视频、教材自学,我们特意为“Arduino创意机器人”教材设计了学习套件,采用了Arduino中国代理商DFRobot公司的各种模块,必选模块的价格为600左右。你也可以根据器材清单,通过淘宝网的其他店铺购买。根据研究进程,我们将推出其他品牌的Arduino学习套件。本电子教材的讨论地址:Arduino创意机器人学习套件购买地址: 教材目录绪论 认识机器人6第一章 智能LED10第1课 走进Arduino的世界11第2课 闪烁LED21第3课 按钮控制的LED26第4课 聪明的按钮29第5课 呼吸灯32第6课 光控LED36第7课 LED综合创意41第二章 智能风扇

5、45第1课 声控风扇46第2课 换挡风扇51第3课 自动变速风扇55第4课 遥控风扇58第5课 摇头风扇61第6课 自动跟踪风扇65第7课 风扇综合创意69第三章 智能小车72第1课 走直线小车73第2课 跳8字舞的小车77第3课 避障小车82第4课 防跌落小车86第5课 巡线小车一90第6课 巡线小车二95第7课 小车综合创意98附录:Arduino机器人教学套件102绪论 认识机器人科技每时每刻都在悄然改变着我们的生活,机器人这个以前看似遥不可及的事物已经慢慢融入了我们的日常生活中。什么是机器人?什么是智能机器人?怎么学习机器人技术?在绪论部分,我们将了解机器人,理解机器人的几大主要组成部

6、分以及它们的功能。【任务导航】认识机器人的几大主要组成部分及其功能。了解机器人技术的发展。【材料阅读】1什么是机器人?机器人(Robot)这个词最早出现在上世纪初捷克科幻作家的一部叫做罗索姆的万能机器人的小说中,在原文里本来是写作“Robota”的,后来慢慢演变成了大家都接受的“Robot”一词。不过,大家可别被机器人这个名字所误导,认为机器人就一定长得和我们人类有几分相似。实际上,机器人的外表千奇百怪,很多和我们人类的外表没有半点相似性可言。那么机器人是如何定义的呢?科学家们说,“机器人是一种自动化的机器,能够依靠自身的动力和控制能力实现某种任务,这种机器具备一些与人或生物相似的智能能力,如

7、感知能力、规划能力、动作能力和协同能力等”。按照这个定义,我们日常生活中每天都接触到的很多机械设备,如:自动售货机、全自动洗衣机、自动取款机、甚至是红外感应的自动冲水马桶都能算是机器人了。看!机器人离我们的生活并不远,对吧?而智能机器人比起一般的机器人来又进了一步。如果一个机器人能够利用传感器感知外部世界,然后依靠自身的智能对外界环境的变化做出反应,那么这种机器人就可以被叫做智能机器人了。2机器人的三大组成部分根据机器人所需要完成的任务不同,它们的设计也是千差万别,光从外貌很难看出规律。不过,如果我们仔细地对它们做个总结就会发现,大多数的机器人无外乎包括下面的几个部分,而且这几大部件都和人类或

8、动物的身体器官能够一一对应呢!机器人的大脑主控制器和我们人类的大脑一样,机器人的大脑主控制器,是机器人最核心的部件。我们为机器人编写的各种控制程序和人工智能程序都要运行在主控制器中。由机器人的传感器得到的众多的外界环境信息在这里得到汇总,然后控制器中的人工智能程序就会对这些信息进行处理,再随之给各种驱动器、执行器发出控制命令。机器人就是以这种方式去执行各种各样实际的任务了。那么主控制器具体是什么东西呢?实际上,它就是一种计算机而已。这里的计算机是一个相当宽泛的概念,它们可不仅仅是指我们家里每天用的个人电脑。除了个人电脑外,还有其它形形色色的各种计算机,小到只有同学们指甲盖大小的单片机(MCU)

9、,大到要装满几个大房间的超级计算机。而这些计算机中最广泛被用作机器人控制器的还是要数单片机了。同学们可以想一想,如果我们要制造一台全自动洗衣机前面说过了全自动洗衣机也是一种机器人那么用上一台个人电脑去做控制器,是不是就有些“杀鸡用牛刀”了呢?这种时候,单片机就可以大展拳脚了。单片机是典型的“麻雀虽小,五脏俱全”。一片小小的单片机中就包括了中央处理器、存储器、定时器、数字输入/输出接口、模拟输入/输出接口等。本书中所使用的机器人的主控制器就是以一个单片机为核心的,它的计算能力说出来可能会吓同学们一跳,小小的一片单片机一秒钟能做上千万次的运算呢!机器人的眼睛、耳朵和触角传感器如果机器人只能按照我们

10、编好的程序指令有一是一,有二是二地行动,会不会就显得太“笨”了呢?科学家们早就想办法让机器人具备了更高的智能,让它们能够根据环境的变化做出反应。比如说,现在已经有服务机器人可以根据主人家里的温度变化调节空调、暖气,让人类主人一直处于舒适的环境中。再比如说,在国外的一些博物馆中已经有导游机器人为人们服务了,它们能不知疲倦地带领你进行参观并且进行讲解。但是在博物馆中,人来人往,导游机器人怎么能够防止自己撞上其他游客呢?这些能力就要靠“传感器”来实现了。传感器就像是我们人类的眼睛、鼻子、耳朵或是动物的触角、声纳。它们可以将环境中的声、光、电、磁、温度、湿度等物理量转化为机器人的大脑控制器可以处理的电

11、信号。控制器通过读取这些电信号就可以很快知道周围发生了什么,然后其中的智能程序就可以根据周围环境的变化,做出实时的响应了。机器人的手、足驱动器和执行器前面所举的机器人的例子,如智能抽水马桶、全自动洗衣机等,都是没有移动能力的机器人。但是想想看,会跑的机器人也许能更好地帮助人类,我们可不想家里的智能管家机器人只能呆在一个房间中,对吧?因此,人们制造了一大类可以自由运动的机器人,它们被称作移动机器人。而帮助它们移动的机械和电子设备就叫做驱动器。同样,机器人的驱动器也是五花八门。大多数机器人就像我们日常生活中常见的各种车辆一样,是用轮子或者履带运动的。也有机器人应用仿生学原理,像人或动物一样用两足、

12、四足或六足的方式运动。还有的机器人可以螺旋桨产生的推力翱翔在天空,可以像蛟龙一样自由地潜入水下。看,有了驱动器的帮助,是不是机器人变得上山下海,无所不能了呢? 机器人的结构中用来实际完成特定任务的装置就被叫做执行器,比如自动售货机中,把货物取出交给顾客的装置就是执行器。还有一些机器人的执行器更加复杂,也看起来更像是人类的手臂。现代工厂中的焊接机器人、喷漆机器人、码垛机器人就都有一只灵活、强壮的手。也许在工厂中做某些技术活儿时,机器人还是不如有经验的人类师傅。但是在做那些高强度、重复性的劳动时,机器人就会全面胜出了,它们可以不知疲倦地工作,又快又好地完成任务。现在最先进的机器人已经可以进行复杂的

13、外科手术了。这些是不是很神奇呢?【动手操作】活动主题:寻找生活中的机器人。同学们的生活中能见到各种各样机器人的身影,让我们睁大发现的眼睛,去寻找生活中的各种机器人,并且用这节课我们教给大家的思路分析它们的几大组成部分吧,把你的结果填写在下面的表格中。表1 寻找生活中的机器人机器人名称功能控制器传感器驱动器执行器例子:智能冲水马桶感知到有人使用后自动冲水小单片机红外热释电传感器无电动冲水装置【探究思考】不管是终结者还是I,Robot,AI和机器人试图取代人类,都是一种极为普遍的想法。或许这代表了人类对未来科技的恐慌,但并未阻止技术的进步。虽然人类往往拥有不可预知的创造性,但机器人在很多方面都具备

14、先天优势。所以,有人说人类将逐步失业,机器人正偷走人类的工作。请思考一下,哪些工作将逐步被机器人替代?人类该做出哪些对策?【视野拓展】1机器人是如何帮助人类的?机器人可以代替人类完成重复性、高强度的体力劳动。在现代化工厂中,大部分枯燥的体力劳动都可以用不知疲倦的工业机器人代替工人师傅们完成了,工人师傅们在电脑屏幕后就可以完成原来又脏又累的工作了。机器人进行重复性工作时的精确度也是人类无法比拟的,因此产品的质量会更有保障。机器人还可以代替人类在危险或者难以生存的条件下工作。不久的将来,大家就会发现,一旦发生自然灾害后,救灾机器人会冲在第一线,挽救灾区人民的生命和财产。现在已经有发达国家在军队中装

15、备了机器人,这种机器人可以负重几百公斤在各种地貌环境中前进。从月球、火星到海底、火山,凡是科学家们需要探索的地方都少不了机器人的身影。美国发射的几代火星探索机器人已经正在火星上进行科考工作了。机器人还可以与人类和谐相处。现代社会中生活节奏变得越来越快,在物质丰富的同时也产生了各种社会问题。越来越多的“空巢老人”和行动不便的病人需要人来照顾,面对这些问题,科学技术能如何帮助我们呢?科学家们设计出了各种服务机器人,来满足我们的要求。“请递给我一杯水”“把房间温度调高一些”“帮我接通社区医院的电话”,以后主人们只要像这样说出自己的命令,服务机器人就会及时满足他们的要求了。除了帮做家务,当主人感到孤独

16、时,机器人宠物还可以陪伴主人,给主人精神慰藉。根据最新的报道,法国科学家研制的Nao机器人,已经被用于治愈自闭症儿童,并且产生了惊人的效果。很多患有和人们交流障碍的儿童,通过和Nao机器人的相处改变了自己,也改变了未来。 2什么是单片机?单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片

17、机,发展到现在的300M的高速单片机。一些功能比较简单的机器人,都是用单片机作为控制器的。2怎么学习机器人技术?机器人技术并非高不可攀的新技术,但是其涉及运动学和动力学、系统结构、传感技术、控制技术等多领域的交叉学科,制作机器人的过程,就是整合科学、技术、数学领域的知识,以工程标准化的思想进行综合实践的过程。学习机器人的过程,大致可以分为模仿、改造、创新三个部分,循序渐进,螺旋上升。如果有能力,建议通过淘宝自行购买相关的学习套件,将自己的创意实现出来。【挑战自我】你最想设计的机器人是怎么样的?请大胆想象,并且对照机器人的三大结构,分别写出机器人各个的功能。第一章 智能LED第1课 走进Ardu

18、ino的世界 对喜好机器人与机器人技术的人而言,除了希望了解机器人的定义及其构成之外,更有兴趣的是参与机器人的设计与创新,那么我们到底通过什么来制作机器人呢?大家有没有接触过Arduino?通过这节课的学习,我们将带大家进入到Arduino的神奇世界中来。 【任务导航】 1.认识Arduino,了解Arduino控制板的种类; 2.掌握Arduino驱动的安装; 3.体验Arduino编程界面。【材料阅读】 1.什么是Arduino Arduino是一个基于开放源码的软硬件平台,构建于开放源码simple I/O界面版,并具有使用类似Java、C语言的IDE集成开发环境和图形化编程环境。由于源

19、码开放和价格低廉,Arduino目前广泛地应用于欧美等国家和地区的电子设计以及互动艺术设计领域,得到了Make magazine(中文版名称为爱上制作)等出版物和Instructable等网站的认可和推荐。Arduino被称为“科技艺术”,作为一种新的“玩具”,甚至新的艺术载体,吸引了各个领域的人们加入到Arduino的神奇世界里来。2. Arduino板子种类 Arduino先后发布了十多个型号的板子,有可以缝在衣服上的LiLiPad ,也有为Andriod设计的Mega,也有最基础的型号UNO,还有最新的Leonardo,如图1.1.11.1.4所示。 图1.1.1 LiLyPad 图1.

20、1.2 MEGA图1.1.3 UNO 图1.1.4 LeonardoArduino UNO是USB系列的最新版本,不同于以前的各种Arduino控制器,它不再使用FIDI的USB到串口驱动芯片,而是把Atmega8U2编程为一个USB到串口转换器,目前Arduino UNO已成为Arduino主推的产品。 3.Arduino Romeo V1本书使用的Arduino控制器是由DFRobot出品的Arduino Romeo V1,如图1.1.5所示。该控制器采用的是最基础且应用最广泛的UNO板卡。它继承了Arduino 328控制器所有的特性而且集成了电机驱动、键盘、IO扩展板、无线数据串行通讯

21、等接口。它不仅可以兼容几乎所有Arduino系列的传感器和扩展板,而且可以直接驱动12个舵机。除此之外,它还提供了更多人性化设计,采用了3P彩色排针,能够对应传感器连接线,防止插错。其中红色对应电源,黑色对应GND,蓝色对应模拟口,绿色对应数字口。(1) 处理器:ATmega328;(2) 输出电源:5V(2A)/3.3V;(3) 数字IO脚:(其中,3、5、6、9、10和11路作为PWM输出),数字口的值为0或1;(4) 模拟输入值:A0-A7,模拟口的值为0-1023之间的任意值;(5) EEPROM:1KB;(6) IIC:3个(其中有两个是90度针脚接头);(7) 测试按钮:5个(S0

22、-S4);(8) 复位按钮:1个(RST);(9) 工作时钟:16MHZ。图1.1.5 Remeo Arduino Romeo V1的功能和连接说明如图1.1.6所示。图1.1.6 UNO的功能和连接说明 4.Arduino IDE 安装得益于Arduino的开源,我们可以访问Arduino的官方网站(www.Arduino.cc),下载Arduino IDE软件,该软件用来编写程序并上传程序到控制器上,下载网址为http:/arduino.cc/en/Main/Software。这里要提醒大家的是下载版本要与计算机的操作系统相匹配。该软件下载之后,无需安装,解压后即可使用,如图1.1.7所示

23、。图1.1.7 解压后的Arduino IDE文件列表Arduino IDE的环境不仅有文本式的编程环境(图1.1.8所示),还有图形化积木式的编程环境ArduBlock(图1.1.9所示),本书采用的编程环境是后者。图1.1.8 Arduino IDE开发环境图1.1.9 ArduBlock开发环境 5.Arduino 驱动的安装Arduino控制器和计算机的连接一般采用USB连接线。计算机第一次连接上Arduino控制器,需要安装驱动,以后再将Arduino控制器连到电脑上之后,就不需要再装驱动了。驱动程序在Arduino IDE安装目录的Drivers文件夹中。下面以Windows 7操

24、作系统为例,介绍驱动安装过程,如图1.1.101.1.15所示。图1.1.10 打开“设备管理器”,找到Arduino UNO设备 图1.1.11 选择“浏览计算机以查找驱动程序软件”图1.1.12 选择驱动程序Drivers所在的文件夹图1.1.13 如果系统出现安全提示,选择“安装”图1.1.14 安装完毕 驱动程序安装之后,在“设备管理器”的端口一项中将增加一个COM口设备,请记下该端口号,如图1.1.15所示,Arduino与计算机通信端口号为COM4。图1.1.15 通过设备管理器查看Arduino的COM口最后要在Arduino开发环境中设置相应的串口号以及Arduino板的型号,

25、注意Arduino板卡的型号为Arduino UNO,串口要设置要与设备管理器中显示的Arduino的COM口一致(比如我们这里的COM4)。6.体验Arduino驱动安装完之后,就可以开始Arduino之旅了。接下来我们用Arduino IDE开发环境中LED闪烁的示例来体验一下Arduino吧。在Arduino UNO板的13号针脚上已经带了一个LED灯,如图1.1.16所示。点击文件示例 BasicBlink,这时会弹出一个已经加载到程序编辑区的IDE环境,点击 ,将程序上传到Arduino控制器中,程序上传完之后会有上传成功的提示,大家会看到LED灯在不停的闪烁。13号针脚的LED指示

26、灯图1.1.16 数字针脚13指示灯【动手操作】活动主题一:Arduino 驱动的安装在装完Arduino驱动之后,要打开设备管理器,查看自己的Arduino UNO的端口,并在打开Arduino IDE之后修改端口号使其保持一致,除此之外还要选择板卡为Arduino UNO。活动主题二:上传Blink示例程序,观察现象【探究思考】请同学们上网或者查阅相关的资料,了解一下通过Arduino平台可以制作哪些有生活意义、有趣的智能人造物。【视野拓展】 Arduino的历史Arduino这个经典的开源项目,诞生于意大利的一间设计学校。Arduino的核心开发团队成员包括:Massimo Banzi,

27、David Cuartielles,Tom Igoe,Gianluca Martino,David Mellis和Nicholas Zambetti。据说,Massimo Banzi的学生们经常抱怨找不到便宜好用的微控制器,2005年冬天,Massimo Banzi跟朋友David Cuartielles讨论了这个问题,David Cuartielles是一个西班牙籍晶片工程师,当时在这所学校做访问学者。两人决定设计自己的电路板,并引入了Banzi的学生David Mellis为电路板设计编程语言。两天以后,David Mellis就写出了程式码。又过了三天,电路板就完工了。这块电路板被命名为

28、Arduino。几乎任何人,即使不懂电脑编程,也能用Arduino做出很酷的东西,比如对感测器作出回应,闪烁灯光,还能控制马达。随后Banzi,Cuartielles,和Mellis把设计图放到了网上。保持设计的开放源码理念,因为版权法可以监管开源软件,却很难用在硬件上,他们决定采用Creative Commons许可。Creative Commons(CC)是为保护开放版权行为而出现的类似GPL的一种许可。在Creative Commons许可下,任何人都被允许生产电路板的复制品,还能重新设计,甚至销售原设计的复制品。你不需要付版税,甚至不用取得Arduino团队的许可。然而,如果你重新发布

29、了引用设计,你必须说明原始Arduino团队的贡献。如果你调整或改动了电路板,你的最新设计必须使用相同或类似的 Creative Commons许可,以保证新版本的Arduino电路板也会一样的自由和开放。唯一被保留的只有Arduino这个名字,它被注册成了商标。如果有人想用这个名字卖电路板,那他们可能必须付一点商标费用给Arduino的核心开发团队成员。你可以参考Arduino 的官方网站,在那里你会找到各种创意作品的源码,当然也有很多机器人应用实例代码,例如直流电机PWM 调速、舵机控制、超声波测距、红外传感器寻迹等,相信它能使你早日实现DIY 机器人的梦想。【挑战自我】同学们已经大概了解

30、了Arduino,请大胆想象,使用Arduino可以制作哪些机器人作品?第2课 闪烁LED灯是我们日常生活中最常见的电器之一,已经成为我们日常生活中必不可少的电器,我们可以通过开关或者声音控制灯的亮灭,那么我们能否用Arduino来实现呢?如何实现?这节课我们来用Arduino点亮一盏灯。【任务导航】1. 熟悉ArduBlock;2. 搭建电路;3. 制作一个闪烁的LED。【材料阅读】 1.ArduBlock ArduBlock(图1.2.1所示)是一款为Arduino设计的图形化编程软件,是Arduino官方编程环境的第三方软件,目前必须依附于Arduino IDE软件运行。ArduBloc

31、k是使用图形化积木搭建的方式编程的,这样的方式加强了编程的可视化和交互性,降低了编程门槛,即使没有编程经验的人也可以尝试给Arduino控制器编写程序。除此之外我们还可以对程序进行批注。 图 1.2.1 ArduBlock编程环境程序中的各个模块都是从左侧的模块库里“拖进”编程界面的,然后用这些模块积木进行拼接,拼接对了,会发出一声“咔”的清脆响声。如果要删去模块,直接把不需要的模块“拖出”编程界面即可。当我们编写好一个程序,点击编程环境上方的“上载到Arduino”按钮,会发现Arduino文本式的编程环境上的“上传”图标也开始工作了,而且在Arduino文本式的编程环境里还生成了文本式的代

32、码。程序上传成功之后,文本式的文本环境下面会提示我们上传成功。 2.Arduino与LED模块的连接LED(Light Emitting Diode,发光二极管)是一种能够将电能转化为可见光的固态半导体器件,如图1.2.2所示。它可以直接把电能转化为光,具有体积小、耗电量低、高亮度低热量、使用寿命长的特点,是Arduino机器人作品中实现光效功能的最佳选择。LED发光模块具有红、绿、蓝等多种颜色,并且只能显示一种颜色,如图1.2.3所示。一般来说,LED接到Arduino上,需要串联限流电阻。 图 1.2.2发光二极管 图 1.2.3 LED发光模块本书使用的LED发光模块是由DFRobot出

33、品的数字食人鱼LED发光模块,如图1.2.3所示。该发光模块利用SMT将LED二极管焊在可爱的PCB板上,然后引出3P接口,我们通过3P线将LED发光模块插到Arduino的数字口上即可。不管是LED发光模块还是连接到Arduino控制器的其他传感器,一般有三条连接线,分别为输入电压(标注为“+”或“5V”或“VCC”等)、输出信号(标注为“D”或“S”等)以及地线(标注为“-”或“GND”等),这三条线分别和Arduino控制器的数字口或者模拟口连接。这三条线分别连接电压、数字口或者模拟口、地。以LED发光模块与Arduino的连接为例,连接图如图1.2.4所示。 图1.2.4 控制器与LE

34、D发光模块的接连接好线之后要记住接的针脚号,如图接的是数字针脚3。这里要提醒大家的是在接线的时候,黑色的线接黑色的针脚,即GND,红色的线接红色针脚,即VCC,绿色的线接信号针脚,即D。除此之外,数字针脚0和1用于计算机和Arduino之间的通信,其中数字针脚0用于接收信号,数字针脚1用于发送信号,所以在接线的时候数字针脚0和1不要接。 3.制作闪烁的LED数字针脚的值为1或0,即高电平或低电平,我们使用的这款LED发光模块,高电平可以点亮LED,而低电平则熄灭LED。其中【延迟】模块的功能是上一个模块执行的持续时间,例如延迟1000毫秒,指的是上一个模块会持续执行1000毫秒。【动手操作】

35、主题一:制作闪烁的LED 在了解了Arduino的相关知识,也熟悉了ArduBlock编程环境之后,我们自己动手制作闪烁的LED吧。 器材:Arduino板子、LED、USB数据线。1.硬件搭建 同学们在连接LED发光模块与Arduino控制器时,要注意黑线一般接GND,红线接5V,第三根线接数字针脚,同时要记住自己接的针脚号。在这里提醒大家数字针脚0和1不要接。2. 参考程序 图 1.2.5 闪烁LED程序3. 程序下载,观察现象在下载程序之前,要提醒同学们是查看自己的板卡和端口号是否正确,ArduBlock编程环境里面的数字针脚号是否与LED发光模块接到Arduino控制器上的数字针脚号一

36、致。 主题二:模拟交通灯 红灯亮A秒之后灭掉,绿灯亮B秒之后灭掉,黄灯亮C秒之后灭掉,以此类推。 器材:Arduino板子、三个LED、USB数据线。1.硬件搭建 将三个LED发光模块分别接在Arduino控制器的数字口。 2.参考程序 图 1.2.6模拟交通灯【探究思考】 大家已经学会了制作闪烁的LED,想想日常生活中哪些地方用到了LED?这些LED有何功能?有什么效果?【视野拓展】全彩的LED我们前面使用的LED发光模块,尽管有红、绿、蓝等多种颜色,但是只能显示一种颜色。其实,还有一种类型的LED,它可以显示多种颜色,这类LED称为全彩LED。全彩LED内置了红(Red)、绿(Green)

37、和蓝(Blue)三种颜色的灯珠,通过控制不同颜色灯珠的亮度,根据三原色的原理调出多种颜色。常见的LED大屏幕都是利用这用原理进行调色,呈现出全彩的效果。8*8 LED RGB Matrix是由DFRobot出品的一个XY轴可任意级联的三色全彩LED显示矩阵模块,如图1.2.6所示。它可以用于显示图片和文字,支持多图层和各图层的各种平移效果。图 1.2.7 8*8 LED RGB Matrix【挑战自我】 大家已经学会了制作闪烁的LED,想想还能做哪些效果的LED?流水灯的效果能否实现? 第3课 按钮控制的LED在上节课我们已经学会了制作闪烁的LED,即用程序来控制LED的变化,而控制的实现只能

38、靠不同时间的间隔来表现一些特殊的闪烁方式,这好像有些呆板了,而且实际应用大都是利用外部信号来控制的,如日常生活中我们的灯一般是通过开关来控制的,我们也先用简单的按钮来控制LED吧。【任务导航】1. 认识按钮,正确连接电路;2. 制作“按钮按下亮,放开灭”的LED;3.制作“按钮按下亮,延时一段时间,自动灭”的LED。【材料阅读】 1.按钮按钮,也称为按键,是一种常用的控制电器元件,常用来接通或断开“控制电路”(其中电流很小),从而达到控制电动机或其他电气设备运行目的的一种开关。我们使用的按钮如图1.3.1所示,也叫做按压式的开关数字输入模块,能够实现非常有趣的互动作品,该按钮模块使用大按钮加优

39、质按键帽,使用方便可以做到“即插即用”。按钮有两种状态,即按下或者放开。我们使用的这款按钮按下是1(HIGH),放开是0(LOW),注意不同厂家生产的按钮可能不同。按钮模块与LED模块一样,也是接Arduino控制器的数字口,通常黑线接GND,红线接5V,绿线接数字针脚。图1.3.1 按钮 2.选择结构-【如果】当我们需要判断某些结果来决定是否要执行不同的程序时,选择性结构是一个很方便的结构,判断结果决定是否执行内部的程序。选择性语句的判断有【如果】和【如果否则】。在程序当中,若有以上几种结构,便会依据不同的条件选择,执行不同的程序片段,以达成不同的目的。这节课我们主要来学习【如果】模块。选择

40、结构【如果】的基本形式:图1.3.2 选择结构【如果】其语义是:如果条件满足即值为真,则执行模块里面语句,否则不执行该语句。其过程可表示为图1.3.3。其中判断条件既可以是关系运算也可以是逻辑运算。图1.3.3 选择结构3. 数字口的输出 (1)功能:读取指定数字针脚的输入值。(2)参数:需要读取输入值的针脚号。 (3)实例:含义是读取数字针脚3的值。【动手操作】主题一:制作“按钮按下亮,放开灭”的LED1.硬件搭建连接电路时,按钮模块与LED模块一样,都要接到数字口。器材:Arduino 控制器、LED模块、按钮模块以及USB数据线。2.参考程序图1.3.4 按钮按下亮,放开灭的LED主题二

41、:制作“按钮按下亮,延时一段时间,自动关闭”的LED1.生活实例(1)走廊里的灯,亮了之后过一会自动关闭了。(2)中国地质大学学生发明了投币式台灯,当硬币投入台灯下的储蓄罐中时,台灯便可开始照明,半小时后,灯自动熄灭。2.参考程序 图1.3.5 按钮按下亮,延时一段时间,自动关闭的LED【探究思考】除了以上按钮控制LED亮灭的效果,还可以用按钮控制LED实现哪些效果?【视野拓展】波段开关一般的开关如前面介绍的按钮只有两种状态即按下或者放开,如果说需要输出多个状态的话,我们还需要再接几个按钮到Arduino控制器上面,而波段开关它有多种状态。以DFRobot出品的波段开关为例,如图1.3.6所示

42、,该模块波段开关是一种通过旋转来调整信号输出的开关。它只需要一个模拟口就能读取12个状态,大大节省了其他数字端口。而且这款波段开关具备12个档位,每个档位边上都有LED显示,产生炫酷的灯光效果,我们可以实时了解档位的状态,非常方便。图1.3.6 波段开关【挑战自我】 请同学们尝试实现按钮按下LED亮,再按下LED灭。第4课 聪明的按钮 一般来说,家里面的灯都是通过开关来控制的,即按下开,再按下关,那么能否用Arduino实现呢这节课我们一起来学习用按钮开关实现按下开,再按下关的LED效果。【任务导航】 1.掌握布尔类型和变量; 2.制作“按钮按下开,再按下关”的LED。【材料阅读】1. 变量和

43、常量在编程过程中变量和常量是基本的数据对象。编写程序总是要与各种数据打交道,如马达的速度、等待的时间等,这就需要涉及到变量和常量了。常量指的是程序在运行过程中,其值不能改变的数据,如图1.4.1所示。其中常量分为数字常量、字符常量、字符串常量等。图1.4.1 ArduBlock环境中的常量变量是指在程序中用来代表数据的字符,这些字符的值是可以变化的,其中变量有多种类型,如数字变量、模拟变量、字符串变量、字符变量等等。ArduBlock环境中的部分变量如下图1.4.2所示。图1.4.2 变量2.布尔类型布尔类型(bool)用于表示真/假。该类型的变量值只能是0或者1。无论赋予任何非零值给该类型的

44、变量,它的值都只会是1。表4-1 布尔类型灯亮1真TRUE高电平高电位按下按钮HIGH灯灭0假FALSE低电平低电位放开按钮LOW 3.非运算符运算符是告诉编译程序执行特定算术或逻辑操作的符号。运算符主要分为三大类:算术运算符、 关系运算符与逻辑运算符、按位运算符。我们这节课主要来学习逻辑运算符里面的非运算。非运算是单目符号运算的一种,所谓单目运算符就是只有需要一个操作数的运算符。非运算的符号是“!”,其意思就是取与表达式相反的值,若表达式值为真,则逻辑非运算结果为假。例如,如果数字针脚的值为0,非0就是1即真;相反如果数字针脚的值为1,非1就是0即假。 3.按钮抖动 通常的按键所用开关为机械

45、弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,为了不产生这种现象而作的措施就是按键消抖。而最简单的消抖方法就是加入延时。【动手操作】主题:制作“按钮按下开,再按下关”的LED。 1.硬件搭建电路的连接跟我们上节课的一样,这里还是要特别强调一下我们的按钮模块接数字口,并且黑线接GND,红线接5V,第三根线接信号针脚。在接好电路之后,要记住自己接的是哪个数字口。器材:Arduino Romeo控制器、按钮、LED发光模块以及数据线。2.参考程序一图1.4.3 按钮按下开,再按下关的LED参考程序二提示:参考程序二加了延时。【探究思考】1. 请同学们下载程序,仔细观察LED的稳定性如何?解释为什么出现这种现象?如何来解决?2. 思考一个按钮控制LED,还有哪些情况?【视野拓展】1. 按钮抖动现象 通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,为了不产生这种现象而作的措施就是按键消抖,如图1.4.4所示。 抖动时间

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号