- 商品說明
商品說明
4×4矩陣薄膜鍵盤 支援Arduino 產品介紹
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自帶的串口監控窗口,當我按下小鍵盤上的一些按鍵時,監控窗口將會顯示一系列對應的字符,如圖所示。
相關商品
-
RFID RC522 鑰匙扣卡 13.56MHz 相容 Philip Mifare S50 非接觸式 (10個一組)
0 滿分 5 分RFID 13.56MHz RC522 鑰匙扣卡 相容 Philip Mifare S50 非接觸式 (10個一組)
由ABS外殼封裝芯片線圈並填充環氧樹脂,通過超聲波焊接組合的具有各種造型的異形卡。應用範圍:水錶預付費,校園一卡通、公交儲值卡、高速公路收費、停車場、小區管理
- IC鑰匙扣卡頻率: 13.56MHZ
- IC鑰匙扣卡規格: 28*35.3*4MM IC鑰匙
NT$129NT$86 未稅 -
JoyStick 雙軸按鍵搖杆模組 PS2遊戲搖桿控制桿模組
0 滿分 5 分PS2雙軸按鍵遊戲搖桿模塊採用SONY公司PS2遊戲手柄上原裝優質金屬按鍵搖桿電位器,模組特設二路模擬輸出和一路數字輸出接口,輸出值分別對應(X,Y)雙軸偏移量,其類型為模擬量;按鍵表示用戶是否在Z軸上按下,其類型為數字開關量。模組集成電源指示燈,可顯示工作狀態;坐標標識符清晰簡明、準確定位;用其可以輕鬆控制物體(如二自由度舵機雲台)在二維空間運動,因此可以通過Arduino控制器編程,感測器擴展板插接,完成具有創意性遙控互動作品
NT$62NT$20 未稅 -
Grove – Recorder v3.0 錄音感測器 錄音機 語音錄放模組
0 滿分 5 分Grove錄音機基於ISD9160FI 晶片,通過設定電阻值和播放週期其可記錄最長達 83秒。它能夠提供單片機聲音的存儲。記錄時間可通過模塊的PCB採樣電阻改變。默認的電阻值為100K歐,可記錄10秒。模塊可由板載按鍵或微控制器如 Arduino 或 Seeeduino 直接控制,非常簡單。
NT$733NT$500 未稅 -
Grove – Thumb Joystick 拇指型搖桿
0 滿分 5 分此模組是一個相容 Grove 介面的用戶控制模組,非常類似於PS2(PlayStation 2)控制器上的“模擬”操縱桿。
NT$276NT$200 未稅 -
4X4 微動開關 矩陣鍵盤模組 16 外擴鍵盤模組
0 滿分 5 分16鍵觸覺鍵盤矩陣,這是一個4×4矩陣的觸覺按鈕,牢固地安裝在PCB上,帶有一個8針單排0.1英寸間距接頭。開關清晰編號,帶有白色絲網印刷。每個開關在按下時都能提供令人滿意的觸覺反饋。0.1“單排公頭是麵包板友好的.PCB的整體尺寸為39mm x 43mm。這是在Arduino上試驗矩陣解碼的好方法!
NT$71NT$40 未稅 -
Grove-Magnetic Switch 磁力開關模組 seeed
0 滿分 5 分NT$114NT$100 未稅 -
IIC / I2C 介面 LCD 1602 2004 轉接板
0 滿分 5 分IIC/I2C LCD 1602,2004 轉接板不含 LCD 螢幕
Arduino控制板IO口只有20個,加些傳感器、SD卡啥的,繼電器等模塊多了,IO口就不夠用了,原來的1602屏需要7個IO口才能驅動起來,我們開發的這個模塊可以幫你省5個IO口
產品參數:
- 尺寸:41.5mm(長)*19mm(寬)*15.3mm(高)
- 重量:5g
- PCB顏色:黑色
- 供電電壓:2.5-6V
- 支持I2C協議
- 帶背光電源控制,可以通過跳線帽設置是否連接背光電源。插上跳線帽為連接背光電源,拔掉跳線帽為斷開背光電源
- 對比度可調節,旋轉藍色電位器,順時針增強,逆時針減弱。電位器設計在正面,方便客戶隨時隨地自由調節
- 模塊可級聯,最多可級聯8個。通過短路A0/A1/A2修改設備地址。默認地址為0x27
NT$62NT$40 未稅 -
Touch 觸摸感測器模組 1路觸摸開關感測器 TTP223B
0 滿分 5 分該模組是一個基於觸摸檢測IC(TTP223B)的電容式點動型觸摸開關模組。常態下,模組輸出低電平,模式為低功耗模式;當用手指觸摸相應位置時,模組會輸出高電平,模式切換為快速模式;當持續12秒沒有觸摸時,模式又切換為低功耗模式。可以將模組安裝在非金屬材料如塑膠、玻璃的表面,另外將薄薄的紙片(非金屬)覆蓋在模組的表面,只要觸摸的位置正確,即可做成隱藏在牆壁、桌面等地方的按鍵。該模組可以讓你免除常規按壓型按鍵的煩惱。
-
360度 旋轉編碼器模組 電子旋轉電位器 旋鈕模組 支援Arduino
0 滿分 5 分增量編碼器是一種將旋轉位移轉換為一連串數字脈衝信號的旋轉式傳感器。這些脈衝用來控制角位移。在 Eltra 編碼器中角位移的轉換採用了光電掃描原理。讀數係統以由交替的透光窗口和不透光窗口構成的徑向分度盤(碼盤)的旋轉為依據,同時被一個紅外光源垂直照射,光把碼盤的圖像投射到接收器表面上。接收器覆蓋著一層衍射光柵,它具有和碼盤相同的窗口寬度。接收器的工作是感受光盤轉動所產生的變化,然後將光變化轉換成相應的電變化。
NT$62NT$43 未稅 -
GY-31 TCS3200 顏色感測器 顏色識別模組 顏色感應傳感器
0 滿分 5 分TCS3200 顏色感測器 顏色識別模組 顏色感應傳感器
◎ 由三原色感應原理可知,如果知道構成各種顏色的三原色的值,就能夠知道所測試物體的顏色。
◎ 對於TCS3200來說,當選定一個顏色濾波器時,它只允許某種特定的原色通過,阻止其他原色的通過。
◎ 例如:當選擇紅色濾波器時,入射光中只有紅色可以通過,藍色和綠色都被阻止,這樣就可以得到紅色光的光強
◎ 同理,選擇其他的濾波器,就可以得到藍色光和綠色光的光強。
◎ 通過這三個值,就可以分析投射到TCS3200感測器上的光的顏色。NT$238NT$219 未稅