Arduino初级课程学案.docx
《Arduino初级课程学案.docx》由会员分享,可在线阅读,更多相关《Arduino初级课程学案.docx(32页珍藏版)》请在冰豆网上搜索。
Arduino初级课程学案
Arduino初级课程学案
第一课认识Arduino
1、什么是单片机?
它与个人计算机有什么不同?
2、单片机有什么用?
3、下图是ArduinoUNOR3,请在图中标出:
DigitalIn/OutPins(数字输入/输出针脚);
AnalogInputPins(模拟输入针脚);
Atmega328p(微处理器型号);
USBPort(USB端口);
PowerSupply(外接电源支持);
PWM端口;
参考电压调节端口;
重启按钮;
电源指示灯;
串口通讯指示灯;
接地针脚;
电源输入(inputvoltage)针脚
4、Arduino是哪一年诞生的?
主要是为那一类用户设计的?
5、相比PC机,Arduino运算速度慢,存储空间小,为什么仍然在全世界掀起热潮?
6、Arduino单片机的技术指标是怎样的(以ArduinoUNOR3为例)?
7、什么是数字I/O端口?
什么是模拟I/O端口?
Arduino有多少个数字I/O端口?
有多少个模拟I/O端口?
8、Arduino是完全开源的,价格比较低,集成化开发环境也是免费的,大大降低了开发成本。
高中同学设计制作了“教室环境自动换气装置”模型,用到的主要器材如下:
(1)ArduinoUNOR3开发板1块;
(2)SHARP生产PM2.5传感器(GP2Y1010F)3个;
(3)传感器扩展板1块;
(4)LCD1602模块(I2C接口)1个;
(5)5V单向风扇4个;
(6)9V电池2块;
(7)杜邦线40根;
(8)热缩管2米;
(9)模型结构件环保材料(硬纸箱、螺丝等)
请大致估算一下,此模型的硬件成本多少钱?
(区间范围即可)
9、有同学设计了一个智能鱼缸,具有以下功能:
(1)自动监测鱼缸水温、PH值,溶氧量,并将数值显示在一块LCD上;
(2)可通过网络远程监测数据,并在远程控制执行机构完成动作以调整PH值,溶氧量,水温等(两个伺服器完成);
(3)可通过网络远程传送鱼缸图像;
请详细列出应用Arduino来解决的方案中用到的器材和数量,并大致做一个报价(不包括鱼缸)。
10、通过网络学习,请至少列出2个Arduino应用的具体实例(写出名称和简要功能说明)。
11、Arduino在物联网、智能家电、可穿戴电子设备等领域有着广泛的应用前景。
请简要说出什么是物联网?
什么是智能家电?
什么是可穿戴智能电子设备?
12、如何获得ArduinoIDE(集成化开发环境)?
著名的Arduino资源网站有哪些?
Arduino初级课程学案
第二课Arduino基础I
1、下图是ArduinoIDE的快捷工具栏截图,请分别说明工具栏图标的功能。
1②③④⑤⑥
1______________________
2______________________
3______________________
4______________________
5______________________
6______________________
1、对程序进行注释是非常好的编程习惯。
ArduinoIDE中注释的基本语法是
1__________________________,②_____________________________。
2、setup()和loop()两个函数必不可少,这两个函数的功能分别是:
voidsetup(){}:
________________________________________
____________________________________________________
voidloop(){}:
________________________________________
____________________________________________________
3、数字端口的返回值是____________,对应电压是____________;模拟端口的返回值是____________,对应电压是____________;
4、以下是常见的Arduino串口通信函数:
请简要说出函数功能
Serial.begin(intspeed):
______________________________________
____________________________________________________
Serial.available():
_________________________________________
____________________________________________________
Serial.read():
___________________________________________
____________________________________________________
Serial.print(data):
______________________________________
____________________________________________________
使用Serial.print(data)函数的时候可以有几种发送方法,发送的分别是:
1、Serial.print(data):
___________________________________
2、Serial.print(data,DEC):
________________________________
3、Serial.print(data,HEX):
________________________________
4、Serial.print(data,OCT):
________________________________
5、Serial.print(data,BIN):
________________________________
6、Serial.print(data,BYTE):
_______________________________
Serial.println(data):
______________________________________
____________________________________________________
5、Arduino对数据的类型有严格的定义。
下面的类型分别表示什么类型,范围:
int______________________byte______________________
long_____________________float______________________
6、Notepad++是一个相当优秀的轻量级文本编辑器。
掌握在Notepad++中添加Arduino语法的方法(参考
7、下图为本课用到的扩展板和数字、模拟设备,熟悉数字端口和模拟端口设备的连接(特别注意针脚的连接)
设备中GND针脚接Arduino扩展板___________针脚;
设备中VCC针脚接Arduino扩展板___________针脚;
数字设备OUT针脚接Arduino扩展板___________针脚;
模拟设备OUT针脚接Arduino扩展板___________针脚;
8、参考Arduino语法手册,试以下问题:
莫尔斯码(摩尔斯电码由两种基本信号组成:
短促的点信号“·”,读“滴”;保持一定时间的长信号“—”,读“嗒”。
间隔时间:
滴=1t,嗒=3t,滴嗒间=1t,字符间=3t,单词间=7t。
);Arduino代码如下,用来模拟莫尔斯码求救信号(S.O.S),LED三短三长三短闪烁。
请将程序补充完整,并上机验证。
intledPin=10;
voidsetup()
{
pinMode(ledPin,__________________);
}
voidloop()
{
for(intx=0;x<3;x++)//循环3次
{
digitalWrite(ledPin,___________);
delay(___________);
digitalWrite(ledPin,___________);
delay(___________);
}
for(intx=0;x<3;x++)//循环3次
{
digitalWrite(ledPin,___________);
delay(___________);
digitalWrite(ledPin,,___________);
delay(___________);
}
for(intx=0;x<3;x++)//循环3次
{
digitalWrite(ledPin,,___________);
delay(___________);
digitalWrite(ledPin,,___________);
delay(___________);
}
delay(5000);
}
Arduino初级课程学案
第三课Arduino基础II
1、 早上从起床到出门需要洗脸刷牙(5min)、刷水壶(2min)、烧水(8min)、泡面(3min)、吃饭(10min)、听广播(8min)几个步骤,从下列选项中选最好的一种算法 (S—Step)
(A)S1洗脸刷牙、S2刷水壶、S3烧水、S4泡面、S5吃饭、S6听广播
(B)S1刷水壶、S2烧水同时洗脸刷牙、S3泡面、S4吃饭、S5听广播
(C)S1刷水壶、S2烧水同时洗脸刷牙、S3泡面、S4吃饭同时听广播
(D)S1吃饭同时听广播、S2泡面、S3烧水同时洗脸刷牙、S4刷水壶
2、程序设计中,常用的结构有三种,分别是______________________________________。
3、已知两个单元分别存放了变量A和B的值,则可以实现变量BA,交换的算法是( )。
4、流程图如下,若输入x=5,则输出y=______________________________________。
5、判断题:
循环结构中一定包含条件结构。
()
6、下面的问题中必须用条件分支结构才能实现的是____________。
①求面积为1的正三角形的周长;
②求方程ax+b=0(a,b为常数)的根;
③求两个实数a,b中的最大者;
④求1+2+3+…+100的值;
7、流程图如下,请用数学表达式描述程序功能:
_____________________________________。
8、下面的程序框图循环体执行的次数是______。
9、楼道灯优先控制模块是()。
A、声强模块B、环境光模块
10、光敏电阻具有在特定波长的光照下,其阻值迅速______的特性。
()
A、增大B、减小C、增大或者减小
11、阅读程序,回答问题。
voidsetup(){
for(inti=2;i<=9;i++){
pinMode(i,OUTPUT);}//设置口2至口9为输出信号
}
voidloop(){
for(inti=2;i<9;i++){
digitalWrite(i,HIGH);
delay(500);
digitalWrite(i,LOW);
delay(500);}
}
从第1个灯到第8个灯亮,总共需要多长时间?
()
A、0.5SB、4SC、3SD、3.5S
若要调整亮灯顺序为第8个灯,第7个,。
。
。
第1个,for语句需要改写成:
____________________________________________________________。
12、声强和光强模块都有数字和模拟之分。
楼道灯控制中选用哪种比较合理?
为什么?
Arduino初级课程学案
第四课Arduino基础III
1、ArduinoUNOR3板上,只有数字引脚_____________________可以用作PWM用途。
2、ArduinoUNO提供数字输入/输出,模拟输入功能,但没有模拟输出。
如何在Arduino上实现模拟输出功能呢?
3、如下图所示,假如输出3.75V时接通时间为45纳秒,那么输出2.5V的接通时间是_________,输出1V的接通时间是_______________。
4、要产生PWM信号,Aarduino用的函数是analogWrite(x,y)。
这里()是数字引脚的编号,而()占空比的值,其值为0-255,0表示占空比为0%,255表示100%的占空比。
A、yB、x
5、全彩LED灯采用(R、G、B)三种基本颜色的LED灯珠芯片,每个芯片都是一个单颜色的发光二极管。
这些灯珠芯片以多种形式进行封装,每一组颜色都可以分开单独使用,并分别与驱动电路和单片机相连接。
假设R、G、B分别接到Arduino数字端口3,5,6。
要实现下面三幅图中的颜色,程序应当怎样写?
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
6、明确范围,但不确定具体值的现象称作随机现象。
ArduinoIDE使用random(min,max)函数来生成随机数。
要生成一个[10,20]范围的随机数,正确的语句应为__________________________________________。
7、伪随机数存在精确重复的现象。
如需要在一个random()序列上生成真正意义的随机数,在执行其子序列时使用__________________________________________函数预设一个绝对的随机输入,通常在应用时使用__________________________________________。
8、_________________又称为可变电阻,范围比较小,一般为几欧姆至几千欧姆之间,阻值允许偏差±5%和±10%。
这种电位器通常用于电源调节或大电流分压电路中。
下图中,电位计的变化端应连接至Arduino_________________端口。
绝大多数电位计都是___________调节,电阻增大。
9、参考源程序如下:
val/4是何用意?
intpotpin=0;//定义模拟接口0
intledpin=11;//定义数字接口11(PWM输出)
intval=0;//暂存来自传感器的变量数值
voidsetup()
{
pinMode(ledpin,OUTPUT);//定义数字接口11为输出
}
voidloop()
{
val=analogRead(potpin);//读取传感器的模拟值并赋值给val
analogWrite(ledpin,val/4);//_____________________
delay(10);//延时10ms
}
Arduino初级课程学案
第五课Arduino基础IV
1、如下图,数字按钮模块是常用的数字输入设备。
当按钮按下时,相应数字端口的电压为_______________;当按钮释放时,相应数字端口的电压为_______________。
2、按钮在实际使用过程中,会产生抖动现象。
另外由于单片机处理速度很快,我们按下一次按钮,会造成多次接收。
可以通过在程序相应位置增加语句_____________________________________________来解决这些问题。
3、在使用Arduino做互动项目时,很多大电流或高电压的设备通常无法直接用Arduino的数字IO口进行控制(如电磁阀、电灯、电机等),此时可以考虑用_________________________方案解决。
通常继电器模块既可以接入交流,也可以接入_________________________。
4、继电器模块1,2,3针脚分别接入ArduinoUNO板的数字2号端口、5v、GND,直流用电器电源接入NC和COM。
程序中使用digitalWrite(2,0),则对应电路图为_____________,使用digitalWrite(2,1),则对应电路图为_____________。
AB
5、流程图如下,用数学表达式描述算法输出n:
______________________________________________________________________________。
6、按钮时常用的数字输入设备(传感器),还有很多数字输入类型的传感器可以用到Arduino创意项目中,请任意列举三个:
_____________________,_____________________,_____________________。
7、三路抢答器程序如下,请将程序中的空白部分,按照题意补充完整。
intkey1=2;
intkey2=3;
intkey3=4; //定义按键输入数字口
intpinkLED=6;
intgreenLED=7;
intredLED=8; //定义三个LED输出IO口,指示抢答的结果
voidsetup(){
pinMode(pinkLED,OUTPUT);
pinMode(greenLED,OUTPUT);
pinMode(redLED,OUTPUT); //LED输出口置为输出状态
pinMode(key1,INPUT);
pinMode(key2,INPUT);
pinMode(key3,INPUT); //三个按键置为输入
digitalWrite(pinkLED,LOW);
digitalWrite(greenLED,LOW);
digitalWrite(redLED,LOW);
}
voidloop(){
inti,j,k;
i=digitalRead(key1);
j=digitalRead(key2);
k=digitalRead(key3); //定义3个参数,分别存储3个按键的状态
if(i==0) //如果1号按键按下,点亮pinkLED
{
delay(10);
digitalWrite(pinkLED,HIGH);
digitalWrite(greenLED,LOW);
digitalWrite(redLED,LOW);
delay(1000); //延时一段时间
}
if(j==0) //如果2号按键按下,点亮greenLED
{
delay(10);
__________________
__________________
__________________
__________________
}
if(k==0) //如果3号按键按下,点亮redLED
{
delay(10);
digitalWrite(pinkLED,LOW);
digitalWrite(greenLED,LOW);
digitalWrite(redLED,HIGH);
delay(1000);
}
delay(500); //延时500毫秒,避免下一次触发影响本次结果
}
8、上题中,如果出现三个按钮同时按下的巧合情况,则3个LED会出现__________________情况。
要想避免同时按下抢答的情况,可以怎样处理?
写出你的想法:
__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________。
9、分支(选择)结构中的条件,有时会比较复杂。
例如,当a=1,b=1,c≠1三个条件都满足时触发,则分支结构中的逻辑表达式(条件)应为_____________________________________________________________________________。
10、算术运算是有优先级别的,逻辑运算也有优先级别。
按照优先级别从高到低,分别是__________________、__________________、__________________。
为了避免运算顺序出现错误,通常的解决办法是将关系表达式用__________________包含起来。
11、按钮模块是带有弹簧的,当我们松开按钮时自动断开。
现在要实现快算按下后松开按钮开灯,再次快算按下后松开按钮关灯,以此类推。
该如何实现?
卸下你的算法思路。
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________