新入手体验:三个小实验
一:一个LED闪烁
控制要求:1个LED灯,每隔50ms闪烁一次
实物连接图:
控制代码:
//2018.6/11 int LED = ;//定义数字接口10,对应 void setup() { pinMode(LED,OUTPUT);//设置数字10 口为输出接口,Arduino 上我们用到的I/O 口都要进行类似这样的定义。 } void loop() //死循环体 { digitalWrite(LED,HIGH);//IO口10设置为高电平,点亮数字10 口LED delay();//延时50MS digitalWrite(LED,LOW);//IO口10设置为低电平,熄灭数字10 口LED delay();//延时50MS }
二:流水灯
控制要求:1.一共6个LED,从左到右每隔200ms依次点亮,然后从右到左每隔200ms依次熄灭;
- 全熄灭后暂停200ms,间隔200ms闪烁两次;
- 然后从中间向两边全部点亮每次间隔200ms,两边向中间熄灭,间隔200ms;
- 全熄灭后暂停200ms,间隔200ms闪烁两次;
- 两边向中间依次点亮,每次间隔400ms,中间向两边依次点亮,每次间隔400ms,
- 两末端亮后暂停200ms,间隔200ms闪烁两次;
实物连接图:
控制代码:
int Led1 = ;//定义数字接口1
int Led2 = ;//定义数字接口2
int Led3 = ;//定义数字接口3
int Led4 = ;//定义数字接口4
int Led5 = ;//定义数字接口5
int Led6 = ;//定义数字接口6 void style_1(void)
{
unsigned char j;
for(j=;j<=;j++)//每隔200ms依次点亮1-6引脚相连的LED灯
{
digitalWrite(j,HIGH);//点亮J引脚相连的LED灯
delay();//延时200ms
}
for(j=;j>=;j--)//每隔200ms依次熄灭6-1引脚相连的LED灯
{
digitalWrite(j,LOW);//熄灭J引脚相连的LED灯
delay();//延时200ms
}
}
//灯闪烁子程序
void flash(void)
{
unsigned char j,k;
for(k=;k<=;k++)//闪烁两次
{
for(j=;j<=;j++)//点亮1~6引脚相连的led灯
digitalWrite(j,HIGH);//点亮于j引脚相连的led灯
delay();//延时200ms
for(j=;j<=;j++)//熄灭1~6引脚相连的led灯
digitalWrite(j,LOW);//熄灭与j引脚相连dled灯
delay();//延时200ms
}
}
//led灯花样显示样式2子程序
void style_2(void)
{
unsigned char j,k;
k=;//设置k的初值为1
for(j=;j>=;j--)
{
digitalWrite(j,HIGH);//点亮灯
digitalWrite(j+k,HIGH);//点亮灯
delay();//延时400ms
k +=;//设置k的值加2
}
k=;//设置k的值为5
for(j=;j<=;j++)
{
digitalWrite(j,LOW);;//熄灭灯
digitalWrite(j+k,LOW);;//熄灭灯
delay();//延时400ms
k -=;//设置k的减2
}
}
//led灯花样显示样式3子程序
void style_3(void)
{
unsigned char j,k;
k=;//设置k的值为5
for(j=;j<=;j++)
{
digitalWrite(j,HIGH);//点亮灯
digitalWrite(j+k,HIGH);//点亮灯
delay();//延时400ms
digitalWrite(j,LOW);//熄灭灯
digitalWrite(j+k,LOW);//熄灭灯
k -=;//设置k的减2
}
k=;//设置k的值为3
for(j=;j>=;j--)
{
digitalWrite(j,HIGH);//点亮灯
digitalWrite(j+k,HIGH);//点亮灯
delay();//延时400ms
digitalWrite(j,LOW);//熄灭灯
digitalWrite(j+k,LOW);//熄灭灯
k +=;//设置k的加2
}
}
void setup()
{
unsigned char i;
for(i=;i<=;i++)//依次设置1-6个数字引脚为输出模式
pinMode(i,OUTPUT);//设置第i个引脚为输出模式
}
void loop()
{
style_1();//样式1
flash();//闪烁
style_2();//样式2
flash();//闪烁
style_3();//样式3
flash();//闪烁
}
三:练习题:SOS信号灯
控制要求:1.三短三长三短闪烁,暂停时间都是100ms,长亮时间间隔为400ms,短亮时间间隔为150ms;
2.一个周期完成时间间隔为5S;