作者:孙可 张振国
出版社:人民邮电出版社
格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT
零基础Arduino智能控制入门试读:
前言
伴随着电子技术、信息技术、快速成型技术的迅猛发展,智能手机、虚拟现实、无人汽车、智能家电、智能手表……不计其数的智能产品正改变着我们的生活。但作为智能化社会的一员,我们很少深入智能世界,去探究原理、分析原因。
本书从零起步,引导大家以设计智能化产品为载体,从软件、硬件两方面进行实验,共同体验交互玩具,制作数字仪器和智能电器,进而应用所学设计创意作品。《零基础Arduino智能控制入门》一书力求为读者搭建自主学习的实验平台,鼓励读者自行参考本书完成动手实践,掌握电子和程序设计常识,摸索适合自身特点的学习方法,感受自主研究智能控制技术的乐趣。
全书分16个章节,每个章节以制作一个智能控制作品为情景,所有的实验内容均来自笔者近8年时间的青少年智能控制教育实践积累,实验内容经过长达3年的教育实践,在不断修订与完善的过程中,实验内容、形式以及教育策略已逐步稳定。因此,本书较为适合智能控制领域的初学者,尤为适合学校内的兴趣小组、社团活动,以及校外教育机构中所开展的科技课程使用。
我们在学习、应用、实践智能化技术的过程中会遇到各种挑战,遭受各种挫折,但付出很多努力和奋斗而取得实验成功的一刹那,我们将会感受到无比自豪。孙可2016.4.6
推荐序
2010年,我在上海联合几个伙伴创立了中国第一个创客空间——新车间,到现在已经过去6个年头了,创客的概念也从几个人聚在一起玩,发展成一种社会创新动力。为响应国家“万众创新,大众创业”的号召,教育界很多老师伴随着创客运动,开始在学校里开展创客教育。2011年,新车间为了自己的需要,开发了ArduBlock这套图形化的Arduino开发环境。在这几年里,我们通过这个软件,认识了来自全球各地的很多老师,他们拿这个开源工具来启蒙小小创客。这两年,基于ArduBlock进行程序开发的书籍也渐渐多了起来,我很高兴看到北京市宣武青少年科学技术馆孙可老师《零基础Arduino智能控制入门》这本书的出版,它为更多希望学习Arduino的小小创客们提供了详尽的入门介绍,也非常荣幸看到孙老师选择了ArduBlock作为教学的开发环境,这样的支持是驱使我们持续改进这个开源软件的动力,希望这款软件能把创客的乐趣带给更多同学。李大维(中国首家创客空间——新车间创始人、创客大爆炸联合创始人)2016.5.18
00 探究神奇的面包板
实验1:制作测通器,看看什么是“通”
测通器是检测两个点是否连通的装置,指示灯点亮代表连通,反之代表断开。
制作测通器材料清单620Ω电阻面包线×2杜邦线×2发光二极管3节电池的电池盒
制作步骤
1 将发光二极管的短引脚插入杜邦线的插头中。
2 将电阻插入杜邦线的另一端插头中。
3 在电阻另一端连接另一条杜邦线,将面包线的一端插入杜邦线的插头中。
4 将电池盒的红线连接发光二极管的长引脚,将面包线插入电池盒的黑线一端。
将两条面包线触碰在一起,发光二极管点亮,思考一下,这是为什么?
实验2:探究面包板
面包板的功能:不用焊接,将元器件插入孔中就能进行电路实验。
问题:怎么才能知道哪些孔是连通的?
给面包板的正极和负极供电后,如果两个孔是连通的,连接在上面的发光二极管会被点亮。自己试验一下,然后在面包板的图片上记录哪些孔是连通的。
实验3:发光二极管大挑战
利用面包板点亮多个发光二极管,看谁点亮的最多。
01 莫尔斯码灯
1.1 项目简介
陷入深山,你有办法发出求救信号吗?今天咱们一起设计一个能发出莫尔斯码的小灯。
1.2 实验材料
1.2.1 硬件
1.单片机
单片机的全称是单片微型计算机,是一块包含计算机主要硬件功能的集成电路,相当于家用计算机的主机部分,可根据需要连接外设。人们生活中的各种产品一旦用上了单片机,就可以称得上是“智能型”的了。
单片机有不同的包装形式,术语上称之为封装,如图1-1、图1-2所示,两种单片机的功能完全相同,但外观不同。图1-1 DIP封装的单片机图1-2 LQFP封装的单片机
2.Arduino Nano控制器
Arduino Nano控制器(见图1-3),其上包含一片ATmega328P-AU单片机,此外还包含连接外设所需必须的引脚、编程接口以及复位按钮等。
Arduino Nano的左侧有一个银色的Mini USB接口(见图1-4),计算机通过这个接口与Arduino Nano相连,传输程序。图1-3 Arduino Nano控制器图1-4 Mini USB接口
3.USB线
计算机通过USB线(见图1-5)给Arduino Nano下载程序。图1-5 Mini USB线
1.2.2 软件工具
软件的使用方法请参考本书附录1:《驱动和编程软件配置说明》。
1.3 学习新知
1.3.1 认识发光二极管
单片机的数字引脚:单片机芯片有很多引脚,其中一部分是模拟引脚,一部分是数字引脚。数字引脚的电平高低可以通过程序进行设置。本实验套装中的单片机共有20个数字引脚,分别命名为0~13,14(A0)、15(A1)、16(A2)、17(A3)、18(A4)、19(A5)。
发光二极管的点亮规则:阳极(长脚)要接电源的正极,阴极(短脚)接电源的负极(见图1-6)。图1-6 发光二极管(LED)
1.3.2 了解莫尔斯码
莫尔斯码(Morse Code)是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号(见图1-7)。有两种“符号”用来表示字符——短促的点信号“·”和保持一定时间(通常是短信号的3倍)的长信号“—”,或叫“滴”(Dit)和“嗒”(Dah)。
用灯光来表示摩尔斯码则是以亮的时间来代替声音的长短,如“短亮—短灭”表示“·”,“长亮—长灭”表示“—”。一般长亮的时间是短亮的3倍左右,但具体的间隔时间没规定,只要在节奏上有明显的区别即可。图1-7 莫尔斯编码
1.3.3 单片机控制发光二极管
单片机通过数字引脚控制发光二极管。程序可以将数字引脚设置为高电平(HIGH)或低电平(LOW),从而控制发光二极管亮和灭。
发光二极管的长脚接正极,短脚接数字引脚。数字引脚为低电平,发光二极管点亮;数字引脚为高电平,发光二极管熄灭。发光二极管的长脚或短脚应连接一个电阻,限制通过发光二极管的电流大小,避免电流过大使其损坏。
1.4 动手实践
1.4.1 安装Arduino Nano
1 在面包板上安装Arduino Nano控制器:请仔细观察图上红圈标记的位置,正确安装,避免方向错误。
2 连接USB线:USB线小头连接转接板,大头连接计算机的USB接口。
1.4.2 酷炫闪灯【硬件】
电路原理图如图1-8所示,实物连接示意图连接示意如图1-9所示。图1-8 酷炫闪灯电路原理图图1-9 酷炫闪灯电路实物连接示意图
电路简要说明:发光二极管长脚接通过620Ω电阻(有蓝色色环)连接5V(电源正极),短脚连接Arduino的数字引脚D2。
注意:红色发光二极管弯曲一边是阳极。图中红色、黄色线是两条面包板插针线。【软件】
参考程序如图1-10所示。图1-10 酷炫闪灯参考程序
单击“下载到Arduino”按钮下载程序,回到白背景的文本界面可以看到下载进度。以下是图1-10所示的图形化程序写成文字的样子。 void setup() //初始化,复位后只执行一次 { pinMode(2 ,OUTPUT); //配置数字引脚2为输出模式 } void loop() //主循环,setup()执行后,loop()将会不断重复执行 { digitalWrite(2,LOW); //设置数字引脚为低电平,LED点亮 delay( 1000 ); //延时1秒(1000毫秒) digitalWrite(2 ,HIGH); //设置数字引脚为高电平,LED熄灭 delay(1000); //延时1秒 }
程序说明:设定数字引脚值可以将单片机的引脚设置为高电平或低电平,当10号数字引脚设置为高电平时,发光二极管两端均为高电平,因此熄灭;当10号数字引脚变为低电平时,发光二极管长脚高电平,短脚低电平,因此点亮。如果把发光二极管的长脚接数字引脚,短脚接地,情况就要反过来,高电平点亮,低电平熄灭。程序中延迟的数量为1000,因为单位是毫秒(千分之一秒)。
小贴士:编程时要养成及时保存程序的习惯,单击ArduBlock的“保存”按钮,可打开程序保存对话框,最好能按照程序的功能设置文件名,具体名字可自己定义,例如shandeng(拼音)、lightflash(英文)等名字都可以使用,但要记住文件的保存位置。
容易出现的问题:正常下载,文本界面应只出现白字,若失败会出现“红字”(见图1-11)。若下载失败,请参考本书附录2《常见软硬件故障说明》查明故障原因。图1-11 程序下载出错现象
思考:请想一想,如何控制发光二极管高速闪烁呢?
1.4.3 莫尔斯码灯——发出SOS信号
控制发光二极管按照SOS国际求救信号的规律闪烁,用连续3次的短亮和短灭表示“S”,用连续3次的长亮和长灭表示“O”。短亮、短灭的时间为1秒,长亮、长灭时间设计为3秒,S和O的间隔为2秒。
参考程序如图1-12所示。图1-12 莫尔斯码灯参考程序
程序说明:程序中的“重复”指令牌可以控制一段程序执行的次数,次数用数字表示,如图1-12中3个重复指令牌中的次数都为3,即表示灯亮、灭的次数均为3。
小贴士:编程要善于“克隆”程序,对于相近的程序,可以先克隆(复制、粘贴)前面编好的程序,然后在原有程序的基础上修改,可以快捷地编出所有程序。
1.5 项目拓展
思考:除了SOS外,你还能控制发光二极管发送出哪些信号呢?
趣味挑战:编好程序后,使发光二极管按照莫尔斯码的规律发出两个字母,邀请其他人对照编码表来猜。
02 迷你红绿灯
2.1 项目简介
用单片机和发光二极管制作模拟交通信号灯,设定规律,控制发光二极管亮和灭。
2.2 实验材料Arduino Nano控制器Mini USB线发光二极管620Ω电阻面包线
2.3 实验内容
2.3.1 双灯交替亮
实验说明:我们在酷炫闪灯的基础上,增加一个发光二极管,控制红、黄两个发光二极管交替点亮。
电路原理图如图2-1所示。
试读结束[说明:试读内容隐藏了图片]