1、第4课 聪明的按钮 一、教材与学生情况分析聪明的按钮位于Arduino创意机器人课程的第一章LED第四课,经过上一节课的学习,学生已经学会了按钮的初步使用,能正确使用选择结构,掌握了数字口的输入,学会了Arduino控制器与按钮的连接。这一节课主要是对上一节课的巩固和深化,从编程角度上上,增加了变量、非运算符。二、教学目标1.通过制作按钮按下LED亮,再按下灭,掌握变量和非运算符的使用。2进一步体验按钮控制LED编程的过程,激发对编程的兴趣。3.体验程序调试的一般过程。三、教学重难点 教学重点:数字变量和非运算符教学难点:非运算符四、教学流程 1复习旧知,引入新课教师:上节课我们制作了按钮控制
2、的LED,其中用到了哪些知识呢?有哪几种情况呢?提问:家里面的灯一般是通过开关来控制的,按下灯亮,再按下灯灭,如何实现呢? 出示课题聪明的按钮。2教学新课 (1)按钮按下LED亮,再按下LED灭的分析提问:如何根据按钮按下的次数决定灯是亮还是灭呢? 引导:首先判断按钮是否按下,如果按下改变LED状态,这时我们需要用到变量,作为按钮状态与LED状态的桥梁。1) 变量和常量常量:指的是程序在运行过程中,其值不能改变的数据。变量:指在程序中用来代表数据的字符,这些字符的值是可以变化的,其中变量有多种类型,如数字变量、模拟变量、字符串变量、字符变量等等。数字变量的值为0或者1(高电平或者低电平),而模
3、拟变量的值为任意整数。 总结:我们可以借助于数字变量和模拟变量来记录按钮的状态或者按下的次数,并反作用于LED,这节课我们先来学习数字变量。按钮状态数字变量k的值LED状态按下HIHG(1)亮再按下LOW(0)灭提问:如何根据按钮按下的状态,改变数字变量的值呢?引导:非运算符。2)非运算符非运算符:就是取与表达式相反的值。,如果k是0,则非k为1;如果k为1,则非k为0。(2)基础任务:按钮按下LED亮,再按下LED灭1)任务描述按钮按下LED亮,按钮再按下LED灭。 2)搭建硬件 将按钮和LED分别接在Arduino控制器的数字口。3) 参考程序 (3)按钮抖动提问:为什么有时按钮按下去,并
4、不能改变LED的状态?解释:按钮抖动抖动:按钮抖动会导致一次按键被误读为多次按键,为了使系统对按钮的一次闭合仅作一次处理,必须对按钮进行去抖动处理。在按钮闭合稳定时读取按钮的状态,并且必须判别按钮释放稳定后再做处理。不同开关的最长抖动时间也不同。抖动时间的长短和机械开关特性有关,一般为5ms到10ms。抖动处理:最简单的方法延时。(4)提高任务:按钮更稳定的控制LED 1)任务描述按钮按下LED亮,按钮再按下LED灭,能够使按钮控制LED更稳定。 2)搭建硬件 同上。3)参考程序3. 拓展提升在实现按钮按下LED亮,再按下LED灭的时候,除了用数字变量之外,我们还可以用模拟变量来实现。模拟变量:模拟变量用于记录按钮按下的次数(按钮按下变量值加1)。按钮第一次按下LED亮,变量值为1;第二次按下LED灭变量值为2;第三次按下LED亮变量值为3.依次类推,我们会发现,变量值为奇数时,LED亮;变量值为偶数时,LED灭,所以我们可以借助于余数来实现如果余数为1,LED亮,否则LED灭。参考程序:4课堂总结 通过这节课的学习,我们进一步认识和掌握了按钮的使用,掌握了变量以及非运算符,理解了按钮的抖动以及消抖,并能够实现按钮按下LED亮,按钮放开LED灭。 5布置作业1)按钮控制LED还有哪些情况?2)能否用按钮控制LED的亮度呢? 4