- 詳細資訊
商品說明
8P杜邦頭,間距2.54mm,可插在排針上連接電路;
鍵盤背面白色貼紙揭去即可牢固粘貼於機箱表面

我們以4×4矩陣鍵盤為例來說明使用方法。將16個按鍵排成4行4列,每一行將每個按鍵的一段連接在一起構成行線,每一列也類似,這樣便一共有4行4列共8根線,我們將這8根線依圖連接到Arduino的8個數字I/O口上。
檢測的原理是,先送一列低電平,其餘列均為高電平,然後立即輪流檢測一次各行是否有低電平,若沒有則說明送低電平這一列沒有鍵被按下,然後繼續輪次送低電平到其餘列掃描。若一次送低電平到列,並逐檢測每行的過程中有低電平,則該行有按鍵被按下,而送低電平的列則為被按下鍵的列數。行數、列數均確定後,該按鍵即被確定。因為Arduino逐行逐列掃描和檢測的速度足夠快,所以你無須擔心它會遺漏被你按下的鍵。
該示例程序中,我們定義和使用了一個字符二維數組,多維數組屬於程序設計中相對高階的內容,第二篇中沒有講述,這裡補充說明一下。
在本站C語言介紹的文章中,我們簡要介紹了數組這種數據類型。數組就是給一類型的簡單數據依次編號,a[0]、a[1]、a[2]、a[3]…。但這種數據類型在某些場合是不夠方便的,譬如,我要定義一個數組,記錄9×9乘法表的結果。記錄99乘法表結果的最佳辦法不是定義一個長度為81的數組,而是定義一個9行9列的數組,這樣,引用數組元素的下標就有兩個,行和列,這樣有兩個下標量的數組稱為二維數組,依次類推還有三維數組等等。

顯然,二維數組給記錄鍵盤按鍵字符這樣的數據帶來了方便,譬如我需要知道鍵盤第2行第3列的數據,只要引用已經定義好的二維數組hexaKeys中的hexaKeys[2][3 ]就行。錯啦!變態的程序員都是從零開始數數,而不是一。所以引用第二行第三列的數據應該是hexaKey[1][2]。在二維數組定義之初,我們就可以對其進行賦值,以上述4×4鍵盤為例,其格式為:
char hexaKeys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
以下是連線硬件圖:


Arduino 範例程式
#include <Keypad.h>
const byte ROWS = 4; //四行
const byte COLS = 4; //四列
//定义键盘上的按键标识
char hexaKeys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] = {4, 5, 6, 7}; //连接到行扫描的输入输出端口
byte colPins[COLS] = {8, 9, 10, 11}; //连接到列扫描的输入输出端口
//定义Keypad类的实例
Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
void setup(){
Serial.begin(9600);
}
void loop(){
char customKey = customKeypad.getKey();
if (customKey){
Serial.println(customKey);
}
}
該程序的作用是,不斷檢測鍵盤是否有按鍵被按下,如果有將被按下的鍵檢測出來,然後打印到出口輸出。

打開Arduino IDE自帶的串口監控窗口,當我按下小鍵盤上的一些按鍵時,監控窗口將會顯示一系列對應的字符,如圖所示。
相關商品
-
M5Stack AtomS3U ESP32-S3 開發板|USB Type-A|Wi-Fi|PDM 麥克風|紅外線|RGB LED
0 滿分 5 分M5Stack AtomS3U ESP32-S3 開發板,採用雙核心 Xtensa LX7 240MHz,支援 Wi-Fi、USB OTG,內建 PDM 麥克風、紅外線發射器與 RGB LED,提供 Grove 與 GPIO 擴充介面,適合物聯網、語音辨識與 I/O 控制。
NT$800NT$540 未稅 -
無線遙控手把 相容PS2搖桿 適用於 Arduino 舵機控制與機械手臂 / 附杜邦線
0 滿分 5 分搖桿手柄為黑色PS2 2.4G雙振動手柄,品質好,手感好。外殼採用1:1原裝外形,全新3D 大小雙馬達振動,配置2.4G接收器,無線接收距離8m,功能鍵select、start、mode,小鍵方方XX。
NT$371NT$300 未稅 -
M5Stack Core2 v1.3 ESP32 IoT 開發套件 2.0吋觸控螢幕 BMI270|Wi-Fi|16MB Flash|8MB PSRAM
0 滿分 5 分M5Stack Core2 v1.3 ESP32 IoT 開發套件,搭載 2.0 吋電容式觸控螢幕、BMI270 六軸 IMU、16MB Flash、8MB PSRAM、Wi-Fi、microSD、500mAh 電池,支援 Arduino、UIFlow、ESP-IDF,適合物聯網、智慧家庭與嵌入式開發。
NT$2,300NT$2,000 未稅 -
JC4827W543 ESP32 4.3 吋觸控螢幕開發板 | 支援 WiFi/藍牙與遠端 IoT 應用
0 滿分 5 分JC4827W543 是一款基於 ESP32 的 4.3 吋整合型 IoT 開發板,搭載雙核心 240MHz 處理器,支援 WiFi 與藍牙。具備強大的遠端控制與資料擷取能力,並支援視覺化 APP 拖放編程,讓您輕鬆自定義美觀的人機介面(UI),適用於物聯網專案開發與 HMI 應用
NT$857NT$800 未稅 -
4X4 微動開關 矩陣鍵盤模組 16 外擴鍵盤模組
0 滿分 5 分16鍵觸覺鍵盤矩陣,這是一個4×4矩陣的觸覺按鈕,牢固地安裝在PCB上,帶有一個8針單排0.1英寸間距接頭。開關清晰編號,帶有白色絲網印刷。每個開關在按下時都能提供令人滿意的觸覺反饋。0.1“單排公頭是麵包板友好的.
NT$71NT$40 未稅 -
360度 旋轉編碼器模組 電子旋轉電位器 旋鈕模組 支援Arduino
0 滿分 5 分360度 旋轉編碼器 可通過旋轉可以計數正方向和反方向轉動過程中輸出脈衝的次數,旋轉計數不像電位計,這種轉動計數是沒有限制的。配合旋轉編碼器上的按鍵,可以復位到初始狀態,即從0開始計數。
NT$62NT$40 未稅 -
MAX485 模組 TTL TO RS-485 / RS422 5V Arduino 可用
0 滿分 5 分MAX485 模組可將 TTL 訊號轉換為 RS-485,支援 10M 傳輸速率,內建短路保護。搭配 Arduino 和 PLC,能輕鬆實現工業通訊,是可靠的通訊轉換器。
NT$40NT$20 未稅 -
Seeed Grove – Fingerprint Sensor 光學指紋感測器模組 指紋建檔/識別
0 滿分 5 分指紋感測器模組通過光學檢測,識別輸入的指紋是否和已經建檔錄存的指紋數據統一。本指紋識別感測器採用高性能的DSP晶片進行圖片渲染、計算、識別、搜索。你也可以直接錄存新的指紋,最多可以錄入162個。
NT$1,667NT$1,300 未稅 -
ESP32 2.8吋電阻式觸控螢幕開發板 (附觸控筆) | 支援 Arduino, Scratch 3.0, Mixly | Wi-Fi + 藍牙
0 滿分 5 分搭載 ESP32 雙核心主控晶片,整合 2.8 吋電阻式觸控螢幕(隨附專用觸控筆與收納盒)。支援 Wi-Fi、藍牙,並相容 Arduino IDE、Scratch 3.0 與 Mixly 開發環境。板載 Type-C、TF卡槽與豐富擴充接口,適合物聯網實驗、數據採集與 APP 控制應用。
NT$800NT$660 未稅 -
Seeed Studio Grove – Encoder 旋轉編碼器 增量式360度旋轉編碼器
0 滿分 5 分Grove – Encoder 旋轉編碼器 ,這個模組是增量式旋轉編碼器。它編碼由軸和輸出由電子脈衝信號的旋轉信號。 當你需要一個旋鈕解碼器添加到您的項目,例如音量旋鈕,揚聲器,選擇面板或數字輸入,這將是你第一選擇。NT$200NT$180 未稅





















