本文主要是介绍【Arduino】 4×4薄膜键盘的使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
参考网址:
https://swf.com.tw/?p=917
接线方式:
arduino示例程序:
编译并上传,打开串口监视器,按键盘任意键会出现任意数字
可参考文章:
《完美图解Arduino互动设计入门》
Arduino 4×4薄膜鍵盤模組實驗(二):減少佔用Arduino的數位接腳
https://swf.com.tw/?p=921
Arduino 4×4薄膜鍵盤模組實驗(三):結合LCD顯示器的密碼輸入介面
https://swf.com.tw/?p=924
使用薄膜键盘控制四位数码管
接线方式:
clk | 3 |
---|---|
dio | 2 |
代码:
#include <TM1637.h>
#include <Wire.h>#include <Keypad.h> // 引用Keypad程式庫
#define CLK 3
#define DIO 2
TM1637 tm1637(CLK, DIO);
int8_t TimeDisp[] = {0x00,0x00,0x00,0x00};#define KEY_ROWS 4 // 按鍵模組的列數
#define KEY_COLS 4 // 按鍵模組的行數// 依照行、列排列的按鍵字元(二維陣列)
char keymap[KEY_ROWS][KEY_COLS] = {{'1', '2', '3', 'A'},{'4', '5', '6', 'B'},{'7', '8', '9', 'C'},{'*', '0', '#', 'D'}
};byte colPins[KEY_COLS] = {9, 8, 7, 6}; // 按鍵模組,行1~4接腳。
byte rowPins[KEY_ROWS] = {13, 12, 11, 10}; // 按鍵模組,列1~4接腳。 // 初始化Keypad物件
// 語法:Keypad(makeKeymap(按鍵字元的二維陣列), 模組列接腳, 模組行接腳, 模組列數, 模組行數)
Keypad myKeypad = Keypad(makeKeymap(keymap), rowPins, colPins, KEY_ROWS, KEY_COLS);void setup(){Serial.begin(9600);tm1637.init();tm1637.set(1);}void loop(){// 透過Keypad物件的getKey()方法讀取按鍵的字元char key = myKeypad.getKey();if (key){ // 若有按鍵被按下…
// tm1637.display(0, key);TimeDisp[3] = int(key)-48;//把char转化为int类型,然后变成ascII码,再-48
Serial.println(TimeDisp[3]);tm1637.display(TimeDisp);// tm1637.display(1, b1);
// tm1637.display(2, b2);
// tm1637.display(3, b3);
//Serial.println(key); // 顯示按鍵的字元}
}
这篇关于【Arduino】 4×4薄膜键盘的使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!