這幾天在arduino的實驗中,為了方便完成乙個鍵就可以進行操控,使用了按鍵模組,但是發現,按鍵模組返回的值與我想要的值不同。
先說下最終得目標:** 統計5秒內得按鍵次數 **
模組選擇
** lcd1602 ** :在液晶屏上顯示資訊
** ds1302 **:電子時鐘模組
問題當我使用while(s<5)時,並不是只迴圈了5次而是5秒,在這5秒有無限可能,所以當我按下一次時並不是只返回按鍵次數,而是返回得是我從摁下到鬆手while了幾次。這就不太好。
思路只有在提示之後,才會出現摁鍵行為。(不按規則另算)
也就是說剛開始,偵聽按鍵一開始就是處於低電平。
這個時候讓他處於while迴圈狀態,一旦由低電平到高點平,讓他+1
當由高電平到低電平時不要著急+1,因為這意味著鬆手不在我們得統計範圍之內
最後由於不管怎樣他都會+1,所以global最後要-1.
**
#include
"liquidcrystal_i2c.h"
#include
#include
#include
"rfid.h"
#include
#include
#include
"ds1302.h"
#include
"liquidcrystal_i2c.h"
int time1, time2;
int global =0;
ds1302 rtc(2
,3,4
);liquidcrystal_i2c lcd
(0x27,16
,2);
int keypad_pin =7;
void
setup()
void
loop()
}while((
digitalread
(keypad_pin)
)== low)
} global++
; time2 = rtc.
gettime()
.sec;
s = time2 - time1;}
serial.
println
(global-1)
; serial.
println
("----------------------");
global =0;
time1 = rtc.
gettime()
.sec;
// serial.println(time1);
lcd.
clear()
; serial.
println
(rtc.
gettimestr()
);lcd.
print
(rtc.
gettimestr()
);delay(10
);lcd.
setcursor(0
,1);
lcd.
print
(rtc.
getdatestr()
);serial.
println
(rtc.
getdatestr()
);delay
(5000);
}
Arduino實驗六 按鍵控制LED實驗
i o 口的意思即為input介面和output 介面,到目前為止我們設計的小燈實驗都還只是應用到arduino 的i o 口的輸出功能,這個實驗我們來嘗試一下使用arduino的i o口的輸入功能即為讀取外接裝置的輸出值,我們用乙個按鍵和乙個led小燈完成乙個輸入輸出結合使用的實驗,讓大家能簡單了...
c 判斷按鍵使用者按鍵
實現此邏輯的方法有多種,但此處筆者希望使用console.readkey key屬性來進行識別。現貼出正確的 while true console.writeline output.tostring if input.key.equals consolekey.y 而在這之前卻犯了乙個愚蠢至極的錯誤...
實驗7 按鍵單模組實驗
用esp32和按鍵模組,通過矩陣法來實現對矩陣鍵盤的按鍵讀取 1.連線esp32和按鍵模組的引腳 2.觸控按鍵,esp32獲取到所觸控的按鍵數字,並列印到串列埠監視器中 1.esp32 wroom 32d 開發板 2.3 4按鍵模組 3.杜邦線 1 連線引腳 3 4矩陣鍵盤 引腳依次為 7 6 5 ...