chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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通過R1 D1回路充電,Vb電壓=Vcc-0.7為高電平,后通過反向施密特觸發(fā)器使Vout輸出為低。

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

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

當(dāng)按下按鍵出現(xiàn)快速抖動(dòng)現(xiàn)象時(shí),通過電容會(huì)使Vb點(diǎn)電壓快速變成Vcc或GND。在抖動(dòng)過程時(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ī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 濾波電容
    +關(guān)注

    關(guān)注

    8

    文章

    460

    瀏覽量

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

    關(guān)注

    3

    文章

    460

    瀏覽量

    24774

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    音電商 API 接口:音平臺(tái)電商活動(dòng)熱度實(shí)時(shí)監(jiān)測(cè)

    ? 音作為全球領(lǐng)先的短視頻平臺(tái),其電商業(yè)務(wù)近年來(lái)蓬勃發(fā)展,吸引了眾多商家和消費(fèi)者。實(shí)時(shí)監(jiān)測(cè)電商活動(dòng)熱度,對(duì)于商家優(yōu)化營(yíng)銷策略、平臺(tái)提升用戶體驗(yàn)至關(guān)重要。音電商 API 接口為開發(fā)者提供了高效
    的頭像 發(fā)表于 08-21 15:30 ?427次閱讀
    <b class='flag-5'>抖</b>音電商 API 接口:<b class='flag-5'>抖</b>音平臺(tái)電商活動(dòng)熱度實(shí)時(shí)監(jiān)測(cè)

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

    ? 在當(dāng)今短視頻電商時(shí)代,音已成為商家必爭(zhēng)之地。但如何精準(zhǔn)追蹤粉絲增長(zhǎng),優(yōu)化營(yíng)銷策略?音電商 API(應(yīng)用程序接口)正是關(guān)鍵。它讓商家通過數(shù)據(jù)接口獲取店鋪核心指標(biāo),將粉絲增長(zhǎng)從“黑匣子”變?yōu)?/div>
    的頭像 發(fā)表于 08-20 15:46 ?450次閱讀
    揭秘<b class='flag-5'>抖</b>音電商 API,讓<b class='flag-5'>抖</b>音小店粉絲增長(zhǎng)有跡可循

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

    ? 在當(dāng)今短視頻電商時(shí)代,音已成為品牌推廣的核心平臺(tái)。"種草"(即通過內(nèi)容激發(fā)用戶購(gòu)買欲望)效果直接影響商品銷售。然而,許多商家僅憑直覺評(píng)估推廣效果,導(dǎo)致資源浪費(fèi)。本文將介紹如何利用音電商
    的頭像 發(fā)表于 08-20 15:29 ?542次閱讀
    巧用<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 ?535次閱讀
    <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 ?274次閱讀
    蔡司一出手,計(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 ?362次閱讀
    微機(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)中用于抑制諧振過電壓的不同裝置,主要區(qū)別如下: 安裝位置:一次諧器串聯(lián)于電壓互感器(PT)一次側(cè)中性點(diǎn)與地之間,直接承受高電壓;二次諧器并聯(lián)在PT
    的頭像 發(fā)表于 05-07 09:58 ?2486次閱讀
    一次<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ān)鍵設(shè)備,主要用于保護(hù)電壓互感器(PT)及電網(wǎng)安全。當(dāng)系統(tǒng)因單相接地、操作過電壓或雷擊引發(fā)PT鐵芯飽和時(shí),可能產(chǎn)生分頻、工頻或高頻諧振,導(dǎo)致PT過熱、絕緣損壞
    的頭像 發(fā)表于 04-24 10:23 ?1738次閱讀
    <b class='flag-5'>消</b>諧裝置的作用

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

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

    用于 SPI 絕對(duì)編碼器的 Arduino 示例代碼

    作者:Damon Tarry, Design Applications Engineer, Same Sky 本 Arduino 示例代碼教程旨在為用戶提供一個(gè)堅(jiān)實(shí)的起點(diǎn),以便通過串行外設(shè)接口
    的頭像 發(fā)表于 01-26 21:35 ?1078次閱讀
    用于 SPI 絕對(duì)編碼器的 <b class='flag-5'>Arduino</b> 示例<b class='flag-5'>代碼</b>

    HAL庫(kù)在Arduino平臺(tái)上的使用

    ,適合于快速原型開發(fā)和教育。HAL(硬件抽象層)庫(kù)是一種在Arduino平臺(tái)上使用的軟件庫(kù),它提供了一種標(biāo)準(zhǔn)化的方式來(lái)訪問硬件功能,使得開發(fā)者可以編寫更通用、更可移植的代碼。 1. 什么是HAL庫(kù) HAL庫(kù)是硬件抽象層庫(kù)的簡(jiǎn)稱,
    的頭像 發(fā)表于 12-02 14:04 ?2068次閱讀

    開源項(xiàng)目!基于 Arduino 的 MIDI 架子鼓

    使用具有非 ATmega32U4 芯片的 Arduino 型號(hào), 用于上傳代碼Arduino IDE 第 1 步:打印 3D 模型 1、沒有特殊要求。我對(duì)所有部件都使用了標(biāo)準(zhǔn)的 15% 填充物。 3D
    發(fā)表于 11-25 12:00

    基于Arduino的串口通信項(xiàng)目

    基于Arduino的串口通信項(xiàng)目涉及多個(gè)方面,包括硬件連接、軟件編程、串口參數(shù)配置等。 一、硬件準(zhǔn)備 Arduino開發(fā)板 :確保你有一塊Arduino開發(fā)板,如
    的頭像 發(fā)表于 11-22 09:24 ?2781次閱讀

    基于FPGA實(shí)現(xiàn)按鍵處理

    引言: 按鍵在電子產(chǎn)品中經(jīng)常用到,由于按鍵的機(jī)械特性,按鍵在閉合或松開的瞬間伴隨著一連串的抖動(dòng),這樣的抖動(dòng)將直接影響設(shè)計(jì)系統(tǒng)的穩(wěn)定性。因此,必須對(duì)抖動(dòng)進(jìn)行處理。本文介紹如何在FPGA中實(shí)現(xiàn)按鍵處理。
    的頭像 發(fā)表于 10-24 14:54 ?1520次閱讀
    基于FPGA實(shí)現(xiàn)按鍵<b class='flag-5'>消</b><b class='flag-5'>抖</b>處理