91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Arduino的軟件消抖代碼

GReq_mcu168 ? 來(lái)源:CSDN ? 作者:CSDN ? 2022-06-22 14:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

當(dāng)按下和釋放微動(dòng)按鍵時(shí),會(huì)由短時(shí)間的抖動(dòng)現(xiàn)象才會(huì)到達(dá)想要的狀態(tài)。如下圖所示:

59b96cd8-f12c-11ec-ba43-dac502259ad0.jpg

從上圖可知。按鍵抖動(dòng)時(shí)間大概為150us。

在一些對(duì)按鍵抖動(dòng)敏感的情況下需要進(jìn)行消抖設(shè)計(jì),目前常見的消抖設(shè)計(jì)如下:

濾波電容

關(guān)于去抖硬件最簡(jiǎn)單的方式并聯(lián)一顆100nF陶瓷電容,進(jìn)行濾波處理。

59ca12fe-f12c-11ec-ba43-dac502259ad0.jpg

RC濾波+施密特觸發(fā)器

要想更嚴(yán)謹(jǐn)設(shè)計(jì)消抖電路,會(huì)增加施密特觸發(fā)器,更大程度的保證后端不受按鍵抖動(dòng)影響,電路如下:

59dafd80-f12c-11ec-ba43-dac502259ad0.jpg

分別來(lái)看按鍵閉合斷開時(shí)電路狀態(tài):

59eee214-f12c-11ec-ba43-dac502259ad0.jpg

開關(guān)打開時(shí):

電容C1通過(guò)R1 D1回路充電,Vb電壓=Vcc-0.7為高電平,后通過(guò)反向施密特觸發(fā)器使Vout輸出為低。

開關(guān)閉合時(shí):

電容C1通過(guò)R2進(jìn)行放電,最后Vb電壓變?yōu)?,通過(guò)反向施密特觸發(fā)器使Vout輸出為高。

當(dāng)按下按鍵出現(xiàn)快速抖動(dòng)現(xiàn)象時(shí),通過(guò)電容會(huì)使Vb點(diǎn)電壓快速變成Vcc或GND。在抖動(dòng)過(guò)程時(shí)對(duì)電容會(huì)有輕微的充電或放電,但后端的施密特觸發(fā)器有遲滯效果不會(huì)導(dǎo)致Vout發(fā)現(xiàn)抖動(dòng)現(xiàn)象。

此電路中D1的使用使為了限制R1 R2一起給C1供電,增加充電時(shí)間影響效果。如果減小R1的值會(huì)使電流增加,功耗較高。

專用消抖芯片

一些廠家會(huì)提供專用芯片,避免自搭電路的不穩(wěn)定性, 如美信-Max6816:

59fc1204-f12c-11ec-ba43-dac502259ad0.jpg

軟件濾波

軟件消除抖動(dòng)也是很常見的方式,一般形式是延時(shí)查詢按鍵狀態(tài)或者中斷形式來(lái)消除抖動(dòng)。

下面是Arduino的軟件消抖代碼:

/* SoftwareDebounce

*

* At each transition from LOW to HIGH or from HIGH to LOW

* the input signal is debounced by sampling across

* multiple reads over several milli seconds. The input

* is not considered HIGH or LOW until the input signal

* has been sampled for at least "debounce_count" (10)

* milliseconds in the new state.

*

* Notes:

* Adjust debounce_count to reflect the timescale

* over which the input signal may bounce before

* becoming steady state

*

* Based on:

* http://www.arduino.cc/en/Tutorial/Debounce

*

* Jon Schlueter

* 30 December 2008

*

* http://playground.arduino.cc/Learning/SoftwareDebounce

*/

int inPin = 7; // the number of the input pin

int outPin = 13; // the number of the output pin

int counter = 0; // how many times we have seen new value

int reading; // the current value read from the input pin

int current_state = LOW; // the debounced input value

// the following variable is a long because the time, measured in milliseconds,

// will quickly become a bigger number than can be stored in an int.

long time = 0; // the last time the output pin was sampled

int debounce_count = 10; // number of millis/samples to consider before declaring a debounced input

void setup()

{

pinMode(inPin, INPUT);

pinMode(outPin, OUTPUT);

digitalWrite(outPin, current_state); // setup the Output LED for initial state

}

void loop()

{

// If we have gone on to the next millisecond

if(millis() != time)

{

reading = digitalRead(inPin);

if(reading == current_state && counter > 0)

{

counter--;

}

if(reading != current_state)

{

counter++;

}

// If the Input has shown the same value for long enough let's switch it

if(counter >= debounce_count)

{

counter = 0;

current_state = reading;

digitalWrite(outPin, current_state);

}

time = millis();

}

}

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 濾波電容
    +關(guān)注

    關(guān)注

    8

    文章

    463

    瀏覽量

    41615
  • 陶瓷電容
    +關(guān)注

    關(guān)注

    4

    文章

    481

    瀏覽量

    25047

原文標(biāo)題:開關(guān)抖動(dòng)及消除

文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    MAX16054:具備和±15kV ESD保護(hù)的開關(guān)控制器

    MAX16054:具備和±15kV ESD保護(hù)的開關(guān)控制器 引言 在電子設(shè)備的設(shè)計(jì)中,開關(guān)控制器是一個(gè)關(guān)鍵的組件,它直接影響到設(shè)備的操作體驗(yàn)和穩(wěn)定性。今天要介紹的MAX16054是一款由
    的頭像 發(fā)表于 03-13 17:20 ?614次閱讀

    MAX16054:高性能帶和 ±15kV ESD 保護(hù)的開關(guān)控制器

    MAX16054:高性能帶和 ±15kV ESD 保護(hù)的開關(guān)控制器 在電子產(chǎn)品設(shè)計(jì)中,開關(guān)控制器是常見且關(guān)鍵的組件。但如何處理開關(guān)抖動(dòng)以及靜電防護(hù),是工程師們常常面臨的難題。今天,我們就來(lái)詳細(xì)
    的頭像 發(fā)表于 02-09 17:30 ?357次閱讀

    南芯科技正式發(fā)布光學(xué)防音圈馬達(dá)驅(qū)動(dòng)芯片SC29111

    今日,南芯科技(證券代碼:688484)正式發(fā)布光學(xué)防 (Optical Image Stabilization, OIS) 音圈馬達(dá)驅(qū)動(dòng)芯片 SC29111。該芯片實(shí)現(xiàn)了完整的閉環(huán)控制,可支持三
    的頭像 發(fā)表于 01-10 17:06 ?2408次閱讀

    晶臺(tái)KLH11LX系列丨施密特觸發(fā)器光耦在按鍵中的應(yīng)用

    在電子系統(tǒng)中,機(jī)械按鍵因機(jī)械結(jié)構(gòu)特性,在按下或釋放時(shí)會(huì)產(chǎn)生5-10ms的抖動(dòng)信號(hào),可能導(dǎo)致電路誤判。施密特觸發(fā)器光耦憑借其獨(dú)特的遲滯特性,成為硬件的核心器件,而晶臺(tái)推出的KLH11LX系列
    的頭像 發(fā)表于 12-06 09:04 ?554次閱讀
    晶臺(tái)KLH11LX系列丨施密特觸發(fā)器光耦在按鍵<b class='flag-5'>消</b><b class='flag-5'>抖</b>中的應(yīng)用

    按鍵的方法

    常用的方法是判斷按鍵按下的時(shí)候進(jìn)行一定的延時(shí),代碼如下: ((KEY==)delay_ms20;whilegpio_get)0;delay_ms20;beep)//蜂鳴器提示音}這種方法簡(jiǎn)單易懂
    發(fā)表于 11-27 06:12

    硬件方案元件參數(shù)的計(jì)算方法

    硬件是通過(guò)電路設(shè)計(jì)消除機(jī)械開關(guān)(如按鍵、繼電器等)在閉合或斷開時(shí)產(chǎn)生的抖動(dòng)信號(hào)。以下是常見硬件方案及其元件參數(shù)計(jì)算方法: 1. RC濾波
    發(fā)表于 11-19 06:31

    揭秘音電商 API,讓音小店粉絲增長(zhǎng)有跡可循

    巧用音電商 API,精準(zhǔn)分析音商品種草效果

    ? 在當(dāng)今短視頻電商時(shí)代,音已成為品牌推廣的核心平臺(tái)。"種草"(即通過(guò)內(nèi)容激發(fā)用戶購(gòu)買欲望)效果直接影響商品銷售。然而,許多商家僅憑直覺(jué)評(píng)估推廣效果,導(dǎo)致資源浪費(fèi)。本文將介紹如何利用音電商
    的頭像 發(fā)表于 08-20 15:29 ?1277次閱讀
    巧用<b class='flag-5'>抖</b>音電商 API,精準(zhǔn)分析<b class='flag-5'>抖</b>音商品種草效果

    音電商 API 接口:開啟音小店直播帶貨數(shù)據(jù)新洞察

    ? 在數(shù)字化電商浪潮中,音小店憑借直播帶貨模式迅速崛起,成為品牌和商家的新戰(zhàn)場(chǎng)。然而,如何從海量直播數(shù)據(jù)中提取有價(jià)值的洞察,優(yōu)化銷售策略?音電商 API 接口正是解決這一挑戰(zhàn)的關(guān)鍵工具。本文將
    的頭像 發(fā)表于 08-20 15:20 ?1291次閱讀
    <b class='flag-5'>抖</b>音電商 API 接口:開啟<b class='flag-5'>抖</b>音小店直播帶貨數(shù)據(jù)新洞察

    蔡司一出手,計(jì)量也得 “”三

    編程,縮短測(cè)量時(shí)間 精度是工業(yè)的底色 而計(jì)量,才是守護(hù)這份底色的光 2025年7月 蔡司工業(yè)質(zhì)量商城 懷揣著這份守護(hù)初心 正式入駐音 作為百年計(jì)量行業(yè)專家 我們準(zhǔn)備與您一起在這里“ ”三 官號(hào)
    的頭像 發(fā)表于 07-24 15:53 ?552次閱讀
    蔡司一出手,計(jì)量也得 “<b class='flag-5'>抖</b>”三<b class='flag-5'>抖</b>

    微機(jī)諧裝置優(yōu)勢(shì)

    微機(jī)諧裝置(也稱為微機(jī)諧器或智能諧裝置)具有顯著優(yōu)勢(shì)。以下是其核心優(yōu)勢(shì): 1. ?強(qiáng)大的諧振識(shí)別能力: ? ? 能夠?qū)崟r(shí)、精確地識(shí)別系統(tǒng)發(fā)生的多種類型的鐵磁諧振(如分頻、工頻、高頻諧振),以及
    的頭像 發(fā)表于 06-16 15:50 ?752次閱讀
    微機(jī)<b class='flag-5'>消</b>諧裝置優(yōu)勢(shì)

    《ESP32S3 Arduino開發(fā)指南》第二章 Arduino基礎(chǔ)知識(shí)

    地進(jìn)行可開發(fā)。3、開放性Arduino的硬件原理圖、電路圖、IDE軟件及核心庫(kù)文件都是開源的,在開源協(xié)議范圍內(nèi)可以任意修改原始設(shè)計(jì)及相應(yīng)代碼。4、社區(qū)和第三方支持Arduino有著眾多
    發(fā)表于 05-13 09:28

    一次諧裝置與二次諧裝置區(qū)別、一次諧器與二次諧器的區(qū)別

    一次諧器與二次諧器是電力系統(tǒng)中用于抑制諧振過(guò)電壓的不同裝置,主要區(qū)別如下: 安裝位置:一次諧器串聯(lián)于電壓互感器(PT)一次側(cè)中性點(diǎn)與地之間,直接承受高電壓;二次諧器并聯(lián)在PT
    的頭像 發(fā)表于 05-07 09:58 ?4733次閱讀
    一次<b class='flag-5'>消</b>諧裝置與二次<b class='flag-5'>消</b>諧裝置區(qū)別、一次<b class='flag-5'>消</b>諧器與二次<b class='flag-5'>消</b>諧器的區(qū)別

    諧裝置的作用

    諧裝置是電力系統(tǒng)中防止鐵磁諧振過(guò)電壓的關(guān)鍵設(shè)備,主要用于保護(hù)電壓互感器(PT)及電網(wǎng)安全。當(dāng)系統(tǒng)因單相接地、操作過(guò)電壓或雷擊引發(fā)PT鐵芯飽和時(shí),可能產(chǎn)生分頻、工頻或高頻諧振,導(dǎo)致PT過(guò)熱、絕緣損壞
    的頭像 發(fā)表于 04-24 10:23 ?3073次閱讀
    <b class='flag-5'>消</b>諧裝置的作用

    微機(jī)諧器與一次諧器區(qū)別與聯(lián)系

    微機(jī)諧器與一次諧器都是用于電力系統(tǒng)中抑制諧波和消除鐵磁諧振的設(shè)備,
    的頭像 發(fā)表于 04-22 16:21 ?910次閱讀