APP下载

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

2020-08-09陈世鸥

新课程·上旬 2020年11期
关键词:蜂鸣器报警器火源

陈世鸥

在组织高中通用技术课程中的电子控制技术模块教学时,由于该课程的实践性很强,需要理论联系实际,传统的“灌输式”教学方法显然已无法满足学生学习的需求,这就需要教师结合现代电子、电气技术的发展,适当充实教学内容、变革教学手段。

一、Arduino平台简介

众所周知,Arduino是一款便捷灵活、方便上手的开源平台,包含硬件(各种型号的Arduino板)和软件(ArduinoIDE),常用于电子电路的开发。开发者使用ArduinoIDE编写出的程序简明高效,可读性与兼容性俱佳。且由于开源平台的开放性,有数以万计的专业工程师或电子爱好者都在Arduino平台上开发电子产品,使得Arduino开发逐渐成为当今互联网、物联网时代的一种趋势。

Arduino使用类似Java、C语言的Processing/Wiring搭建开发环境,在IDE中将编写好的程序编译成二进制文件,上传写入微控制器以告诉电路板接下来要做什么。在前端使用各类传感器采样感知外部环境,经过一系列判断、控制后,最终输出至LED灯、马达或其他装置,控制其状态发生变化。简单的数行代码加上必要的扩展元件,就能够实现各种各样的电子设备(比如循迹机器人、智能浇花装置、无人机等)。

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

高中生已经具备了基本的逻辑推理能力,经过信息技术学科相应模块的学习,也有了初步的编程能力,在经过必要的学习后就可以编写出Arduino程序。在具体的任务情境中,可以先用Arduino软件进行逻辑实现,调试并模拟仿真,再结合面包板快速搭接电路实现控制目的。在这个过程中,学生变身为工程师,通过软、硬件知识的相互印证,体验到了现代电子开发的完整流程。

例如,设计一个能安装到机器人上的火焰报警器,当检测到火焰后通过蜂鸣器报警。其设计思路是:软件下达开始指令后,传感器采集红外信号并将其转化为变化的电流信号。当检测到的数据低于设定的阈值,控制器判定为附近有火焰,蜂鸣器开始报警。

将硬件部分连接好(蜂鸣器模块和火焰传感器分别连接到UNO板上的数字口8和模拟口0),并用螺钉固定到机器人扩展支架上,然后在ArduinoIDE中写入并调试以下代码:

//项目-火焰报警器

float sinVal;

int toneVal;

void setup(){

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

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

}

void loop(){

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

Serial.println(sensorValue);

delay(1);

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

for(int x=0; x<180; x++){

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

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

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

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

//给引脚8一个

tone(8,toneVal);

delay(2);

}

}

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

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

}

}

编辑 李建军

猜你喜欢

蜂鸣器报警器火源
电动自行车产品车速提示音检测现状和整改技术研究(2)
不同火源位置情况下的内天井结构建筑
掌控板制作简易钢琴
吉林省主要森林火灾火源的时间变化特征
单片机驱动蜂鸣器的程序设计
基于无线通信的入侵报警器设计
丰田凯美瑞240V车间隙警告蜂鸣器异常鸣响
山东省森林火火源的时空分布
基于AltiumDesigner10 的UPS电源停电报警器的设计
多火源通道火灾流场特性的实验与数值研究