文档内容
普
通
高
中
普 通 高 中 教 科 书
教
科
书
信
息
技
术
选
择
信息技术
性
必
6
修
选择性必修
6
开
开源硬件项目设计
源
硬
件
项
Kaiyuan Yingjian Xiangmu Sheji
目
设
计
广
东
教
育
出
版
社
广东教育出版社
定价:10.86元
批准文号:粤发改价格[2017]434号 举报电话:12315
ook2020信息技术选择性必修1-6封面.indd 6 2020/12/3 下午3:55普 通 高 中 教 科 书
信息技术
6
选择性必修
开 源 硬 件 项 目 设 计
Kaiyuan Yingjian Xiangmu Sheji
徐福荫 主编
广东教育出版社
·广州·
ook2020信息技术-8扉页.indd 8 2020/5/28 下午2:52前言
图书在版编目(CIP)数据
信息技术.选择性必修6:开源硬件项目设计 / 徐福荫
主编.—广州:广东教育出版社,2019.12(2021. 1重印)
普通高中教科书
ISBN 978-7-5548-3033-8
Ⅰ. ①信… Ⅱ. ①徐… Ⅲ. ①计算机课—高中—教材
Ⅳ. ①G634.671
中国版本图书馆CIP数据核字(2019)第202802号
编写单位 广东教育出版社
主 编 徐福荫
副 主 编 朱光明 黄国洪
本册主编 龙丽嫦 胡永跃
核心编写人员(以姓氏笔画为序)
张 封 高伟光 梁志成
董 宇 谭 琦
责任编辑 李杰静
责任技编 杨启承 陈 瑾
装帧设计 何 维
信息技术 选择性必修6 开源硬件项目设计
XINXI JISHU XUANZEXING BIXIU 6 KAIYUAN YINGJIAN XIANGMU SHEJI
广 东 教 育 出 版 社 出 版
(广州市环市东路472号12-15楼)
邮政编码:510075
网址:http://www.gjs.cn
广东新华发行集团股份有限公司发行
广东新华印刷有限公司南海分公司印刷
(佛山市南海区盐步河东中心路)
890毫米×1240毫米 16开本 9.25印张 185 000字
2019年12月第1版 2021年1月第3次印刷
ISBN 978-7-5548-3033-8
定价:10.86元
批准文号:粤发改价格[2017]434号 举报电话:12315
著作权所有·请勿擅用本书制作各类出版物·违者必究
如有印装质量或内容质量问题,请与我社联系。
质量监督电话:020-87613102 邮箱:gjs-quality@nfcb.com.cn
购书咨询电话:020-87772438
2 2
21X1359.indd 2 2021/3/11 11:42:01前 言
信息技术作为当今先进生产力的代表,已经成为我国经济发展的重要支
柱和网络强国的战略支撑。信息技术涵盖了获取、表示、传输、存储和加工
信息在内的各种技术。自电子计算机问世以来,信息技术沿着以计算机为核
心、到以互联网为核心、再到以数据为核心的发展脉络,深刻影响着社会的
经济结构和生产方式,加快了全球范围内的知识更新和技术创新,推动了社
会信息化、智能化的建设与发展,催生出现实空间与虚拟空间并存的信息社
会,并逐步构建出智慧社会。
基于开源硬件的项目设计与开发有利于激发同学们创新的兴趣,培养同
学们动手实践的能力,同时也是在信息技术课程中实现STEAM(科学、技
术、工程、人文艺术与数学)教育的理想方法。本教科书是针对同学们个性
化发展需要,按照开源硬件项目设计流程而设置的选择性必修模块。
通过本教科书的学习,同学们能搜索并利用开源硬件及相关资料,体验
作品的创意、设计、制作、测试、运行的完整过程,初步形成以信息技术学
科方法观察事物和问题求解的能力,提升计算思维与创新能力。
本教科书由“开源硬件的特征”“开源硬件项目流程”“基于开源硬件
的作品设计与制作”三部分内容构成,围绕信息技术学科核心素养设计了
“体验Arduino开发平台”“基于开源硬件的感应灯开发规划”“基于开源硬
件的感应灯制作”“基于开源硬件的教室空气质量监测仪开发”“教室空气
质量监测仪的开源许可证与知识分享”项目范例。教师围绕“情境→主题→
规划→探究→实施→成果→评价”的项目范例开展教学活动,帮助同学们掌
握本教科书的基础知识、方法与技能,增强信息意识,发展计算思维,提高
数字化学习与创新能力,树立正确的信息社会价值观和责任感,从而促进同
学们的信息素养提升。
本教科书要求同学们对现实世界中的真实性问题进行自主、协作、探究
学习。同学们围绕“项目选题→项目规划→方案交流→探究活动→项目实
施→成果交流→活动评价”的项目学习主线开展学习活动,体验“做中学、
1 11
21X1359.indd 1 2021/3/11 11:42:02学中创、创中乐”的项目学习理念和“从实践入手、先学先教、先练后讲”
的项目学习策略,将知识建构、技能培养与思维发展融入运用数字化工具解
决问题和完成任务的过程中,从而促进信息意识、计算思维、数字化学习与
创新、信息社会责任的信息技术学科核心素养达成。
本教科书设置了“项目范例”“项目选题”“项目规划”“方案交
流”“探究活动”“项目实施”“成果交流”“活动评价”等学习栏目,指
导同学们开展项目学习活动。其中,“项目范例”是教师通过“情境”“主
题”“规划”“探究”“实施”“成果”“评价”等活动,引导同学们了解开
展项目学习活动的全过程;“项目选题”是同学们从真实世界选择自己感兴
趣的项目主题;“项目规划”是同学们根据项目选题,制订自己的项目方
案;“方案交流”是同学们展示交流自己设计的项目方案,师生共同探究、
完善其方案;“探究活动”是同学们通过“问题”“观察”“分析”“查
阅”“阅读”“思考”“交流”“实践”“实验”“调查”“讨论”“拓
展”“体验”等活动,获取知识和技能的过程;“项目实施”是同学们运用
在项目学习过程中所获得的知识和技能来完成项目方案;“成果交流”是教
师组织同学们展示交流项目成果,共享创造、分享快乐;“活动评价”是教
师组织同学们开展项目评价活动。
本教科书各章首页的导言,叙述了本章的学习目的与方式、学习目标与
内容,让同学们对整章有个总体认识。每章设置了“本章扼要回顾”,通过
知识结构图把每章的主要内容及它们之间的关系描述出来,这有助于同学们
建立自己的知识结构体系。每章结尾的“本章学业评价”设计了基于学业要
求的测试题,并通过本章的项目活动评价,让同学们综合评价自己在信息技
术知识与技能、解决实际问题的过程与方法,以及相关情感态度与价值观的
形成等方面,是否达到了本章的学习目标。此外,本教科书为同学们提供了
配套学习资源包,里面含有拓展阅读资料、开源硬件编程软件,以及实验案
例的源代码等,为同学们开展项目实验的准备和实验过程提供帮助。当然,
同学们还可以自己收集素材,让自己的项目学习作品更有特色。
2 2
21X1359.indd 2 2021/3/11 11:42:03CONTENTS
目录
目目 录录
第一章 认识开源硬件项目 �������������1
项目范例
体验Arduino开发平台���������������������������������������������������������������������2
1.1 开源硬件的特征及发展历程��������������������������������������������������������������������4
1�1�1 开源硬件������������������������������������������������������������������������������������������5
1�1�2 开源硬件的特征������������������������������������������������������������������������������� 6
1�1�3
开源硬件的发展历程������������������������������������������������������������������������
8
1.2 利用开源硬件进行创新���������������������������������������������������������������������������9
1�2�1 开源硬件的设计和开发创新��������������������������������������������������������������9
1�2�2 开源硬件的应用�������������������������������������������������������������������������������9
1�2�3 开源硬件对信息技术创新的意义�����������������������������������������������������12
1.3 开源硬件系统的组成及开发环境���������������������������������������������������������13
1�3�1 开源硬件项目���������������������������������������������������������������������������������13
1�3�2 开源硬件系统的一般组成����������������������������������������������������������������14
1�3�3 开源硬件项目的开发平台����������������������������������������������������������������15
第二章 开源硬件项目的开发流程与方案设计 �����������33
项目范例 基于开源硬件的感应灯开发规划�����������������������������������������������34
2.1 开源硬件项目开发的基本流程�������������������������������������������������������������36
2�1�1 创意�����������������������������������������������������������������������������������������������38
1 11
21X1359.indd 1 2021/3/11 11:42:05目录
2�1�2 设计�����������������������������������������������������������������������������������������������38
2�1�3 制作�����������������������������������������������������������������������������������������������39
2�1�4 测试����������������������������������������������������������������������������������������������� 39
2�1�5
运行�����������������������������������������������������������������������������������������������
39
2.2 开源硬件项目开发的创意策划�������������������������������������������������������������40
2�2�1 项目选题的策划�����������������������������������������������������������������������������40
2�2�2 项目构思的创意策划�����������������������������������������������������������������������41
2.3 开源硬件项目开发的方案设计�������������������������������������������������������������47
2�3�1 项目功能需求分析��������������������������������������������������������������������������47
2�3�2 项目功能组件设计��������������������������������������������������������������������������48
2�3�3 项目元器件选型�����������������������������������������������������������������������������50
2�3�4 项目设计图样绘制�������������������������������������������������������������������������� 52
2�3�5
项目技术方案制订��������������������������������������������������������������������������
55
第三章 开源硬件项目的制作 �����������59
项目范例 基于开源硬件的感应灯制作������������������������������������������������������60
3.1 项目作品的硬件搭建�����������������������������������������������������������������������������63
3�1�1 硬件搭建的器材�����������������������������������������������������������������������������63
3�1�2 硬件搭建的步骤�����������������������������������������������������������������������������67
3�1�3 硬件搭建的安全防护����������������������������������������������������������������������68
3.2 项目作品的程序设计�����������������������������������������������������������������������������69
3�2�1 用图形化编程工具编程�������������������������������������������������������������������69
3�2�2 用文本代码编程工具编程����������������������������������������������������������������70
3.3 项目作品的功能测试与运行�����������������������������������������������������������������74
3�3�1 项目作品的功能测试����������������������������������������������������������������������74
3�3�2 项目作品的系统调试�����������������������������������������������������������������������74
3�3�3 项目作品的运行�����������������������������������������������������������������������������76
2 2
21X1359.indd 2 2021/3/11 11:42:06目录
第四章 开源硬件项目输入输出组件及综合应用项目开发 ���79
��������������������������
项目范例 基于开源硬件的教室空气质量监测仪开发 80
4.1 开发板的I/O信号控制����������������������������������������������������������������������������82
4�1�1 开发板的I/O信号类型���������������������������������������������������������������������82
4�1�2 开发板的数字和模拟引脚����������������������������������������������������������������83
4�1�3 开发板信号处理的程序函数������������������������������������������������������������83
4�1�4 开发板串口使用�����������������������������������������������������������������������������85
4.2 开源硬件项目的输入组件���������������������������������������������������������������������88
4�2�1 传感器�������������������������������������������������������������������������������������������88
4�2�2 环境检测类传感器常见模块������������������������������������������������������������90
4�2�3 物理测量类传感器常见模块������������������������������������������������������������94
4.3 开源硬件项目的输出组件���������������������������������������������������������������������98
4�3�1 执行器组件常见模块����������������������������������������������������������������������98
4�3�2 显示组件常见模块������������������������������������������������������������������������102
4.4 综合应用项目开发�������������������������������������������������������������������������������106
4�4�1 教室空气质量监测仪项目的创意策划��������������������������������������������106
4�4�2 教室空气质量监测仪项目的技术方案设计�������������������������������������108
4�4�3 教室空气质量监测仪项目的程序设计��������������������������������������������114
4�4�4 教室空气质量监测仪项目的调试和运行�����������������������������������������116
第五章 知识分享与知识产权 ���������121
�����������������
项目范例 教室空气质量监测仪的开源许可证与知识分享 122
5.1 知识分享与开源精神���������������������������������������������������������������������������124
5�1�1 知识分享背景下的开源精神����������������������������������������������������������125
5�1�2 互联网常用知识分享平台��������������������������������������������������������������127
3 3
21X1359.indd 3 2021/3/11 11:42:06目录
5.2 开放源代码与知识产权�����������������������������������������������������������������������129
5�2�1 知识产权及其历史������������������������������������������������������������������������130
5�2�2 常见的开源许可证������������������������������������������������������������������������131
�������������������������������������������
附录1 部分术语、缩略语中英文对照表 138
�������������������������������������������������������������������
附录2 项目活动评价表 139
4 4
21X1359.indd 4 2021/3/11 11:42:08
第一章
认识开源硬件项目
随着信息技术的蓬勃发展和国内“大众创业,万众创新”
热潮的兴起,创客(Maker)、创客空间等概念得以迅速传
播,引发了社会大众对创客的广泛关注。开源硬件现已成为创
客们的常用工具,它不仅能被艺术家、设计师、工程师等专业
人员用于艺术创作、科技创新,而且能使普通的业余爱好者自
己动手将创意转化为实物作品或产品,体验或感受开源硬件的
魅力。
本章将通过“体验开源硬件开发平台”项目,进行自主、
协作、探究学习,让同学们认识开源硬件的特征与发展,理解
利用开源硬件进行信息技术创新的意义,从而将知识建构、技
能培养与思维发展融入运用数字化工具解决问题和完成任务
的过程中,促进信息技术学科核心素养达成,完成项目学习
目标。
开源硬件的特征及发展历程
利用开源硬件进行创新
开源硬件系统的组成及开发环境
1 1
21X1359.indd 1 2021/3/11 11:42:10第一章 认识开源硬件项目
体验Arduino开发平台
项目范例
情 境
随着全球创客运动的兴起,国内“大众创业,万众创新”热潮风起云涌,创客创业
的活力不断被激发,“互联网+创意智造”成为小微企业产品研发的创新路径,也为中国
成长为创造大国提供动力引擎。开源硬件是创客运动的宠儿,其中Arduino是典型代表之
一。基于Arduino开发平台,即使是非电子专业人群,也可以开发制作许多有趣的、互动
的项目,为生活带来更好的创意体验,解决更多的问题。究竟什么是开源硬件和开源硬件
开发平台?它们与创客是什么关系?学习利用开源硬件进行项目开发对信息技术应用创新
有什么意义?
主 题
体验Arduino开发平台
规 划
根据项目范例的主题,在小组中组织讨论,利用思维导图工具,制订项目学习规划,
如图1-1所示。
图1-1 “体验Arduino开发平台”项目规划
2 2
21X1359.indd 2 2021/3/11 11:42:13体验Arduino开发平台
探 究
根据项目学习规划的安排,通过网络资料搜索、文献阅读和动手探究,开展“体验
Arduino开发平台”项目学习探究活动,如表1-1所示。
表1-1 “体验Arduino开发平台”项目学习探究活动
探究活动 学习内容 知识技能
开源和开源软件的含义。 认识开源硬件的特征和发展。
开源硬件的概念与特征。 了解开源硬件的发展历程。
了解开源硬件发展历程。 知道常用开源硬件的名称、功能
认识Arduino开发
常用的开源硬件。 和特征。
平台
开源硬件的设计和开发创新。
理解利用开源硬件进行信息技术创
开源硬件的应用领域。
新的意义。
利用开源硬件进行信息技术创新的意义。
体验基于Arduino 开源硬件项目的组成。 知道利用开源硬件进行项目开发的
开发平台的项目 开源硬件项目的开发平台。 项目组成。
实 施
实施项目学习各项探究活动,进一步认识开源硬件的特征和发展,理解利用开源硬件
进行信息技术创新的意义。
成 果
在小组开展项目范例学习过程中,利用思维导图工具梳理小组成员在“头脑风暴”活
动中的观点,建立观点结构图,运用多媒体创作工具(如演示文稿、在线编辑工具等),
综合加工和表达,形成项目范例可视化学习成果,并通过各种分享平台发布,共享创造、
分享快乐。例如,运用在线编辑工具制作的“体验Arduino开发平台”可视化报告,可以
在教科书配套学习资源包中查看,其目录截图如图1-2所示。
图1-2 “体验Arduino开发平台”可视化报告目录截图
3 3
21X1359.indd 3 2021/3/11 11:42:14第一章 认识开源硬件项目
评 价
根据教科书附录2的“项目活动评价表”,对项目范例的学习过程和学习成果在小组
或班级上进行交流,开展学习活动评价。
项目选题
同学们以3~6人组成一个小组,选择下面一个参考主题,或者自拟一个感兴趣的主
题,开展项目学习。
1.体验Arduino的其他型号开发板与软件
2.体验micro:bit开发平台
3.体验Raspberry Pi(树莓派)开发平台
项目规划
各小组根据项目选题,参照项目范例的样式,利用思维导图工具,制订相应的项目方案。
方案交流
各小组将完成的方案在全班进行展示交流,师生共同探讨、完善相应的项目方案。
1.1
开源硬件的特征及发展历程
2015年3月,《政府工作报告》首次将“创客”写
入,并提出推进“大众创业,万众创新”,强调“让
人们在创造财富的过程中,更好地实现精神追求和自
身价值”,一时间激发了人们创业、创新的热情。
2015年6月,深圳市举办首届国际创客周活动,聚焦
智能硬件和“互联网+”,促进国内外创客文化交流
(图1-3)。富有创新、创造精神的创客,与“大众创
业,万众创新”联系在了一起,引发了人们的广泛关
注。自此,我国跟随全球创客运动的脚步,掀起了创
图1-3 首届国际创客周活动展
4 4
21X1359.indd 4 2021/3/11 11:42:151.1 开源硬件的特征及发展历程
客热潮。
实际上,不论是创业还是创新,不论是成为电子设计爱好者还是成为创客,都与开源
硬件密不可分,在一定程度上都得益、依赖于开源硬件及其平台。
1 . 1 . 1 开源硬件
1.开源与开源软件
在1998年OSI(Open Source Initiative,开放源代码促进会)成立时,“开源”一词被正
式使用,旨在推动开源软件的发展。所谓开源,是指开放源代码(open-source),是一种
软件公布方式。源代码(source)是可供人阅读的计算机指令文本,是软件产品最直接、
最完整的技术描述。商业软件公司通常采取申请版权或者商业加密的方式对软件源代码实
施严格保护,以防止其技术思想被窃取,从而保证软件的销售盈利。开放源代码软件,即
开源软件,是指源代码完全公开,可自由分发,任何人都可免费获取的软件。开源软件由
世界各地的志愿者通过网络合作的方式完成。开源软件独特的研发和发布方式,使它取得
了令人瞩目的成绩。今天,开源软件在全球已被广泛应用于各行各业,改变着世界软件业
的发展轨迹。例如,操作系统类开源软件有Linux、Android(安卓系统)等,应用类开源
软件有MySQL、PHP、Python、Firefox等。
2.开源硬件
开源硬件在开源软件的基础上定义,指源代码开放的硬件(设备、机器或者其他实
物),允许他人重新制造、修改、分发等。开源硬件的源代码,指开源硬件的设计,包括
项目组成、概述、原始设计文件、辅助设计文件、物料清单、软件、照片和解释说明等。
开源硬件的核心体现在电路原理图、物料清单、PCB(电路板)图等。例如,Arduino开发
板、micro:bit开发板等。
硬件与软件的不同之处在于硬件资源始终致力于创造实物产品,3D打印、无人驾驶
飞机等都是利用开源硬件的例子。目前,比较流行的开源硬件有Arduino、Raspberry Pi、
micro:bit等。其中,Arduino是开源硬件界第一个获得大规模成功的项目,且产生了大量的
衍生产品。近年来,我国自主研发的专门用于教育的开源硬件也相继投入使用。
得益于创客运动,开源精神和开源文化从电子爱好者、开源硬件社区开始,逐步走向
大众,使更多人能通过各种开源分享,将创意转化为现实,进而改变世界。
探究活动
讨 论
上网搜索或到图书馆查阅资料,与同学讨论开源软件、开源硬件、开源运动的含义。
5 5
21X1359.indd 5 2021/3/11 11:42:15第一章 认识开源硬件项目
阅 读
创客与创客运动
“创客”中的“创”是指创造,“客”是指从事某种活动的人。对于创客的定义,目
前没有明确的界定,狭义上是指那些酷爱科技、热衷实践、乐于分享,努力把各种创意转
变为现实的人;广义上是指有创意,并且能够付诸实践进行创新的人。创客们结合开源硬
件和互联网,将各种创意变为各式各样的产品,如电子服装、健康手环、智能手表、食物
烹饪器等。
创客运动,可以理解为“互联网+DIY”,即人人都可以像科学家、发明家一样,利
用一切资源,将创意实现,并通过互联网平台快速分享给全世界。创客运动起源于美国,
近年风卷全世界,在中国的兴起时间虽短却发展迅猛。
创客空间,是创客开展制作、活动、交流、合作的工作空间,配备有各种资源工具,
拥有运营团队等。创客空间不仅为创客们提供了各种设计、开发及测试创意产品的设备和
资源,更为创客们提供了各种提升创客能力的讲座、培训和课程。创客空间,是学习的空
间,是思维碰撞的空间,更是创新和创造的空间。
查 阅
上网搜索或到图书馆查阅资料,进一步了解国内外创客、创客空间、创客运动的情况
及创客给社会带来的影响。
1 . 1 . 2 开源硬件的特征
开源硬件是开源文化的重要组成部分,具有开放性、成本低和标准化三个特征。
1.开放性
开源硬件最典型的特征是开放性,且重视分享、透明和工作的传承。开发者通过公开
硬件设计的所有信息,使得他人能够在此基础上使用部分或全部硬件的设计方案,进行二
次开发。标记为开源硬件的,无论是授权完全开源或部分开源一定要明确必须做到的和可
选做的事项。
(1)必须做到的事项:
★允许任何人研究、修改、发布、制作和销售此硬件。
★提供可公开访问的设计文件和文档(源文件),格式容易获得。
★明确设计的哪部分(如果不是全部)是许可发布的。
★不要暗示衍生品依然要由原设计师制造、销售、保修或其他形式的认可。
★未经许可不得使用其他公司的商标。
★不可公开销售非商业性的或无衍生品修改的开源许可的硬件。
6 6
21X1359.indd 6 2021/3/11 11:42:151.1 开源硬件的特征及发展历程
(2)可选做的事项:
★要求给出版权归属。
★根据开源硬件的定义使用开源硬件标志来标注硬件。
★要求衍生的作品采用与原设计不同的名称或版本号。
★硬件可以直接复制或在其基础上创作衍生品。
★衍生品需要兼容的开源硬件许可证。
2.成本低
由于硬件设计的修改成本比较高,开放开源硬件的硬件设计信息可以使开发成本、开
发风险大为降低,使学习成本以及利用它进行应用项目设计的实验成本也一起降低,从而
能够被绝大多数人所接受。
3.标准化
标准化是实现进一步开放性目标的重要手段。开源硬件设计实现了软件和硬件的标
准化。软件标准化包括软件接口、编程环境、库文件、引导程序和编程工具等方面的标
准。硬件标准化包括电子元器件、机械硬件、物理通信、硬件界面、模块化设计等方面的
标准。当开源硬件产品与其他硬件产品通信时,一般采用USB、蓝牙或Wi-Fi等主流标准协
议。所有这些标准,都利于开源硬件更容易被修改或重新设计。开源硬件的发展有力地促
进了接口技术的标准化和开发流程的标准化。如图1-4所示,各种不同标准的连接插头,
彼此不能共用,给人们造成极大不便,从而形象地表达开源硬件标准化的重要性。
图1-4 各种不同标准的连接插头
阅 读
Arduino是全球流行的、热门的开源硬件平台之一。Arduino创始团队中有一位成员是
意大利一所高科技设计学校的教师,他的学生经常抱怨找不到既便宜又好用的微控制器。
2005年,这位教师与学校的一位工程师访问学者决定自己设计电路板,并为电路板设计
编程语言。电路板完工后,他们把设计图放到网上。然而,版权法虽然可以监管开源软
件,但却很难用于监管硬件上。为了保持设计的开放源代码理念,他们决定采用Creative
7 7
21X1359.indd 7 2021/3/11 11:42:15第一章 认识开源硬件项目
Commons(知识共享,简称CC)授权方式公开硬件设计图。
在这样的授权下,任何人都可以生产Arduino电路板的复制品,甚至还能重新设计和
销售原设计的复制品。人们不需要支付任何费用,甚至不用取得Arduino团队的许可。然
而,如果重新发布了引用设计,就必须声明原始Arduino团队的贡献。如果修改了电路
板,则最新设计必须使用相同或类似的CC授权方式,以保证新版本的Arduino电路板也会
一样是自由和开放的。唯一被保留的只有Arduino这个名字,在没有官方授权的情况下不
能使用它。短短几年,Arduino在全球积累了大量用户,推动了开源硬件、创客运动,甚
至推动了硬件创业领域的发展。如今,越来越多的芯片厂商和开发公司都宣布自己的硬件
支持Arduino。
1 . 1 . 3 开源硬件的发展历程
开源软件的历史比开源硬件早二三十年,开源硬件的历史紧紧跟着开源软件的历史发
展足迹。
1.开源硬件的产生
1997年推出的“开源硬件认证计划”,允许硬件制造商对硬件进行认证,要求凡是获
得认证的硬件设备,都要承诺对外公开其驱动程序接口的编程文档。这样,供应商就可在
获得认证的设备包装上添加开源硬件标志,并在广告中指出他们的设备是经过认证的。购
买了认证设备的用户即便是遇到操作系统变更或制造商倒闭,仍可以由第三方为他们的设
备编写新的软件。这是开源原则首次应用于硬件。
1998年,开源硬件的概念纷纷被提出。例如,有人推出“开放硬件规范项目”;有人
表示想开办企业将开源软件的原则应用到硬件设计和开发中;更有人推出了开放设计电路
网站,旨在通过合作的方式设计出低成本的开放设计电路。这些雏形概念的出现有力地推
动了开源硬件运动的发展,但大多数项目尝试在一两年内就逐渐销声匿迹了。
2.开源硬件的发展
2005年前后,由于OpenCores、RepRap、Arduino等几个主要的开源硬件项目的出现,
开源硬件再次成为焦点。
2007年,TAPR创建了第一个硬件许可证,也是第一个针对硬件的开源许可证。
2009年,这些开源硬件推动者组建了“开源硬件设计联
盟”,每年召开一次开源硬件峰会。
2011年,开源硬件协会(OSHWA)正式创立。这是一个
教育型非营利组织。开源硬件协会建设有开源硬件社区(标
识如图1-5所示),不定期举办会议,开展有社会价值的开源
硬件使用场景教育活动,服务社群,帮助开展STEM教育,鼓
励开源硬件项目向教育和经济等领域开放。开源硬件协会进
一步明确了开源硬件的1.0定义。 图1-5 开源硬件社区标识
8 8
21X1359.indd 8 2021/3/11 11:42:151.2 利用开源硬件进行创新
查 阅
围绕“开源硬件运动”或“开源硬件历史”搜索查阅相关资料,按照以下要求,自行
设计表格,记录、分析其特点及发展历程。
(1)要对资料进行分析,甄别信息来源的可信性、权威性。
(2)要对资料进行格式过滤,筛选和加工查阅到的信息。
交 流
各小组以“认识开源硬件”为主题在班级或在学校网络学习空间进行分享交流。
1.2
利用开源硬件进行创新
在当今智能设备和移动互联网浪潮下,开源硬件技术的兴起,有效地降低了硬件技术
的开发门槛。随着开源硬件的广泛应用,一大批相关企业和创客不断产生,他们怀着新颖
的想法,自己动手创造,进行各种各样的自主创新活动。
1 . 2 . 1 开源硬件的设计和开发创新
开源硬件倡导开放、分享,按一定授权方式将资料公开在网络社区,鼓励读者修改开
源硬件及其项目,促进该硬件或其项目不断修正、迭代发展,并制作出衍生产品。基于开
源硬件的定义,开源硬件授予了使用者复制的权利。开源硬件衍生品的项目,特别是3D打
印领域和Arduino社区中的项目,其设计制作、变化一般可分为四类:①功能改变;②设备
形式改变;③成本改变;④为更好地设计与制造改变,使产品的零部件更易制造或供应。
所有这些变化,都是促进开源硬件设计与开发本身的创新发展。
1 . 2 . 2 开源硬件的应用
开源硬件的发展,为制造业、教育、医疗、农业等各行各业的发展和社会服务带来了
极大的便利,使得人们的学习更个性、工作更便捷、生活更美好。
1.开源硬件在制造业中的应用
开源硬件已逐渐应用于制造业的设计、生产与产品之中。例如,一款安全高效的开源
9 9
21X1359.indd 9 2021/3/11 11:42:15第一章 认识开源硬件项目
激光切割机Lasersaur,可以满足用户对于激光切割的任何需求,而无须掌握任何运行、维
护和更改的专业知识,如图1-6所示。Blackfoot则是另一款基于开源硬件的数控机床,可
以提供免费、低成本的自动化制造解决方案,如图1-7所示。
图1-6 开源激光切割机Lasersaur 图1-7 开源数控机床Blackfoot
对于全球首款开源DIY汽车,用户只需购买基础零件,并下载组装指南,就可以像搭
积木那样自行组装汽车,组装车最高时速可达85 km/h。如图1-8所示为某款开源DIY汽车
展示图。
图1-8 某款开源DIY汽车展示图
2.开源硬件在教育中的应用
开源硬件近年也广泛运用在教育行业中。随着开源硬件的发展以及各种相关论坛的兴
起,教师可以便捷地获得大量的开源工具用于教学;学校的课程学习可以方便地运用各种
各样的开源硬件开发板,帮助同学们感性地认识和动手实践;教与学的方式也更加灵活多
样。此外,随着硬件价格的下降以及更多开源软件的推广,学习的门槛将会进一步降低,
未来将会有更多人利用开源硬件进行学习。
3.开源硬件在医疗中的应用
开源硬件在医疗设施领域也是大有可为。例如,基于开源硬件的开放性脑机界面(BCI)
10 10
21X1359.indd 10 2021/3/11 11:42:161.2 利用开源硬件进行创新
(图1-9),涵盖了多种医疗技术,包括功能性核磁共振影像、人工耳蜗植入装置、脑电
图等。虽然这类医疗应用技术目前仍然十分昂贵,但未来通过硬件资源的开放会变得更加
普及,造福全人类。
图1-9 开放性脑机界面
4.开源硬件在农业中的应用
我们的世界正在经历人口爆炸式的增长,所以很多政府与公司都希望尽量提高农业
生产的产量。如图1-10所示的一款开源的自动化精准农业机械FarmBot的外观很像数控
铣床和3D打印机,它主要采用X、Y、Z三轴定向,可以装备任何农用设备。另外,通过
FarmBot的软件包,用户还可以对农场进行图形化设计,告诉FarmBot应该完成的操作,
从而实现犁地和种子播撒等。
图1-10 自动化标准农业机械FarmBot
其实,开源硬件的应用还有很多。当前,开源硬件已经对制造业、教育、医疗、农业
等领域产生广泛而深远的影响。
11 11
21X1359.indd 11 2021/3/11 11:42:16第一章 认识开源硬件项目
调 查
查阅资料,举例说明开源硬件对各行各业的影响,填写表1-2。
表1-2 开源硬件对各行各业的影响实例
开源硬件应用领域 开源硬件的影响实例
制造业
教育
医疗
农业
文化娱乐
家居
其他
结论:
1 . 2 . 3 开源硬件对信息技术创新的意义
开源硬件对信息技术创新以及人才培养等都具有明显的积极意义。
1.降低项目设计的技术门槛,促进了人们参与的广度
以Arduino为例,其具有良好的可扩展性,可以根据项目需求,像搭积木一样接入扩展
模块。由于Arduino相应的软件系统也是开源的编程环境,且简单易学,利于更多人参与和
创造。
2.公开且容易获得的技术资源,促进了人们参与的深度
开源硬件开发平台,如Arduino拥有众多的电子设计爱好者,其专业的开源硬件协会组
织和社区网站提供了相关的技术文档、扩展库、系统库等资料,便于人们获取、学习。
3.动手做项目的学习方式,促进了人们参与的效度
基于开源硬件开发平台的研发,使得学习者从一个完整项目设计的角度去理解所学的
知识体系,从而加深和促进对知识结构的理解,并通过“边实践、边探究”的项目学习模
式,激发学习者的动手能力和创造能力。
4.开源降低了开发风险和项目成本,提升了人们创新的意愿与可行性
使用开源硬件进行项目设计,可以更高效地对产品进行开发、完善和迭代,不仅减少
了重复开发,降低了试错风险和成本,更缩短了产品原型的开发周期,提升了人们创新的
意愿。
开源对创新具有积极的意义。但是,开源并不反对知识产权,也不代表作者放弃了知
识产权,也并不意味着可以由他人进行创意剽窃和肆无忌惮地盗版,开源也要尊重和保护
12 12
21X1359.indd 12 2021/3/11 11:42:161.3 开源硬件系统的组成及开发环境
知识产权,遵循开源许可协议,以保障开源运动的健康发展。
讨 论
下面列出了三个关于“创客与创新”的思考问题,以小组为单位选择其中一个问题,
搜索、查阅资料,然后形成观点,并在班级或在学校网络学习空间进行讨论交流。
(1)创意、创客与创业有什么关系?
(2)为什么说创客是跟开源硬件绑在一起的?
(3)为什么说开源有利于创新?
项目实施
各小组根据项目选题及拟订的项目方案,结合本节所学知识,开展开源硬件开发板探
究活动。
1.了解常用开源硬件和本组所选开源硬件开发板的名称、外观、控制器芯片型号、
输入输出引脚、电源口及工作电压等。
2.利用本组所选开源硬件开发板进行实验电路连接、交互控制功能体验及操作。
1.3
开源硬件系统的组成及开发环境
1 . 3 . 1 开源硬件项目
开源硬件项目,既指硬件设计本身,
也常泛指利用开源硬件进行开发制作的项
目,即指由开源硬件系统与制作材料搭建
而成的物理运算装置。在本教科书中,开
源硬件项目的含义主要指后者,且项目装
置主要介绍开源硬件系统部分。
创客和电子设计爱好者都可以通过开
源社区分享各种开源硬件项目,了解国
内乃至世界各地充满创意的、有趣的项
图1-11 基于Arduino的互联网花盆
目。例如,如图1-11所示是一个可供参
1313
21X1359.indd 13 2021/3/11 11:42:17第一章 认识开源硬件项目
观者参与的基于Arduino的互联网花盆项目,参观者可以为植物提供阳光(控制LED亮
度)、空气(控制风扇开关)和水(控制水泵开关)。
探究活动
查 阅
上网查阅Arduino衍生的各种创意作品。例如,声光玩具,可搜索关键词
“Arduinotoy”;自动机械化,可搜索关键词“宠物喂食器”;四轴飞行器,可搜索关键
词“ArduSat”;3D打印机,可搜索关键词“3D Printer”;等等。
1 . 3 . 2 开源硬件系统的一般组成
开源硬件系统一般由开源硬件开发平台、输入组件和输出组件组成,如图1-12所示。
开源硬件开发平台,实质是开源的电子平台,由硬件和软件两部分组成。其中,硬件
部分是由微控制器(为单片机)与外围元器件集成的一块电路主板;软件部分是集成开发
环境。从利用该硬件进行应用产品开发的角度而言,开源硬件承担了系统的中控、开发平
台的作用,因此,亦被称为控制板或开发板。同时,由于开源硬件系统部分是产品实验开
发的电子原型,因而开源硬件平台又被称为电子原型平台。“原型”是在新产品开发阶段
所制作的模型,用于试验新产品的功能、造型和材料。
输入组件是指能将产生的数字信号或模拟信号输入到开发板的元器件,如按钮、光敏
传感器等。
输出组件是指能输出光、声音、驱动等信号的元器件,如LED、蜂鸣器、电机等。
图1-12 开源硬件系统的一般组成
14 14
21X1359.indd 14 2021/3/11 11:42:171.3 开源硬件系统的组成及开发环境
1 . 3 . 3 开源硬件项目的开发平台
开源硬件开发平台多种多样,其中Arduino、Raspberry Pi和micro:bit是主流开发平台。
与其他电子硬件开发平台相比,Arduino具有价格实惠、尺寸和型号多、易于与其他设备相
连、编程简易等优点,广受电子设计爱好者追捧。因此,我们将采用Arduino作为开源硬件
开发平台的范例。
Arduino开发平台主要包含硬件和软件两大部分。硬件部分是可做电路连接的Arduino
电路板,软件部分包括一个编程语言环境和在开发板上运行的程序。
1. 硬件部分
(1)Arduino开发板。
以Arduino UNO为例,开发板由一块Atmel AVR单片机、一个晶体振荡器和一个5 V
直流电源组成。它可以连接各种输入设备,一般通过传感器传入信息;也可以驱动各类
输出设备;还可以做一些物理、化学类的科学实验,快速实现一些简单的创意。Arduino
的开发板有多种型号,其中最常用的型号是Arduino UNO,如图1-13所示。如无特殊说
明,我们所述的Arduino开发板即指Arduino UNO。
图1-13 Arduino UNO开发板实物图
就像计算机一样,Arduino也会持续推出新的版本与型号,软件也会更新。Arduino
开发板的版本型号很多,每个型号都有不同的名字,例如Arduino LEONARDO、Arduino
UNO、Arduino NANO等。虽然型号不同,但连接方式几乎都一样。开发板上各引脚的含义
如表1-3所示。
1515
21X1359.indd 15 2021/3/11 11:42:18第一章 认识开源硬件项目
表1-3 Arduino开发板各引脚说明
名称 含义 名称 含义
RESET 复位 IOREF 输入输出参考电压,预留
SCL 时钟线 3.3 V 3.3 V电压
SDA 双向数据线 5 V 5 V电压
AREF 基准电压输入 GND 接地或地线
数字输入/输出:[0,1]
0~13 VIN 电源输入电压
3/5/6/9/10/11:模拟输出[0,255]
TX 串行发送 模拟输入[0,1023]
A0~A5
RX 串行接收 数字输出[0,1]
调 查
上网或到图书馆查阅其他开源项目的工具书,调查了解Arduino开发板连接引脚的使
用方法,包括供电电压、数字I/O(输入输出)、模拟输入、GND等。
(2)Arduino驱动。
Arduino开发板和进行软件开发的计算机连接,一般需要通过USB线连接。当Arduino开
发板第一次连接到计算机时,计算机需要安装驱动程序,之后再连接则无须再安装。
第一步,安装驱动程序。当Arduino开发板第一次连接到计算机时,计算机会提示“安
装驱动程序”。打开计算机“设备管理器”,查找并点击“Arduino Uno”设备进行安装,
如图1-14所示。
图1-14 找到“Arduino Uno”设备
这时,只要按照弹出的安装提示,在Arduino IDE安装目录中的Drivers文件夹中查找驱
动程序,就能实现对Arduino驱动程序的安装。驱动安装完毕,以后再将Arduino开发板与
16 16
21X1359.indd 16 2021/3/11 11:42:181.3 开源硬件系统的组成及开发环境
计算机连接,则不再提示“安装驱动程序”。
第二步,分配Arduino开发板的端口号。Arduino开发板与计算机通信是通过串口进行
的。因而在第一次安装Arduino设备驱动时,在计算机“设备管理器”的端口一项中会增
加一个串口设备,并分配给Arduino开发板一个串口号。例如,在图1-15中,Arduino开
发板与计算机通信的串口号为COM4。不同的计算机分配给Arduino开发板的串口号可能
各不相同。
串口号
图1-15 Arduino开发板与计算机通信的串口号
(3)Arduino扩展板。
Arduino开发板上输入、输出和传感器的接口有限,通常需要使用扩展板来增加接
口,进而实现特定功能的扩展。Arduino扩展板通常具有和Arduino开发板一样的引脚
位置,可以堆叠接插到Arduino上,如图1-16(a)所示,有利于简化在开发板上接插
元件的搭建过程,更快速地搭建出项目。Arduino扩展板还可分为传感器扩展板、网络
扩展板和原型扩展板等,可以根据需要进行选择。如图1-16(b)所示为原型扩展板与
Arduino开发板堆叠。
图1-16(a) 原型扩展板 图1-16(b) 原型扩展板与Arduino开发板堆叠
1717
21X1359.indd 17 2021/3/11 11:42:19第一章 认识开源硬件项目
实 践
1.登录Arduino官网或开源硬件社区查阅资料,了解和探究Arduino开源的设计资料,
比较Arduino各种型号名称、外观、尺寸等参数以及价格,自行设计一个表格,将其资料
整理汇总显示在表格上。
2.观察Arduino UNO开发板的外观、尺寸、芯片、接口、引脚等。
3.使用USB线将开发板连接到计算机,并安装驱动程序。
拓 展
1.micro:bit是一块高度集成的开发板,搭载有25个可编程LED点阵、两个可编程按
键、加速度传感器、磁场传感器、光线传感器、温度传感器、蓝牙、micro USB插口、5
个I/O 环供鳄鱼夹和一个4 mm banana plug(香蕉插头)等电子模块,主要用于青少年的
编程教育,如图1-17所示。micro:bit功能强大,操作简单,能快速实现开源硬件作品的
制作。
图1-17 micro:bit开发板
2.树莓派(Raspberry Pi)也是开源硬件开发平台的典型代表,是基于ARM的
微型电脑开发板。树莓派以SD卡为硬盘,有两个USB接口和一个网口,可连接键
盘、鼠标和网线,同时拥有视频模拟信号的电视输出接口和HDMI高清视频输出接
口,且全部功能整合在一张仅比信用卡稍大的主板上,具备计算机所有基本功能,只
需接通电视机和键盘,就能执行如电子表格、文字处理、玩游戏、播放高清视频等诸
多功能,如图1-18所示。Raspberry Pi B款只提供电脑板,无硬盘、电源、键盘、机箱
或连线。
18 18
21X1359.indd 18 2021/3/11 11:42:191.3 开源硬件系统的组成及开发环境
图1-18 树莓派开发板
2.软件部分
对Arduino开发板上的AVR单片机进行编程需要软件,可以用Arduino官方文本编程软
件Arduino IDE,也可以用第三方图形化编程软件,ArduBlock和Mixly(米思齐)等。
(1)Arduino IDE。
Arduino IDE是一个集成开发环境,包括代码编辑器、编译器、调试器等。用Arduino
IDE可以编写有关Arduino开发板的控制程序,可将程序上传到Arduino开发板脱机执行。
Arduino IDE的界面如图1-19所示。
图1-19 Arduino IDE界面
1919
21X1359.indd 19 2021/3/11 11:42:20第一章 认识开源硬件项目
(2)ArduBlock。
ArduBlock是一款可挂靠于Arduino IDE中的图形化编程软件,其可视化和交互性程度
高,编程门槛低,适合于初学者。ArduBlock的界面如图1-20所示。
图1-20 ArduBlock界面
ArduBlock界面主要分工具区、模块区和编程区三部分。
工具区:可实现编程文件的新建、存取和程序上传等功能。
模块区:存放实现某种指令或功能的模块区域,具体子模块如表1-4所示。
表1-4 ArduBlock模块功能
模块类名称 功能
控制 用于控制程序结构,包括循环、判断结构、子程序等子模块。
用于控制引脚的输入和输出等,包括数字输入、数字输出、模拟输入和模拟输出、舵
引脚
机、超声波引脚以及发声函数等子模块。
逻辑运算符 用于处理逻辑运算,包括大于、等于、不等于、且、或、非、字符串比较等子模块。
数学运算 用于数字运算,包括加、减、乘、除、取余以及常用数学函数、随机数、映射等子模块。
用于设置常量和变量,包括数字、字符、逻辑值、变量、逻辑变量、字符串变量等子
变量/常量
模块。
一般的实用命令,包括延时、上电运行时间、串口输出、数字映射、I2C读写、红外遥控
实用命令
接收等子模块。
教育机器人 用于电机等的设置。
编程区:是编写图形化程序的区域,可通过拉拽、移动的方式从模块区中选择模块,
像搭积木一样对各模块进行嵌合,快速实现程序的编写。
20 20
21X1359.indd 20 2021/3/11 11:42:211.3 开源硬件系统的组成及开发环境
(3)Mixly。
Mixly(米思齐)是一款免费开源的图形化编程软件,支持包括Arduino、micro:bit、
ESP32等开发板。Mixly软件具有丰富的传感器模块和第三方库,同时支持用户的定制化开
发,方便用户编写各种从简单到复杂的应用程序。Mixly软件可将编写完成的程序直接上载
到Arduino开发板。Mixly软件的界面如图1-21所示。
代码区
模块区
编程区
编译区
图1-21 Mixly软件界面
Mixly软件界面主要包括模块区、编程区、代码区和编译区四部分。Mixly软件部分模
块功能如表1-5所示。
表1-5 Mixly软件部分模块功能
模块类名称 功能
用于控制引脚的输入、输出、中断和脉冲长度等,包括数字输入、数字输出、模拟输
输入/输出
入、模拟输出、中断控制、脉冲长度等子模块。
用于控制程序结构,包括初始化、时间延迟、条件执行、循环执行、获取时间、Switch
控制
执行等子模块。
数学 用于数学变换功能,包括数字映射、数字约束、数字运算、取整、三角函数等子模块。
文本 用于处理字符文本,包括文本链接、文本转数字、数字转文本等子模块。
数组 便于代码编写时所采用的数组块,包括定义数组、取数组值、改数组值等子模块。
逻辑 用于处理逻辑运算,包括条件判断、逻辑运算等子模块。
串口 用于人与计算机交互,具体包括串口通信等子模块。
本教科书中的实验及项目将以Mixly图形化编程工具为例编写程序。
2121
21X1359.indd 21 2021/3/11 11:42:21第一章 认识开源硬件项目
在Mixly软件中编写程序的具体操作方法如图1-22所示。
图1-22 在Mixly软件中编程的界面
(1)编写程序。首先打开模块类,然后单击选择所需代码块,并拖曳到编程区相应位
置(当代码块相互靠近时,Mixly软件会自动判断是否相互吸附相嵌),然后根据程序功能
需要修改代码块的参数。重复选择和拖曳代码块的步骤,即可完成程序代码的编写。
(2)上传程序。完成代码块的程序编写后,按以下步骤将程序上传到开发板:
①根据所使用的开发板型号选择相应的开发板,如图1-22所示,选择的是“Arduino/
Genuino Uno”开发板。
②选择该开发板被计算机识别后的串口号,如图1-22所示为“COM6”。
③单击“上传”按钮,Mixly会进行代码编译,并上传到开发板上。
④当没有出现错误提示,并在编译区出现“上传成功”时,表示程序已成功上传至开
发板。
实 践
1.上网下载并安装Arduino IDE。
2.上网下载并安装Mixly图形化编程工具。
3.分别打开Mixly程序目录中sample文件夹下的“01闪烁LED”和“08声控灯”程
序,观察两个程序中代码块指令结构的异同,并分别尝试将其上传和编译,观察其能否上
传成功。
22 22
21X1359.indd 22 2021/3/11 11:42:221.3 开源硬件系统的组成及开发环境
实 验
以小组为单位,完成以下实验。
实验一:点亮板载LED
1.实验目标:编程控制点亮板载LED。
2.实验问题:如何利用LED的发光原理点亮LED?
3.实验分析:点亮LED的关键是给LED加上正向电压。常用LED的导通电压约
为2 V,一般情况下加上3 V电压即可正常发光,其电流一般在几十毫安左右。
4.实验器材:Arduino开发板1块、USB连接线1条。
5.硬件搭建:Arduino开发板上有一个板载灯,内部电路与数字引脚D13相通,并有
限流电阻,由芯片驱动。实验要点亮与引脚D13内部连接的LED,编程后将Arduino开发板
通过USB线与计算机连接。
6.编程实现:利用Mixly编写简单指令,就可以简单地设置数字I/O引脚D13的输出电
压。例如,图1-23给出了利用Mixly编写的只有一条指令的循环程序,设置了引脚D13为
高电平(在Mixly程序中,“管脚”即指引脚)。只要将程序上传到Arduino开发板上,就
可使得Arduino开发板上的LED被点亮。同理,要熄灭LED或进行其他控制也可使用类似指
令,如设置D13为低电平。
图1-23 “点亮板载LED”程序
7.上传测试:用USB线将搭建好硬件电路的Arduino开发板与计算机连接,并在Mixly
中选对串口号,然后就可在界面中点击“上传”,将所编写的程序上传到Arduino开发板
上。待Mixly提示上传成功后,观察LED是否被点亮。
实验二:闪烁外接LED
1.实验目标:设计和控制外接LED的闪烁。
2.实验问题:
(1)如何通过编程设计控制LED闪烁的效果?
(2)如何设置LED闪烁的频率?
3.实验分析:若要实现LED闪烁,首先必须考虑对LED实施供电(加正向电压,点
亮)和断电(撤销供电,熄灭)的操作,然后考虑控制LED闪烁的频率。
2323
21X1359.indd 23 2021/3/11 11:42:22第一章 认识开源硬件项目
将LED与电阻R串联接入Arduino开发板,通过引脚D13给LED供电或断电,可以控制
LED的亮、灭,其电路原理图如图1-24所示。其中,R是连接在电源5 V和LED间的限流电
阻,电阻值为220 Ω。
图1-24 “闪烁外接LED”电路原理图
4.实验器材:LED1个、Arduino开发板1块、USB连接线1条、220 Ω电阻1个、面包
板1块。
5.硬件搭建:按照图1-24所示的电路原理图进行硬件搭建。搭建硬件时,严禁将
LED插在电源5 V和GND引脚之间。
6.编程实现:
(1)点亮或熄灭LED:设置D13为高电平,可点亮LED;如果要使LED熄灭,则设置
D13为低电平。
(2)延时控制:根据人眼的视觉暂留效应,如果LED亮、灭之间的延迟时间少于
10毫秒,则人眼难以分辨出LED的闪烁。因此,设置亮灯延迟和灭灯延迟时间都应为
10毫秒以上,一般设置500毫秒或1000毫秒。利用Mixly编写的“闪烁外接LED”程序
如图1-25所示。
图1-25 “闪烁外接LED”程序
7.上传测试:用USB线将搭建好硬件电路的Arduino开发板与计算机连接,并在Mixly
中选对串口号,然后点击“上传”将所编写的程序上传到Arduino开发板上。
在上传过程中,在Mixly的状态信息栏内会显示上传状态信息,当程序上传完成后
24 24
21X1359.indd 24 2021/3/11 11:42:231.3 开源硬件系统的组成及开发环境
会提示“上传成功!”并且LED会按照程序设计的延时间隔不停地闪烁,如图1-26所
示。如果出现“上传失败”的提示,则需要检查开发板型号是否正确、串口是否选对
和程序是否有误。程序的编译调试可能要经过多轮反复的迭代测试,其中包括调试、
验证、上传、修改、再调试……
图1-26 “闪烁外接LED”实物示意图
实 践
各小组尝试连接多个LED到Arduino开发板上,并设计和编写程序实现多个外接LED闪
烁的各种场景及其效果。
实验三:模拟驼峰信号机绿色信号灯
1.实验目标:模拟驼峰信号机绿色信号灯。
2.实验问题:
(1)什么是驼峰信号机?驼峰信号机的绿色信号类型分多少种?每种信号的含义是
什么?
(2)编写程序实现模拟驼峰信号机工作状态的灯信号,要求灯信号间有一定时间间
隔(例如,亮3000毫秒,亮灭时间间隔2000毫秒)。
2525
21X1359.indd 25 2021/3/11 11:42:23第一章 认识开源硬件项目
3.实验分析:
(1)模拟绿色信号灯,即只使用到一个绿色LED。
(2)基于灯信号规范,通过控制灯光电路通断,设计和编程控制绿色LED的闪烁效
果,模拟驼峰信号机绿色信号灯工作时表示通过和加速通过的工作状态。
4.实验器材:绿色LED 1个、Arduino开发板1块、USB连接线1条、220 Ω电阻1个。
5.硬件搭建:与实验二“闪烁外接LED”的硬件搭建一致,按图1-24所示的电路原
理图进行硬件搭建。
6.编程实现:编写模拟驼峰信号机绿色信号灯程序的算法有多种,其中一种如图
1-27所示,对应的程序如图1-28所示。其中,图1-28左边程序为主程序,右边为“闪烁
子程序”。
图1-27 “模拟驼峰信号机绿色信号灯”程序流程图
26 26
21X1359.indd 26 2021/3/11 11:42:231.3 开源硬件系统的组成及开发环境
图1-28 “模拟驼峰信号机绿色信号灯”程序
7.上传测试:用USB线将搭建好硬件电路的Arduino开发板与计算机连接,并在Mixly
软件中选对串口号,然后在Mixly界面中点击“上传”,将所编写的程序上传到Arduino开
发板上。待Mixly提示“上传成功”后,观察绿色LED的长亮与闪烁信号是否明显。如果
不明显,则修改程序。
实验四:模拟充电宝指示灯
1.实验目标:利用5个LED做实验,模拟充电宝充电工作指示灯的效果。
2.实验问题:
(1)充电宝在充电作业状态中,指示灯有多少个,它们的亮灭规律是怎样的?
(2)用5个LED模拟搭建充电宝指示灯,5个LED是串联连接还是并联连接?
(3)是否需要每个LED都外接一个电阻,它的作用是什么?能否将5个LED串联或并
联到一个电阻上?
(4)指示灯亮灭的效果,在程序设计上,是否有多种方法可实现?
3.实验分析:
(1)在电路连接上,需要将5个LED分别连接到开发板数字引脚,以实现对引脚工作
电压的编程控制,以控制LED的通断状态。
(2)充电宝指示灯作业状态是1号灯到5号灯按顺序点亮,每个灯点亮之间需要设置
延时时间,然后全部关闭,再重新依次点亮,依此循环。
4.实验器材:红色LED 5个、Arduino开发板1块、USB连接线1条、220 Ω电阻5个、
面包板1块。
5.硬件搭建:“模拟充电宝指示灯”电路原理图如图1-29所示,电路搭建模拟图如
图1-30所示。5个LED的负极连接到GND,正极分别串联一个220 Ω的电阻,然后分别连
2727
21X1359.indd 27 2021/3/11 11:42:24第一章 认识开源硬件项目
接到数字引脚D2、D3、D4、D5和D6脚上。
图1-29 “模拟充电宝指示灯”电路原理图
图1-30 “模拟充电宝指示灯”搭建模拟图
6.编程实现:为了实现依次点亮5个LED,各个LED点亮时需要延时500毫秒,其程
序设计可使用顺序结构编程实现,也可以使用循环结构实现指示灯循环闪烁。我们可先
以顺序结构编程去实现,再以循环结构编程去实现。“模拟充电宝指示灯”程序流程图
(循环结构)如图1-31所示,程序如图1-32所示。
28 28
21X1359.indd 28 2021/3/11 11:42:271.3 开源硬件系统的组成及开发环境
图1-31 “模拟充电宝指示灯”程序流程图
图1-32 “模拟充电宝指示灯”程序
7.上传测试:用USB线将搭建好硬件电路的Arduino开发板与计算机连接,并在Mixly
软件中选对串口号,然后在Mixly界面中点击“上传”,将所编写的程序上传到Arduino
开发板上。待Mixly提示“上传成功”后,观察LED是否按实验目标实现。如果效果不明
显,则修改程序,使充电宝模拟指示灯效果更逼真。
项目实施
各小组根据项目选题及拟订的项目方案,结合本节所学知识,开展项目作品信息系统
2929
21X1359.indd 29 2021/3/11 11:42:27第一章 认识开源硬件项目
的搭建和实验调试,了解利用开源硬件进行项目开发的项目组成,体会利用开源硬件进行
设计、控制和创新的含义,并参照项目范例的样式,撰写相应的项目成果报告。
成果交流
各小组运用数字化学习工具,将所完成的项目成果,在小组或班级上进行展示与
交流,共享创造、分享快乐。
活动评价
各小组根据项目选题、拟订的项目方案、实施情况及所形成的项目成果,利用教科书
附录2的“项目活动评价表”,开展项目学习活动评价。
30 30
21X1359.indd 30 2021/3/11 11:42:27本章扼要回顾
本章扼要回顾
同学们通过本章学习,根据“认识开源硬件项目”知识结构图,扼要回顾、总结、归
纳学过的内容,建立自己的知识结构体系。
回顾与总结
3131
21X1359.indd 31 2021/3/11 11:42:29第一章 认识开源硬件项目
本章学业评价
同学们完成下列测试题(更多的测试题可以在教科书的配套学习资源包中查看),并
通过“本章扼要回顾”以及本章的项目活动评价,综合评价自己在信息技术知识与技能、
解决实际问题的过程与方法,以及相关情感态度与价值观的形成等方面,是否达到了本章
的学习目标。
1.单选题
(1)所谓开源,是指( ),自由分享,可以被公众使用。
A.公开源代码 B.公开硬件 C.自由发布 D.开放源动力
(2)开源硬件具有( )、低成本、标准化的特征。
A.开放性 B.制作精良 C.易加工 D.易分享
(3)开源硬件项目,一般由( )和输入组件、输出组件组成,形成运算控制
系统。
A.开源硬件 B.开源硬件开发平台 C.Arduino IDE D.Mixly
2.思考题
(1)开源硬件的特征是什么?
(2)影响开源硬件发展的主要原因是什么?
(3)开源硬件对技术发展和技术应用创新有什么意义?
3.情境题
(1)灯光信号在生活中经常被用到,如红绿灯用于交通控制、车头灯用于汽车行驶
等。在本章实验一和实验二的基础上,动手探究, 尝试改变程序的参数,使得LED的闪烁
效果适用于不同的场景。
(2)用几个电阻,多个分别能发红、黄、绿色光的LED,一块面包板,一块
Arduino开发板和若干连接线,尝试按以下要求设计一个基于开源硬件的交通红绿灯模拟
显示系统。
①分别对控制两种颜色或三种颜色的交通灯模拟系统进行硬件搭建。
②用Mixly或ArduBlock进行编程,分别实现控制两种颜色或三种颜色交通灯模拟系统
的功能。
32 32
21X1359.indd 32 2021/3/11 11:42:301.3 开源硬件系统的组成及开发环境
第二章
开源硬件项目的开发
流程与方案设计
数字化、智能化的技术使产品性能设计越来越人性化,让
我们的生活越来越便捷。智能调光夜灯、智能加湿器等智能生
活用品或装置在成为产品销售之前,通常都需要经过生产开发
流程,蕴含一般的开发技术和方法。随着开源硬件技术的发展
和全球创客运动的推动,人们越来越重视利用开源硬件及编程
语言工具进行创意设计与制作,并通过自己的创造与分享,共
同推进技术设计的应用和社会的发展。
本章将通过“基于开源硬件项目的开发规划”项目,进行
自主、合作、探究学习,让同学们体验基于开源硬件完成项目
的基本流程,知道常用开源硬件的功能与特征;懂得基于事物
特征的分析,设计基于开源硬件的作品开发方案,描述作品各
组成部分及其功能作用,明确各组成部分之间的调用关系;懂
得根据设计方案,选择恰当的开源硬件,搜索相关的使用说明
资料,审查与优化作品设计方案,从而将知识建构、技能培
养与思维发展融入运用数字化工具解决问题和完成任务的过程
中,促进信息技术学科核心素养达成,完成项目学习目标。
开源硬件项目开发的基本流程
开源硬件项目开发的创意策划
开源硬件项目开发的方案设计
3333
21X1359.indd 33 2021/3/11 11:42:32第二章 开源硬件项目的开发流程与方案设计
基于开源硬件的感应灯开发规划
项目范例
情 境
随着智能硬件技术的不断发展,产品的创新设计愈发丰富,从而改善和提升人们的生
活品质。在智能控制系统中,智能灯光系统是其子系统之一。智能灯光系统能够根据环境
光强度进行开启、关闭及自动调节,以实现自动化管理,实现节能环保。现在,我们以
简单的感应灯现实情境——“傍晚,校园路灯点亮;清晨,校园路灯熄灭”为例,利用
开源硬件,进行“基于开源硬件的感应灯开发规划”项目的探究学习活动。
主 题
基于开源硬件的感应灯开发规划
规 划
根据项目范例的主题,在小组中组织讨论,利用思维导图工具,制订项目的学习规
划,如图2-1所示。
图2-1 “基于开源硬件的感应灯开发规划”项目学习规划
探 究
根据项目学习规划的安排,通过调查、案例分析、文献阅读或网上资料搜索,开展
“基于开源硬件的感应灯开发规划”项目学习探究活动,如表2-1所示。
34 34
21X1359.indd 34 2021/3/11 11:42:34基于开源硬件的感应灯开发规划
表2-1 “基于开源硬件的感应灯开发规划”项目学习探究活动
探究活动 学习内容 知识技能
基于开源硬件 创意、设计、制作、 体验基于开源硬件完成项目的基
开源硬件项目开
的感应灯开发规 测试、运行的含义和在 本流程,知道常用开源硬件的功能
发的基本流程。
划 流程中的地位与作用。 与特征。
开源硬件项目开 项目选题、题目拟 懂得基于事物特征的分析,设计基
发的创意策划。 定、设计创意的策划。 于开源硬件的作品开发方案,描述作
学习基于开源 品各组成部分及其功能作用,明确各
项目功能需求分析、
硬件的感应灯项 组成部分之间的调用关系。
开源硬件项目开 功能组件设计、元器件
目开发方案设计 懂得根据设计方案,选择恰当的开
发的方案设计。 选型、方案优化、制订
源硬件,搜索相关的使用说明资料,
项目开发技术方案书。 审查与优化作品设计方案。
实 施
实施项目学习各项探究活动,进一步认识基于开源硬件的感应灯开发规划的重要性。
成 果
在小组开展项目范例学习过程中,利用思维导图工具梳理小组成员在“头脑风暴”活
动中的观点、建立观点结构图,运用多媒体创作工具(如演示文稿、在线编辑工具等),
综合加工和表达,形成项目范例可视化学习成果,并通过各种分享平台发布,共享创造、
分享快乐。例如,运用在线编辑工具制作的“基于开源硬件的感应灯开发规划”可视化报
告,可以在教科书配套学习资源包中查看,其目录截图如图2-2所示。
图2-2 “基于开源硬件的感应灯开发规划”可视化报告目录截图
3535
21X1359.indd 35 2021/3/11 11:42:35第二章 开源硬件项目的开发流程与方案设计
评 价
根据教科书附录2的“项目活动评价表”,对项目范例的学习过程和学习成果在小组
或班级上进行交流,开展项目学习活动评价。
项目选题
同学们以3~6人组成一个小组,选择下面一个参考主题,或者自拟一个感兴趣的主
题,开展项目学习。
1.基于开源硬件的危险警示灯开发规划
2.基于开源硬件的温馨小夜灯开发规划
3.基于开源硬件的电子琴开发规划
项目规划
各小组根据项目选题,参照项目范例的样式,利用思维导图工具,制订相应的项目
方案。
方案交流
各小组将完成的方案在全班进行展示交流,师生共同探讨、完善相应的项目方案。
2.1
开源硬件项目开发的基本流程
利用开源软硬件开发一个有趣的、实用的创意作品,一般需要经历从想法构思到具体
实现的过程。这些项目或是简单的个人手工制作作品,或是复杂的系统。当项目开发工作
量较大,需要通过团队、互联网开展规模化分工合作时,就要借助工程项目开发方法,制
订详细、具体的项目开发方案,有序推进项目开展。
从一个想法构思到自己动手实践,将想法予以实现,是一个体验创造、收获满足的过
程。不同目标、不同功能的开源项目作品,所使用到的元器件、硬件搭建的方法以及对应
功能实现的程序设计会有不同,但其开发的基本流程是相同的。
从工程学的角度看,每一个项目的开展都可以被划分为不同阶段。例如,当人们为了
36 36
21X1359.indd 36 2021/3/11 11:42:352.1 开源硬件项目开发的基本流程
解决一个复杂问题时,按时间顺序将问题分解为一个个子问题,然后进行“各个击破”,
这种策略被称为“生命周期法”。但是这种顺序严格的方法,在某些场合中灵活性不够,
开发时效性较差,因此一些新的工程项目开发方法应运而生,如快速原型法等。
开源硬件的项目开发通常采用快速原型法,一般需要经历作品的创意、设计、制作、
测试、运行的完整过程,可归纳为开发规划、硬件搭建、程序设计三大核心环节,如图
2-3所示。
图2-3 开源硬件项目开发的基本流程
开发规划环节包含创意和设计两个阶段,是项目开发思路的整理和表达,其目标是形
成具有创意,并且可以具体实现的项目方案,是项目开发的重要部分,决定了整个项目的
方向与质量。
制作、测试和运行属于项目实施的阶段,其目标是让项目方案变成具体的项目成果,
并使之达到最优化,是让纸面上的方案真正落地的重要步骤,也是对方案的检验、完善。
对于项目开发规划,一般根据实际的运行、迭代情况,会对前期设计方案进行修改,使项
目能朝着优化、可实现的方向前进。
探究活动
拓 展
生命周期法:生命周期法是信息系统最早使用的一种开发方法,至今仍在大中型系统
3737
21X1359.indd 37 2021/3/11 11:42:35第二章 开源硬件项目的开发流程与方案设计
项目开发中广泛使用。该方法假设信息系统有一个生命周期,就像其他任何有生命的机体
那样有一个开始、成熟、最终死亡的发展过程。传统的生命周期法是一个结构化的、正式
的系统开发方法,将系统开发过程划分为明确的各个阶段,每个阶段都有明确的任务,整
个开发过程是按顺序地一个一个阶段进行开发的。该方法还在信息系统专家和用户之间划
分了明确的分工。它将软件工程学和系统工程的理论与方法引入计算机系统的研制开发
中,按照“用户至上”的原则,采用结构化、模块化自顶向下对系统进行分析和设计。具
体来说,它将整个信息系统开发过程划分为独立的六个阶段,包括系统分析、程序设计、
系统测试、运行、维护和系统评估。这六个阶段构成信息系统的生命周期。
快速原型法:第一步是建造一个快速原型,实现客户或未来的用户与系统的交互,
用户或客户对原型进行评价,进一步细化待开发软件的需求。第二步是在第一步的基础上
开发客户满意的软件产品。具体来说,它将整个开发过程划分为需求分析、原型开发、原型评
价、最终系统设计和最终系统实现五大部分,如图2-4所示。
图2-4 快速原型法
在现代工业设计完整流程中,开源硬件项目开发中的创意、设计、制作、测试和运行
五个环节,实际属于快速原型法中的电子硬件原型开发的范畴。电子硬件原型会有更多的
迭代和反馈,直至产品系统设计完成。
2 . 1 . 1 创意
项目开发,要有创新意识、创新思维和创新能力。创新即创造新的理论、新的方法或
新的事物。所创造出来的新事物或新方法也可以称为有创意的事物或有创意的方法。开源
硬件项目开发的电路原型,为产品创新提供了实验模型,可通过“头脑风暴”的方式,利
用思维工具,对要开发的项目的想法与构思进行表达。
2 . 1 . 2 设计
设计是指对要开发的项目进行方案设计,包括项目需求分析和项目功能与组件的划
38 38
21X1359.indd 38 2021/3/11 11:42:362.1 开源硬件项目开发的基本流程
分。方案设计包括形成技术方案、核心模块选型。
项目在开发规划阶段需要回答两个问题:一是为了解决选题所蕴含的问题,需要做一
个怎样的作品;二是回答做这个作品应如何找出问题解决方案。综合来讲,就是需要站
在创作作品的角度,考虑所面对的问题和预想的功能以及在解决这些问题时所需要运用
的工具和方法。
2 . 1 . 3 制作
开源项目的制作,一般分为硬件搭建和程序设计两大部分。
1.硬件搭建
在开源硬件项目中,控制器和输入输出接口集成在开发板上,开发者将电子元器件通
过面包板连接,实现与开发板的通信,形成电路连接原型的过程,称为硬件搭建。
2.程序设计
程序设计是指基于开发板及其开发环境,使用程序设计语言实现功能的过程。如
Arduino开发板,可使用Arduino IDE 开发环境、第三方图形化编程工具(ArduBlock、Mixly
等)进行程序设计,将项目功能予以实现。程序设计需要反复调试,不断优化,以实现预
设的功能。
2 . 1 . 4 测试
对搭建好的硬件和编写完成的程序进行测试,并不断调整,使硬件电路能够正常工
作、程序正常运行,从而实现设计的功能。
一般地,测试结束后就能看到作品的原型了。对于不需要制作作品外壳的实验项目而
言,测试结束,项目制作就完成了。
2 . 1 . 5 运行
实验项目完成的作品原型,在成为完整的作品前,需要制作成电路板和相关部件一起
安装在外壳内,并在真实环境中使用运行,验证其功能的稳定性和实效性,同时根据运行
数据不断修改、完善项目设计,使其迭代发展。
观 察
观看教科书配套学习资源包“第二章\分析\基于开源硬件的感应灯”中“项目测试运
行效果”的视频文件,将观察结果填写到表2-2中。
3939
21X1359.indd 39 2021/3/11 11:42:36第二章 开源硬件项目的开发流程与方案设计
表2-2 感应灯项目功能分析表
观察内容 项目分析
观察到的效果:
功能效果
实现什么功能:
项目组件 由哪些组件组成:
应用场景 项目可应用于哪些场景:
作品做得怎样:
作品评价
还可以怎样改进:
项目实施
各小组根据项目选题及拟订的项目方案,结合本节所学知识,经历项目开发流程中创
意、设计、制作、测试、运行的整个流程,并体会其作用与含义。
1.创意:本项目选题的事物特征是什么?用什么创意方式实现?
2.设计与制作:本项目的总体组成、调用关系及其实现创意的原理及技术是什么?
3.测试与运行:本项目开发实验是否一步到位成功?是否经历测试和优化过程?
2.2
开源硬件项目开发的创意策划
创意策划,是指将用户从生活中萌发的想法、创意转化为项目开发的问题定义和可视
化结构组件的过程。创意策划包括项目选题的策划和项目构思的创意策划。
2 . 2 . 1 项目选题的策划
项目开发,创意是关键。创意源于生活,研发和创作的灵感也均来自生活,或是为了
提升生活品质,抑或是为了解决生活中的问题。如果我们使用某种策略、某种方式或某种
实物试图解决其中的一个问题,这其实就是我们创造力的体现。即使成果不一定都能转化
为普遍使用的产品,但也具有相当的创新意义。
选题即选择项目开发的作品主题并确定其名称,简单来说,就是要确定做什么和问题
是什么。开源硬件项目开发的创意,首先表现在选题上。
1.选题方向
开源硬件项目选题方向要考虑到以下四个方面:
40 40
21X1359.indd 40 2021/3/11 11:42:362.2 开源硬件项目开发的创意策划
(1)感兴趣。
选题应该选择自己感兴趣的方向和领域,这样制作效率和成功率更高,也更容易获取
满足感和成就感。
(2)有意义。
选题应该从生活出发,可以制作有趣的、解决问题的或可以改善生活品质的有意义的
作品,并在制作过程中同时学习和掌握某种知识和技能。注意不能选择危害人身安全或社
会安全等违法的主题。
(3)有新意。
选题应该考虑生活中的需要和社会发展的新趋势,从不同角度、运用不同的技术方
法,融合不同领域的知识确定选题方向。
(4)可行性。
选题要考虑实际条件,充分预计可能涉及的因素和困难,对其操作性和可行性进行估
算,以免浪费物力和人力,甚至危害到人身安全。
要实现选题创意,还需要多观察生活,从生活上的细微处考虑,多浏览同类产品的多
种设计,体验产品多元设计的创意。
2.题目拟订
为作品拟订一个好题目(名字),也是创意体现的一部分。题目表述可写实、可寓
意,但文字指向一定要具体。例如,智能除菌毛巾架、智能保温杯、智能加湿器等属于写
实名字,“点点通”(指纹锁)、“扫地宝宝”(扫地机器人)等属于寓意名字。
探究活动
讨 论
讨论以下开源硬件项目作品的题目与选题方向是否贴合。若不贴合,给出修改建议。
选题方向:智能玩具
作品题目:
(1)任你玩体感控制小车 (2)智能加湿器 (3)智能婴儿床铃
(4)iRobot (5)跳舞达人 (6)家庭交互式射击玩具
实 践
各小组根据自己的项目选题,组织讨论,为项目起名,并在组间交流。
2 . 2 . 2 项目构思的创意策划
开源硬件项目开发的创意策划,首先要围绕选题进行资料的查询和收集,包括文献资
料的查阅、同类产品的查阅和比较等;其次还需要实地调查和开展目标用户群的访谈,以
获取更多有关项目开发的信息和灵感;最后整理收集到的资料,并从各个方向进行设计构
4141
21X1359.indd 41 2021/3/11 11:42:36第二章 开源硬件项目的开发流程与方案设计
思和创意策划,具体如图2-5所示。
图2-5 开源硬件项目开发的创意策划
1.面向用户对象的创意
如今设计力和生产力越来越强,物质产品也愈加丰富,创意愈加重要。我们面向设计
的开发,将会趋向于关注用户的心理,从细微处着手。针对不同的使用人群作为创意设计
的切入口,是常用的方法。首先考虑产品将以哪一类人群为使用对象,这一类对象有什么
特点,如何针对他们设计创意。接着考虑是单一功能的产品设计,还是综合功能的产品设
计,是否有同类产品,如何做出创意。例如,盲人使用的智能拐杖、小学生书包智能运载
小车等都是面向对象的创意设计。
2.功能上的创意
项目设计要明确产品具体应用于什么场景,基于什么情境解决什么问题,与以往的产
品有什么不同,弥补了哪些不足,同样功能原理的产品还可以应用于什么情境。例如,基
于开源硬件项目的感应灯,其光控系统,可以用于楼道、校道,也可以用于植物光控室
等。用在不同场景时,项目系统组件的变换、型号的变更等都是创新。
3.形式上的创意
随着社会的发展和进步,人们对产品制作材料、产品造型和大小、色彩感觉等的品质
要求都在不断提升。这要求产品样式在设计上需要做出更多的创意,具备打动用户的元
素。这些打动用户的元素,可能是一个可爱的小按钮,也可能是外观造型的线条美感。这
些样式的设计,因为材料硬度和体积大小的不同,将在问题识别和需求分析方面影响开源
42 42
21X1359.indd 42 2021/3/11 11:42:432.2 开源硬件项目开发的创意策划
硬件项目的选型和电路布局。
4.技术上的创意
技术上的创意关联于项目开发本身使用的技术,包括电子硬件的技术、程序设计的技
术等。技术的进步和创意,往往会对产品有革命性的迭代发展。例如,共享单车、智能语
音模块控制的装置等。
根据设计创意的方向,对感应灯项目进行充分的想象和创意策划,可以衍生多个项目
的创意(图2-6),包括“会感光的心情小屋”“我们班的感光许愿树”“肉肉植物的光
控箱”“贴心的小夜灯”等。
图2-6 感应灯项目开发的创意策划
更多的感应灯项目,以及更综合的社会项目的设计,都需要我们发挥创意,通过团队
合作,做好策划设计与原型实验。
阅 读
iMagic是一款使用手机蓝牙遥控的智能灯具,其项目创意起源于对一个已有照明产品
的不满。开发者认为,能走进千家万户的无线LED智能照明产品应该价格优惠、简单实
用,并且具备丰富的个性化定制功能。在有了这个项目概念以后,他们通过一个简单的
4343
21X1359.indd 43 2021/3/11 11:42:54第二章 开源硬件项目的开发流程与方案设计
市场调研,确定了该想法具有一定可行性。最后,他们通过召集项目团队进行“头脑风
暴”,确定了产品的总体方案和技术实现的三个可能方向——分别是WiFi、蓝牙、ZigBee
-
(一种短距离、低功耗的无线通信协议)。至此,该项目已经从一个概念性的想法,变成
了后续可以不断讨论和完善、细化的方案了。
由此看来,创意是需要策划才能变得具体、可行。创意远期的目标可能无限宏远,
但近期目标,特别是小项目应该根植于解决真实问题或者需要满足的真实需求。
在这个过程中,调查和访谈就是了解真实问题和真实需求最直接、最常用的方法。而
情境分析技术则是访谈中比较高效的做法。所谓情境分析技术就是将用户置身在一个特定
的需求情境中,然后尝试运用所提出的项目创意解决这个需求,并在和用户反复互动中全
面了解用户的真正需求的一种方法。假设我们是他们中的一名队员,需要了解用户在卧室
中使用iMagic智能灯的需求,那么我们可能首先会以自己为调查对象,构想自己对智能灯
的功能要求,如闹铃响时灯光渐亮、入睡前变成黄光、阅读时变成白光、识别睡眠状态自
动关灯等一系列或简单或复杂的要求。
交 流
生活中哪些情境可利用感应技术开发相应的装置?与同学交流、分享彼此的想法,并
将其填写在表2-3中。
表2-3 功能情境创意对应表
应用场景(情境) 装置名 创意与功能描述
体 验
以小组为单位,完成以下实验。
实验:灯光信号设计控制与应用
1.实验目标:不同场景灯光信号的设计与应用。
(1)根据过春节的节日习惯,通过RGB全彩灯为家里的盆橘设计与制作“喜庆氛
围灯”。
(2)按交通规则,使用RGB全彩灯模拟设计一个十字环岛交通信号灯系统。
2.实验问题:
(1)“喜庆氛围灯”是体验艺术型灯光信号的设计与应用,效果由自己进行个性化
策划设计,属于开放性设计,可以根据效果进行原理分析和电路搭建,并编程控制调试实
现喜庆的感觉和氛围。
(2)“十字环岛交通信号灯”是体现实用型灯光信号的设计与应用,效果要符合生
活真实场景的需要,属于模板性结构化设计,可以根据效果进行原理分析和电路搭建,并
44 44
21X1359.indd 44 2021/3/11 11:42:542.2 开源硬件项目开发的创意策划
编程控制调试使其功能符合真实场景需求。
3.实验分析:(1)设计“喜庆氛围灯”,首先要考虑支持的LED个数、闪烁效果的
算法,接着考虑设计LED电路连接图。
(2)设计“十字环岛交通信号灯”,首先是调研观察,记录十字环岛的灯的个数、
亮灭顺序,然后分析其功能和逻辑规律,设计其程序算法。
4.实验器材:RGB全彩灯(共阴)4个、Arduino开发板1块、USB连接线1条、220 Ω
电阻12个、面包板1块。
5.硬件搭建:两个项目的电路连接都使用同一个电路,4个RGB灯电路连接原理图如
图2-7所示,电路搭建模拟图如图2-8所示。每个RGB灯除共阴极接到GND,其他各引脚
都需要串联一个220 Ω电阻,再连接到相应的数字引脚上。
图2-7 全彩灯电路连接原理图
图2-8 全彩灯电路搭建模拟图
4545
21X1359.indd 45 2021/3/11 11:42:57第二章 开源硬件项目的开发流程与方案设计
6.编程实现:请根据两种场景的需要,参考相应的流程图,设计程序。其中,“喜
庆氛围灯”的程序设计流程图如图2-9所示,“十字环岛交通信号灯”的程序设计流程图
如图2-10所示。
图2-9 “喜庆氛围灯”程序设计流程图
'
图2-10 “十字环岛交通信号灯”程序设计流程图
46 46
21X1359.indd 46 2021/3/11 11:42:572.3 开源硬件项目开发的方案设计
7.上传测试:编写好程序后,上传到Arduino开发板上,观察程序编写是否正确,效
果是否达到实验要求。如果结果不正确或效果不理想,需尝试修改程序,再次上传测试。
将测试效果填写入如表2-4所示的灯光信号的设计控制与应用实验记录表中。
表2-4 灯光信号的设计控制与应用实验记录表
多个LED(RGB)
结果分析
喜庆氛围灯 十字环岛交通信号灯
闪烁效果
实 践
各小组根据自己的项目选题,组织讨论,尝试使用手绘稿表达想法,然后利用思维导
图工具,将选题方向、题目拟订和创意表达等方面的内容呈现出来。
2.3
开源硬件项目开发的方案设计
开源硬件项目开发的方案设计,是从项目需求分析出发,为实现项目而进行的具体
化、可操作性强的文案设计,主要包括项目的功能需求分析、功能组件设计、元器件选
型、设计图样绘制和技术方案制订。
2 . 3 . 1 项目功能需求分析
产品原型的提出,经常是基于一个假设。这个假设,可能是美好的愿望,可能是一些
奇思妙想,在设计实现与生产之前,总会经历无数的分析论证和开发实验。创意策划之
后,就要进行项目功能需求分析。
项目功能需求分析就是对所开发的项目功能的需求进行分析。需求分析要进行问题识
别和分解,最后对问题进行梳理与合并。以感应灯项目为例,剖析其功能情境,我们可列
出需求分析和问题分析的识别框架,如表2-5所示。
4747
21X1359.indd 47 2021/3/11 11:42:57第二章 开源硬件项目的开发流程与方案设计
表2-5 感应灯项目需求分析与问题识别框架
功能情境 功能分析 问题识别和分解 问题梳理与合并
需要能够感知环境光线变化的组件。
当环境光线变弱到 控制系统能够感
设置当光线值减少到一定值时,确定触
一定程度的时候,灯 应光线值减少,控
发控制条件的光线阈值下限值。 寻找能够感知并测
会自动亮起。 制灯点亮。
明确如何点亮LED。 量环境光线强度变化
的电子元器件。
需要能够感知环境光线变化的组件。
当环境光线恢复到 控制系统能够感 测量并确定光线强
设置当光线值增加到一定值时,确定触
一定强度的时候,灯 应光线值的增加, 弱阈值触发范围。
发控制条件的光线阈值上限值。
会自动熄灭。 控制灯熄灭。 寻找能够感应人体
明确如何熄灭LED。
靠近和远离的电子元
器件。
当人体靠近作品 控制系统能够检 需要能够检测到人体靠近的组件。
如何控制LED的亮
的时候,灯会自动亮 测到人体靠近,控 设置当检测到人体靠近时,触发控制的
灭。
起。 制灯点亮。 条件,并点亮LED。
在光线强的条件下,
当人体远离作品 控制系统能够检 需要能够检测到人体靠近的组件。 人体靠近是否亮灯。
的时候,灯会自动熄 测到人体走远,控 当检测到人体远离时,触发控制的条
灭。 制灯熄灭。 件,并熄灭LED。
实 践
各小组根据相应的项目选题,组织讨论,参照范例,利用表格或思维导图工具,将功
能情境、功能分析、问题识别与分解以及问题的梳理与合并等相关内容呈现出来。
2 . 3 . 2 项目功能组件设计
根据问题识别框架,以及通过分析、梳理、合并形成的问题清单,对照开源硬件项目
的一般组成,需要划分和描述作品各部分的组成、功能作用,并设计要承担实现其功能的
组件。
1.功能组件设计需要解决的问题
(1)确定承担主控功能的平台。承担运算和控制功能的是开源硬件开发平台,可
根据项目的复杂程度、运算频率、功能便捷性等考虑能满足开发任务需求的具体类型
和型号。
(2)确定承担输入功能或输出功能的组件。例如,感应灯项目中,感知光线的传感
器承担输入信号功能,感应人体靠近或远离的传感器,也承担输入功能。
(3)确定输出信号的方法。例如,LED的颜色变化或闪烁模式。
(4)确定数字输入组件及检测信号类型。感应灯项目组件功能的划分如图2-11
所示。
48 48
21X1359.indd 48 2021/3/11 11:42:572.3 开源硬件项目开发的方案设计
图2-11 感应灯项目组件功能划分
2.组件搜索和探究
承担实现项目功能和问题解决的组件由哪些元器件组成,是一个元器件还是需要定制的
模块、小系统,是否需要反复查阅资料与筛选分析,这些都是制订方案前要搞清楚的问题。
组件搜索主要是选元器件或由元器件搭建而成的稳定的应用模块,主要根据核心
功能的需求分析,上网或查阅相应的资料,了解能够实现该功能的元器件名称、功能
特性、电气参数与产品价格。
在感应灯项目中,经上网查阅资料和讨论,功能组件选择如下:
开发板:Arduino UNO
输入组件:光敏电阻、固定电阻、人体红外传感模块
输出组件:LED
阅 读
元器件是构成电路的基本元素,是元件和器件的合称。元件指构成电路的单个制件,
可以在同类电路中调换使用,如电阻、电容、晶体管等;器件指电路中能独立起控制变换
作用的单元,一般由多个元件组成,例如集成电路、电子模块。
光敏电阻是利用半导体的光电导效应制成的一种电阻值随入射光的强弱而改变的电阻
器,又称为光电导探测器。常用的光敏电阻,当入射光强时,电阻减小,入射光弱,电阻
增大;也有特殊的光敏电阻,当入射光弱时,电阻减小,入射光强,电阻增大。常用的光
敏电阻如图2-12所示。
人体红外感应传感器是通过热释电效应将人体红外线所产生的温度转化为电荷电压的
一种传感器,又称热释电红外传感器,如图2-13所示。人体红外感应传感器在使用时,若
有人靠近,则其电荷电压经内部电路放大后输出高电平信号;若附近无人靠近,则输出低
电平信号。
图2-12 光敏电阻 图2-13 人体红外感应传感器
4949
21X1359.indd 49 2021/3/11 11:42:57第二章 开源硬件项目的开发流程与方案设计
实 践
上网搜索能够采集到光线强弱变化的电子元器件和感应人体靠近的电子元器件,并填
写表2-6。
表2-6 采集光线和感应人体的电子元器件列表
元器件名称 元器件外观照片 资料地址 关键参数 价格
工作电压:
引脚数:
正负极:
实现同一种功能的元器件,可能在型号、类别上都有所不同,这需要我们查阅、共享
资源,了解相关信息进行甄别,或一一进行实验探究。元器件的选型,可能在具体项目实
验探究的过程中随时调换,修正最初选择。
2 . 3 . 3 项目元器件选型
硬件通常有多种品牌和型号,我们需要在确定项目功能需求后,对所需要的元器件选
型做判断,再确定硬件清单。选择硬件,需要深入查阅资料,或参照工具书范例,或通过
开源硬件社区咨询行内人士,积累经验,以提高准确度,节省项目开支,避免资源浪费。
1.选定开发板
Arduino开发板有多款型号,其中Arduino UNO比较常用。在具体的开发实践中可根
据项目功能、创意作品的尺寸大小等因素,选择其他开发板,以及考虑是否需要选择扩
展板等。
2.选定元器件
(1)选定实现项目功能的核心元器件及数量。例如,光控选择光敏电阻,测距选择
超声波测距传感器或人体红外感应传感器等,这些都是实现感应灯项目的核心元器件。感
应灯项目的核心元器件及其功能实现如表2-7所示。
50 50
21X1359.indd 50 2021/3/11 11:42:582.3 开源硬件项目开发的方案设计
表2-7 感应灯项目功能实现对应表
功能需求分析 选型分析 实现分析
能够感知并测量环境光 需要一个能够采集到光线强弱变化的电子元
了解光敏电阻的工作电
线强度变化的电子元器 器件——光敏传感器(光敏电阻)。
压与工作电流。
件。当光线信息到达一定
光照强度大,光敏电阻小,流过的电流大; 在电路中需要固定电阻
条件的时候,元器件内部
光照强度小,光敏电阻大,流过的电流小。 串联,要计算其电阻值。
数值会发生变化。
了解光敏电阻的感光数
对比检测距离的传感器,选择感知人体的
值变化范围。
能够感应人体接近和离 传感器。
了解人体感应传感器的
开的元器件。 人体进入感应范围,输出高电平;人体离开
感应角度范围。
感应范围,输出低电平。
(2)选择支持项目功能实现的其他元器件及数量,如电阻、电容、LED、杜邦线、
面包板等。
(3)计算相关电阻的参数。一般光敏电阻在无光时,电阻大于20 kΩ;在有光时,
小于1 kΩ。为了能使感应灯项目中R 上有明显的电压变化,选择与无光时光敏电阻量级相
1
当的10 kΩ作为分压电阻。而在LED与R 串联的支路中,我们可以选择红色LED。红色LED
3
5-1.8
的工作电压约1.8 V,工作电流一般为15 mA,根据欧姆定律,其限流电阻R =
3 15
=213.3 Ω。因此,我们可以取最接近的220 Ω电阻作为选用电阻。该限值电阻依然可让其
他颜色LED正常工作,但亮度会有所变化。
观 察
观察感应灯项目使用到的元器件的尺寸、外观以及元器件参数等,将所获取的信息或
疑问记录下来,填入表2-8中。
表2-8 感应灯项目中的元器件清单
序号 元器件 数量 备注 观察记录
1 开发板:Arduino UNO 1
2 R:电阻10 kΩ 1 若干备用
1
3 R:光敏电阻(5528) 1 若干备用
2
4 R:电阻220 Ω 1 若干备用
3
5 LED:3 mm(直径) 1 若干备用,颜色不限
6 人体红外感应模块:HC-SR501 1
7 面包板(400孔) 1
8 杜邦线(公对公) 若干
5151
21X1359.indd 51 2021/3/11 11:42:58第二章 开源硬件项目的开发流程与方案设计
2 . 3 . 4 项目设计图样绘制
1.绘制电路原理图
电路原理图,是搭建电路之前的“建筑蓝图”。电路图一般由三部分组成,分别是元
器件、连线和参数。常用元器件包括电源、电阻、电容、LED、电位器、光敏电阻、扬声
器等。连线是将各元器件按电路示意的规则连接在一起,形成正常工作的电路。参数是指
在电路图中各元器件所标记的数据,比如电阻的阻值、电容的容值、电池的电压等。绘制
电路原理图,需要熟悉各元器件的标准画法,需要根据功能需求设计。
实 践
1.查看各元器件与Arduino开发板所连接的引脚,根据观察结果,按各个元器件的绘
制方式及绘制规范,分别绘制LED电路和光敏电阻感应电路,如图2-14所示为感应灯项目
的电器原理图。
图2-14 感应灯项目电路原理图
2.观察光敏电阻在遮光和不遮光两种情况下LED的状态变化。
感应灯项目电路控制原理是通过将一个受光强影响的信号电压和一个受人体红外线影
响的信号电压转变为二进制数据,再通过开发板中的程序判断其是否达到控制要求,并输
出相应LED指示的过程。具体为:
(1)传感电路的一部分通过光敏电阻与固定电阻串联分压,将光强变化通过光敏电
阻转化为R 两端的电压变化。开发板通过不断采集“模拟转数字”接口A0上R 两端变化的
1 1
电压数据,再转化为计算机可识别的二进制数据。
(2)传感电路另一部分通过人体红外感应传感器中的人体红外线热电效应功能不断
判断传感器周围是否有人存在,并以高低电平的形式传输到开发板。然后,开发板再将光
强信号与人体信号进行综合判断,得出符合控制要求的灯光控制命令。
(3)控制电路部分通过开发板的数字端口D13作为受控电源,与LED及其限流电阻R
3
组成串联电路,并由内部程序控制D13的输出电压大小。当D13被设定为高电平时,端口
电压为5 V,LED两端将达到工作电压并发光。当D13被设定为低电平时,端口电压为低电
平时,LED两端电压为零并熄灭。
52 52
21X1359.indd 52 2021/3/11 11:42:582.3 开源硬件项目开发的方案设计
讨 论
上网搜索资料,将常见的电路元器件名称、用途、符号等补充到表2-9相应的单元格
内,并在小组内讨论各元器件之间的区别。
表2-9 常见电路原理图符号
元器件名称 用途 元器件符号(美式) 元器件符号(欧式)
电阻 阻碍电流
电容(不带极性) 临时储存电荷
电容(带极性) 临时储存电荷
发光二极管(LED) 指示与照明
电池
2.绘制电路搭建模拟图
在面包板上的实验项目,如果需要转化为印制电路板的走线,可以使用电路图制作软
件(如Fritzing软件)绘制电路搭建模拟图(也称为电路原型图)进行转化。感应灯项目的电
路搭建模拟图如图2-15所示。
图2-15 感应灯项目电路搭建模拟图
体 验
1.参照图2-14,尝试绘制各小组相应项目的电路原理图。
2.Fritzing是电子设计绘图软件,使用“拖拉”方式即可完成复杂的电路设计,支持
开源硬件项目电路搭建模拟图的绘制。上网搜索Fritzing软件,下载安装后,模仿图2-15完
成电路搭建模拟图,并按照相应的项目选题完成电路搭建模拟图。
5353
21X1359.indd 53 2021/3/11 11:42:58第二章 开源硬件项目的开发流程与方案设计
3.制作功能对应表
根据功能实现的逻辑关系,制作其功能对应表。感应灯项目功能对应表如表2-10所示。
表2-10 感应灯项目功能对应表
光线 人体红外 灯
强 人靠近 不亮
弱 人靠近 亮
强 人离开 不亮
弱 人离开 不亮
思 考
想象感应灯闪烁方式的变化进行思考,然后在下框中列出功能与灯闪烁的对应方式。
4.绘制程序设计流程图
根据功能实现的逻辑关系,绘制程序设计流程图,如图2-16所示。
图2-16 感应灯项目程序设计流程图
交 流
上网搜索流程图符号的表示方法,围绕小组的项目选题和功能策划,与同学交流绘制
程序设计流程图。
54 54
21X1359.indd 54 2021/3/11 11:42:592.3 开源硬件项目开发的方案设计
2 . 3 . 5 项目技术方案制订
在完成了项目功能需求分析、功能组件设计、元器件选型、设计图样绘制后,最
后根据分析和技术解决方案,制订项目开发的技术方案书。方案书的内容模板可参照
表2-11。
表2-11 开源硬件项目开发技术方案书
项目名称
项目背景:
使用人群:
功能定位:
项目描述
情境创意:
要解决的问题:
附:创意策划的思维导图
项目负责人:
项目合作与分工 成员:
分工:
项目选题与创意策划阶段:
项目开发技术方案设计阶段:
开发进度管理
项目开发实验与测试阶段:
项目运行阶段:
问题识别 技术实现
电路图:
硬件搭建
实现方案
程序设计流程图:
程序设计
硬件清单
从草拟技术方案书,到项目实施,即从写到做,会有一个反复修改、迭代实现的过程。
5555
21X1359.indd 55 2021/3/11 11:42:59第二章 开源硬件项目的开发流程与方案设计
项目实施
各小组根据项目选题及拟订的项目方案,结合本节所学知识,领会项目事物情境特征
与功能实现的对应关系,理解并描述作品各组件及其对应组成部分间的数据处理和调用关
系,并参照项目范例的样式,撰写相应的项目成果报告。
成果交流
各小组运用数字化学习工具,将所完成的项目成果,在小组或班级上进行展示与交
流,共享创造、分享快乐。
活动评价
各小组根据项目选题、拟订的项目方案、实施情况及所形成的项目成果,利用教科书
附录2的“项目活动评价表”,开展项目学习活动评价。
56 56
21X1359.indd 56 2021/3/11 11:42:59本章扼要回顾
本章扼要回顾
同学们通过本章学习,根据“开源硬件项目的开发流程与方案设计”知识结构图,扼
要回顾、总结、归纳学过的内容,建立自己的知识结构体系。
回顾与总结
5757
21X1359.indd 57 2021/3/11 11:43:00第二章 开源硬件项目的开发流程与方案设计
本章学业评价
同学们完成下列测试题(更多的测试题可以在教科书的配套学习资源包中查看),并
通过“本章扼要回顾”以及本章的项目活动评价,综合评价自己在信息技术知识与技能、
解决实际问题的过程与方法,以及相关情感态度与价值观的形成等方面,是否达到了本章
的学习目标。
1.单选题
(1)开源硬件项目开发的基本流程是( )、设计、制作、测试和运行。
A.创意
B.创造
C.创新
D.调研
(2)设计创意策划,可以面向用户对象设计创意,也可以在( )、形式上和技
术上设计创意。
A.功能上
B.使用上
C.艺术上
D.流程上
(3)基于开源硬件的项目开发规划在功能需求分析之后,要进行功能组件设计、
( )、设计图样绘制和技术方案制订。
A.元器件选型
B.结构分析
C.流程图绘制
D.撰写计划
2.思考题
我们可以通过智能设计对生活做哪些改变?哪个是你最想亲手设计实现的?谈谈你的
想法和计划。
3.情境题
(1)如果要制作一个能够监测煤气泄漏的自动报警器,可以使用哪些元器件来制
作?制订出该项目开发设计方案书。
(2)我国西部地区土壤和空气各有什么特点?对生活带来什么影响?我们可以开发
什么项目来解决和改善生活?自拟题目,据此做一个开源硬件项目的开发规划设计方案。
58 58
21X1359.indd 58 2021/3/11 11:43:022.3 开源硬件项目开发的方案设计
第三章
开源硬件项目的制作
“纸上得来终觉浅,绝知此事要躬行。”不经过动手实验,
就不知道哪些创意在技术上可以实现,哪些创意是自己还无法实
现或暂时用当下已有的技术还不能实现的。因此,我们需要根据
实际情况及时调整创意、修改电路设计、改变硬件搭建、更改程
序、反复调试等。开源硬件的项目开发,是一个迭代设计、迭代
修改、不断完善的过程。简单的开源硬件项目,一般只要迭代几
次即可完成;复杂的开源硬件项目,可能迭代数十次仍然未能圆
满解决问题,还需要寻找援助,对功能需求进一步地调整。
本章将通过“基于开源硬件项目的制作”项目,进行自
主、合作、探究学习,让同学们初步学习如何根据设计方案,
选择恰当的开源硬件,搜索相关的使用说明资料,审查与优化
作品设计方案;了解作品制作过程中各种设备与组件的安全使
用规则和方法,根据设计方案,利用开源硬件、相关组件与材
料,完成作品制作;利用开源硬件的设计工具或编程语言,实
现作品的各种功能模块,并初步体验测试、运行作品的数据采
集、运算处理、数据输出、调控执行等各项功能,优化设计方
案,从而将知识建构、技能培养与思维发展融入运用数字化工
具解决问题和完成任务的过程中,促进信息技术学科核心素养
达成,完成项目学习目标。
项目作品的硬件搭建
项目作品的程序设计
项目作品的功能测试与运行
5959
21X1359.indd 59 2021/3/11 11:43:04第三章 开源硬件项目的制作
基于开源硬件的感应灯制作
项目范例
情 境
一般而言,造物从拆物开始。对于各种感受环境光线、环境声音、人体感应等信息的
灯光控制系统,我们是否思考过这种灯光控制系统安装在哪里,内部结构怎样,主要由哪
些元器件组成?现在,我们可以按照感应灯项目的规划和技术方案,动手制作感应灯,完
整体验开源硬件项目的开发过程。
主 题
基于开源硬件的感应灯制作
规 划
根据项目范例的主题,在小组中组织讨论,利用思维导图工具,制订项目学习规划,
如图3-1所示。
图3-1 “基于开源硬件的感应灯制作”项目学习规划
探 究
根据项目学习规划的安排,通过调查、案例分析、文献阅读或网上资料搜索,开展
“基于开源硬件的感应灯制作”项目学习探究活动,如表3-1所示。
60 60
21X1359.indd 60 2021/3/11 11:43:06基于开源硬件的感应灯制作
基于开
源硬件的感应灯制作
表3-1 “基于开源硬件的感应灯制作”项目学习探究活动
探究活动 学习内容 知识技能
计算机辅助设计工具
了解计算机辅助设计工具软件。
软件。
初步学习如何根据设
探究计算机辅助设计工具软件的操 计方案,选择恰当的开
电路设计与仿真。
作与范例。 源硬件,搜索相关的使
项目作品的 用说明资料,审查与优
硬件搭建的器材。 了解常用元器件的功能和使用方法。
硬件搭建 化作品设计方案。
了解作品制作过程中
硬件搭建的方法。 了解各组件设备的搭建规则和方法。
各种设备与组件的安全
硬件搭建的测试工具。 了解电路测试的工具和使用方法。 使用规则和方法。
硬件搭建的安全防护。 了解硬件搭建的安全防护事项。
使用图形化编程工具进行程序设
用图形化的编程工具 根据设计方案,利用
计,体验和探究算法及参数的调整对
编程。 开源硬件的设计工具或
项目作品的
组件执行的运算处理。
编程语言,实现作品的
程序设计
各种功能模块,完成作
用文本代码编程工具 了解文本代码编程工具的语法规则、
品的制作。
编程。 流程算法和功能代码语句的使用。
初步体验根据设计方
项目作品测试。 知道项目作品测试的方法。
案,测试、运行作品的数
项目作品的
据采集、运算处理、数据
体验项目作品在真实环境运行、反
功能测试与运
输出、调控执行等各项功
项目作品运行。 馈和调控执行的情况,修改、优化和
行
能,优化设计方案。
完善设计方案。
实 施
实施项目学习各项探究活动,进一步体验和探究基于开源硬件的作品制作。
成 果
在小组开展项目范例学习过程中,利用思维导图工具梳理小组成员在“头脑风暴”活
动中的观点,建立观点结构图,运用多媒体创作工具(如演示文稿、在线编辑工具等),
综合加工和表达,形成项目范例可视化学习成果,并通过各种分享平台发布,共享创造、
分享快乐。例如,运用在线编辑工具制作的“基于开源硬件的感应灯制作”可视化报告,
可以在教科书的配套学习资源包中查看,其目录截图如图3-2所示。
6161
21X1359.indd 61 2021/3/11 11:43:06第三章 开源硬件项目的制作
图3-2 “基于开源硬件的感应灯制作”可视化报告目录截图
评 价
根据教科书附录2的“项目活动评价表”,对项目范例的学习过程和学习成果在小组
或班级上进行交流,开展项目学习活动评价。
项目选题
同学们以3~6人组成一个小组,选择下面一个参考主题,或者自拟一个感兴趣的主
题,开展项目学习。
1.基于开源硬件的危险警示灯制作
2.基于开源硬件的温馨小夜灯制作
3.基于开源硬件的语音控制灯制作
项目规划
各小组根据项目选题,参照项目范例的样式,利用思维导图工具,制订相应的项目
方案。
方案交流
各小组将完成的方案在全班进行展示交流,师生共同探讨、完善相应的项目方案。
62 62
21X1359.indd 62 2021/3/11 11:43:073.1 项目作品的硬件搭建
3.1
项目作品的硬件搭建
在开源硬件项目作品方案制订完成之后,我们需要利用合适的硬件器材按照一定的步
骤将作品搭建完成。
3 . 1 . 1 硬件搭建的器材
硬件搭建的器材有很多,包括搭建工具、元器件等。只有了解并选择合适的硬件器
材,才可以高质量完成开源硬件项目作品的制作和研发。
1.常用元器件
(1)LED。
在电子类项目中,LED是实验中最常用的元器件。选择LED,主要从外观和发光颜
色、极性、工作电压和电流等方面考虑。
①外观和发光颜色:LED有直插式(图3-3),也有贴片式。直插式LED的塑料外壳通
常是圆柱形的,其大小尺寸用圆柱的直径表示,例如直径5 mm、8 mm。LED塑料外壳有的
透明,有的有色,外壳透明的LED有发单色光的,也有发其他光的,如“白发白”“白发
红”“白发彩”等。其中,“白发彩”LED又叫RGB LED。外壳有色的LED,其外壳是什
么颜色就发什么颜色的光,方便使用者辨识。也就是说,使用者可以根据颜色和直径大小
需要选择LED。
图3-3 直插式 LED的外观和颜色
探究活动
查 阅
1.上网查阅直插式LED的型号、封装尺寸等的表述方式和含义。
2.上网查阅贴片式LED的外观、型号、封装尺寸等的表述方式和含义。
②极性:LED是一种会发光的二极管,具有单向导电性。在如图3-4所示的LED中,长
6363
21X1359.indd 63 2021/3/11 11:43:07第三章 开源硬件项目的制作
脚为正极,短脚为负极。但有一些引脚切齐的LED不好判断,其正、负极需要通过LED外
壳边缘缺边的一侧引脚(表示负极)判断。若正、负极接反,LED不会发光。
图3-4 LED的正负极
③工作电压、工作电流:不同颜色的LED的工作电压不同。例如,红色LED的工作电
压是1.8 V,白色LED的工作电压是3~3.4 V之间。不同颜色的LED不能直接并联,否则可
能导致有些亮而某些不亮。LED连接在电路时,需要串联一个电阻,以调节通过LED的电
流,防止LED因电流过大而被烧毁。
实 践
准备一个纽扣电池、一块面包板、一个220 Ω电阻、若干种颜色的LED。测试LED的
颜色和亮度,并注意观察正接和反接时的实验现象。仿照图2-14中LED与电阻组成的串联
电路,观察不同工作电压的LED在相同限流电阻下亮度的变化。
(2)电阻。
电阻也是电子制作中最常用的元器件,可分为直插式和贴片式。如图3-5所示是直插
式电阻。
图3-5 各式各样的直插式电阻
①电阻参数:电阻有额定功率和电阻值两个参数。电阻的尺寸与功率有关。一般而
言,电阻尺寸越大其功率也越大。因此在选择电阻时应尽量考虑尺寸大小及其功率之间的
关系,避免其“局部发热”对电路的影响。
②色环电阻:在小功率电阻上常以不同颜色的条纹来表示阻值大小,通常称为“色环
64 64
21X1359.indd 64 2021/3/11 11:43:083.1 项目作品的硬件搭建
电阻”。色环电阻数值读取方法如图3-6所示。其中,在四道色环电阻中,第一道色为十
位数,第二道色为个位数,第三道色为乘数,第四道色为误差率。
图3-6 色环电阻数值读取方法
例如,图2-14中的两个电阻,R 为10 000 Ω,R 为220 Ω。若实物为1%误差率的四色
1 3
环电阻,则R 的色环标记从左到右依次为“棕-黑-橙-棕”,R 的标记为“红-红-棕-
1 3
棕”;若实物为1%误差率的五色环电阻,则R 标记为“棕-黑-黑-红-棕”;R 标记为
1 3
“红-红-黑-黑-棕”。
其他常用元器件有蜂鸣器、数码管、LED显示屏、红外线传感器、超声波传感器等。
思 考
先根据色环电阻数值的读取方法,观察感应灯项目中所用的电阻,读出并记录其电阻
值;再根据相应的项目选题,选择和计算要用到的电阻个数和阻值,并填入表3-2中。
表3-2 所用色环电阻情况表
图片 阻值 个数
6565
21X1359.indd 65 2021/3/11 11:43:09第三章 开源硬件项目的制作
2.硬件搭建工具
(1)面包板。
电子电路原型的制作,可以利用面包板进行硬件搭建,从而开展电路实验。电路的硬
件搭建就是把相关元器件的引脚按一定规则连起来,形成电流回路。电路原型是根据项目
功能设计的线路,若要制成成品,还需制成电路板。电路板是重要的电子部件,是电子元
器件的支撑体,是电子元器件线路连接的提供者。
基于面包板的电路原型的快速搭建,是实验室电路搭建的技能基础。常见面包板有
400孔(图3-7)和800孔。
面包板是专为电子电路的无焊接实验设计制造的,板子正面有许多小孔,孔里面有金
属片,每个金属片在内部是按顺序连接的。把元器件按照内部通断的连接关系,将元器件
插到小孔里面,就能组建成电路。
①电源和地线:面包板的最上部和最下部分别有两条平行走向的金属条,分别设置为
电源线(红色)和地线(黑色)。
②连通:标注了电源(+)和地线(-)的两排孔横向连通,中间两排5孔是纵向连通
的,如图3-7所示。
图3-7 400孔面包板
在稍大的面包板上,电源线和地线会被分割为几个部分,一方面可以在每个部分设置
不同的电源值;另一方面也可以缩短连线的长度,使原型系统的走线更美观。
③跳线:在整个面包板只使用一种电源电压的情况下,通过一个跳线就可以很方便地
将各部分连接为整体。
(2)杜邦线。
杜邦线是将元器件通过面包板跟开发板连接的“缝纫线”,可以通过插针与插孔实现元
器件间的连接。有插针一端为公,插孔一
端为母,两端都是插针的称为公对公,两
端都是插孔的称为母对母,一端为插针、
一端为插孔的称为公对母。如图3-8所示
是常见的公对公和母对母杜邦线。杜邦线
有长短之分,可以适应不同的需要。
图3-8 杜邦线
66 66
21X1359.indd 66 2021/3/11 11:43:093.1 项目作品的硬件搭建
(3)电源。
开源硬件项目的电源可以为电路供电,包括各种型号的纽扣电池、碱性电池等。基于
开发板Arduino UNO的硬件项目可以通过以下三种方式供电:
①外部直流电源通过电源插座供电。
②电池连接电源连接器的GND和VIN引脚供电。
③USB(图3-9)接口直接供电。处于电路原型开发阶段的项目,一般采用USB接口直
接供电。
图3-9 各类不同的USB接口
3 . 1 . 2 硬件搭建的步骤
以感应灯项目的硬件搭建为例,具体搭建方法和步骤如下:
1.准备器材
按技术设计方案的感应灯项目电路搭建模拟图(见图2-15)将所需的元器件和搭建工
具放置在工作桌上。工作桌最好是平整的长条形的。具体的器材如下:
(1)元器件:一个220 Ω电阻(R )、一个10 kΩ电阻(R )、一个5528光敏电阻
3 1
(R )、一个人体红外感应传感器和一个LED。
2
(2)工具:一块400孔面包板、若干公对公杜邦线、一根USB-B线。
2.开始搭建
准备好器材之后,我们可以依照以下步骤搭建,搭建后的实物图如图3-10所示。
R LED
2
R
3
R
1
人体红外感应
传感器
图3-10 感应灯硬件搭建实物图
6767
21X1359.indd 67 2021/3/11 11:43:10第三章 开源硬件项目的制作
(1)将光敏电阻R 的两个引脚分别插在面包板同一列中的“+”级横向插孔和纵向
2
插孔。
(2)将电阻R 一引脚与R 插在同一列纵向插孔中,另一引脚插在“-”级横向插孔
1 2
中,使其连通成串联关系。
(3)将LED插在面包板中,负极插到面包板“-”极横向插孔中。
(4)将电阻R 插在面包板中间两列孔中,其中一个引脚跟LED的正极插在同一列插
3
孔中。
(5)将人体红外感应传感器的OUT引脚用公对母杜邦线连接Arduino开发板的D3引脚。
(6)用杜邦线按照电路原理图(见图2-14)将各元器件连接到Arduino开发板相应的
引脚上。
(7)检查各接口的松紧,松动的可反复摁紧。
3.通电试验
将USB线的一端连接上主控板后,再将另一端连接到计算机。
3 . 1 . 3 硬件搭建的安全防护
项目范例电路原型的实验搭建,虽未涉及强电操作、引脚焊接、电路板印刷等,但搭
建过程也不能掉以轻心,以免发生意外。在现实生活中,面向真实世界的开源硬件项目设
计,在用电、用设备器具时都必须建立安全意识和规程意识,避免人体触电、灼伤、割伤
等,同时注意保护设备、工具、元器件不被损坏。以下是实验电路搭建时要注意的安全防
护事项:
(1)注意连接方法,防烧毁、防短路。要小心细致认清开发板及元器件的正负极,
防止电源接反烧毁元器件;要小心细致阅读电路图,以免漏接元器件,导致电流过载,烧
毁元器件;要小心注意元器件的连接方法,防止短路。
(2)注意工具器件摆放,防压、防跌落。要清理和摆放好搭建工具桌桌面,保证器
具摆放妥当,以免开发板、电子模块等跌落后造成电路断裂或外壳损坏;对于液晶屏、触
摸屏等器件要防压、防划伤;将饮水器皿放置在远离电路的位置,以免打翻浸湿器件、损
坏器件,甚至引起触电等。
(3)遵守操作规程,防受伤、防损毁。认真遵守各种设备、工具的使用规程和元器
件使用方法。例如,必须断电后才进行电路搭建,正确使用万用表的挡位,不用手强拧舵
机摇臂等,以免不当使用,器具遭损坏。
项目实施
各小组根据项目选题及拟订的项目方案,结合本节所学知识,开展项目的硬件搭建。
1.认识并动手尝试,体验常用元器件通过杜邦线与面包板连接成电路的过程,了解
电路图与电路实体之间的关系。
68 68
21X1359.indd 68 2021/3/11 11:43:103.2 项目作品的程序设计
2.阅读并熟记硬件搭建过程的安全防护事项,组内轮流操作,相互观察与监督,注
意防范违规操作。
3.2
项目作品的程序设计
在开源硬件项目开发中,项目作品程序设计的过程一般为:围绕项目需求分析问题,
设计算法;利用编程工具为项目中各功能模块编写程序,并通过调试运行,实现作品的各
项功能。编程工具是呈现算法、实现项目功能的平台,主要有图形化编程工具和文本代码
编程工具两种。
3 . 2 . 1 用图形化编程工具编程
图形化编程工具有很多种,我们以感应灯项目为例,采用Mixly图形化编程软件进行程
序设计。
1.测试感光数据的阈值
感应灯项目中灯的亮灭是通过光敏电阻感知环境光的强弱来控制的,即受到从A0获取
的感光数据这一条件的约束。因此,需要利用串口监视器来测试感光数据如何随环境光变
化,从而明确其判断条件。
打开Mixly软件,使用“串口”模块类
中的“打印(自动换行)”代码块,将从
A0获取的感光数据输出到串口监视器中显
示,为避免显示时的闪烁,再加一条延时 图3-11 “模拟串口打印”程序
代码块,如图3-11所示。
选择好Arduino开发板的型号和计算机所分配的串口号,将程序上传到Arduino开发
板。上传成功后,打开串口监视器,可以看到所监测到的感光数据,如图3-12所示。
光线强时的监测值 光线弱时的监测值
图3-12 串口监视器监测到的感光数据
6969
21X1359.indd 69 2021/3/11 11:43:12第三章 开源硬件项目的制作
探究活动
实 践
利用串口监视器监测当前环境的光线值,并通过遮光和不遮光方式实验观察串口监视
器中呈现的感光电压数据变化,确定感光数据的阈值及对LED控制的条件。
2.利用Mixly编写实现功能模块的程序
当遮挡射入光敏电阻R 的环境光线时,从模拟引脚A0读取的传感器的值将增大,否
2
则,读取的值会减小。经过反复试验,用最大值和最小值之差取中间值的方法确定光线强
弱的临界值,比如430。
按表2-10所示的感应灯项目功
能对应表及图2-16所示的感应灯项
目程序设计流程图,根据光线弱且人
靠近时灯亮起的逻辑设计,感应灯项
目可以利用“如果……执行……否
则……”的分支结构编写程序:如果
A0读取到的值大于430,同时人靠近
或离开,D13的灯都不亮;当A0读取
到的值小于或等于430时,人靠近,
灯会亮10秒,人离开后,灯不会亮。
参考程序如图3-13所示。
图3-13 感应灯项目参考程序
体 验
结合自选项目主题,用Mixly或ArduBlock编写程序,实现功能。
3 . 2 . 2 用文本代码编程工具编程
由于Mixly图形化编程软件可以由计算机自动生成代码,当对图形化程序逐步熟悉,对
Arduino编程语言——C语言加深理解后,我们可以直接使用代码进行编程,也可以利用图
形化程序的参考代码对其进行优化,改写成较简洁的代码程序。
1.Arduino IDE程序的基本组成
一个Arduino IDE程序主要包括两部分,即设置函数setup( )和循环函数loop( )。
(1)设置函数setup( )。
setup( )函数主要用于放置变量的初始化等设置性的内容以及只运行一次的程序代码,
具体形式为:
70 70
21X1359.indd 70 2021/3/11 11:43:133.2 项目作品的程序设计
void setup( )
{
// 放置设置代码,只运行一次
}
(2)循环函数loop( )。
loop( )函数中放置主程序代码,这些代码将无限次重复运行,具体形式为:
void loop( )
{
// 主程序代码,无限次重复运行
}
2.程序结构
在Arduino IDE的setup( )函数和loop( )函数中所放置的程序代码,都遵循C语言的规范,
我们可以运用C语言的编程规范来编写代码。
C语言的程序结构通常有顺序结构、分支结构和循环结构三种。
(1)顺序结构。
顺序结构是最基本的程序结构。在顺序结构中,程序按照语句的先后顺序依次执行。
(2)分支结构。
在程序设计的过程中,经常需要根据当前的计算结果做出判断,以决定下一步的操
作,这时就会用到分支结构。
分支结构有两种语句:if语句和switch…case语句。
if语句是最常用的选择结构实现方式,当给定的表达式为真时,就会运行其后的语
句。if语句最简单的形式为:
if(表达式)
{语句;}
(3)循环结构。
循环结构就是反复执行某一部分的操作。循环结构包括while循环、do…while循环和for
循环三种。其中for循环使用比较灵活,故应用广泛。for循环的一般形式为:
for(表达式1;表达式2;表达式3)
{语句;}
例如,for(i=0;i<5;i++){a=a+1;}表示在0到4的范围内运行循环体中的语句,即循环5次。
3.感应灯项目程序代码
在Arduino IDE中,编写感应灯项目的程序比较简单,只要在设置函数setup( )中将
LED连接Arduino开发板上的引脚设置为输出模式,同时在循环函数loop( )中使用分支结
构即可。
7171
21X1359.indd 71 2021/3/11 11:43:13第三章 开源硬件项目的制作
参考程序代码如下:
void setup( )
{
pinMode(13, OUTPUT);
pinMode(3, INPUT);
}
void loop( )
{
if (analogRead(A0) > 430)
{ digitalWrite(13,LOW);}
else
{ if (digitalRead(3))
{ digitalWrite(13,HIGH);
delay(10000);}
else { digitalWrite(13,LOW); }
}
}
在源代码程序中,出现了analogRead( )和digitalWrite( )函数,这些都属于Arduino库函
数。analogRead( )函数用于读取模拟端口数值,digitalWrite( )函数用于设置数字端口高、低
电平的输出。
实 践
参照项目范例,在Arduino IDE中,编写“基于开源硬件的感应灯项目开发”程序,
并编译上传。
实 验
以小组为单位,完成以下实验。
实验:对比感应方式不同的传感器
1.实验目标:对比使用不同的传感器触发感应灯的效果。
2.实验问题:(1)感应人体靠近的传感器除了人体红外感应传感器外,还有其他的
传感器也可以感应人体靠近吗?它的名称、管脚和参数各是什么?(2)其他感应方式的
传感器与人体红外感应相比,效果如何?
3.实验任务:我们以超声波测距传感器为例,将感应灯项目中使用的人体红外感应
传感器替换为超声波测距传感器进行实验比对,观察和记录现象,对比两种感应方式的传
72 72
21X1359.indd 72 2021/3/11 11:43:133.2 项目作品的程序设计
感器在感应距离、感应效果上的区别。
4.硬件搭建:将第二章图2-15所示的“感应灯项目电路搭建模拟图”中的人体红外
感应传感器替换为超声波测距传感器,如图3-14所示。
图3-14 感应灯项目电路搭建模拟图(超声波测距传感器)
5.编程实现:实验的Mixly图形化程序示例如图3-15所示。
图3-15 Mixly图形化程序示例
6.记录和对比:将实验现象和数据记录在表3-3中。
表3-3 实验记录
感应器件 感应条件 感应距离、角度 感应效果
人体红外感应传感器
超声波测距传感器
实 践
各小组在网上搜索并选择声音感应的元器件,确定其名称和型号,再利用该元器件进
行感应灯实验电路连接,然后编程实现利用声音控制灯光的开启和关闭,并对比分析距离
感应控制和声音感应控制感应灯的效果差异。
7373
21X1359.indd 73 2021/3/11 11:43:14第三章 开源硬件项目的制作
项目实施
各小组根据项目选题及拟订的项目方案,结合本节所学知识,开展实现项目功能的程
序设计任务。
1.体验图形化编程和文本代码编程的操作界面、过程和指令表述规则,了解其各自
的优势。
2.围绕项目功能情境,修改指令参数,探究多种算法的可能性,理解程序算法对项
目数据的采集、处理、调控和输出的策略和影响。
3.3
项目作品的功能测试与运行
3 . 3 . 1 项目作品的功能测试
在完成项目搭建以及程序设计后,还应接通项目系统的电源,运行程序,对照项目技
术设计方案要解决的问题,查看各预设的功能是否已实现。
以感应灯项目为例,对照表2-10中对应的功能状态,用遮光罩罩住光敏电阻,测试
LED是否亮起;拿开遮光罩,测试LED是否熄灭;在有遮光罩时,人体靠近,灯亮起;没
有遮光罩时,人靠近,灯不亮。反复尝试,观察LED的亮灭反应的时间、亮度和变化方
式,从而对项目技术设计方案进行修改或优化。
运行程序后,如果发现结果不符合预期,即项目系统的输出信号效果跟技术设计方案
预设的结果不一致,就需要对项目作品系统进行调试。
3 . 3 . 2 项目作品的系统调试
1.项目作品系统调试的步骤
项目作品系统调试的步骤包括硬件检测、程序调试和联合调试。
(1)硬件检测。
①将连接Arduino板电源端的USB线拔掉,断开电源。
②对照电路图检查各元器件与Arduino板连接的端口是否正确,元器件连接正负极是否
正确等。
③检查各元器件与Arduino板连接的松紧度。
④重新插上电源,运行程序,检查结果是否符合预期。
74 74
21X1359.indd 74 2021/3/11 11:43:143.3 项目作品的功能测试与运行
(2)程序调试。
如果硬件检测不成功,就要检查程序代码是否存在问题。
①检查程序各语句是否有错漏。如果有,在修改后,要重新上传,再运行程序,测试
效果。
②对照程序设计流程图,检查程序代码的整体逻辑,检查编写的程序是否正确并达到
预期功能需求,包括结构的使用、语句的使用和放置的位置、参数值的设置等。如果发现
问题,尝试做修改,反复测试运行。确认成功后,对流程图、技术方案等修改备注。如果
还是不成功,则要进行联合调试。
(3)联合调试。
可在断开电源后,更换面包板连接插孔、元器件等,再接通电源运行程序,反复进行
硬件和程序的联调测试,直至成功。也可使用多用电表对电路连接的两端进行测量,检查
电路的通断、元器件是否作业。如果发现元器件被烧毁,要更换元器件,包括开发板等。
由于Arduino IDE开发环境中没有单步调试,因此采用Arduino IDE进行项目设计会面临调
试手段匮乏的问题。为此,可使用模拟断点的方法进行调试:用“亮灯+有条件循环+Print语
句”,实现模拟断点调试的效果;或把整个程序分成几个小程序,然后逐个进行测试。
2.电子电路的测试工具
在测试电子电路的通断或确定电流值时,常常需要用到测试工具——多用电表(图
3-16)。多用电表可用来测量电压、电流、电阻等。
(1)用多用电表测量电阻。
在开源硬件项目开发中,多用电表较多地被用来测量未知电阻的阻值。使用指针式多
用电表测试电阻的方法与步骤为:①将功能开关调到合适的测量挡位上;②将红黑表笔短
接,进行调零检测;③分别将红黑表笔接触被测电阻,读取多用电表的示数。如果测量值
过大或测量不准,则要调整测量挡位,重复执行步骤①②③,直到示数合适。
(2)用多用电表测量电压和电流。
使用多用电表测量电压和电流
时,要注意区分是直流电流还是交变
电流。以数字型多用电表为例,测量
前,要先将功能开关调到对应功能
挡位,并根据被测电路的大约数值,
选择一个合适的量程位置,将表笔的
金属针分别接触被测量项目的电路两
端,如果正确连接,即可显示出相应
数值。注意测量电压时,要把电表表 图3-16 常见多用电表
笔并接在被测电路上;而测量电流
时,则需要串联于电路中。
(3)用多用电表测量电路的通断。
测试电路通断的方法与步骤为:①将功能开关调到合适的测量挡位上;②将红黑表笔
7575
21X1359.indd 75 2021/3/11 11:43:14第三章 开源硬件项目的制作
分别放置在要测量的电路两端,如果显示阻值为无穷大或较大电阻值,则电路为断,需要
查元器件是否接触不良或已损坏。
探究活动
实 践
运行程序,测试感应灯项目作品是否实现了预设的功能;如否,使用上述调试方法进
行项目调试,直到运行成功。
3 . 3 . 3 项目作品的运行
运行是指将实验作品放置于真实环境,并长时间通电运行,检验其功能的可行性、稳
定性、有效性和进行老化试验。
如果作品原型功能在真实环境中与在实验室模拟环境中的功能不相符合,就要分析出
现的问题,对技术设计方案进行修改和优化,直到功能与预设一致并运行稳定。
思 考
在实际应用中,安装在楼道、房间等空间内的感应灯会在灯光点亮后,使光敏电阻入
射光线增加而触发关灯操作,从而导致灯光闪烁的情况。如何解决此问题?
项目实施
各小组根据项目选题及拟订的项目方案,结合本节所学知识,体会项目作品的设计思
路与技术实现的对应性,反复调试,分析项目调试、反馈和执行情况,寻找最优设计方
案,并参照项目范例的样式,撰写相应的项目成果报告。
成果交流
各小组运用数字化学习工具,将所完成的项目成果,在小组或班级上进行展示交流,
共享创造、分享快乐。
活动评价
各小组根据项目选题、拟订的项目方案、实施情况及所形成的项目成果,利用教科书
附录2的“项目活动评价表”,开展项目学习活动评价。
76 76
21X1359.indd 76 2021/3/11 11:43:14本章扼要回顾
本章扼要回顾
同学们通过本章学习,根据“开源硬件项目的制作”知识结构图,扼要回顾、总结、
归纳学过的内容,建立自己的知识结构体系。
回顾与总结
7777
21X1359.indd 77 2021/3/11 11:43:16第三章 开源硬件项目的制作
本章学业评价
同学们完成下列测试题(更多的测试题可以在教科书的配套学习资源包中查看),并
通过“本章扼要回顾”以及本章的项目活动评价,综合评价自己在信息技术知识与技能、
解决实际问题的过程与方法,以及相关情感态度与价值观的形成等方面,是否达到了本章
的学习目标。
1.单选题
(1)在项目开发制作阶段,项目作品的实验要经历( )、程序设计、功能测试
与运行的过程。
A.电路接线 B.硬件搭建
C.电路仿真 D.器件测量
(2)将元器件跟面包板连接的“缝纫线”,称为( )。
A.电线 B.电源
C.杜邦线 D.连接线
(3)当项目作品功能测试失败时,以下调试方法无效的是( )。
A.硬件检测 B.程序调试
C.联合调试 D.再次上传
2.思考题
你对自己参与设计和制作的项目作品是否满意,为什么?思考迭代优化对改进作品的
意义和价值。
3.情境题
在家庭厨房里,偶尔会发生烧水时把水壶烧得冒烟或煤气泄漏等危险事情。如果我们
能够利用开源硬件制作一个监测煤气泄漏或烟雾浓度的自动报警器,那么就能对厨房安
全事故予以有效的控制和防范。制作一个监测烟雾或煤气浓度的自动报警器项目,并回
答以下问题。
(1)完成项目的开发,并设计硬件搭建图和程序代码。
(2)形成项目开发的成果报告,在班上或网络空间分享交流。
78 78
21X1359.indd 78 2021/3/11 11:43:17本章学业评价
第四章
开源硬件项目输入输出
组件及综合应用项目开发
随着物联网技术的发展,原先一体化的硬件设计模式将被
打破,软件技术的本质和内涵将被重新定义,硬件资源将均可
编程和管控,我们将进入“人—机—物”可融合计算的场景,
万物皆可互联,一切均可编程。
本章将通过“基于开源硬件的监测仪开发”项目,进行自
主、协作、探究学习,让同学们完整体验利用开源硬件完成项目
作品的基本流程,进一步理解常用开源硬件的功能和特征,懂得
基于事物特征的分析,设计基于开源硬件的作品开发方案,描述
作品各组成部分及其功能作用,明确各组成部分之间的调用关
系;进一步掌握根据设计方案,选择合适的输入输出组件组成系
统,完成作品制作,懂得测试、运行作品的数据采集、运算处
理、数据输出、调控执行等各项功能,优化设计方案,从而将知
识建构、技能培养与思维发展融入运用数字化工具解决问题和完
成任务的过程中,促进信息技术学科核心素养达成,完成项目学
习目标。
开发板的I/O信号控制
开源硬件项目的输入组件
开源硬件项目的输出组件
综合应用项目开发
7979
21X1359.indd 79 2021/3/11 11:43:19第四章 开源硬件项目输入输出组件及综合应用项目开发
基于开
源硬件的教室空气质量监测仪开发
基于开源硬件的教室空气质量监测仪开发
项目范例
情 境
目前,全社会对环保问题都极为关注,特别是每天的空气质量更是人们经常讨论的话
题之一。无论是室外还是室内,CO 等气体的浓度或PM2.5细颗粒物的浓度的增加,都将
2
极大地影响人们的身体健康。因此,监测空气质量,关注室内空气质量状况,也成为普通
市民包括同学们可以积极参与研究的事情。我们将利用开源硬件进行教室空气质量监测仪
的实验制作,亲身体验基于开源硬件的项目开发。
主 题
基于开源硬件的教室空气质量监测仪开发
规 划
根据项目范例的主题,在小组中组织讨论,利用思维导图工具,制订项目学习规划,
如图4-1所示。
图4-1 “基于开源硬件的教室空气质量监测仪开发”项目学习规划
探 究
根据项目学习规划的安排,通过调查、案例分析、文献阅读和网上资料搜索,开展
“基于开源硬件的教室空气质量监测仪开发”项目学习探究活动,如表4-1所示。
80 80
21X1359.indd 80 2021/3/11 11:43:21基于开源硬件的教室空气质量监测仪开发
基于开
源硬件的教室空气质量监测仪开发
表4-1 “基于开源硬件的教室空气质量监测仪开发”项目学习探究活动
探究活动 学习内容 知识技能
教室空气质量 认识常用的几种环境检
监测仪的输入组 测类传感器与物理测量类 了解作品制作过程中各种设备与组件,例如常用的传感
件 传感器及其实验。 器、执行器等输入输出组件的功能、特征、使用方法和安全
使用规则。
模拟信号、数字信号及
教室空气质量 基于事物特征的分析,设计基于开源硬件的作品开发方
其输入输出的程序函数。
监测仪的输出组 案,描述作品各组成部分及其功能作用,明确输入、输出组
件 认识常用的几种执行器 件与主控板等各组成部分之间的调用关系。
与显示组件及其实验。
根据设计方案,选择恰当的开源硬件,搜索相关的使用说
明资料,审查与优化作品设计方案。
教室空气质量 从创意策划到测试运 根据设计方案,利用相关开源硬件、相关组件,完成作品制作。
监测仪的综合应 行,学习空气质量监测仪 根据设计方案,利用开源硬件的设计工具或编程语言,实
用项目开发 的设计与制作。 现作品的各种功能模块。
根据设计方案,测试、运行作品的数据采集、运算处理、
数据输出、调控执行等各项功能,优化设计方案。
实 施
实施项目学习各项探究活动,进一步体验和探究基于开源硬件的教室空气质量监测仪
开发过程。
成 果
在小组开展项目范例学习过程中,利用思维导图工具梳理小组成员在“头脑风暴”活
动中的观点,建立观点结构图,运用多媒体创作工具(如演示文稿、在线编辑工具等),
综合加工和表达,形成项目范例可视化学习成果,并通过各种分享平台发布,共享创造、
分享快乐。例如,运用在线编辑工具制作的“基于开源硬件的教室空气质量监测仪开发”
可视化报告,可以在教科书的配套学习资源包中查看,其目录截图如图4-2所示。
图4-2 “基于开源硬件的教室空气质量监测仪开发”可视化报告目录截图
8181
21X1359.indd 81 2021/3/11 11:43:22第四章 开源硬件项目输入输出组件及综合应用项目开发
评 价
根据教科书附录2的“项目活动评价表”,对项目范例的学习过程和学习成果在小组
或班级上进行交流,开展项目学习活动评价。
项目选题
同学们以3~6人组成一个小组,选择下面一个参考主题,或者自拟一个感兴趣的主
题,开展项目学习。
1.基于开源硬件的校园水质监测仪开发
2.基于开源硬件的家庭防盗监测仪开发
3.基于开源硬件的社区噪声监测仪开发
项目规划
各小组根据项目选题,参照项目范例的样式,利用思维导图工具,制订相应的项目方案。
方案交流
各小组将完成的方案在全班进行展示交流,师生共同探讨、完善相应的项目方案。
4.1
开发板的I/O信号控制
4 . 1 . 1 开发板的I/O信号类型
数据信号按信号传输的特点分为模拟信号和数字信号。
1.模拟信号
模拟信号也称为模拟量,是指在时间和数值上都连续变化的信号,如图4-3(a)所
示。温度和声音信号都属于模拟信号。
2.数字信号
数字信号也称为数字量,是指在时间或数值上断续变化的信号,如图4-3(b)所示。
数字量只有两个,分别为0和1。例如,LED只有点亮(对应1)或熄灭(对应0)两种状
82 82
21X1359.indd 82 2021/3/11 11:43:224.1 开发板的I/O信号控制
态。在Arduino开发板上,常用1表示高电平,0表示低电平。
模拟量和数字量的对比示意图如图4-3所示。
图4-3 模拟量和数字量对比图
4 . 1 . 2 开发板的数字和模拟引脚
在Arduino开发板上有不同的引脚,分别对应模拟信号和数字信号,在实际使用过程中
不可混用,引脚分布详见图1-13所示的Arduino UNO开发板实物图。
1.数字引脚
在Arduino开发板上,数字引脚一般编号为0~13(一般写为D0~D13),可以用于数字
信号输入或输出。用作输入时,用于读取传感器的数据;用作输出时,用于控制执行器。
数字引脚的值只能为HIGH(对应1)和LOW(对应0)两种。
2.模拟引脚
Arduino开发板上的模拟引脚一般编号为A0~A5,常常被当作模拟输入引脚使用,用于读
取模拟输入的电压值,亦可用于数字输入与输出。与数字引脚只能读取HIGH和LOW不同,
模拟输入引脚能够将0~5 V电压分成0~1023共1024个不同等级。
另外,在数字引脚0~13中,引脚编号前面带有波浪线(~)的,如3、5、6、9、10、
11,表示支持PWM(Pulse Width Modulation,脉冲宽度调制)输出,可作为模拟输出引脚
使用。
4 . 1 . 3 开发板信号处理的程序函数
1.信号输入函数
在Arduino中,根据读取输入信号类型的不同,读取函数也分为数字输入函数和模拟输
入函数两种。
(1)数字输入函数digitalRead( )。
digitalRead( )函数用于从指定的数字引脚读取值,返回值为高电平(HIGH)或低电平
(LOW)。如果引脚悬空,则返回值不确定(随机返回HIGH或LOW)。数字输入函数的
引用格式为:
digitalRead(pin);
其中,参数pin是指设备所连接的引脚编号,如“digitalRead(11);”,指读取D11引脚
8383
21X1359.indd 83 2021/3/11 11:43:22第四章 开源硬件项目输入输出组件及综合应用项目开发
的数字信号值。
(2)模拟输入函数analogRead( )。
analogRead( )函数用于从指定的模拟引脚读取值,返回值的范围为0~1023。如果引脚
悬空,则其返回值不确定(会受到其他模拟输入口的值或手离开发板的距离等各种因素的
影响)。模拟输入函数的引用格式为:
analogRead(pin);
其中,参数pin表示用于读取数据的引脚,如“analogRead(A0);”,指读取A0引脚上的
模拟信号值。
2.信号输出函数
在Arduino中,根据输出信号类型的不同,输出函数也分为数字输出函数和模拟输出函
数两种。
(1)数字输出函数digitalWrite( )。
数字输出函数的引用格式为:
digitalWrite(pin,value);
其中,参数pin表示用于输出数值的引脚;value的值只能为LOW(0)或HIGH(1)。
例如,digitalWrite(11,0),指D11引脚输出低电平值。
(2)模拟输出函数analogWrite( )。
模拟输出函数是通过PWM的方式在指定引脚上输出一个模拟量值。模拟输出函数的引
用格式为:
analogWrite(pin,value);
其中,参数pin表示所要设置的引脚,只能选择函数支持的引脚;参数value表示的
值,是PWM输出的占空比,范围在0~255之间。Arduino UNO开发板上可用作PWM的引脚
包括D3、D5、D6、D9、D10和D11。
例如,“analogWrite(3,255)”,表示D3引脚输出的模拟值255,即占空比是100%,指
高电平占整个波形周期的时间为100%。
analogWrite( )函数较多地应用在LED亮度控制、电机转速控制等方面。
探究活动
阅 读
在Arduino开发板中,采用PWM技术也能让数字引脚表示和输出模拟量。
PWM是一种利用微处理器的数字输出来对模拟电路进行控制的技术,即使用数字信
号达到一个模拟信号的效果。在数字电路里,只有0和1两种状态。例如在实验中,LED
亮,输出高电平,数字信号值为1;LED灭,输出低电平,数字信号值为0。而模拟电路的
信号是连续的,如果想对其中的某个值进行控制,就需要使用PWM技术进行调制控制,
84 84
21X1359.indd 84 2021/3/11 11:43:234.1 开发板的I/O信号控制
改变脉冲宽度来实现不同的效果。
PWM的占空比,就是指高电平保持的时间与该PWM脉冲周
期时间之比,如图4-4所示。
如图4-5所示,一个绿色间隔表示一个脉冲周期,在此周期
内,当高电平(1)持续时间占整个脉冲周期的25%时,就表示
图4-4 占空比
其占空比为25%,对应的模拟量输出值为63(25%×255),依此
类推。
图4-5 PWM模拟输出示意图
当使用analogWrite( )函数时,指定引脚会通过高低电平的不断转换来输出一个周期固
定(约490 Hz)的方波,通过改变高低电平在每个周期所占的比例(占空比),而得到近
似输出不同电压的效果,谓之调制输出值,因而并非真正意义上的模拟值。
4 . 1 . 4 开发板串口使用
1.串口监视器
由于Arduino IDE开发环境目前还不支持直接在板上进行调试的功能,一旦程序下载到
板上运行,我们很难跟踪程序运行过程及某些中间数据。因此,在实际使用中,常利用串
口监视器对程序的过程和数据进行调试和输出,以便快速判断程序运行状态。
在Arduino IDE中,可通过执行菜单“工具”→“串口监视器”查看程序运行结果,如
图4-6所示。
8585
21X1359.indd 85 2021/3/11 11:43:23第四章 开源硬件项目输入输出组件及综合应用项目开发
图4-6 串口监视器
串口位于0(RX)和1(TX)两个引脚,Arduino的USB口通过一个转换芯片与这两个
串口引脚相连接。当使用USB线将Arduino与计算机连接时,两者之间便建立了串口连接。
通过此连接,Arduino便可与计算机进行串口通信。当进行串口通信时,串口通信指示灯将
会闪烁,如图4-7所示。
图4-7 Arduino开发板串口位置
2.串口函数
(1)串口初始化函数Serial.begin( )。
在使用串口监视器前,要先使用Serial.begin( )函数初始化Arduino串口,并确保通信双
方使用相同的通信速率。串口初始化函数引用格式为:
Serial.begin(speed);
其中,参数speed指串口通信的速率,用“波特率”(Baud)描述,默认值为9600。
其中,波特率是对信号传输速率的一种度量。
(2)串口输出函数Serial.print( )或Serial.println( )。
串口初始化完成后,便可以使用Serial.print( )或Serial.println( )函数进行数据的输出,具
体引用格式分别为:
Serial.print(val);和Serial.println(val);
86 86
21X1359.indd 86 2021/3/11 11:43:244.1 开发板的I/O信号控制
其中,参数val是要输出的数据,各种类型的数据均可输出。两个函数的区别在于
Serial.println( )函数在输出数据后会自动换行,而Serial.print( )函数不换行。
因此,串口输出常见的程序片段是:
void setup( ){
Serial.begin(9600); //初始化串口,设置波特率
}
void loop( ){
Serial.print("hello world");//输出字符“hello world”
}
(3)串口接收函数Serial.read( )。
串口不仅可以对外输出或发送数据,还可以接收或读取外界输入的数据。接收串口数
据,需使用串口接收函数Serial.read( ),引用格式为:
Serial.read( );
调用该语句时,每次都会返回1字节的数据,该返回值便是当前串口读到的数据。
实 验
以小组为单位,完成以下实验。
实验:串口控制开关板载LED
1.实验目标:体验串口及输出函数的使用。
2.实验问题:如何向串口输入数据和读取串口输入的数据,如何控制LED的亮灭?
3.实验元器件清单如表4-2所示。
表4-2 实验元器件清单
元器件 规格 数量
开发板 Arduino UNO 1块
USB数据线 USB-B 1根
4.实验的文本程序代码示例如下所示。
String item; //定义变量item,用于存储收到的串口字符串
void setup( ){
item="";
Serial.begin(9600);
pinMode(13, OUTPUT);
}
void loop( ){ //主循环程序
if (Serial.available( )>0){ //判断串口是否有数据
8787
21X1359.indd 87 2021/3/11 11:43:24第四章 开源硬件项目输入输出组件及综合应用项目开发
item=Serial.readString( ); //收到的串口数据赋值给item
if(item=="on") //判断收到的数据是否为“on”
{digitalWrite(13,HIGH); //D13引脚为高电平
} else {
digitalWrite(13,LOW); //D13引脚为低电平
}
}
}
连接计算机与开发板,编写以上代码,并上传到开发板观察运行效果。
实 践
1.根据表4-3所示元器件清单进行搭建,并编写程序,实现利用串口输入0~255的数
值来控制连接在D3(PWM引脚)LED的亮度。
表4-3 元器件清单
元器件 规格 数量
开发板 Arduino UNO 1块
USB数据线 USB-B 1根
LED 1个
杜邦线 公对母 若干
2.尝试编写程序,实现输出人工通过串口输入的数字(0、1和2,分别代表锤子、剪
刀、布)和Arduino UNO开发板随机生成的数字(0、1或2)的值和两者对比的结果,并
设计表格记录游戏成绩。
4.2
开源硬件项目的输入组件
人们感知世界,必须借助感觉器官,电子设备要获取外部信息也通常借助它们的“感
觉器官”——传感器。
4 . 2 . 1 传感器
1.传感器
传感器是一种检测元器件,能够感应到被测物理量或化学量等的信息,并能将感应到
88 88
21X1359.indd 88 2021/3/11 11:43:244.2 开源硬件项目的输入组件
的信息,按一定规律转换成电信号输出,以满足信息的记录、储存、处理、传输与控制的
要求。物理量或化学量等包括位移、速度、力、磁感应强度、温度、光、声、气体浓度
等。因此,传感器也被称为“电五官”,它的存在和发展,让物体有了触觉、味觉和嗅觉
等,让物体慢慢变得活起来,它与人类五大感觉器官的对比如表4-4所示。
表4-4 传感器与人类五大感觉器官对比表
传感器类型 对应人类的感觉器官
光敏传感器 视觉
声敏传感器 听觉
气敏传感器 嗅觉
化学传感器 味觉
压敏、温敏、流体传感器 触觉
2.传感器的分类
随着信息技术的迅速发展和应用的普及,传感器数量众多,功能多样,有多种分类方
法,如表4-5所示。
表4-5 部分传感器列表
分类依据 传感器
超声波传感器、红外传感器、温度传感器、湿度传感器、气体传感器、气体报警器、压力
实现技术 传感器、加速度传感器、紫外线传感器、磁敏传感器、磁阻传感器、图像传感器、电量传感
器、位移传感器等。
脉搏传感器、土壤水分传感器、压力传感器、光敏传感器、超声波测距传感器、温湿度传
用途 感器、温度传感器、pH传感器、流量传感器、液位传感器、浸水传感器、照度传感器、差压
变送器、加速度传感器、位移传感器、称重传感器、测距传感器等。
一些常用的传感器如图4-8所示。
图4-8 几种常见传感器
8989
21X1359.indd 89 2021/3/11 11:43:25第四章 开源硬件项目输入输出组件及综合应用项目开发
在具体应用中,我们要根据项目功能实施的需要,查阅相应传感器的资料和参数,选
择合适的传感器进行开发实验。
查 阅
根据小组项目选题和项目规划,思考、查阅相关传感器的资料和参数,选择合适的传
感器进行开发实验,遇到技术参数等疑问,相互交流与讨论。
4 . 2 . 2 环境检测类传感器常见模块
根据传感器的用途分类,进行环境检测的传感器在生活中经常被用于各种环境检测的
装置,如烟雾传感器、温湿度传感器等。
1.烟雾传感器
(1)认识烟雾传感器。
烟雾传感器是通过监测烟雾浓度来实现火灾防范的一
类传感器。根据不同的传感原理,烟雾传感器可分为离子
导电式、光电式、气敏电阻式、电化学式等不同种类。常
见的消防报警系统中的烟雾报警器内部的核心元件就采用
了离子式烟雾传感器,其性能远优于气敏电阻类的烟雾报
警器。如图4-9所示是常用的MQ-2烟雾气敏传感器。
图4-9 MQ-2烟雾气敏传感器
(2)选择烟雾传感器。
不同类型的传感器对不同气体、烟雾粒子有不同的敏感度,感应的效果也不同。所
以,需要根据使用场所、粒子特点和敏感度要求选择合适的传感器。
(3)烟雾传感器工作原理。
以MQ-2烟雾气敏传感器为例,它同时具有数字信号输出口D0和模拟信号输出口A0。
在通电工作后,可通过调节MQ-2烟雾气敏传感器上的可调电阻,使得当待探测气体达到
某个浓度时,D0数字信号输出口的电压被触发,并从低电平变成高电平。模拟信号输出口
A0则一直输出一个与气体浓度同步变化并成比例的信号电压。
MQ-2烟雾气敏传感器的基本参数如下:
输入电压:DC5 V,功耗:150 mA
DO(数字)信号输出:数字信号0和1,电压为5 V
AO(模拟)信号输出:0.1~0.3 V(相对无污染),最高浓度电压4 V左右
调 查
查阅资料,对比三类烟雾传感器的差异,填写表4-6。
90 90
21X1359.indd 90 2021/3/11 11:43:254.2 开源硬件项目的输入组件
表4-6 三类烟雾传感器的对比
气体、烟雾 代表性产品
类别 敏度 使用场所 价格
粒子类型 (图片)
离子式烟雾
传感器
光电式烟雾
传感器
气敏式烟雾
传感器
2.温湿度传感器
(1)认识温湿度传感器。
温湿度传感器是指能将温度量、湿度量转换成电信号的元器件或模块,是结合温湿度
传感器及信号处理IC(集成电路)的感测模块。常见的温湿度传感器如图4-10所示。
图4-10 常见温湿度传感器
温度传感器常见的敏感元件是温敏电阻,也叫热敏电
阻,它是由半导体材料烧结而成,是一种对温度敏感的元
件,如图4-11所示。温度传感器的电阻值会随着温度的变化
而变化。
(2)选择温湿度传感器。
根据功能需要,我们可以选择单独检测温度、湿度的传
感器,也可以选择同时检测温湿度的集成传感器。
(3)温湿度传感器工作原理。
图4-11 温敏电阻实物图
以DHT11温湿度传感器为例,它只有一个数字信号输出
口。在它通电工作后,内部信号处理电路将当前温度与湿度转变为单线串行传输的周期性
高低电压变化信号,并从数字信号输出口输出。开发板接收DHT11温湿度传感器发出的一
系列信号,按传输协议解码后,就能获得对应温度、湿度的数值。
查 阅
上网查找各种温度传感器的参数及价格等信息,并填入表4-7中。
9191
21X1359.indd 91 2021/3/11 11:43:25第四章 开源硬件项目输入输出组件及综合应用项目开发
表4-7 温度传感器选型对比
名称 测量范围 误差率 价格
实 验
以小组为单位,完成以下实验。
实验:温湿度传感器的使用
1.实验目标:利用DHT11温湿度传感器获取当前温湿度。
2.实验问题:DHT11温湿度传感器与开发板如何连接,如何通过串口打印出即时湿
度与湿度?
3.实验元器件清单如表4-8所示。
表4-8 实验元器件清单
元器件名称 规格 数量
开发板 Arduino UNO 1块
USB数据线 USB-B 1根
面包板 400孔 1块
DHT11温湿度传感器 1个
杜邦线 公对公 若干
4.实验电路原理图如图4-12所示。
图4-12 实验电路原理图
5.实验硬件电路搭建模拟图如图4-13所示。其中,DHT11温湿度传感器的负极连接
92 92
21X1359.indd 92 2021/3/11 11:43:264.2 开源硬件项目的输入组件
开发板的GND引脚,正极连接到5 V引脚,DAT连接D2引脚。
图4-13 实验硬件电路搭建模拟图
6.实验的Mixly图形化程序示例如图4-14所示。
图4-14 Mixly图形化程序示例
实验的文本程序代码示例如下所示。
#include
dht myDHT_2;
int dht_2_gettemperature( ) {
int chk = myDHT_2.read11(2);
int value = myDHT_2.temperature;
return value;
}
int dht_2_gethumidity( ) {
int chk = myDHT_2.read11(2);
int value = myDHT_2.humidity;
return value;
}
void setup( ){
Serial.begin(9600);
}
9393
21X1359.indd 93 2021/3/11 11:43:27第四章 开源硬件项目输入输出组件及综合应用项目开发
void loop( ){
Serial.println(String("temperature:")+String(dht_2_gettemperature( )));
Serial.println(String("Humidity:")+String(dht_2_gethumidity( )));
delay(1000);
}
实 践
1.使用3个以上DHT11温湿度传感器,编写程序,测试它们数据的一致性,并使用它
们测量学校不同区域的温湿度情况。
2.使用3个DS18B20不锈钢封装防水型探头,制作一个装置,编写程序,实现监测一
杯开水从高温降到室温的变化过程,并设计表格进行数据记录,将记录的数据用可视化方
式呈现出来。
4 . 2 . 3 物理测量类传感器常见模块
1.超声波测距传感器
(1)认识超声波测距传感器。
超声波是振动频率高于20 kHz的机械波,具有频率高、波长短、绕射现象小等特点,
特别是它的方向性好、能够成为射线而定向传播。超声波传感器是利用超声波特性,将待
测的非声学量转换为电信号的一类传感器。它以超声波为介质对被检测物进行远距离、非
接触式的无损检测,可采用回波探测的检测模式。超声波传感器的发声模块向前方发出超
声波信号,在遇到障碍物后部分被反射,并被传感器的接收器所接收。这样传感器就能感
知被测物的某些信息。超声波传感器对透明或有色物体,金属或非金属物体,固体、液
体、粉状物质等均能检测。其检测性能几乎不受任何环境条件的影响,包括烟尘环境和雨
天。此外,测量回波反射所经历的时间,可以间接测量障碍物的物理距离,此种超声波传
感器也称为超声波测距传感器。
(2)选择超声波测距传感器。
超声波测距传感器的频率相对稳定。选择超声波测
距传感器,首先要考虑用途,例如测厚度、探伤、B超
等。其次需要考虑超声波测距传感器的测距极限、灵敏
程度等。如图4-15所示为常见的超声波测距传感器,型
号为HC-SR04。
图4-15 HC-SR04超声波测距传感器
(3)超声波测距传感器工作原理。
以HC-SR04超声波测距传感器为例,它有一个数字信号输出口ECHO和一个数字信
号输入口TRIG。在它通电工作后,两个信号端口的电压都为0。当超声波测距传感器HC-
SR04从TRIG输入口获得一个高电平短时脉冲后,传感器内部电路会被启动,并向外发送
94 94
21X1359.indd 94 2021/3/11 11:43:274.2 开源硬件项目的输入组件
若干个超声波脉冲信号,同时启动计时电路。超声波测距传感器接收到第一个超声波回声
信号时,关闭计时电路,然后内部电路会将声波传输时间转化为数字输出口ECHO上的高
电平电压的持续时长。当开发板对这个高电平时长进行计时测量后,结合声速常数和转换
公式就能获得与当前障碍物之间的距离数值。
调 查
上网调查不同超声波测距传感器模块型号、测距范围、价格等信息,填入表4-9中。
表4-9 超声波测距传感器选型对比
用途 模块型号 价格 测距范围 外观图片
2.加速度传感器
(1)认识加速度传感器。
加速度传感器是一种能够测量加速度大小的传感器。当
传感器静止在地球表面时,传感器数值大小等于重力加速度
在某个方向上的分量。当传感器随物体运动时,传感器所测
得的加速度值则是物体运动的加速度。按测量维度来分,加
图4-16 ADXL345加速度传感器
速度传感器可分为测量某个方向加速度的单轴加速度传感器
和同时测量X、Y、Z轴加速度的三轴加速度传感器。加速度传感器通常由质量块、阻尼
器、弹性元件、敏感元件和信号处理电路等部分组成。如图4-16所示是型号为ADXL345的
集成三轴加速度传感器。
(2)选择加速度传感器。
首先要根据用途来选择加速度传感器,例如游戏控制、汽车安全气囊、计步器等的不同
应用要考虑选择不同的加速度传感器;其次要根据在应用中加速度值的变化范围进行选择。
(3)加速度传感器工作原理。
以ADXL345加速度传感器为例,它是一个高集成度的数字传感器,有两个相互配合使
用的数字信号输出口。在它通电工作后,内部信号处理电路将当前X、Y、Z方向的加速度
大小转变为双线串行传输周期性高低电压变化信号,从两个数字信号输出口输出。开发板
接收从ADXL345加速度传感器输出的信号并按传输协议解码后,就能获得三个方向对应的
加速度数值。其他型号加速度传感器可能会有1个或多个模拟信号输出端口,分别输出某
个方向或各个方向与加速度成比例变化的电压数值。
查 阅
上网查阅加速度传感器可应用于哪些装置,用于检测什么,模块型号及价格等信息,
填入表4-10中。
9595
21X1359.indd 95 2021/3/11 11:43:28第四章 开源硬件项目输入输出组件及综合应用项目开发
表4-10 加速度传感器选型对比
模块型号 检测功能与测量范围 型号 价格
实 验
以小组为单位,完成以下实验。
实验:获取加速度传感器数值
1.实验目标:通过串口获取加速度传感器的数值。
2.实验问题:加速度传感器与开发板如何连接?如何通过串口打印获取加速度传感
器的数值?
3.实验元器件清单如表4-11所示。
表4-11 实验元器件清单
元器件名称 规格 数量
开发板 Arduino UNO 1块
USB数据线 USB-B 1根
加速度传感器 ADXL345 1个
杜邦线 公对公 若干
4.实验电路原理图如图4-17所示。
图4-17 实验电路原理图
96 96
21X1359.indd 96 2021/3/11 11:43:294.2 开源硬件项目的输入组件
5.实验硬件电路搭建模拟图如图4-18所示。其中,ADXL345加速度传感器的VCC接
开发板上的5 V引脚,GND接开发板上的GND引脚,SCL接A5引脚,SDA接A4引脚。
图4-18 实验硬件电路搭建模拟图
6.实验的文本程序代码示例如下所示。
#include "Wire.h"
#include "I2Cdev.h"
#include "ADXL345.h"
ADXL345 accel;
int 16_t ax, ay, az;
void setup( ) {
Wire.begin( );
Serial.begin(38400);
Serial.println("Initializing I2C devices...");
accel.initialize( );
Serial.println("Testing device connections...");
Serial.println(accel.testConnection( ) ? "ADXL345 connection successful":"ADXL345
connection failed");
}
void loop( ) {
accel.getAcceleration(&ax, &ay, &az);
Serial.print("x:\t");
Serial.println(ax);
delay(50);
}
实 践
1.编写程序,测试与研究ADXL345在运动时,X轴、Y轴、Z轴之间的数值变化及其
9797
21X1359.indd 97 2021/3/11 11:43:30第四章 开源硬件项目输入输出组件及综合应用项目开发
关系,并做成数据图表反映出来。
2.编写程序,使用同一套装置,编写程序代码进行实验测试,研究不同重量的物体
在相同的位置做自由落体运动时,加速度是否一致。
项目实施
各小组根据项目选题及拟订的项目方案,结合本节所学知识,开展使用传感器的硬件
搭建和编程实验。
1.观察、体验所用传感器的引脚及与开发板的搭建连接方法。
2.对照项目作品电路图及组件组成,了解所用传感器作为输入组件采集的数据类
型,知道传感器的工作原理。
3.体验并熟悉驱动所用传感器的图形化编程及程序代码指令,理解开发板控制传感
电路和处理输入数据的运算转换过程。
4.3
开源硬件项目的输出组件
在开源硬件项目的输入输出系统中,由输出组件实现系统控制的输出信号,包括声、
光、电及驱动信号等,由输入组件进行环境数据的采集,实现人机交互的环境感知任务。
其中,输出组件有执行器组件和显示组件。
4 . 3 . 1 执行器组件常见模块
执行器是自动化控制系统中接收控制信号并对受控对象施加控制运行作用的装置。在
开源硬件项目中,按照执行输出信号与环境交互的信号特征,执行器分成发声、发光和驱
动三类。常用发声的执行器有蜂鸣器和扬声器,常用发光的执行器有LED等,常用驱动的
执行器有舵机、伺服机、直流电机等。
1.蜂鸣器
(1)认识蜂鸣器。
蜂鸣器也叫压电式扬声器,是一种一体化结构的电子发声器件,广泛应用于计算机、
报警器和电子玩具等电子设备中。
蜂鸣器按其驱动方式的不同可分为无源蜂鸣器和有源蜂鸣器。有源蜂鸣器中含有振荡
源,采用直流电压供电,只要加上额定的电流、电源就可以蜂鸣,但只能发出一种固定频
率的声音。无源蜂鸣器不含振荡源,需要一定的方波信号驱动,可以发出不同频率的声
98 98
21X1359.indd 98 2021/3/11 11:43:304.3 开源硬件项目的输出组件
音,声音清脆。蜂鸣器的外观如图4-19所示,在电路图中的图形符号如图4-20所示。蜂鸣
器在电路中用字母“H”或“HA”表示。
图4-19 无源蜂鸣器 图4-20 蜂鸣器在电路图中的图形符号
(2)选择蜂鸣器。
蜂鸣器的种类规格繁多,需要知道的参数包括音压、频率、电压、电流、驱动方式、
尺寸、连接/固定方式等。其中,声音的音压大小、频率高低是最为关键的参数。
(3)蜂鸣器工作原理。
若蜂鸣器为无源蜂鸣器,那它只有一个数字信号输入口,同时也是电源接口。当接收
到开发板上某个数字输出端口向它输入的某个频率的高低变化电压时,蜂鸣器将会驱动内
部压电陶瓷发出该频率的声音。若蜂鸣器为有源蜂鸣器,那它只有电源接口而没有信号输
入口,且内部自带一个固定频率的振荡器,当接通电源后就能发出这个频率的声音。
开源硬件项目开发选择蜂鸣器时要考虑工作电压、外观尺寸等基本参数,要根据制作
项目的情境功能需要,查阅蜂鸣器的参数,选择合适的种类和规格。例如图4-19所示的蜂
鸣器是无源蜂鸣器,它的基本参数是:
工作电压:3~5.5 V
外观尺寸:直径12 mm,高度9.6 mm
探究活动
查 阅
1.在网上查阅蜂鸣器的资料,了解其基本知识,并了解有源和无源蜂鸣器的区别。
2.在网上查阅扬声器的资料,了解其基本知识,了解其与蜂鸣器的区别。
2.舵机
(1)认识舵机。
舵机是一种带有角度反馈的、简化的自动受控电机,
可以精确控制并保持角度,常用于需要角度不断变化并可
保持的控制系统,如图4-21所示。
(2)选择舵机。
为了适应不同的工作环境,舵机有防水及防尘的设计;
图4-21 SG90舵机
9999
21X1359.indd 99 2021/3/11 11:43:30第四章 开源硬件项目输入输出组件及综合应用项目开发
为了承担不同的负载需求,舵机的齿轮有塑胶及金属之分。金属齿轮的舵机一般皆为大扭
力及高速型,具有齿轮不会因负载过大而崩牙的优点。较高级的舵机会安装滚珠轴承,使
其转动时能更轻快精准。
(3)舵机工作原理。
以SG90舵机为例,它只有一个数字信号输入口。当接收到开发板上的某个数字输出端
口向它输入周期性高低变化的电压时,SG90舵机中的控制电路就会按照高电平的持续时间
控制并保持舵机转盘在与时长对应的角度上。这个高电平时长范围通常在0.5毫秒到2.5毫
秒之间。
在开源硬件项目开发中,选择舵机时要考虑工作电压、转角角度、扭矩等基本参数。
例如,图4-10所示舵机的基本参数是:
型号:SG90
工作电压:3.5~6 V
转角角度:180°
工作扭矩:1.6 kg/cm
调 查
在网上调查舵机的资料,了解其基本知识和使用的领域。
实 验
以小组为单位,完成以下实验。
实验:舵机的使用与转动控制
1.实验目标:编写程序转动舵机。
2.实验问题:舵机转动的角度控制跟哪个指令参数有关?
3.实验元器件清单如表4-12所示。
表4-12 实验元器件清单
元器件 规格 数量
开发板 Arduino UNO 1块
USB数据线 USB-B 1根
舵机 SG90 1个
杜邦线 公对公 若干
100100
21X1359.indd 100 2021/3/11 11:43:304.3 开源硬件项目的输出组件
4.实验电路原理图如图4-22所示。
图4-22 实验电路原理图
5.实验硬件电路搭建模拟图如图4-23所示。其中,舵机的负极(黑色线)连接开发
板的GND引脚,正极(红色线)连接到5 V引脚,信号线(黄色线)连接D3引脚。
图4-23 实验硬件电路搭建模拟图
6.实验的Mixly图形化程序示例如图4-24所示。
图4-24 Mixly图形化程序示例
101101
21X1359.indd 101 2021/3/11 11:43:32第四章 开源硬件项目输入输出组件及综合应用项目开发
实验的文本程序代码示例如下所示。
#include
Servo servo_3;
void setup( ){
servo_3.attach(3);
}
void loop( ){
servo_3.write(0);
delay(500);
servo_3.write(180);
delay(500);
}
实 践
1.编写程序,实现舵机每间隔一秒转动10°,并在10°~170°之间来回转动。
2.编写程序,实现舵机来回转动,且每分钟来回转动30次。
4 . 3 . 2 显示组件常见模块
1.液晶显示模块
(1)认识液晶显示模块。
液晶显示屏(Liquid Crystal Display,LCD),是平面显示器的一种。液晶显示屏的两
片光学偏振片之间含有特殊的液晶材料。这种材料具有流动性,并且透明度和颜色会随电
压、磁场等外界条件变化而变化。基于液晶材料本身不发光但能改变透光程度的特性,一
个实用的液晶显示屏模块通常由LED发光底板、液晶显示屏、控制电路板和外框组成。
液晶显示模块分成“字段型”和“点阵型”两种。字段型显示屏只能显示特定的数字
和符号,通常用于电话机、计算器等。而点阵型显示屏可以显示任意文本和图像。手机、
电视和电脑屏幕的液晶屏就属于点阵型显示屏。
(2)选择液晶显示模块。
液晶显示模块(LCD)的规格和型号很多,需要根据显示符号的类型、显示角度、体
积等的参数来决定。
常用的开源硬件项目选择的液晶显示模块为LCD1602,如图4-25所示。LCD1602是一款
通用简易液晶,应用非常广泛,共有16个引脚,其显示范围为16×2,可以显示2行,每行16
个字符,显示内容包括ASCII码的英文字母、数字和标点符号,但不能直接显示中文。
102102
21X1359.indd 102 2021/3/11 11:43:324.3 开源硬件项目的输出组件
图4-25 LCD1602
(3)液晶显示模块工作原理。
以LCD1602液晶显示模块为例,它通过内部电路解析外部发送的控制命令,从而控制
液晶面板上电极的电压高低变化,再利用液晶在不同电压下透光性的差异来显示字符的外
形。该模块包含了若干个输入输出控制端口和一个8位的输入输出数据端口。LCD1602液
晶显示模块通电以后,开发板可先通过向控制端口发送控制所需的高或低电压信号以确定
模块的工作状态,然后通过8位数据端口向模块发送控制命令或从模块读取数据信息。
2.LED点阵屏
(1)认识LED点阵屏。
LED点阵屏是一种把数十个LED排列封装在一个方形模块
的显示单元,常见有5×7和8×8点阵屏。如图4-26所示是8×8
LED点阵屏。
LED点阵屏常应用于动态广告招牌,显示流水灯文字或图
案,例如十字路口的动态小绿人信号灯的图案。
(2)选择8×8 LED点阵。
图4-26 8×8 LED点阵屏
按颜色分,LED点阵屏模块有单色、双色和三色,其中红蓝
绿三色可调出全部色彩。色彩越多,引脚越多,控制方式越复杂。
按亮度分,LED点阵屏可分成普通亮度和高亮度两类。
按连接方式,LED点阵屏可分成共阳极和共阴极两种。可见,我们也能依据此电路用
数十个单一的LED组装成矩阵。
(3)LED点阵屏工作原理。
以8×8 LED点阵屏为例,点阵屏中LED以行编组,分别由8个行控制端口控制该行LED
的正极;同时也以列编组,分别由8个列控制端口控制该列LED的负极。当开发板向点阵
屏输出的行列控制电压让某个LED满足“行正列负“的电压要求时,该LED就能被点亮,
否则LED熄灭。一些附带驱动信号发生器的点阵屏,能在接收开发板发来的控制命令后,
自动解码生成相应的行列驱动电压。
调 查
各小组分别就某种显示组件进行探究,查阅资料,了解对应组件的相关参数、使用方
法及使用场景,填写表4-13,并根据调查结果选择并设计一个合适的趣味项目实验。
103103
21X1359.indd 103 2021/3/11 11:43:33第四章 开源硬件项目输入输出组件及综合应用项目开发
表4-13 显示组件的调查
小组成员 显示组件名称 参数 使用方法
小结:优缺点(包括易用程度、价格、显示效果等)
实 验
以小组为单位,完成以下实验。
实验:点亮8x8LED点阵屏矩阵
1.实验目标:在Mixly里导入LED点阵(Max7219)扩展库;使用8×8点阵显示汉字。
2.实验问题:矩阵引脚如何连接开发板引脚?什么是扩展库?如何使用?
3.实验元器件清单如表4-14所示。
表4-14 实验元器件清单
元器件名称 规格 数量
开发板 Arduino UNO 1块
USB数据线 USB-B 1根
8×8 LED Max7219 1个
杜邦线 公对母 若干
4.实验电路原理图如图4-27所示。
图4-27 实验电路原理图
5.实验硬件电路搭建模拟图如图4-28所示。其中,8×8 LED的负极连接开发板的
GND引脚,正极连接5 V引脚,DIN连接D9引脚,CS连接D10引脚,CLK连接D11引脚。
104104
21X1359.indd 104 2021/3/11 11:43:334.3 开源硬件项目的输出组件
图4-28 实验硬件电路搭建模拟图
6.实验的Mixly图形化程序示例如图4-29所示。
图4-29 Mixly图形化程序示例
实 践
(1)利用8×8 LED的功能,设计并编写程序,实现8×8 LED显示不同表情包图形。
(2)利用8×8 LED的功能,设计并编写程序,实现8×8 LED显示“我是创客”“中
国芯”等文字,并可以循环显示。
项目实施
各小组根据项目选题及拟订的项目方案,结合本节所学知识,开展使用执行器、显示
屏等输出组件的硬件搭建和编程实验。
105105
21X1359.indd 105 2021/3/11 11:43:35第四章 开源硬件项目输入输出组件及综合应用项目开发
1.观察、体验所用执行器、显示屏等的引脚及与开发板的搭建连接方法。
2.对照项目作品电路图及组件组成,了解所用执行器、显示组件输出的数据类型,
知道所用执行器、显示组件的工作原理。
3.体验并熟悉驱动所用执行器、显示组件的图形化编程及程序代码指令,理解开发
板控制输出电路和处理输出数据为声、光、驱动信号的运算转换过程。
4.4
综合应用项目开发
同学们大部分时间都是在教室中度过的,教室中的空气质量如何,将影响到老师和同
学们的身体健康。在国家环保部门发布的空气质量指数中,包含了PM2.5、二氧化硫、一
氧化碳等多个指标。我们仅以监测空气中的颗粒物状况为例,制作一个简易的教室空气质
量监测系统实验装置,并介绍综合应用项目的开发过程。
4 . 4 . 1 教室空气质量监测仪项目的创意策划
1.项目背景知识查阅
颗粒物(Particulate Matter,缩写为PM),泛指悬浮在空气中的固体颗粒或液滴。其
中,直径小于或等于2.5微米的颗粒物称为细颗粒物(PM2.5),例如室内的二手烟雾。颗
粒物能够在大气中停留很长时间,并可随呼吸进入体内,积聚在气管或肺中,影响身体健
康,其在空气中含量浓度越高,就代表空气污染越严重。虽然PM2.5只是地球大气成分中
含量很少的组分,但它对空气质量和能见度等有重要影响。与较粗的大气颗粒物相比,
PM2.5粒径小,面积大,活性强,易附带有毒、有害物质(如重金属、微生物等),且在
大气中的停留时间长、输送距离远,因而对人体健康和大气环境质量的影响更大。
探究活动
查 阅
PM2.5是我国环境空气污染物基本检测项目之一,登录环保部门网站查询和了解我国
环境空气的功能分类、标准分级、污染物项目、监测方法等相关内容。
交 流
与小组其他同学交流、讨论生活中哪些地方或场所PM2.5的值有可能超标。
106106
21X1359.indd 106 2021/3/11 11:43:354.4 综合应用项目开发
2.项目设计调研与分析
在项目开发之前,我们都需要做项目调研与分析,并经历以下过程:从生活场景中感
受现象→从现象发现问题→从问题中萌发想法→将想法转化为要做的事情→要做的事情具
体是怎样的。真正的项目开发,要反复在场景现场做调研和思考,思考路径如下:
(1)我们生活场景中的现象:老师和同学们每一天有8个小时甚至超过8个小时待在
教室内,我们呼吸着教室里的空气,空气中充满了灰尘、粉笔尘。我们不得不呼吸着这些
空气,这些空气会影响我们的身体健康吗?
(2)现象中的问题:究竟我们每天所处教室环境的空气质量是否达标或优质呢?
(3)问题中的想法:我们如何能知道所呼吸空气的质量情况,用什么装置检测呢?
(4)要做的事情:设计和制作一个能检测空气质量的装置——基于开源硬件的空气
质量监测仪。
这个空气质量监测仪是怎样的呢?我们对其进行设计与制作的创意策划,具体如图
4-30所示。
图4-30 教室空气质量监测仪项目的创意策划
107107
21X1359.indd 107 2021/3/11 11:43:46第四章 开源硬件项目输入输出组件及综合应用项目开发
我们对项目的电路原型做设计与制作,实验测试和运行成功后,还可以为其制作合适
美观的外观盒子,完成既实用又有创意的装置,实现对教室空气质量的监测。
4 . 4 . 2 教室空气质量监测仪项目的技术方案设计
1.需求分析和问题识别
根据教室空气质量监测仪项目的创意策划,进行需求分析和问题识别,如表4-15所示。
表4-15 教室空气质量监测仪项目需求分析与问题识别框架
功能情境 问题识别和分解 问题梳理与合并
核心功能:当空气中的 需要能够感知空气中灰尘粒子的组件。 是否有一种能够感知
灰尘粒子浓度达到一定阈 当粒子浓度达到一定值时,触发敏感元件采集到 不同灰尘粒子或气体粒
值时,能够被传感器检测 相应数值,然后通过程序处理将数据读取出来,再 子的敏感组件,还是一
到并显示出相应的数值。 将数据转换成可显示的数值文本显示出来。 种敏感组件只能感知一
种气体粒子。
多功能创意:当空气中 需要能够感知空气中不同灰尘或气体粒子的组
测量灰尘或气体粒
的不同灰尘粒子或气体粒 件。
子浓度强弱阈值的触
子浓度达到一定阈值时, 当粒子浓度达到一定值时,触发敏感元件采集
发范围。
都能够被传感器检测到, 到相应数值,然后通过程序处理将数据读取出
有多种颜色的LED可
并显示出相应的数值,用 来,再将数据转换成可显示的数值文本显示出
供驱动。
不同颜色表示程度等级, 来;驱动不同颜色的LED分级表示污染程度;当
有发声组件发出警报
严重时发出警报。 超过某个数值时,发出鸣叫警报。
声。
2.功能实现分析和组件选择
查阅资料,判断分析,形成教室空气质量监测仪项目功能实现对应表,如表4-16所示。
表4-16 教室空气质量监测仪项目功能实现对应表
功能需求分析 选型分析 实现分析
一种传感器只能检测一类粒子,该项目需要
是否有一种能够感知不
用到具有检测灰尘功能的灰尘粒子传感器。 灰尘传感器工作电压与工作
同灰尘粒子或气体粒子的
电流。
敏感组件,还是一种敏感
检测到的灰尘粒子浓度的数值能够在显示
在电路中需要的固定电阻和电
组件只能感知一种气体粒
屏上显示出数据。
容,要计算其电阻值和电容值。
子。
该灰尘传感器检测浓度的数
选用全彩LED,根据感知的粒子浓度数值范
测量灰尘或气体粒子浓
值范围。
围,分别能显示绿色、黄色、橘红色、亮红
度强弱阈值的触发范围。
显示屏显示数据的驱动方式。
色四个颜色。
有多种颜色的LED可供
全彩LED的颜色显示驱动。
驱动。
当感知的粒子浓度达到某个数值范围时, 蜂鸣器鸣叫。
有发声组件发出警报声。
发声装置发出警报声。
3.元器件选型
在本项目中,检测灰尘粒子的传感器是关键器件,属于环境检测类传感器。为确定项
目关键器件的选型,我们需要查阅和对比PM检测传感器的资料。
108108
21X1359.indd 108 2021/3/11 11:43:464.4 综合应用项目开发
(1)查阅资料选择检测PM值的传感器。
民用检测PM值的传感器即灰尘检测传感器,主要有激光灰尘传感器和红外灰尘传感
器两种。
激光灰尘传感器又称粉尘传感器,主要采用激光散射原理获取灰尘中颗粒物的直径和
浓度等值。激光照射通过检测位置的颗粒物时会产生微弱的光散射,而特定方向上的光散
射波形与颗粒直径有关,可以通过不同粒径的波形分类统计及换算公式得到不同粒径颗粒
物的实时浓度。如图4-31所示是SDS021激光灰尘传感器。
图4-31 SDS021激光灰尘传感器
红外灰尘传感器又称红外粉尘传感器,其结构、电路与气流进出风口设计简单,采用
红外LED光源,利用电阻加热推动气流流动获取采样空气,且只输出PWM值。如图4-32所
示是GP2Y10红外灰尘传感器。
图4-32 GP2Y10红外灰尘传感器
109109
21X1359.indd 109 2021/3/11 11:43:47第四章 开源硬件项目输入输出组件及综合应用项目开发
实 践
上网查找灰尘检测传感器的相关内容,推荐一款适合开源硬件项目制作的传感器型
号,并将相关内容填入表4-17中。
表4-17 灰尘传感器选择比较表
传感器类型 成本 型号/参数 是否推荐
(2)查阅资料选择其他制作器件。
教室空气质量监测仪项目元器件清单如表4-18所示。
表4-18 教室空气质量监测仪项目元器件清单
元器件 规格 数量
开发板 Arduino UNO 1块
红外灰尘传感器 GP2Y10 1个
USB数据线 USB-B 1根
面包板 400孔 1块
液晶显示屏 LCD1602 1个
温湿度传感器 DHT11 1个
电阻 10 kΩ 1个
电阻 150 Ω 1个
电阻 220 Ω 3个
电解电容 220 μF 1个
全彩灯 RGB 1个
4.技术方案设计
根据开发小组的规划,教室空气质量监测仪项目开发技术方案书具体如下所示。
教室空气质量监测仪项目开发技术方案书
教室空气质量监测仪项目的技术原理是利用灰尘传感器、温湿度传感器采集教
室现场数据,持续监测室内的PM2.5灰尘粒子浓度、温度、湿度等空气质量与舒适度
指标,并通过开发板向显示屏输出实时数据;然后开发板通过将采集指标与内部程
110110
21X1359.indd 110 2021/3/11 11:43:474.4 综合应用项目开发
序设定的指标控制范围进行比对。当空气达到污染程度时,开发板向发光二极管、
蜂鸣器或者显示屏等输出模块发送报警控制信号或信息。
根据开发小组的规划,教室空气质量监测仪项目开发技术方案书具体如下所示。
一、项目名称
基于开源硬件的教室空气质量监测仪。
二、项目描述
项目背景:学校周边环境空气质量不佳,想监测教室里的空气质量是否达标。
使用人群:教室师生。
功能定位:检测教室内空气PM2.5灰尘粒子浓度。
情境创意:当空气中的粒子浓度值产生较大变化时,不同的范围值对应显示不
同颜色的指示灯,污染严重时发出警报声。
要解决的问题:用什么传感器,传感器的敏感度如何,价格成本如何,不同浓
度的阈值范围如何检测,用什么颜色表示,达到什么值时发出警报声。
三、项目合作与分工
项目负责人:×××
成员:×××、×××、×××、×××
分工:硬件搭建×××、×××,程序设计×××、×××
四、开发进度管理
项目选题与创意策划阶段:×月×日—×月×日
项目开发技术方案设计阶段:×月×日—×月×日
项目开发实验与测试阶段:×月×日—×月×日
五、实现方案
1.硬件搭建。
(1)电路原理图如图4-33和图4-34所示。
图4-33 GP2Y10灰尘传感器与开发板连接的电路原理图
111111
21X1359.indd 111 2021/3/11 11:43:47第四章 开源硬件项目输入输出组件及综合应用项目开发
图4-34 教室空气质量监测仪项目的电路原理图
(2)电路搭建模拟图如图4-35所示,各硬件的接线方式如表4-19所示。
图4-35 教室空气质量监测仪项目的电路搭建模拟图
112112
21X1359.indd 112 2021/3/11 11:43:484.4 综合应用项目开发
表4-19 教室空气质量监测仪项目各硬件连线方式
元器件 Arduino板 元器件 Arduino板
OUT D8 VSS GND
DHT11
VCC 5 V VCC 5 V
温湿度传感嚣
GND GND VO GND
GND GND RS D12
R D9 RW GND
RGB全彩灯
G D10 E D7
LCD 1602
液晶显示屏
B D11 D4 D5
脚1、6 5 V D5 D4
脚2、4 GND D6 D3
GP2Y10
红外灰尘传感器
脚3 D6 D7 D2
脚5 A1 A 5 V
K GND
2.教室空气质量监测仪项目的程序设计流程图如图4-36所示。
图4-36 教室空气质量监测仪项目的程序设计流程图
113113
21X1359.indd 113 2021/3/11 11:43:49第四章 开源硬件项目输入输出组件及综合应用项目开发
4 . 4 . 3 教室空气质量监测仪项目的程序设计
教室空气质量监测仪项目代码编程参考程序如下:
(1)引用库函数。
#include // 引用 LiquidCrystal Library
LiquidCrystal lcd(12,7, 5, 4, 3, 2);//定义管脚
#include
dht myDHT_8;
(2)定义温湿度传感器获取温度和湿度函数。
int dht_8_gettemperature( ) {
int chk = myDHT_8.read11(8);
int value = myDHT_8.temperature;
return value;
}
int dht_8_gethumidity( ) {
int chk = myDHT_8.read11(8);
int value = myDHT_8.humidity;
return value;
}
(3)定义项目变量。
int measurePin = A1; //GP2Y10输出端口连接A1引脚
int ledPower = 6; // GP2Y10的LED端口连接6引脚
int samplingTime = 280;
int deltaTime = 40;
int sleepTime = 9680;
float voMeasured = 0;
float calcVoltage = 0;
float dustDensity = 0;
114114
21X1359.indd 114 2021/3/11 11:43:494.4 综合应用项目开发
(4)初始化设置。
void setup( ) {
Serial.begin(9600);
pinMode(ledPower,OUTPUT);
lcd.print("welcome!");
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
}
(5)打开GP2Y10红外灰尘传感器上的LED,并获取PM2.5的信号值。
digitalWrite(ledPower,LOW); // 打开GP2Y10的LED
delayMicroseconds(samplingTime);
voMeasured = analogRead(measurePin); // 读取数值
delayMicroseconds(deltaTime);
digitalWrite(ledPower,HIGH); // 关闭GP2Y10的LED
delayMicroseconds(sleepTime);
(6)对获取的信号值进行转换。
calcVoltage = voMeasured * (5.0 / 1024.0);
dustDensity = 0.17 * calcVoltage - 0.1; // 单位:mg/m3
dustDensity=dustDensity*1000; //将单位由mg/m3转换为ug/m3
(7)设置1602液晶显示屏第1行显示“temp:”+温度,第2行显示“humi:”+湿度,2秒
后清屏。
//输出数据
lcd.clear( );//清屏
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,LOW); //关灯
lcd.setCursor(0, 0); //定义位置,第1列第1行
lcd.print("temp:");
lcd.setCursor(7, 0);
115115
21X1359.indd 115 2021/3/11 11:43:49第四章 开源硬件项目输入输出组件及综合应用项目开发
lcd.setCursor(0, 1); //定义位置,第1列第2行
lcd.print("humi:");
lcd.setCursor(7, 0);
lcd.print(dht_8_gethumidity( ));
delay(2000);
lcd.clear( );
(8)设置LCD第1行显示“Dust Density:”,第2行显示PM2.5的值。
lcd.setCursor(0, 0); //定义位置,第1列第1行
lcd.print("Dust Density:");
lcd.setCursor(0, 1); //定义位置,第1列第2行
lcd.print(dustDensity);
(9)设置若PM2.5的值大于0.5,亮红灯;否则,亮绿灯。
if (dustDensity > 0.5) {
digitalWrite(9,HIGH); //亮红灯
digitalWrite(10,LOW);
digitalWrite(11,LOW);
}
else {
digitalWrite(9,LOW);
digitalWrite(10,HIGH); //亮绿灯
digitalWrite(11,LOW);
}
思 考
如果要检测甲醛等特殊气体浓度,可更换选用哪种传感器?电路应怎样调整或变化?
4 . 4 . 4 教室空气质量监测仪项目的调试和运行
1.调试
正确连接本实验的所有元器件,将上述程序上传到Arduino开发板上,运行程序,测试
预设的功能是否实现。
116116
21X1359.indd 116 2021/3/11 11:43:494.4 综合应用项目开发
如果出现问题,还需要根据问题现象,对硬件连接进行检查及对软硬件进行联合调试。
2.运行
程序运行反复测试成功后,可将装置拿到不同教室实地检测空气质量情况,并长时间
运行,多次反复记录相应的数据,横向对比各小组数据,或纵向对比不同时间段、不同日
期检测记录的数据。
实 践
1.记录教室空气质量监测仪运行输出的数据,并连同其他小组的实验数据一起整理
填入表4-20中。
表4-20 教室空气质量数据记录表
日期: 组别:
时间 输出数据
2.整理各小组的数据,比较并检查所得数据的有效性和准确性,对所采集的数据进
行简要分析,完成表4-21。
表4-21 教室空气质量数据分析表
采集数据 是否超标 可能来源或原因
讨 论
1.根据项目装置的实际运行情况及数据分析,总结教室空气质量存在的问题,并提
出相应的解决方法。
教室空气质量存在的问题:
解决方法:
117117
21X1359.indd 117 2021/3/11 11:43:50第四章 开源硬件项目输入输出组件及综合应用项目开发
2.上网查找空气质量问题及相关解决方法等信息,在全班交流讨论解决空气污染问
题或落实环境保护的具体措施。
项目实施
各小组根据项目选题及拟订的项目方案,结合本节所学知识,进一步探究创意设计与
项目系统运算调控的实现的关系,反复调试、完善设计方案,并参照项目范例的样式,撰
写相应的项目成果报告。
成果交流
各小组运用数字化学习工具,将所完成的项目成果,在小组或班级上进行展示与交流,
共享创造、分享快乐。
活动评价
各小组根据项目选题、拟订的项目方案、实施情况及所形成的项目成果,利用教科书
附录2的“项目活动评价表”,开展项目学习活动评价。
118118
21X1359.indd 118 2021/3/11 11:43:50本章扼要回顾
本章扼要回顾
同学们通过本章学习,根据“开源硬件项目输入输出组件及综合应用项目开发”知识
结构图,扼要回顾、总结、归纳学过的内容,建立自己的知识结构体系。
回顾与总结
119119
21X1359.indd 119 2021/3/11 11:43:52第四章 开源硬件项目输入输出组件及综合应用项目开发
本章学业评价
同学们完成下列测试题(更多的测试题可以在教科书的配套学习资源包中查看),并
通过“本章扼要回顾”以及本章的项目活动评价,综合评价自己在信息技术知识与技能、
解决实际问题的过程与方法,以及相关情感态度与价值观的形成等方面,是否达到了本章
的学习目标。
1.单选题
(1)PWM是脉冲宽度调制技术的缩写,是一种利用微处理器的( )输出来对
( )电路进行控制的技术。
A.模拟 数字 B.数字 模拟 C.函数 模拟 D.函数 数字
(2)在Arduino中,根据输出数据类型的不同,输出函数可分为( )两种。
A.模拟数据读取函数和数字数据读取函数
B.模拟函数和数字函数
C.串口函数和数据输出函数
D.模拟输出函数和数字输出函数
(3)在开源硬件项目的输入输出组件应用中,不是物理检测类传感器的是( )。
A.超声波传感器 B.加速度传感器 C.压力传感器 D.灰尘传感器
2.思考题
教室空气质量监测仪和市场销售的空气质量监测仪的主要区别是什么?
3.情境题
炎炎夏日,早上清凉,午后闷热,午夜后又逐渐清凉。一会儿热一会儿凉,我们不时
得手动调节风扇的风力大小,非常不方便。为解决这个问题,请同学们设计一个自动感温
调速的创意风扇,让它懂得根据外界温度自动调节风扇的转速等,并完成以下任务。
(1)根据自己的构思绘画出项目作品创意策划的思维导图。
(2)开展项目实验,完成项目作品的搭建和编程。
(3)参照项目范例,制作项目作品分享报告。
120120
21X1359.indd 120 2021/3/11 11:43:524.4 综合应用项目开发
第五章
知识分享与知识产权
一直以来,知识对社会经济增长都有着重要作用。工农业时
代,利用知识创造出的各种各样工具,成为物质生产的重要资
源。而到了知识经济时代,知识以及创造知识的方法成为经济发
展的主要资源。借助信息技术,知识可以在人与人之间快速传播
分享,促进知识的迭代更新。借助智能控制和制造技术,知识更
新与物质创造密切联系在一起。借助凝集了大众智慧的开源智能
硬件模块,每个人都可以开发创意硬件项目,并通过互联网进行
分享,回馈社会。这体现了新经济环境下“大众创业,万众创
新”的一些典型特征。由此看来,无论对于个体还是社会来说,
尊重知识、分享知识都是促进自身不断进步、推动环境不断改善
的内在要求。
本章将通过“开源硬件项目的开源许可证与知识分享”
项目,进行自主、协作、探究项目学习,让同学们在学习中
完善项目作品的设计方案,践行开源与知识分享的精神,理
解保护知识产权的意义,从而将知识建构、技能培养与思维
发展融入运用数字化工具解决问题和完成任务的过程中,促
进信息技术学科核心素养达成,完成项目学习目标。
知识分享与开源精神
开放源代码与知识产权
121121
21X1359.indd 121 2021/3/11 11:43:52第五章 知识分享与知识产权
教室空气质量监测仪的开源许可证与知识分享
项目范例
情 境
今天,开源硬件的学习、制作资源非常丰富,这得益于世界范围内众多创客的贡献。
当我们尝试学习、制作一个项目时,可以通过网络搜索到详细的元器件资料以及一些项目
的详细设计文档,可以在开源硬件社区、论坛与世界各地的创客交流创意、分享经验。这
就是开源项目发展中一个典型的场景。我们应如何有效地利用知识分享渠道快速学习、
推进项目,如何避免因行为不当而侵犯别人的知识产权,如何厘清知识分享与知识产权
的界限?
主 题
教室空气质量监测仪的开源许可证与知识分享
规 划
根据项目范例的主题,在小组中组织讨论,利用思维导图工具,制订项目的学习规
划,如图5-1所示。
图5-1 “教室空气质量监测仪的开源许可证与知识分享”项目学习规划
探 究
根据项目学习规划的安排,通过网络资料搜索、文献阅读和项目分享,开展“教室空
气质量监测仪的开源许可证与知识分享”项目学习探究活动,如表5-1所示。
122122
21X1359.indd 122 2021/3/11 11:43:54教室空气质量监测仪的开源许可证与知识分享
教室空气质量监测仪的开源许可证与知识分享
表5-1 “教室空气质量监测仪的开源许可证与知识分享”学习探究活动
探究活动 学习内容 知识技能
知识分享的概念;
知识分 查阅相关知识分享的文献资料。
知识分享的特征。 理解开源与知识
享与开源
互联网环境中开源硬件知识分 调查开源硬件知识分享平台与 分享的精神。
精神
享平台。 项目。
知识产权的概念。 查阅相关知识产权文献资料。 完善项目中的设
计方案。
开放源 开放源代码中的知识产权。
查阅相关开放源代码的引用文 理解保护知识产
代码与知
识产权 开放源代码中用于保护知识产 献,了解常见开源许可协议,在 权的意义。
权的常见协议。 分享报告中践行。 践行开源与知识
分享的精神。
实 施
实施项目学习各项探究活动,进一步理解开源的精神及知识分享与保护的重要性。
成 果
在小组开展项目范例学习过程中,利用思维导图工具梳理小组成员在“头脑风暴”活
动中的观点,建立观点结构图,运用多媒体创作工具(如演示文稿、在线编辑工具),综
合加工和表达,形成项目范例可视化学习成果,并通过各种分享平台发布,共享创造、分
享快乐。例如,运用在线编辑工具制作的“教室空气质量监测仪的开源许可证与知识分
享”可视化报告,可以在教科书的配套学习资源包中查看,其目录截图如图5-2所示。
图5-2 “教室空气质量监测仪的开源许可证与知识分享”可视化报告目录截图
123123
21X1359.indd 123 2021/3/11 11:43:56第五章 知识分享与知识产权
评 价
根据教科书附录2的“项目活动评价表”,对项目范例的学习过程和学习成果在小组
或班级上进行交流,开展项目学习活动评价。
项目选题
同学们以3~6人组成一个小组,选择下面一个参考主题,或者自拟一个感兴趣的主
题,开展项目学习。
1.校园水质监测仪开源许可证与知识分享
2.家庭防盗监测仪开源许可证与知识分享
3.社区噪声监测仪开源许可证与知识分享
项目规划
各小组根据项目选题,参照项目范例的样式,利用思维导图工具,制订相应的项目
方案。
方案交流
各小组将完成的方案在全班进行展示交流,师生共同探讨、完善相应的项目方案。
5.1
知识分享与开源精神
在互联网日益普及的今天,各百科类网站在世界范围内通过用户共享知识、编辑、审
核词条而形成的各种在线电子百科全书,已成为互联网上自由获取知识的重要平台。
互联网上各类机构公开的数据资料库以及各类网站、论坛,构成了一个庞大的在线知
识分享网络。专业机构与个人都可以通过这些网络平台,向他人分享自己的知识。
这是互联网时代创造的一把双刃剑。人们可以借助这个知识分享平台进行终身学习,
开展各种研究和创造。但同时,不可靠的知识也可能借助这些平台得到快速传播,造成不
可预知的后果。因此,我们在充分利用知识分享的同时,也要坚决抵制以知识分享为名传
播虚假知识的行为。
124124
21X1359.indd 124 2021/3/11 11:43:565.1 知识分享与开源精神
探究活动
思 考
修改百科网站中的词条解释是常见的事情。然而,有一些人会恶意修改词条,引起人
们的误解和疑惑,这严重损害了百科网站的权威性。词条修改行为是否应被视为一种知识
分享?在互联网背景下的知识分享应该以自由还是专业、准确为第一准则?
5 . 1 . 1 知识分享背景下的开源精神
知识分享又称知识共享,通常是指在某个共同群体内,个人与个人之间、个人与组织
之间、组织与组织之间的知识交流与知识创新的过程。个人可以从这个过程中获得解决问
题的方法和工具,增长个人知识。同时,组织也可以通过这个过程积累、丰富内部的知
识。知识分享不仅可以促进协作,还可以创造新知识,提升共享双方的学习、创新能力,
促进项目成果的迭代创新,提升科学技术水平并加速社会发展。
开放源代码运动就是在知识分享的大背景下酝酿、产生的,且最早发源于软件业。早
期的商业软件公司出于营利目的对软件源代码实施严格保护。但到了20世纪80年代,一群
自由软件爱好者逆其道而行之,将软件源代码完全公开,使其能被免费获取并自由分发。
其中,最有名气和影响力的开源软件项目是Linux。这些软件通常是由志愿者通过网络平
台协同开发、持续维护的。这种独特的生产与发布方式,取得了令人瞩目的成功,给商
业软件造成了巨大的压力与挑战,迫使后者将更多原来只在企业内部交流的知识不断公
之于众。
这种模式,释放了知识分享所蕴含的巨大创造力和商业价值。因此,其他领域不断借
鉴、复制这种模式,并衍生出开源硬件、开放获取(Open Access)、开源图书、开源科学
研究等模式。这些通过知识分享推动创新的行动模式可被视为“开放源代码运动”的一系
列变式。
知识分享背景下的开源精神主要包括奉献、开放和创新精神。
1.奉献精神
开源技术是一个巨大的知识宝库。例如,在开源编程语言Python、开源硬件Arduino
中,积累了大量技术开发人员无私奉献的项目代码和电路设计,使得人们可以安心地利用
他们的成果继续创新。所以,我们需要怀着感恩和奉献的心,及时反馈项目使用中出现的
问题,力所能及地修正项目存在的漏洞与错误,并尽可能把自己的创新成果开源,回馈社
区。在为这个知识宝库的发展做贡献的同时,奉献者也能收获服务他人并为社会创造价值
的快乐与满足。
2.开放精神
开源技术能得到快速的发展,开放精神起到了十分重要的作用。思想开放的人乐于向
125125
21X1359.indd 125 2021/3/11 11:43:57第五章 知识分享与知识产权
社区分享自己的成果,同时也习惯于通过社区寻求帮助、结识朋友。
3.创新精神
创新是推动人类发展的动力。通过工程技术人员和爱好者的持续努力,计算机和控制
器已经变得像Arduino和树莓派等开源硬件一样,非常小巧,方便使用。每个人都可以借助
这类硬件将自己的创新想法变成产品,也可以不断更新这类硬件的设计或为它编写新的程
序,让它变得更小、更易用,从而帮助更多的人实践他们的想法。开源硬件正是在这样不
断追求进步、持续开放共享的过程中快速发展。其他开源技术同样如此。这种人们不断追
求技术进步的行动,反映了人类追求持续进步的创新精神。
阅 读
开放科学硬件
开放科学硬件相当于开放制作科学仪器的“源代码”,包括共享零件清单、装配示意
图和装配指南,有时还提供借助激光切割机或3D打印机制作仪器部件的CAD模型文件。
这种开放,使得人们能在彼此工作的基础上设计、分享和制造各种科学仪器,促进科学的
发展。目前,人们利用开源科学硬件已开发出数百种科学工具。其中最典型的例子是手持
便携式光度计。最初,人们只是为了制造低成本的化学含氧量测量仪以取代昂贵的商用仪
器。后来,有人通过增添廉价部件,将它升级为散射比浊计。再后来,又有人将这个仪器
进一步增强为实验室级、用于硝酸盐精密测试、成本更低的便携式光度计,如图5-3所示。
原始版 改进版 实验室级版
图5-3 手持便携式光度计的设计与演变
开放科学硬件不仅能帮助科学家降低仪器设备成本,提升科研效能,而且还能大大降
低培训未来科学家的成本,让更多的学生受惠。
思 考
阅读资料,思考开源科学硬件对科学研究与科学学习的影响,以及如何将开源科学硬
件应用到学习中。
126126
21X1359.indd 126 2021/3/11 11:43:575.1 知识分享与开源精神
5 . 1 . 2 互联网常用知识分享平台
1.互联网上知识分享平台的常见类型
互联网是知识分享的天然优良平台。在互联网上,从历久弥新的BBS讨论版、网站、
社区论坛,到用户协作提供内容的百科网站、源代码分享网站、项目分享网站,再到即时
通信工具群等移动互联网上的社交媒体圈,都分享着各行各业、各种类型的知识。不同类
型的平台在知识分享的作用中不尽相同。
(1)综合性网站。
综合性网站,利用结构化的组织形式,呈现不同主题的内容知识,就像一个存储于网
络的综合资料库一样。一个行业综合性网站,除了超文本内容外,还包括论坛、知识库、
项目库等不同形式的板块。典型的综合性开源网站有开源中国等。
(2)社区论坛。
社区论坛,主要由用户的提问帖、经验帖及回帖构成的以问题、项目为线索的主题讨
论网站。论坛管理人员定期整理优质的沉淀内容,并在论坛中置顶为精华帖。社区论坛内
容的最大特点就是用户贡献内容与人工甄别、排序内容相结合。例如,电子发烧友论坛、
21 ic中国电子网中的技术论坛、CSDN软件开发者论坛等都是分享、交流软硬件、电子技
术等 相关内容的知名论坛。
(3)在线百科网站。
在线百科网站,则是以词条形式,通过用户在线协作编辑内容并审核的一种百科全书
式的词典知识库。在词条中除了文本、图片外,还有丰富的超文本链接资源,因此它们可
以在用户的持续贡献下不断地丰富内容。
(4)源代码分享网站与项目分享网站。
与开源软件、硬件密切相关的,当属源代码分享网站与项目分享网站。源代码分享
网站实质上是一种托管软件项目的网站,是基于软件版本控制系统所构建的在线软件协
同开发平台。每一个项目都有自己的主页。用户在登录网站后,可以在项目主页中自由
查阅、下载不同版本的软件及其源代码。同时,用户也可以在获得允许的条件下,提交更
新自己的源代码。随着开源硬件的兴起,在已有的开源软件代码分享平台中,越来越多硬
件项目也在上面分享自己的设计与代码。其中典型网站为GitHub。
而项目分享网站则是以项目为主要载体,以其设计、图文的制作过程为主要内容的网
站。其中典型的、用于分享用户兴趣类设计制作的网站如instructables。实际上,国内外的
很多高校、企业也会在其网站上开辟相应的开源项目知识分享栏目、频道。这一方面便于
团队内部的协作分享,另一方面通过开放分享,展示项目成果,以期获得外界的反馈,扩
大项目成果的影响与协作范围。
(5)自媒体与公共社交平台。
博客、微博、微信朋友圈、公众号等软件或网页属于自媒体或公共社交平台,为知
识分享者与学习者之间架设起全方位交流的桥梁。通过这些平台,人们不仅可以发布读
书笔记、经验文章以及项目成果等图文信息,而且还可以方便地传播即时录制的音像、
127127
21X1359.indd 127 2021/3/11 11:43:58第五章 知识分享与知识产权
视频等资料。
2.知识分享中的来源引用
虽然在互联网上可以公开获取到各种信息、知识和开源项目源代码,但是在组织自己
的调研报告、论文或者开源项目时,必须要清晰地标明参考过的资料、图片等内容引用的
来源。例如,标明引用的网站名、引用电子文件的具体网址等。这样做是为了表示对原创
作品版权的尊重和保护。
例如,在一个介绍使用Arduino制作的项目演示文稿中,引用了某个网站的图片,则可
以在图片下方注明引用文档的来源,如图5-4所示。当引用某文档的观点、文字作为论据
或者叙述内容,则可以在引用处以角标的形式标明,并以页注或尾注的形式详细注明内容
来源。
图5-4 演示文稿中引用图片的标注方法
调 查
调查互联网中的知识分享网站及其特点,并完成表5-2。
表5-2 知识分享网站及其特点
网站名称 网址 关注领域 内容特点
128128
21X1359.indd 128 2021/3/11 11:43:585.2 开放源代码与知识产权
讨 论
围绕“开源精神与知识分享”的命题,以小组为单位选择以下其中一个问题,查阅相
关资料,形成观点,在课堂上或在学校网络学习空间进行讨论与分享。
1.开源精神与知识分享有什么联系?
2.知识分享如何促进新知识的创造。
3.你是否愿意分享你的知识与特长?如果愿意,则选择一种知识分享平台,并阐述
原因以及你想分享的内容。
实 践
以“空气质量监控”为关键词,通过互联网收集与空气质量监控相关的原理、装置、
背景等信息,将有用的文字、图片信息摘录、引用并汇集成调研演示文稿,同时做好相关
信息引用的注明。
项目实施
各小组根据项目选题及拟订的项目方案,结合本节所学知识,开展以下活动。
1.利用互联网搜索知识分享和开源精神的相关文献,分析知识分享和开源精神的
内涵。
2.完成相应项目分享方式的选择和设计。
5.2
开放源代码与知识产权
一般来说,开放源代码并不代表产权所有人放弃了知识产权。虽然开放源代码与传统
知识产权不同,但它并不反对知识产权。相反,在实际的行动中,开放源代码正努力从其
他法律角度寻求版权、商标、专利等知识产权的综合保护,并通过与具有合同约束力的开
源许可协议结合,形成一种类似但有别于传统知识产权保护的体系。
探究活动
思 考
你认为开放源代码可能会产生怎样的社会效益和经济效益?
129129
21X1359.indd 129 2021/3/11 11:43:58第五章 知识分享与知识产权
5 . 2 . 1 知识产权及其历史
知识产权,也称为“知识所属权”,指权利人对其智力劳动所创作的成果和经营活动
中的标记、信誉所依法享有的专有权利。一般由国家赋予拥有者在一定时间内享有专有权
或独占权。所以,知识产权本质上是一种无形财产的财产权,它的载体是智力成果或者知
识产品等无形财产。知识产权与房屋、汽车等有形财产一样具有价值。
权利需要相关制度的保障。知识产权制度在世界上有着悠久的历史,尤其在专利、商
标和版权等权利的保护上。截至目前,它的发展经历了四个阶段,如表5-3所示。
表5-3 知识产权发展历程
阶段 时间 特点
13世纪— 封建王室赋予工匠和商人某些类似现代专利的垄断特权,成为日后知识产权
萌芽阶段
14世纪 制度的基础。
绝大多数西方资本主义国家都建立了主要涵盖专利、商标、版权的相关知识
15世纪—
发展阶段 产权制度,如最早的威尼斯共和国于1474年制定了世界第一部专利法——《专
19世纪末
利法》。
知识产权在世界范围内呈现纵深式的扩张,知识产权逐步国际化、现代化。
19世纪末—
扩张阶段 1970年,世界知识产权组织(WIPO)成立是这个阶段的重要标志。而社会主义
20世纪末
国家与发展中国家也逐步加大对知识产权的保护力度。
知识产权制度与商品贸易挂钩阶段。国际贸易商品中的知识要素、技术含量
20世纪开
深化阶段 日益增加,国家和一些跨国大型科技企业,为了在市场竞争中保持优势地位,
始
纷纷试图以知识产权为手段使自身利益最大化。
从历史发展的角度看,知识产权制度是通过经济手段促进知识创新的一种工具。它是
国家通过许可创新者对其创新成果拥有一定程度的垄断,借助经济利益,调动其创新积极
性的手段。它对推动知识创新与扩散,推动知识与社会经济、产业发展相结合有着很大的
作用。
从知识分享的角度看,知识产权是一种有条件的知识分享方式。现代专利制度要求一
个专利以公开说明书的形式公布专利的内容,才能获得这些内容的相应垄断性权益。但
是,随着知识的公共产品属性越来越强,知识产权的垄断性所带来的负面影响日益显现。
这种基于经济利益考虑的垄断,有时反而成为知识创新的壁垒,阻碍了知识的进一步利
用、融合与发展。
阅 读
1.2018年《政府工作报告》中提到与知识产权相关的内容:
五年来,创新驱动发展成果丰硕。全社会研发投入年均增长11%,规模跃居世界第二
130130
21X1359.indd 130 2021/3/11 11:43:595.2 开放源代码与知识产权
位。科技进步贡献率由52.2%提高到57.5%。载人航天、深海探测、量子通信、大飞机等重
大创新成果不断涌现。
……
支持北京、上海建设科技创新中心,新设14个国家自主创新示范区,带动形成一批区
域创新高地。以企业为主体加强技术创新体系建设,涌现一批具有国际竞争力的创新型企
业和新型研发机构。深入开展大众创业、万众创新,实施普惠性支持政策,完善孵化体
系。各类市场主体达到9800多万户,五年增加70%以上。国内有效发明专利拥有量增加两
倍,技术交易额翻了一番。
……
完善产权制度和要素市场化配置机制。产权制度是社会主义市场经济的基石。要以保
护产权、维护契约、统一市场、平等交换、公平竞争为基本导向,完善相关法律法规。对
各种侵权行为要依法严肃处理,对产权纠纷申诉案件要依法甄别纠正。强化知识产权保
护,实行侵权惩罚性赔偿制度。加快技术、土地等要素价格市场化改革,深化资源类产品
和公共服务价格改革,打破行政垄断,防止市场垄断。要用有力的产权保护、顺畅的要素
流动,让市场活力和社会创造力竞相迸发。
2.新华网转载《新京报》关于我国H公司与A国S公司专利诉讼案的新闻:
2016年,我国H公司起诉A国S公司,要求A国S公司就其知识产权侵权行为对我国H公司进
行赔偿,所涉知识产权包括涉及通信技术的高价值专利和A国S公司生产的手机使用的软件。
2018年,我国H公司起诉A国S公司侵犯知识产权案一审宣判。深圳市中级人民法院知
识产权法庭认定A国S公司构成侵权,判定立即停止侵权,禁止以制造、销售、允诺销售等
方式继续销售侵权产品。法庭认为,A国S公司在我国生产、销售相应4G智能终端产品,
一定会使用我国H公司的这两项标准必要专利技术,因此,在我国H公司取得两项发明专
利权以后,A国S公司未经许可在我国实施H公司的两项专利技术,侵犯了原告的专利权。
近年来,国产手机厂商的专利积累意识有所提升。我国H公司相关数据显示,截至
2016年12月31日,我国H公司已经累计获得专利授权62 519件,申请中国专利57 632件、外
国专利39 613件,90%以上为发明型专利,在国际排名上,H公司目前是中国企业发明专利
授权量的第一位。
讨 论
小组讨论我国设计和利用了哪些知识产权制度和措施来保护市场活力与社会创造力。
5 . 2 . 2 常见的开源许可证
知识共享给开发者带来了很多便利。但是,源代码开放并不意味着我们可以随意剽窃
创意和肆无忌惮地盗版,使用开源代码时必须注意尊重和保护知识产权。开源项目的知识
产权保护是通过共同遵守开源许可协议,并通过开源许可证具体实现的。
131131
21X1359.indd 131 2021/3/11 11:43:59第五章 知识分享与知识产权
许可协议是国际技术转让中普遍使用的一种合同,是指权利人(许可人)允许使用人
(被许可人)付费使用自己的专属无形财产或制造分销产品的协议。许可证就是承载许可
协议具体实施以及具有法律效力的书面合同凭证。为了体现开源项目的开放、共享特性,
开源项目通常使用开源许可证明确开发者与使用者之间的权利和义务。
在开源项目的传播过程中,一旦下载或使用了项目内容,开源许可证就自动生效。使
用者与项目发布者就根据许可证协议内容,形成相应的契约关系。
1.软件开源许可证
目前,开放源代码软件许可证已有60种之多,常见的开源许可证有GPL、LGPL、
BSD、MIT和CC等。
(1)GPL(General Public License),通用性公开许可证。它规定:只要在一个软件
中使用GPL许可证的产品,则该软件产品也必须采用GPL许可证,也必须开源和免费。这
个协议可以极大地增加开源软件的数量。但是,这份协议不太适合商用软件,或者使用
GPL开源组件的商用项目。例如Linux就是最早使用GPL协议、广为人知的操作系统内核,
它完全免费并允许自由修改与传播。很多机构与个人基于Linux系统内核,制作了Redhat、
Ubuntu等一系列Linux发行版本。著名的开源3D打印机项目RepRap就是使用GPL协议。
(2)BSD(Berkeley Software Distribution),伯克利软件套件许可证。这个许可证的协
议内容相对宽松很多,适用于商业软件。BSD原指伯克利大学开发的一个Unix计算机操作
系统分支版本。这个分支软件混合了一些开源代码和专利代码。因此,以BSD Unix为基础
发展起来的BSD许可证允许使用者修改和重新发布代码,也允许使用者在BSD代码基础上
开发商业软件,并发布和销售。BSD许可证鼓励代码共享,但需要尊重代码作者的著作权。
(3)MIT(Massachusetts Institute of Technology),源自麻省理工学院,又称X11许可
证。MIT与BSD类似,但它的协议内容比BSD协议更加宽松,是目前最少限制的许可证。
这个许可证唯一的条件就是要求在修改后的代码或者发行包中包含原作者的许可信息。例
如,使用Python编程的机器视觉项目OpenMV的控制软件及算法部分就是使用了MIT协议,
且允许其他使用者在合规的情况下修改、发行自己的软件包。
(4)CC(Creative Commons),称为知识共享,是一份相对宽松的版权协议,一般用
于设计、摄影、图片作品的开放式分享。它包含了四个可自由组合的不同后缀分项,分别
为BY(开源但署名必须提到原作者)、NC(开源但作品不可用于营利性目的)、ND(开
源但不允许修改原作品)和SA(开源但修改后必须使用相同许可证发布)。
例如,开源机器视觉项目OpenMV的硬件电路设计图以及电路板布线图就是使用了
CC-BY-SA协议开源发布。与使用MIT协议开源的软件部分不同,OpenMV项目向用户开源
了硬件电路设计图与布线图,但要求用户在声明原作者署名的条件下才能对项目进行个性
化修改,并且必须使用相同的许可证开源修改后的代码和项目。
(5)木兰宽松许可证(Mulan Permissive Software License),是北京大学牵头并依托
全国信标委云计算标准工作组等国内相关机构、人员共同研制的本土开源许可证。和其
他源于国外的许可证不同的是,它使用中英文表述并发布,且两种表述具备同等法律效
力,可免去中文使用者进行法律解释时的语言难度。该许可证具有和BSD许可证相似的宽
松度,兼容性好且具有商业友好性。它允许使用者在尊重原作者与贡献者版权的基础上修
132132
21X1359.indd 132 2021/3/11 11:43:595.2 开放源代码与知识产权
改、重新发布代码,以及开发商业软件。上海交通大学团队开发的HCloud可信云际计算平
台等一批国内开源项目率先应用了木兰宽松协议。
2.硬件开源许可证
继软件开源许可证之后,也出现了一些硬件开源许可证,其中最常见的包括TAPR、
CERN和Solderpad。这些开源硬件许可证延续着开源软件许可证的规则,以著作权为基础
构建许可协议,把开源软件惯用的GPL、BSD等协议带到开源硬件中来。
(1)TAPR(Tucson Amateur Packet Radiosystem Open Hardware License),是GPL-2.0
授权条款在硬件领域的衍生版本。它规定,如果硬件设计文件的开源者留下了他的电子邮
箱,而后来的使用者修改了这份以TAPR 授权的设计文件,则必须将修改后的设计文件,
寄送到开源者留下的电子邮箱,或是通过此电子邮箱联系开源者进行修改通报。TAPR 侧
重于无线电装置设计的开放应用。
(2)CERN(European Organization for Nuclear Research Open Hardware License),是将
GPL-2.0与自由、开源的理念和做法,添加到开源硬件中来的一种许可证。许可证规定,
使用者向开源者的修改通报,没有限制必须以电子邮件形式进行。它的授权条款比较全面
与细致,它将关注层面放在未来有机会采用开源模式发展的更多的硬件上。
(3)Solderpad(Solderpad Open Hardware License),与TAPR和CERN有很大不同,它
并不强制用户修改后必须通报原作者,并以原有许可证方式开源。micro:bit的电路设计图
和布线图部分就是基于Solderpad协议开源的。根据协议,micro:bit将可以直接通过电路设
计自动化软件进行修改的电路设计图和电路板布线图文件开源,供用户使用。用户自行
决定是否将修改后的新设计开源。项目一旦开源,必须注明原作者的贡献以及所继承的
协议。
总之,在开源硬件项目设计的学习、实践中,我们要注意了解开源许可证的种类和许
可协议内容,要具备相关知识分享与知识产权保护的知识和能力,遵守有关开源、信息安
全等方面的法律法规,具备良好的信息道德与伦理,在信息社会中有责任,有担当。
查 阅
阅读表5-4部分开源许可证一览表和图5-5常用开源许可证关系分析图,并查阅国内外
相关开源许可证以及和开源硬件相关的法律法规,对表5-4进行扩充与完善。
表5-4 部分开源许可证一览表
能否加入其他 是否可以不公开 是否只能按本许可 对修改后闭源的代码
许可证类型
非开源代码 修改后的源代码 发布源代码 是否必须声明版权
GPL许可证 × × √ 不允许闭源
BSD许可证 √ √ × ×
MIT许可证 √ √ × ×
CC许可证 √ √ × √
133133
21X1359.indd 133 2021/3/11 11:43:59第五章 知识分享与知识产权
(续表)
能否加入其他 是否可以不公开 是否只能按本许可 对修改后闭源的代码
许可证类型
非开源代码 修改后的源代码 发布源代码 是否必须声明版权
TAPR许可证 × × × 不允许闭源
CERN许可证 × × × 不允许闭源
Solderpad许可证 √ √ × √
LGPL许可证 √ × × 不允许闭源
APACHE许可证 √ √ × √
木兰宽松许可证 √ √ × √
图5-5 常用开源许可证关系分析图
问 题
问题一:A同学发现自己在网络上分享过的一个项目创意,以B项目出现在他所在城
市的学生创客比赛中。经过比较,他发现该项目和自己的项目不仅创意相同,而且在形态
结构上有诸多相似之处。更重要的是,该项目并没有声明对自己项目的借鉴与引用,却声
明为原创作品。
问题二:“一次意料之外的专利申请”。中国某科技公司向原国家工商行政管理总局
商标局申请,将“ARDUINO”“MAKEBLOCK”“ARDUBLOCK”等开源硬件、软件
品牌名称注册为自有商标。
134134
21X1359.indd 134 2021/3/11 11:44:015.2 开放源代码与知识产权
问题三:“一张消失的证书”。C同学开发的、使用MIT开源许可证的开源智能台灯
项目非常受欢迎,项目源代码在网络上广为流传。有一天,他在某开源社区下载了一个使
用该开源智能台灯项目代码进行二次开发并开源的项目代码包。解压缩后发现,该开源项
目同样使用MIT开源许可证,但只包含了开发者本人的相关开源信息。
讨 论
1.如何评价问题一中B项目作者的行为?为了避免这种情况,你对A同学有何建议?
2.从开源与知识产权的角度,你如何分析问题二中公司的商标注册行为?
3.具有国际影响力的、由网络社区共同形成的品牌,能否在个别国家或地区注册商
标?这样的行为是以商标的形式保护了品牌,还是侵害了品牌的知识产权?
4.分析问题三中开源项目使用许可证的方式是否合理。
实 践
1.为自己小组所设计的相应项目撰写一份源代码开放注意事项,要求:
(1)选择一个合适的开源许可证,并说明理由。
(2)查阅该开源许可证具体内容,并根据项目需要撰写源代码开放注意事项。注意
事项是对使用源代码的人所提的具体要求,整理成文档后与所选开源许可证信息一同发布
交流。
2.制作相应项目的可视化报告,并要求在封面上注明采用了哪个开源许可证。
项目实施
各小组根据项目选题及拟订的项目方案,结合本节所学知识,完善项目设计,理解保
护知识产权的意义和常见开源许可证协议,并参照项目范例的样式,撰写相应的项目成果
报告。
成果交流
各小组运用数字化学习工具,将所完成的项目成果,在小组或班级上进行展示与
交流,共享创造、分享快乐。
活动评价
各小组根据项目选题、拟订的项目方案、实施情况及所形成的项目成果,利用教科书
附录2的“项目活动评价表”,开展项目学习活动评价。
135135
21X1359.indd 135 2021/3/11 11:44:01第五章 知识分享与知识产权
本章扼要回顾
同学们通过本章学习,根据“知识分享与知识产权”知识结构图,扼要回顾、总结、
归纳学过的内容,建立自己的知识结构体系。
回顾与总结
136136
21X1359.indd 136 2021/3/11 11:44:02本章学业评价
本章学业评价
同学们完成下列测试题(更多的测试题可以在教科书的配套学习资源包中查看),并
通过“本章扼要回顾”以及本章的项目活动评价,综合评价自己在信息技术知识与技能、
解决实际问题的过程与方法,以及相关情感态度与价值观的形成等方面,是否达到了本章
的学习目标。
1.单选题
(1)开源精神可以归纳为奉献精神、开放精神和( )精神。
A.共享 B.求实 C.创新 D.合作
(2)假设你打算设计一个校园气象站,想在互联网上寻找类似的项目做参考,则下
列网站或平台可以满足你需求的是( )。
A.微信朋友圈
B.项目分享网站
C.源代码托管网站
D.微博
(3)假设你已经完成一个校园气象站的设计制作,想将它在网络上开源,并希望
项目及其修改版本只能保持相同许可证和继续公开源代码,应该选用的开源许可证是
( )。
A.GPL通用性公共许可证
B.CC知识共享许可证
C.BSD许可证
D.MIT许可证
2.思考题
在信息时代,应如何认识开放源代码运动中的规则意识与分享意识?
3.情境题
以校园气象站制作为课题,拟订一个项目制作、网络展示,并制作开源的开题计
划书,那么:
(1)你会选择将哪一个网站或平台列入计划书中,原因和作用是什么?
(2)假设项目最终需要面向青少年或初学者进行分享,你计划以什么方式展示并开
源项目?参考下表,把需要开源的内容以及文件格式制作成一个列表清单。
序号 开源内容 文件格式
1 分享报告 电子文档、演示文稿等
2 …… ……
137137
21X1359.indd 137 2021/3/11 11:44:02附录1 部分术语、缩略语中英文对照表
附录1 部分术语、缩略语中英文对照表
Android 安卓系统(1)
ArduBlock 第三方图形化编程软件(1)
Arduino 开源硬件开发平台(1)
Arduino IDE Arduino官方文本编程软件(1)
Arduino UNO 一款Arduino的开发板型号(1)
COM(Cluster Communication port) 串行通信端口(1)
Copyright 著作权(5)
Fritzing 图形化电路设计软件(2)
GND(Ground) 地线/接地(1)
I/O 输入/输出(1)
micro:bit 开源硬件开发平台(1)
Mixly 图形化编程软件(1)
OSH(Open Science Hardware) 开源科学硬件(5)
OSH(Open Source Hardware) 开源硬件(5)
OSHA(Open Source Hardware Association) 开源硬件协会(1)
OSI(Open Source Initiative) 开放源代码促进会(1)
PWM(Pulse Width Modulation) 脉冲宽度调制(4)
Raspberry Pi 树莓派(1)
RX(Reception X) 接收端口(4)
source 源代码(1)
TX(Transmission X) 发射端口(4)
USB(Universal Serial Bus) 通用串行总线(1)
VCC(Volt Current Condenser) 电源电压(4)
Wi-Fi 无线联网技术(1)
138138
21X1359.indd 138 2021/3/11 11:44:02附录2 项目活动评价表
附录2 项目活动评价表
以培养信息素养为目标,以知识体系为载体,以项目学习活动过程与评价为途径,促进
同学们信息技术学科核心素养达成。
项目学习主题:
项目学 学科核心 支撑
一级指标 二级指标 评价结果
习过程 素养达成 材料
□优秀
从现实世界选择项目主题的能力。
从现实世界中选 □良好
项目选题 化抽象概念为现实问题的能力。
择明确的项目主 □中等
对信息的敏感度和价值的判断力。
题,形成对信息的 □仍需努力
选定项目 敏感度和信息价值
的判断力。 □优秀
分析项目目标的能力。
分析项目目标与 □良好
项目分析 分析项目可行性的能力。
可行性。 □中等
从现实世界发现项目素材的能力。
□仍需努力
□优秀
组建团队与明确项目任务的能力。
□良好
组建团队与明确 项目规划 规划项目学习工具与方法的能力。
□中等
项目任务,体现正 预期项目成果的能力。
□仍需努力
确的信息社会责任
规划设计
意识。
□优秀
规划项目与交流 交流项目方案的能力。
□良好
方案。 方案交流 完善项目方案的能力。
□中等
体现正确的信息社会责任意识。
□仍需努力
□优秀
自主学习能力。
□良好
通过团队合作, 团队合作 分工与协作能力。
□中等
围绕项目进行自主、 交流与沟通能力。
□仍需努力
协作学习。
活动探究
开展探究活动,
□优秀
提升信息获取、处理 信息获取与处理能力。
□良好
与应用、创新能力。 探究活动 探究与联想能力。
□中等
实践与创新能力。
□仍需努力
139139
21X1359.indd 139 2021/3/11 11:44:03附录2 项目活动评价表
(续表)
项目学 学科核心 支撑
一级指标 二级指标 评价结果
习过程 素养达成 材料
针 对 给 定 的 任
□优秀
务进行分解,明确 采用计算机领域的思想方法能力。
□良好
需要解决的关键问 工具方法 使用数字化工具与资源能力。
□中等
题,并采用计算机 数字化学习能力。
□仍需努力
科学领域的思想方
项目实施 法,在形成问题解
决方案的过程中
□优秀
产生一系列思维活 针对给定的任务进行分解。
□良好
动。 实施方案 明确需要解决的关键问题。
□中等
完成方案中预设 完成方案中预设的目标。
□仍需努力
的目标。
清晰表达项目主题与过程。 □优秀
与团队成员共享 与团队成员共享创造与分享快乐。 □良好
成果交流
创造与分享快乐, 提升批判性思维能力与信息社会 □中等
提升批判性思维能 责任感。 □仍需努力
项目成果
力与信息社会责任
交流与评价
感。
□优秀
评价项目目标与 运用新知识与技能实现项目目标。
□良好
成果质量效果。 项目评价 项目成果的可视化表达质量。
□中等
项目成果解决现实问题效果。
□仍需努力
综合评价 □优秀 □良好 □中等 □仍需努力
注:1.评价得分90~100分为优秀(A);75~89分为良好(B);60~74分为中等(C);60分以下为
仍需努力(D)。
2.综合得分=互评×30%+自评×30%+教师评×40%。
140140
21X1359.indd 140 2021/3/11 11:44:03普
通
高
中
普 通 高 中 教 科 书
教
科
书
信
息
技
术
选
择
信息技术
性
必
6
修
选择性必修
6
开
开源硬件项目设计
源
硬
件
项
Kaiyuan Yingjian Xiangmu Sheji
目
设
计
广
东
教
育
出
版
社
广东教育出版社
定价:10.86元
批准文号:粤发改价格[2017]434号 举报电话:12315
ook2020信息技术选择性必修1-6封面.indd 6 2020/12/3 下午3:55