基于Arduino的技术学科教学设计.pdfVIP

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

龙源期刊网

基于Arduino的技术学科教学设计

作者:陈世鸥

来源:《新课程》2020年第11期

在组织高中通用技术课程中的电子控制技术模块教学时,由于该课程的实践性很强,需

要理论联系实际,传统的“灌输式”教学方法显然已无法满足学生学习的需求,这就需要教师结

合现代电子、电气技术的发展,适当充实教学内容、变革教学手段。

一、Arduino平台简介

龙源期刊网

众所周知,Arduino是一款便捷灵活、方便上手的开源平台,包含硬件(各种型号的

Arduino板)和软件(ArduinoIDE),常用于电子电路的开发。开发者使用ArduinoIDE编写出

的程序简明高效,可读性与兼容性俱佳。且由于开源平台的开放性,有数以万计的专业工程师

或电子爱好者都在Arduino平台上开发电子产品,使得Arduino开发逐渐成为当今互联网、物

联网时代的一种趋势。

Arduino使用类似Java、C语言的Processing/Wiring搭建开发环境,在IDE中将编写好的

程序编译成二进制文件,上传写入微控制器以告诉电路板接下来要做什么。在前端使用各类传

感器采样感知外部环境,经过一系列判断、控制后,最终输出至LED灯、马达或其他装置,

控制其状态发生变化。简单的数行代码加上必要的扩展元件,就能够实现各种各样的电子设备

(比如循迹机器人、智能浇花装置、无人机等)。

二、在高中阶段尝试应用Arduino平台进行初步开发

高中生已经具备了基本的逻辑推理能力,经过信息技术学科相应模块的学习,也有了初

步的编程能力,在经过必要的学习后就可以编写出Arduino程序。在具体的任务情境中,可以

先用Arduino软件进行逻辑实现,调试并模拟仿真,再结合面包板快速搭接电路实现控制目

的。在这个过程中,学生变身为工程师,通过软、硬件知识的相互印证,体验到了现代电子开

发的完整流程。

例如,设计一个能安装到机器人上的火焰报警器,当检测到火焰后通过蜂鸣器报警。其

设计思路是:软件下达开始指令后,传感器采集红外信号并将其转化为变化的电流信号。当检

测到的数据低于设定的阈值,控制器判定为附近有火焰,蜂鸣器开始报警。

将硬件部分连接好(蜂鸣器模块和火焰传感器分别连接到UNO板上的数字口8和模拟口

0),并用螺钉固定到机器人扩展支架上,然后在ArduinoIDE中写入并调试以下代码:

项目//-火焰报警器

floatsinVal;

inttoneVal;

voidsetup(){

;;pinMode(8,OUTPUT);//蜂鳴器引脚设置

;;Serial.begin(9600);//设置波特率为9600bps

}

龙源期刊网

voidloop(){

intsensorValue=analogRead(0);//火焰传感器连到模拟口,并从模拟口读值

Serial.println(sensorValue);

delay(1);

(sensorValue1023if){//如果数据小于1023,说明有火源,蜂鸣器响

;;;for(intx=0;x180;x++){

将;;;//sin函数角度转化为弧度

;sinVal=(sin(x*(3.1412/180)));

用;;;//sin函数值产生声音的频率

toneVal=2000+(int(sinVal*1000));

给引脚;;;//8一个

tone(8,toneVal);

;;;delay(2);

;}

}

else{//如果数据大于等于1023,没有火源,关闭蜂鸣器

noTone(8);//关闭蜂鸣器

}

}

编辑李建军

文档评论(0)

183****6089 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档