欧洲精品久久久av无码电影,日日噜噜夜夜爽爽,精品无码国产自产拍在线观看蜜,人妻少妇被粗大爽9797pw,羞国产在线拍揄自揄视频,国产白嫩漂亮美女在线观看,天码欧美日本一道免费,av大片在线无码免费

      歡迎來到同城快修-附近家電維修、家電清洗、家電安裝服務(wù)平臺

      24小時家電維修熱線:

      400—1558638

      當(dāng)前位置:主頁 > 空調(diào) > 維修資訊 >

      觸摸式開關(guān)壞了怎么辦(觸摸開關(guān)失靈怎么辦)

      發(fā)布日期:2022-10-25 17:53:27 瀏覽:
      觸摸式開關(guān)壞了怎么辦(觸摸開關(guān)失靈怎么辦)

      前沿拓展:


      網(wǎng)拍上容易買到類似左下圖的4路觸控模塊,對Arduino控制板而言,它相當(dāng)于右下角的4組開關(guān),所以程序不需要引用特別的程序庫:

      此觸控模塊的主要構(gòu)成電路如下,負責(zé)處理電容觸控信號的核心是TTP224芯片。TTP224的技術(shù)文件指出,每個觸控感應(yīng)端可連接0~50pF的電容,借以調(diào)整觸控感應(yīng)的靈敏度,此模塊采用的電容值為30pF。每當(dāng)觸控端感應(yīng)到人體碰觸時,對應(yīng)的OUT1~OUT4將輸出高電位,模塊上的LED也將被點亮。

      相較于上一篇文章的簡易DIY觸控電路,使用觸控IC的好處是穩(wěn)定、不易受外界環(huán)境影響(如:汗水、油污)和噪聲干擾,而且程序也簡單許多。

      使用4路觸控開關(guān)模塊制作LED調(diào)光器

      本單元實驗將使用4路觸控模塊的其中3個開關(guān),當(dāng)作LED燈的開關(guān)、調(diào)亮和調(diào)暗控制界面。

      實驗材料

      Arduino Uno控制板×14路觸控開關(guān)模塊×1電阻:680Ω×1LED×1(顏色不拘)

      LED接在Arduino的第5腳(或其他具PWM輸出的接腳),觸控模塊的3個輸出,接Arduino的10~12腳。面包板的接線示范:

      偵測開關(guān)信號變化的程序

      本單元程序?qū)⒆龀觥竼螕糸_、再按一下關(guān)」的開關(guān)效果。每碰觸一次開關(guān),開關(guān)模塊就會輸出一個脈沖(方波):

      當(dāng)觸控信號從低電位變成高電位,代表有人碰觸了開關(guān),程序需要依照第5腳的LED狀態(tài),決定:

      若LED燈是亮著的,則要關(guān)閉它。若LED燈是熄滅的,則要點亮它。

      偵測單一開關(guān)信號變化的程序:

      const byte TOUCH_PIN = 10; // 觸控接腳 const byte LED_PIN = 13; // LED接腳 bool powerOn = false; // LED電源是否開啟,預(yù)設(shè)「否」 bool lastStatus = LOW; // 開關(guān)的上次狀態(tài) bool btnStatus = LOW; // 開關(guān)的當(dāng)前狀態(tài) void setup() { pinMode(TOUCH_PIN, INPUT); pinMode(LED_PIN, OUTPUT); } void loop() { // 讀取開關(guān)當(dāng)前的狀態(tài) btnStatus = digitalRead(TOUCH_PIN); // 如果目前開關(guān)的狀態(tài)是「高電位」,且之前的狀態(tài)是「低電位」… if (btnStatus == HIGH && lastStatus == LOW) { powerOn = !powerOn; // 反相電源狀態(tài) digitalWrite(LED_PIN, powerOn); } lastStatus = btnStatus; // 紀錄訊號狀態(tài) }

      編譯、上傳程序之后,碰一下編號2的觸控板,可點亮LED;再碰一下觸控板,則關(guān)閉LED。

      自定義觸鍵結(jié)構(gòu)數(shù)據(jù)

      本單元程序有三組觸控鍵,需要建立如下的變數(shù)來儲存接腳和開關(guān)狀態(tài):

      bool powerOn = false; // LED電源是否開啟,預(yù)設(shè)「否」 bool btnStatus = LOW; // 觸鍵的當(dāng)前狀態(tài) byte touchPin1 = 10; // 第1個觸鍵的接腳 bool lastStatus1 = LOW; // 第1個觸鍵的上次狀態(tài) byte touchPin2 = 11; // 第2個觸鍵的接腳 bool lastStatus2 = LOW; // 第2個觸鍵的上次狀態(tài) byte touchPin3 = 12; // 第3個觸鍵的接腳 bool lastStatus3 = LOW; // 第3個觸鍵的上次狀態(tài)

      為了讓代碼更清晰易讀,我們可以替具有相同數(shù)據(jù)結(jié)構(gòu)的觸控鍵,定義如下的struct類型(struct類型定義的語法說明,請參閱「Mifare RFIDRC522模塊實驗(二):C語言的結(jié)構(gòu)(struct)與類型定義(typedef)說明」):

      // 宣告觸鍵的自訂結(jié)構(gòu)類型 typedef struct { byte pin; // 按鍵的接腳編號 bool lastStatus; // 上次的狀態(tài) } key;

      如此,便能用底下的敘述宣告電源鍵的接腳及其預(yù)設(shè)狀態(tài):

      key powerKey = { 10, LOW };

      觸控LED調(diào)光器的完整代碼如下。「調(diào)亮」和「調(diào)暗」鍵只有在電源開啟(即,powerOn值為true)的狀態(tài)才有作用;燈光亮度值范圍介于0~255。

      const byte LED_PIN = 5; // LED燈的接腳 const byte PWR_LED = 13; // 電源指示燈的接腳 bool powerOn = false; // LED電源是否開啟,預(yù)設(shè)「否」 bool btnStatus; // 按鈕狀態(tài) int pwmVal = 0; // 電源輸出值 // 宣告觸鍵的自訂結(jié)構(gòu)類型 typedef struct { byte pin; // 按鍵的接腳編號 bool lastStatus; // 上次的狀態(tài) } key; // 宣告電源鍵的接腳和預(yù)設(shè)狀態(tài) key powerKey = { 10, LOW }; // 宣告「調(diào)亮」鍵的接腳和預(yù)設(shè)狀態(tài) key upKey = { 11, LOW }; // 宣告「調(diào)暗」鍵的接腳和預(yù)設(shè)狀態(tài) key downKey = { 12, LOW }; void setup() { Serial.begin(9600); pinMode(powerKey.pin, INPUT); pinMode(upKey.pin, INPUT); pinMode(downKey.pin, INPUT); pinMode(LED_PIN, OUTPUT); pinMode(PWR_LED, OUTPUT); } void loop() { // 讀取電源鍵的狀態(tài) btnStatus = digitalRead(powerKey.pin); // 如果電源鍵的訊號從低電位變成高電位… if (btnStatus && powerKey.lastStatus == LOW) { powerOn = !powerOn; // 反相電源狀態(tài) digitalWrite(PWR_LED, powerOn); if (powerOn) { // 若powerOn為true… // 依照pwmVal的值點亮LED analogWrite(LED_PIN, pwmVal); } else { // 關(guān)閉LED燈 digitalWrite(LED_PIN, LOW); } } // 紀錄這次的電源鍵訊號狀態(tài) powerKey.lastStatus = btnStatus; // 讀取「調(diào)亮」鍵的狀態(tài) btnStatus = digitalRead(upKey.pin); // 若「有開啟電源」且「此按鍵訊號是高電位」且「前次訊號是低電位」 if (powerOn && btnStatus && upKey.lastStatus == LOW) { // 增加亮度值,每次增加10,不能超過255。 if ((pwmVal+10) <= 255) { pwmVal += 10; Serial.println(pwmVal); analogWrite(LED_PIN, pwmVal); } } upKey.lastStatus = btnStatus; // 讀取「調(diào)暗」鍵的狀態(tài) btnStatus = digitalRead(downKey.pin); if (powerOn && btnStatus && downKey.lastStatus == LOW) { // 減少亮度值,最低值為0 if ((pwmVal10) >= 0) { pwmVal = 10; Serial.println(pwmVal); analogWrite(LED_PIN, pwmVal); } } downKey.lastStatus = btnStatus; }

      拓展知識:

      主站蜘蛛池模板: 国产经典一区二区| 日本成片区免费久久| 精品成人av一区二区三区| 永久免费av无码网站直播| 亚洲精品无码av中文字幕| 黄色在线免费观看| 综合网激情| 国产99久久亚洲综合精品西瓜tv| 成人精品综合免费视频| 黄色一及片| 免费三级在线| 亚洲精品无码国产片| 天天噜噜天天爽爽天天噜噜| 成人av小说| 韩国午夜影院| 欧美性受xxxx黑人猛交| 成本人妻片无码中文字幕免费| 熟女人妻一区二区三区免费看| 免费日韩在线| 五月丁香色综合久久4438| 狠狠色丁香婷婷综合久久来来去| 久久久久999| 黄色不卡| 久久久久久久久久久国产| 无码日韩人妻精品久久| 91久久综合亚洲鲁鲁五月天| 成人一级片在线观看| 国产精品99久久免费| 国产精品vr虚拟专区| av香蕉| 黄污视频网站| 成在人线av无码免费高潮水老板 | 伊人亚洲综合网色| 欧美精品99久久久| 国产午夜在线一区二区三区| 亚洲国产精品久久一线不卡| 极品少妇被猛的白浆直喷白浆| 人体裸体bbbbb欣赏| 国产又黄又骚| 无码熟妇人妻av在线影片| 国产精品久久久久秋霞鲁丝|