欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Mixly按键控制LED灯

程序员文章站 2022-07-14 08:54:22
...

Mixly按键控制LED灯
实验条件:笔记本电脑一台,硬件:Arduino开发板,软件:Mixly
(1)mixly图形化编程
Mixly按键控制LED灯Mixly按键控制LED灯(2)Mixly按键控制LED灯代码

volatile int b1;
volatile int b2;
volatile int click;
volatile int lastState;
volatile int toggle;

void setup(){
  b1 = 0;
  b2 = 0;
  lastState = digitalRead(8);
  toggle = 0;
  click = 0;
  pinMode(8, INPUT_PULLUP);
  Serial.begin(9600);
  pinMode(4, OUTPUT);
}

void loop(){
  Serial.println(toggle);
  b1 = digitalRead(8);
  if (b1 != lastState) {
    delay(20);
    b2 = digitalRead(8);
    if (b1 == b2) {
      lastState = b1;
      click = click + 1;

    }

  }
  if (click == 2) {
    click = 0;
    toggle = 1 - toggle;
    if (toggle == 1) {
      digitalWrite(4,HIGH);

    } else {
      digitalWrite(4,LOW);

    }

  }

}

(3)实验效果图
按下按钮,灯亮
Mixly按键控制LED灯再按一下按钮,灯灭
Mixly按键控制LED灯程序主要部分代码解释:
开关状态laststate初始值为high,toggle=1;按一下按钮,读取目前开关的状态,b1=low,toggle=0;b1!= laststate,延时20ms,去震动;再次读取开关的状态,b2=low,toggle=0,b1=b2=low,灯亮,laststate=low,click=0+1=1;按一下按钮,读取目前开关的状态,b1=high,toggle=1;b1!= laststate,延时20ms,去震动;再次读取开关的状态,b2=high,toggle=1,b1=b2=high,灯灭,laststate=high,click=1+1=2;最后click=0,toggle=1-1=0,LED亮,toggle=1-0=1,LED灭。

相关标签: 物联网应用