美文网首页Arduino互动设计入门
实例 2.7 控制七段显示器

实例 2.7 控制七段显示器

作者: chenzhenlindx | 来源:发表于2018-11-18 14:57 被阅读11次
    Arduino互动设计入门
    实例 2.1 控制多个LED
    实例 2.2 按条件控制多个LED
    实例 2.3 多个LED跑马灯
    实例 2.4 利用指拨开关控制多个LED
    实例 2.5 利用指拨开关控制LED状态变化
    实例 2.6 利用按键开关控制LED
    实例 2.7 控制七段显示器
    实例 2.8 实例 2.8 用按键控制七段显示器
    1. 面包板


      image.png
    2. 原理图


      image.png
    3. PCB


      image.png
    4. ArduBlock
      这里使用了子程序组件


      ardublock.png
    5. Arduino
    int _ABVAR_1_PIN = 0 ;
    void __ardublockDigitalWrite(int pinNumber, boolean status)
    {
      pinMode(pinNumber, OUTPUT);
      digitalWrite(pinNumber, status);
    }
    
    
    void Set3();
    void Set2();
    void Set1();
    void Reset();
    
    void setup()
    {
      pinMode( 3 , OUTPUT);
      pinMode( 4 , OUTPUT);
      pinMode( 5 , OUTPUT);
      pinMode( 7 , OUTPUT);
      pinMode( 8 , OUTPUT);
      pinMode( 6 , OUTPUT);
      Reset();
    
    }
    
    void loop()
    {
      Set1();
      delay( 1000 );
      Reset();
      Set2();
      delay( 1000 );
      Reset();
      Set3();
      delay( 1000 );
      Reset();
    }
    
    void Set2()
    {
      digitalWrite( 3 , LOW );
      digitalWrite( 4 , LOW );
      digitalWrite( 5 , LOW );
      digitalWrite( 7 , LOW );
      digitalWrite( 8 , LOW );
    }
    
    void Set3()
    {
      digitalWrite( 3 , LOW );
      digitalWrite( 4 , LOW );
      digitalWrite( 5 , LOW );
      digitalWrite( 6 , LOW );
      digitalWrite( 7 , LOW );
    }
    
    void Set1()
    {
      digitalWrite( 4 , LOW );
      digitalWrite( 8 , LOW );
    }
    
    void Reset()
    {
      for(_ABVAR_1_PIN = 2; 
    2<=8?_ABVAR_1_PIN <= 8:_ABVAR_1_PIN >= 8; 
    2<=8?_ABVAR_1_PIN = _ABVAR_1_PIN + 1:_ABVAR_1_PIN = _ABVAR_1_PIN - 1)
      {
        __ardublockDigitalWrite(_ABVAR_1_PIN, HIGH);
      }
    }
    

    相关文章

      网友评论

        本文标题:实例 2.7 控制七段显示器

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