zoukankan      html  css  js  c++  java
  • Arduino按钮实验

    一、按钮实验

    // 设置引脚
    const int buttonPin = 7;
    const int ledPin =  13;
    
    int buttonState = 0; // 定义变量,读取状态
    
    void setup() {
    
      pinMode(ledPin, OUTPUT); // 设定ledPin引脚用来输出
    
      pinMode(buttonPin, INPUT); // 设定buttonPin引脚用来输入
    }
    
    void loop() {
    
      buttonState = digitalRead(buttonPin); // 读取buttonPin引脚状态
    
      if (buttonState == HIGH) {
    
        digitalWrite(ledPin, HIGH); // 打开LED灯(高电压)
      } else {
    
        digitalWrite(ledPin, LOW); // 关闭LED灯(低电压)
      }
    }

    二、从串口读取数字信号

    int pushButton = 7;
    
    void setup() {
      //以每秒9600bit初始化串行通信
      Serial.begin(9600);
    
      pinMode(pushButton, INPUT);
    }
    
    void loop() {
    
      int buttonState = digitalRead(pushButton);
      
      // 输出按钮状态
      Serial.println(buttonState);
      delay(100);
    }

     

    三、按钮计数器(去抖)

    int pushButton = 7;
    // 记录上次引脚输入值
    int beforeButtonState = 0;
    // 记录随按钮点击的递增数据
    int num = 0;
    
    void setup() {
    
        Serial.begin(9600);
    
        pinMode(pushButton, INPUT);
    }
    
    void loop() {
    
        int buttonState = digitalRead(pushButton);
    
        // 检测按下事件,按前引脚输入为0,按后引脚输入为1
        if(buttonState==1 and beforeButtonState==0){
    
            num=num+1;
    
            Serial.println(num);
        }
        // 按钮仍未松开,延时20毫秒
        if(buttonState==1){
            
            delay(20);
        }
        
        // 记录本次按钮引脚输入,便于下次按钮是否点击检测
        beforeButtonState = buttonState;
    }    

  • 相关阅读:
    Ansible快速实战指南----多机自动化执行命令、部署神器
    linux 挂载共享盘
    蓄水池抽样算法
    PCA MATLAB代码
    网口转串口
    通过Python收集MySQL MHA 部署及运行状态信息的功能实现
    Linux常用命令总结(二)
    python 学习笔记 (四)
    MySQL 学习笔记(四)
    学习ProxySQL参考到几个网址
  • 原文地址:https://www.cnblogs.com/taoyao/p/14305389.html
Copyright © 2011-2022 走看看