Arduino 程序结构
变量申明
子程序定义
setup() 初始化变量,管脚模式,调用库函数等
void loop() 连续执行函数内的语句
广告灯实验 程序代码:
//设置控制 Led 的数字 IO 脚
int Led1 = 1;
int Led2 = 2;
int Led3 = 3;
int Led4 = 4;
int Led5 = 5;
int Led6 = 6;
//led 灯花样显示样式 1 子程序
//LED从左边到右边依次点亮,接着从右边到左边依次熄灭
void style_1(void)
{
unsigned char j;
for(j=1;j<=6;j++)//每隔 200ms 依次点亮 1~6 引脚相连的 led 灯
{
digitalWrite(j,HIGH);//点亮 j 引脚相连的 led 灯
delay(200);//延时 200ms
}
for(j=6;j>=1;j--)//每隔 200ms 依次熄灭 6~1 引脚相连的 led 灯
{
digitalWrite(j,LOW);//熄灭 j 引脚相连癿 led 灯
delay(200);//延时 200ms
}
}
//灯闪烁子程序
// 6个LED先全部点亮,接着延时200ms,最后6个LED全部熄灭。这个过程循环两次,就实现了闪烁的效果。
void flash(void)
{
unsigned char j,k;
for(k=0;k<=1;k++)//闪烁两次
{
for(j=1;j<=6;j++)//点亮 1~6 引脚相连癿 led 灯
digitalWrite(j,HIGH);//点亮与 j 引脚相连的 led 灯
delay(200);//延时 200ms
for(j=1;j<=6;j++)//熄灭 1~6 引脚相连的 led 灯
digitalWrite(j,LOW);//熄灭与 j 引脚相连的 led 灯
delay(200);//延时 200ms
}
}
//led 灯花样显示样式 2 子程序
//设置两个变量k和j让中间两个黄灯先亮,接着让挨着两个黄灯两边的红灯亮,最后让两边的绿灯亮。
//执行一遍后,改变k和j的值,让两边的绿灯先熄灭,接着两边的红灯熄灭。
void style_2(void)
{
unsigned char j,k;
k=1;//设置 k 癿刜值为 1
for(j=3;j>=1;j--)
{
digitalWrite(j,HIGH);//点亮灯
digitalWrite(j+k,HIGH);//点亮灯
delay(400);//延时 400ms
k +=2;//k 值加 2
}
k=5;//设置 k 值为 5
for(j=1;j<=3;j++)
{
digitalWrite(j,LOW);//熄灭灯
digitalWrite(j+k,LOW);//熄灭灯
delay(400);//延时 400ms
k -=2;//k 值减 2
}
}
//led 灯花样显示样式 3 子程序
void style_3(void)
{
unsigned char j,k;//led 灯花样显示样式 3 子程序
k=5;//设置 k 值为 5
for(j=1;j<=3;j++)
{
digitalWrite(j,HIGH);//点亮灯
digitalWrite(j+k,HIGH);//点亮灯
delay(400);//延时 400ms
digitalWrite(j,LOW);//熄灭灯
digitalWrite(j+k,LOW);//熄灭灯
k -=2;//k 值减 2
}
k=3;//设置 k 值为 3
for(j=2;j>=1;j--)
{
digitalWrite(j,HIGH);//点亮灯
digitalWrite(j+k,HIGH);//点亮灯
delay(400);//延时 400ms
digitalWrite(j,LOW);//熄灭灯
digitalWrite(j+k,LOW);//熄灭灯
k +=2;//k 值加 2
}
}
void setup()
{
unsigned char i;
for(i=1;i<=6;i++)//依次设置1~6个数字引脚为输出模式
pinMode(i, OUTPUT);//设置第i个引脚为输出模式
}
void loop()
{
style_1();//执行样式1子程序
flash();//执行闪烁子程序
style_2();//执行样式2子程序
flash();//执行闪烁子程序
style_3();//执行样式3子程序
flash();//执行闪烁子程序
}