• 用Tinkercad学arduino之 去抖动 按钮控制亮灯


    /*
    去抖动
    
    每次输入引脚从LOW变为HIGH时(例如由于按钮按),输出引脚从LOW切换到HIGH或从HIGH切换到LOW。有两次触发之间的最小延迟以消除电路抖动(即忽略噪声)。
    
     电路:
     * LED从引脚13接地
    * 按钮连接到引脚2至+ 5V * 10K电阻从引脚2接地 *注意:在大多数Arduino板上,板上已经有一个LED连接到引脚13,因此在此示例中,您不需要任何其他组件。 created 21 November 2006 by David A. Mellis modified 30 Aug 2011 by Limor Fried modified 28 Dec 2012 by Mike Walters modified 30 Aug 2016 by Arturo Guadalupi This example code is in the public domain.
    http://www.arduino.cc/en/Tutorial/Debounce */ // constants won't change. They're used here to // set pin numbers: const int buttonPin = 2; // the number of the pushbutton pin const int ledPin = 13; // the number of the LED pin // Variables will change: int ledState = HIGH; // the current state of the output pin int buttonState; // the current reading from the input pin int lastButtonState = LOW; // the previous reading from the input pin // the following variables are unsigned long's because the time, measured in miliseconds, // will quickly become a bigger number than can be stored in an int. unsigned long lastDebounceTime = 0; // the last time the output pin was toggled unsigned long debounceDelay = 50; // the debounce time; increase if the output flickers void setup() { pinMode(buttonPin, INPUT); pinMode(ledPin, OUTPUT); // set initial LED state digitalWrite(ledPin, ledState); } void loop() { // read the state of the switch into a local variable: int reading = digitalRead(buttonPin); // check to see if you just pressed the button // (i.e. the input went from LOW to HIGH), and you've waited // long enough since the last press to ignore any noise: // If the switch changed, due to noise or pressing: if (reading != lastButtonState) { // reset the debouncing timer lastDebounceTime = millis(); } if ((millis() - lastDebounceTime) > debounceDelay) { // whatever the reading is at, it's been there for longer // than the debounce delay, so take it as the actual current state: // if the button state has changed: if (reading != buttonState) { buttonState = reading; // only toggle the LED if the new button state is HIGH if (buttonState == HIGH) { ledState = !ledState; } } } // set the LED: digitalWrite(ledPin, ledState); // save the reading. Next time through the loop, // it'll be the lastButtonState: lastButtonState = reading; }
  • 相关阅读:
    (十一)Activitivi5之流程控制网关:连线
    (十)Activitivi5之启动流程/完成任务的时候设置流程变量
    (九)Activitivi5之使用 RuntimeService 设置和获取流程变量
    (八)Activiti之流程变量和局部流程变量
    (七)Activiti之历史活动查询和历史任务查询和流程状态查询
    (六)Activiti之实现学生请假流程
    (五)Activiti之查看最新版本的流程定义
    (五)Activiti之获取流程定义图片和流程定义删除
    (四)Activiti之流程定义部署之ZIP方式和流程定义查询
    java程序中执行HiveQL
  • 原文地址:https://www.cnblogs.com/meetrice/p/14077639.html
Copyright © 2020-2023  润新知