描述
开 本: 32开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302460664丛书名: 创客教育
能够与Arduino开源硬件相结合。Scratch和Arduino两者易学易用的理念,使S4A成为针对中小学生实现软件和
硬件相结合进行互动设计的*工具之一。
本书将学科知识、生活知识与案例相结合,由浅入深,通过完成一系列有趣的案例制作,使学习者掌握编
程及相关硬件的知识,激发学习兴趣。
本书适合作为中小学创客课程、程序设计课程的教材,也可作为教师教授S4A和Scratch的参考书,还可供
中小学生自学使用。
目 录
第1章 初识S4A与Arduino 1
1.1 S4A的下载与安装 1
1.2 初识S4A 2
1.3 Arduino概述 4
1.4 认识CF-Board 5
1.5 Arduino IDE开发环境的安装 8
1.6 Arduino与S4A的连接 12
1.7 S4A传感器信息的使用 17
1.8 删除和添加Arduino 角色 20
第2章 可爱的LED灯 23
2.1 点亮你的盏灯 23
2.2 S4A文件的保存与打开 25
2.3 同时控制两个LED灯 26
2.4 模拟小星星 27
2.5 用PWM值控制LED灯闪烁 30
2.6 灯塔 31
2.7 会呼吸的灯 32
2.8 LED灯火焰效果 34
2.9 猜猜看 34
2.10 泳池马拉松 35
2.11 车流量统计 38
2.12 酷炫RGB LED模块 40
第3章 按钮的应用 43
3.1 按钮开关灯 43
3.2 会魔法的猫 45
3.3 瞬间移动 47
3.4 会发声的按钮 48
3.5 按钮开关房间灯 50
3.6 延时关灯 52
3.7 按钮交替控制3个LED灯 53
3.8 按钮控制闪烁频率 54
3.9 3挡可调亮度灯 55
3.10 火灾报警 56
3.11 双控灯 57
3.12 定时炸弹 59
3.13 可变向风车 61
3.14 密码锁 62
3.15 计时码表 63
3.16 简易播放器 65
第4章 滑杆、旋钮和摇杆的
应用 67
4.1 房间调光 67
4.2 旋钮可调延时灯 69
4.3 控制角色旋转 70
4.4 调速风车 71
4.5 街舞男孩 72
4.6 打开密码箱 74
4.7 控制角色水平移动 77
4.8 控制角色垂直移动 79
4.9 控制角色沿斜线移动 80
4.10 校园小DJ 82
4.11 超级调光台 84
4.12 摇杆的应用 86
4.13 酷炫收音机 87
第5章 光敏传感器的应用 92
5.1 会报警的盒子 93
5.2 神奇的按钮 93
5.3 开心小鼓手 94
5.4 自动窗帘 95
5.5 快乐俯卧撑 97
5.6 手势识别 98
5.7 变脸 99
第6章 其他元件的应用 102
6.1 声控延时灯 102
6.2 声控开关灯 103
6.3 听话的狗狗 103
6.4 洋娃娃和小熊跳舞 105
6.5 神奇的魔法棒 107
6.6 点燃生日蜡烛 108
6.7 检测温度 110
6.8 LED灯温度示警 110
6.9 控制舵机旋转 111
6.10 指针温度计 113
第7章 手机与S4A的互动 115
7.1 HiS4A的安装 115
7.2 HiS4A的基本应用 116
第8章 S4A与S4A的互动 119
8.1 控制小猫移动 119
8.2 远程控制电风扇 120
8.3 远程监控LED灯 121
8.4 鱼儿穿越 122
参考文献 125
为什么要写这本书
很多年前,我发现孩子们对于教学教材中的程序设计内容都不感兴趣。有没有好的、适合的软件呢?国外是如何进行程序设计教学的呢?带着这些问题,我开始搜索、查阅国外的资料。2008年,我接触了Scratch软件感到无比兴奋,于是立即在网络上购买了两本英文Scratch书和一块Picoboard,从那时开始,我每天都沉浸在Scratch的世界里。
很多年以后,我又接触到了开源硬件Arduino和S4A软件。S4A是由西班牙的Citilab团队在Scratch基础上开发而成的,它依然采用图形化的命令,只是增加了针对Arduino硬件的命令和部分网络功能。S4A给孩子们提供了使用更多硬件的机会,降低了孩子们使用硬件的门槛,使他们能创造出更多富有创意的作品。
时至今日,在学校领导的大力支持下,学校创客教育已初具规模。在市、区教育局领导的关心下,学校四百多平方米的新创客空间已经建成,越来越多的孩子们参与其中。从Scratch课堂、社团教学到S4A社团的教学,使自己多了一份经验的积累。同时我也在思考,创客教育抑或STEM教育的核心是什么?自己觉得首先学校要建构合理的课程体系,其次就是体系中具体的每一门课程的建设、实施和优化,只有优秀的课程才能让孩子们享受到优质的教育。
目前国内关于S4A的书不多,在S4A推广之初,其教学更多的是面向硬件的操作。如何使用某个硬件的基本功能?如何把硬件和软件有机地结合起来?如何激发孩子们的学习兴趣?如何去创造性地运用技术?在日常教学中,我带着这些问题去思考、去实践,记录下教学的点滴心得、灵感的火花,日积月累,在校本课程的基础上终成此书。
关于本书的使用
本书可作为教师教授S4A的参考书,其中的例子由浅入深,前后具有一定的联系。很多例子与生活相联系,也具有一定的创意,能激发学习者学习的兴趣。本书也可供小学生及初中生自学使用。如果使用者具有一定的Scratch编程基础,使用起来会更加得心应手。
需要特别说明的是,本书所使用的硬件可以是市面上与Arduino兼容的硬件,不受硬件品牌限制。不同品牌的Arduino兼容硬件在使用中可能会略有不同,但并不影响本书的使用。
本书中的很多例子同样适用于Scratch教学,所以本书也可以作为Scratch教学或学习的参考书。如本书中使用一个滑杆、一个按钮及声音传感器的例子,在Scratch中利用Picoboard或其他品牌的Scratch传感器板都可以实现。使用两个按钮、两个或多个光敏电阻的例子,在Scratch中也可以实现,可以用鳄鱼夹与它们连接后利用Scratch传感器板上阻力值的变化来实现。其实只要肯动脑筋,很多例子在Scratch中都能实现。
本书在写作风格上力求轻松、活泼,使读者能带着一份愉悦的心情去阅读,去学习编程。其实编程是一件很快乐的事,你就像一个指挥官,指挥着各种程序命令,开动脑筋,让它们实现你的目标。通过编程,你也将体会到战胜困难和挑战自我带来的快乐与满足感。
由于作者的水平有限,书中难免存在不足之处,恳请广大读者不吝指正!
致谢
首先要感谢郑剑春老师和李梦军老师,感谢你们给了我参与丛书编写的机会!感谢南京市电化教育馆陈平馆长、南京市教育装备邓中材主任的鼓励与支持,感谢南京市电化教育馆张元宁、李为、汪波、马睿,以及南京教育装备的宋涛、沈卫等领导的支持与帮助。感谢南京市教研室信息技术教研员王少峰老师、江宁区电化教育中心王家文主任对本书提出的宝贵建议。感谢南京市东山小学领导的大力支持。
还要感谢东山小学的一群可爱的孩子们,有时他们的表现总令我感到惊奇。每天和他们一起成长着、快乐着,觉得自己就是世界上幸福的老师。
感谢我可爱的女儿赵若予和我一起钻研、一起进步,你永远是我前进的动力!
感谢家人给予我的支持!
编者寄语
喜欢玩Scratch吗?相信你的回答是肯定的。Scratch在麻省理工学院媒体实验室的推广下,已经成为全世界适合小朋友或编程初学者学习程序设计的软件之一。喜欢Picoboard吗?Picoboard上面有滑杆、按钮、声音传感器、光线传感器等。利用它们,我们可以编写出很多优秀的互动程序。
或许有的时候,你会觉得Picoboard的硬件功能十分有限,它的功能已经无法跟上你的想象力和创造力的步伐了。你喜欢游戏机手柄上的摇杆,可是Picoboard无法满足你的需要;你觉得圣诞树上的彩灯很酷,可是Picoboard却无法帮你实现这一梦想。有没有能与Scratch结合得更好,能让我们实现更多创意的硬件呢?
答案是:有。这就是Arduino。Arduino硬件简单易用,这恰好可以克服过去人们对硬件使用的恐惧感和挫败感。Scratch和Arduino两者易学易用的理念,更使S4A(Scratch for Arduino)成为针对中小学生实现软件和硬件相结合进行互动设计的工具之一。S4A由西班牙的Citilab团队在Scratch基础上开发而成,其目的就是为能够利用Scratch和真实的世界进行互动提供一个简易的途径。从技术上看,S4A门槛较低,趣味性强,而且S4A是基于Scratch开发而成的,除去硬件功能的命令和网络功能的命令外,其余的程序命令和Scratch一样。
目前的S4A 1.6版本具有很好的适应性,在S4A的官网上,下载名为S4AFirmware16.ino固件程序,将其写入市面上一些兼容的Arduino板上,都能和S4A软件进行连接并使用,这也是我喜欢S4A的一个重要原因。
特别要说明的是,本书中的一些例子对于硬件的品牌并没有限制,如果你使用自己在网上购得的硬件,同样可以进行学习。此外,本书中的很多例子使用Scratch的传感器板及相应的硬件在Scratch软件中也能实现,用本书去学习Scratch或许也能带给你一些启发。
编 者
2017年1月
按钮的应用
3.1 按钮开关灯
按钮是很常见的电器元件,生活中在很多电器或设施上都能见到。当按下按钮时可能打开了一盏灯或者一个电器,电影中或是触发了一个机关……。按钮有两种状态:一种是按下去,即导通;另一种是弹起,即断开。按钮作为“开关”其实也是一种传感器。
本书所用的按钮模块有3个引脚,即GND、VCC和SIG,如图3-1所示。数据线和按钮模块的连接方法同LED模块一样,但是按钮模块在与Arduino板进行连接时只能接在D2或D3端口。前面提到要把名为S4A16firmware.ino的固件程序写到Arduino板里,这个固件程序就设定了D2和D3两个端口用于连接按钮,如果想在S4A中使用其他的端口连接按钮,必须要对固件程序进行设置,具体方法可查阅相关的资料。
在S4A中利用按钮打开和关闭一个LED灯,就是实现按一下按钮LED灯就亮,再按一下按钮LED灯就灭的效果。把按钮模块接在D2端口,LED模块接在D13端口。图3-2所示的这个程序可行吗?
图3-1 本书所使用的按钮模块图3-2 参考程序
S4A互动程序设计
44
其实不需要运行程序,只需分析一下就知道这样是不行的。当按下按钮时LED灯是亮的,手一松开LED灯就灭了。希望的是这样的效果,按下按钮、手松开,按钮经历了一次按下和弹起的过程,这时LED灯亮了。再按下按钮、手松开,这时按钮又经历了一次按下和弹起的过程,LED灯灭了。为了实现令人满意的效果,可以使用图3-3所示的程序。
图3-3 Arduino1程序
程序中使用了图3-4所示的两个命令组合在一起,而且使用了两次。
图3-4 按钮的按下和弹起
个命令就是等待按钮是否已经按下,第二个命令用来等待按钮是否弹起,这两个命令组合在一起其实就是按钮经历一次按下和松开的过程,就可以检测一个按钮按下后并弹起的过程。次按下、松开按钮后就打开LED灯,第二次按下、松开按钮后让LED灯关闭。利用循环,就能实现按钮开关灯的效果。
在上面的程序中,按下按钮时LED灯是不亮的,直到松开后才会有动作,打开或关闭,这样就造成了LED灯对按钮的响应速度比较慢。可以把程序做图3-5所示的修改。
修改后的程序可以使LED灯对按钮的响应速度变快,只要按下按钮,LED灯就会立即打开或关闭。当然,如果不介意响应速度,也可以不用考虑这个问题。
第3章 按钮的应用
45
图3-5 修改后的Arduino1程序
3.2 会魔法的猫
会魔法的猫有什么魔法呢?当按一次按钮,小猫会变大;再按一次按钮小猫又变回到原来的大小,如此循环变化,如图3-6所示。试一试,在舞台上添加熟悉的Scratch小猫角色。
图3-6 改变角色的大小
受到上一个例子的启发,相信这个创意的实现不是一件难事!把按钮模块连接在D2端口,程序如图3-7所示。
Arduino1程序使用hide board命令将Arduino监视器隐藏起来,同时使用“隐藏”命令将Arduino的默认角色也隐藏起来,让它在舞台后默默地工作。按一下按钮,发出广播“变大”,再按一次按钮,再发送一个广播“还原”。小猫收到广播“变大”后将大小设定为200,因为角色的默认大小都是100,所以收到广播“还原”时将小猫的大小设
定为100。
接下来,要让总在幕后默默奉献的Arduino1角色从幕后走到台前。会不会影响小猫的魔法表演呢?不用担心。
图3-7 小猫改变大小程序
在Arduino1角色中导入小猫的造型,如图3-8所示,将原来的Arduino默认造型删除。现在,这只小猫可不是一只普通角色的小猫了,而是Arduino角色。这样就可以让Arduino1角色化身小猫,走上舞台表演魔法了。还有一个好处就是不需要使用广播命令了,直接使用硬件命令即可。程序如图3-9所示。
图3-8 在Arduino默认角色中添加小猫造型图3-9 控制小猫大小的Arduino1程序
3.3 瞬 间 移 动
“凌波微步”是武林奇学,可惜已经失传很久了。其基本功法就是在瞬间就能移动到另一个位置,所用的时间几乎可以忽略不计。舞台上有一只猫和一只狗,如图3-10所示,如何让它们实现“凌波微步”呢?这里指的是每按一下按钮,猫和狗就以迅雷不及掩耳之势互换一次位置。
图3-10 添加猫和狗的角色
实现“凌波微步”,要使用移动命令。在这个例子中不使用移动命令能实现吗?当然能,不过得玩点小技巧。在Arduino1角色中依次导入小猫的造型和狗的造型,并将原有的默认Arduino造型删除。再添加狗的角色,在狗的造型中再添加猫的造型,听起来有点复杂。如图3-11所示,对于理解会有所帮助。
图3-11 在猫、狗角色中分别添加相应的造型
一定要注意Arduino1角色和狗的角色分别添加造型时的顺序。Arduino1角色的造型1是猫,造型2是狗。而角色狗的造型1是狗,造型2是猫。二者造型正好相反。
评论
还没有评论。