arduino从按钮到ws2812B显示程序

1—最基本的按钮电路

1.1代码部分:

const int buttonPin = 2;     
const int ledPin =  12;      
int buttonState = 0;       
void setup() {
   
  pinMode(ledPin, OUTPUT);
  pinMode(buttonPin, INPUT);
}
void loop() {
   
   buttonState = digitalRead(buttonPin);
  if (buttonState == HIGH) {
   
        digitalWrite(ledPin, LOW);
  } else {
   
        digitalWrite(ledPin, HIGH);
  }
}

1.2连接部分
在这里插入图片描述

2—按键去抖程序

2.1代码部分

    // 定义按键输入针脚号常量,
    // 并初始化为2号针脚。
    const int buttonPin = 2;
    // 定义LED输入针脚号常量,
    // 并初始化为13号针脚。
    // 注:此处我们使用的LED神灯是Arduino UNO电路板自带,
    // 此神灯对应的针脚号默认为13,此数值不得随意更改,
    // 所以这里定义的数值13是为了和默认值相对应。
    const int ledPin = 13;
    // 定义记录LED神灯当前状态的变量,
    // 并初始化状态为HIGH。
    int ledState = HIGH;
    // 定义记录按键当前状态的变量
    int buttonState;
    // 定义记录按键最近一次状态变化的变量,
    // 并初始化状态为LOW。
    int lastButtonState = LOW;
    // 定义记录最近一次抖动的时间变量,
    // 并初始化时间为0毫秒。
    long lastDebounceTime = 0;
    // 定义延迟抖动的时间变量,
    // 并初始化为50毫秒。
    long debounceDelay = 50;

    // 对Arduino电路板或相关状态进行初始化方法
    void setup() {
   
      // 设置按键的针脚为输入状态
      pinMode(buttonPin, INPUT);
      // 设置电路板上LED神灯的针脚状态为输出状态
      pinMode(ledPin, OUTPUT);
      // 设置电路板上LED神灯的初始状态,
      // 此处因为变量ledState的初始状态为HIGH,
      // 所以LED神灯的初始状态为亮。
      digitalWrite(ledPin, ledState);
    }

    // 系统调用,无限循环方法
    void loop() {
   
      // 读取按键的状态
      int reading = digitalRead(buttonPin);
      // 判断当前的按键状态是否和之前有所变化
      if (reading != lastButtonState) {
   
        // 如果按键发生了变化,
        
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值