- 詳細資訊
商品說明
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自帶的串口監控窗口,當我按下小鍵盤上的一些按鍵時,監控窗口將會顯示一系列對應的字符,如圖所示。
相關商品
-
GY-31 TCS3200 顏色感測器 顏色識別模組 顏色感應傳感器
0 滿分 5 分GY-31 TCS3200 顏色感測器 由三原色感應原理可知,如果知道構成各種顏色的三原色的值,就能夠知道所測試物體的顏色。對於TCS3200來說,當選定一個顏色濾波器時,它只允許某種特定的原色通過,阻止其他原色的通過。例如:當選擇紅色濾波器時,入射光中只有紅色可以通過,藍色和綠色都被阻止,這樣就可以得到紅色光的光強。
NT$238NT$200 未稅 -
JoyStick PS2 雙軸遊戲搖桿模組 (XY 類比+Z 軸按鍵) 支援 Arduino 伺服馬達雲台與遙控比例控制專用
0 滿分 5 分Arduino 雙軸按鍵搖桿模組,提供 XY 軸類比輸出和按鍵數位輸出,可用於控制兩自由度舵機或遙控比例控制。它採用金屬搖桿,具備標準電子積木與 2.54mm 插針接口,能與 Arduino 平台完美相容,適用於機器人或遊戲控制器。
NT$62NT$40 未稅 -
12位 WS2812 5050 RGB LED 內置全彩驅動 環狀彩燈開發板 NeoPixel Stick 副廠
0 滿分 5 分WS2812B RGB 燈環 內置智慧驅動晶片,僅需一條信號線即可控制 1600萬色。具備智能反接保護與信號整形電路,確保顯示穩定。可在Arduino、單晶片專案中,實現炫彩光效。
NT$120NT$60 未稅 -
Micro SD卡讀寫模組 SPI介面,迷你TF卡讀寫 MicroSD Card Adapter 相容Arduino
0 滿分 5 分NT$40 未稅MicroSD Card Adapter是Micro SD卡讀寫模組,通過檔案系統及SPI介面驅動程式,單片機系統即可完成MicroSD卡內的檔進行讀寫。Arduino用戶可直接使用Arduino IDE自帶的SD卡程式庫即可完成卡的初始化和讀寫。
-
JC4827W543 ESP32 4.3 吋觸控螢幕開發板 | 支援 WiFi/藍牙與遠端 IoT 應用
0 滿分 5 分JC4827W543 是一款基於 ESP32 的 4.3 吋整合型 IoT 開發板,搭載雙核心 240MHz 處理器,支援 WiFi 與藍牙。具備強大的遠端控制與資料擷取能力,並支援視覺化 APP 拖放編程,讓您輕鬆自定義美觀的人機介面(UI),適用於物聯網專案開發與 HMI 應用
NT$857NT$800 未稅 -
炫光型電容式觸摸感測器模組
0 滿分 5 分炫光型電容式觸摸感測器模組
在便攜式媒體播放器和移動手持終端等大容量、高可視性產品的應用中,觸摸按鍵已被廣泛採用。由於其具有方便易用,時尚和低成本的優勢,越來越多的電子產品開始從傳統機械按鍵轉向觸摸式按鍵。
-
Seeed Studio Grove – Thumb Joystick 拇指操縱桿 (類比雙軸 / 內建按鍵 / 3.3V & 5V)
0 滿分 5 分Grove – Thumb Joystick是Grove兼容模組,類似於PS2(PlayStation 2)控制器上的“模擬”操縱桿。X軸和Y軸是兩個~10k電位器,通過生成模擬信號來控制2D運動。操縱桿還有一個按鈕,可用於特殊應用。處於工作模式時,它將輸出兩個模擬值,代表兩個方向。
NT$300NT$200 未稅 -
TXS0108E 8路電平轉換模組 高速全雙工 8位元雙向電壓轉換器
0 滿分 5 分模組使用晶片:TXS0108E;提供雙向通訊能力;VCCA端支援電壓 1.2V-3.6V;VCCB端支援電壓 1.65v-5.5v;可以提供3.3-5V 1.8-3.3v等常見電平轉換能力;主要應用,5V單片機和3.3V模組 3.3V單片機與5V模組, 等通訊相容支援;單片機與SD卡通訊的電平轉換;單片機與iic,spi 串口設備電平轉換;OE使能IO高電平有效,建議接低電壓端的IO口。
NT$114NT$80 未稅 -
薄型 Mifare S50 13.56MHz IC感應白卡 (5片裝) 支援門禁考勤與 RFID 開發
0 滿分 5 分薄型 RFID Mifare IC 白卡,相容飛利浦 S50,工作頻率 13.56MHz,具備 8Kbit 儲存容量,讀寫距離 3~5cm。卡片耐用,可擦寫超過 10 萬次,適用於門禁、考勤、校園一卡通、停車場管理等多種應用。
NT$67NT$40 未稅 -
Grove – Button 按鈕模組 瞬時開關 / 數位輸入 / 20萬次壽命 支援Arduino&樹莓派 Seeed
0 滿分 5 分NT$80 未稅Grove – Button 是一款專為微控制器設計的瞬時 (Momentary) 按鈕模組。具備獨立的觸摸開關,按下時輸出高電位 (High),釋放後自動回彈並輸出低電位 (Low)。內建標準 Grove 接口,無需焊接或使用麵包板即可快速連接。支援 3.3V/5V 寬電壓,並擁有高達 20 萬次的電氣壽命,是學習數位輸入 (Digital Input) 與製作遊戲控制器、互動裝置的理想元件。























