Arduino 入门

作者: 追风剑007 | 来源:发表于2018-05-24 15:39 被阅读0次

    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();//执行闪烁子程序
    }
    

    相关文章

      网友评论

        本文标题:Arduino 入门

        本文链接:https://www.haomeiwen.com/subject/uotkqftx.html