Arduino互动设计入门

实例 2.7 控制七段显示器

2018-11-18  本文已影响11人  chenzhenlindx
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);
  }
}
上一篇 下一篇

猜你喜欢

热点阅读