我们在温州中学、温州中学新疆部和温州实验中学分别开设了Arduino的课程,因为温州中学本部是高一的学生,编程基础相对好些,我们选用的是arduino文本式的编程环境,新疆部因为有预科的学生在内,编程基础相对薄弱一些,所以和温州实验中学(初一学生)一样,我们选用了图形式的积木化编程环境——ArduBlock。
专题一“认识机器人,点亮LED”是Arduino的第一课,我们每专题都采用两个课时,让学生有足够的实践时间。因为是第一课,我们必须要介绍机器人的基础知识,如机器人的结构组成和基本原理。还需要掌握Arduino的驱动安装过程以及编程环境的熟悉。
相关资源下载地址:http://pan.baidu.com/s/1kTqOYs3
本篇主要对本次课的重难点、主要教学设计的设计意图以及学生上课的反应做部分说明。
1.板子的介绍
在这个部分,我们引导学生打开自己的工具盒,拿出arduino板子,在板子上找到相应的数字口和模拟口,在这个过程中,重点是让学生找到板子上接地,接vcc和信号口的顺序,为下面的点亮LED灯做铺垫。在这个过程中,学生的注意力容易被arduino板子所吸引,教学效果很好。
2.Arduino驱动的安装
在引导学生安装驱动的时候,要让学生通过设备管理器找到自己装的端口是多少,等学生装完后打开arduino编程环境界面时,注意提醒他们在工具——端口中进行设置,使得其与之前装好的通信端口一致。在这个过程中,有些同学没有认真听讲,直接导致后面在点亮led编程时,程序运行错误。
3.做一个闪烁的LED灯
在这个过程中,教师最开始需要特别提醒的是线的接法。LED灯模块有三个引脚,一般情况黑线接地,红线接5V,第三根线接数字口。很多学生在教师演示的时候没有认真听讲,接线的时候没有意识到线的次序,所以后面自己做的时候出现了问题。
4、点亮led灯的代码编写
在学生自己点亮led灯的时候,很多同学直接用了老师给的代码,没有把其中的引脚换成自己接的那一个,所以灯不亮。“pinMode(4,OUTPUT);//LED灯接数字口4”这个语句中的“4”表示接的是数字口4号引脚。学生在自己实验的过程中,要注意提醒他们,把这里的“4”改为自己接在板子上的数字引脚号。
5.扩展任务:交通灯
在这个过程中,很多学生在前面的基础上,成功地完成了交通灯的制作,举一反三的能力也比较好,有一些创意性的设计出现。
比如说我们在课堂上发现有些学生编的程序如下:
void setup()
{
pinMode( 5 , OUTPUT);
pinMode( 8 , OUTPUT);
pinMode( 11 , OUTPUT);
}
void loop()
{
digitalWrite( 5 , HIGH );
delay( 1000 );
digitalWrite( 5 , LOW );
delay( 1000 );
digitalWrite( 5 , HIGH );
digitalWrite( 8 , HIGH );
delay( 1000 );
digitalWrite( 5 , LOW );
digitalWrite( 8 , LOW );
delay( 1000 );
digitalWrite( 5 , HIGH );
digitalWrite( 8 , HIGH );
digitalWrite( 11 , HIGH );
delay( 1000 );
digitalWrite( 5 , LOW );
digitalWrite( 8 , LOW );
digitalWrite( 11 , LOW );
delay( 1000 );
}
代码看起来很复杂,但是学生说听懂了以后进行一些变式还是比较简单的,而且看着自己做的三个小灯,先是一个小灯亮了灭掉,然后是两个小灯一起亮了再灭掉,最后是三个小灯一起亮了再灭掉,很有成就感,也觉得很有意思。从这个角度看,我们本次课的教学目标应该完成的不错。最后附上学生完成的作品图片一张。