基于Arduino的技术学科教学设计陈世鸥
(浙江省天台中学,浙江
在组织高中通用技术课程中的电子控制技术模块教学时,由于该课程的实践性很强,需要理论联系实际,传统的“灌输式”教学方法显然已无法满足学生学习的需求,这就需要教师结合现代电子、电气技术的发展,适当充实教学内容、变革教学手段。
一、Arduino平台简介
众所周知,Arduino是一款便捷灵活、方便上手的开源平台,包含硬件(各种型号的Arduino板)和软件(ArduinoIDE),常用于电子电路的开发。开发者使用ArduinoIDE编写出的程序简明高效,可读性与兼容性俱佳。且由于开源平台的开放性,有数以万计的专业工程师或电子爱好者都在Arduino平台上开发电子产品,使得Arduino开发逐渐成为当今互联网、物联网时代的一种趋势。
Arduino使用类似Java、C语言的Processing/Wiring搭建开发
将硬件部分连接好(蜂鸣器模块和火焰传感器分别连接到UNO板上的数字口8和模拟口0),并用螺钉固定到机器人扩展支架上,然后在ArduinoIDE中写入并调试以下代码:
//项目-火焰报警器floatsinVal;intvoid
toneVal;setup(){台州)
环境,在IDE中将编写好的程序编译成二进制文件,上传写入微
控制器以告诉电路板接下来要做什么。在前端使用各类传感器采样感知外部环境,经过一系列判断、控制后,最终输出至LED灯、
}
.com.cn. All Rights Reserved.马达或其他装置,控制其状态发生变化。简单的数行代码加上必
人、智能浇花装置、无人机等)。
开始初始化写入关键词开始识别
是否有中断?
Serial.begin(9600);//设置波特率为9600loop(){
pinMode(8,OUTPUT);//蜂鸣器引脚设置
bps
要的扩展元件,就能够实现各种各样的电子设备(比如循迹机器
void
拟口,并从模拟口读值
delay(1);
N
intsensorValue=analogRead(0);//火焰传感器连到模
Serial.println(sensorValue);
if(sensorValue<1023){//如果数据小于1023,说明有火源,
for(intx=0;x<180;x++){
蜂鸣器响
Y
响应中断获取结果上传结果结束
//将sin函数角度转化为弧度
sinVal=(sin(x*(3.1412/180)));//用sin函数值产生声音的频率//给引脚8一个delay(2);
toneVal=2000+(int(sinVal*1000));tone(8,toneVal);
二、在高中阶段尝试应用Arduino平台进行初步开发高中生已经具备了基本的逻辑推理能力,经过信息技术学科相应模块的学习,也有了初步的编程能力,在经过必要的学习后就可以编写出Arduino程序。在具体的任务情境中,可以先用Arduino软件进行逻辑实现,调试并模拟仿真,再结合面包板快速搭接电路实现控制目的。在这个过程中,学生变身为工程师,通过软、硬件知识的相互印证,体验到了现代电子开发的完整流程。
例如,设计一个能安装到机器人上的火焰报警器,当检测到火焰后通过蜂鸣器报警。其设计思路是:软件下达开始指令后,传感器采集红外信号并将其转化为变化的电流信号。当检测到的数据低于设定的阈值,控制器判定为附近有火焰,蜂鸣器开始报警。-166-}}}
noTone(8);//关闭蜂鸣器}
else{//如果数据大于等于1023,没有火源,关闭蜂鸣器
誗编辑李建军
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo0.com 版权所有 湘ICP备2023021991号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务