我将4 * 4键盘与I2C连接,然后将I2C连接至我的arduino uno。但是,当我按键盘上的某个键时,串行监视器不会显示任何内容。 这是我的代码:-
#include <Keypad_I2C.h>
#include <Keypad.h> // GDY120705
#include <Wire.h>
#define I2CADDR 0x27
const byte ROWS = 4; //four rows
const byte COLS = 4; //four columns
//define the symbols on the buttons of the keypads
char hexaKeys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] = {0, 1, 2, 3}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {4, 5, 6, 7}; //connect to the column pinouts of the
//initialize an instance of class NewKeypad
Keypad_I2C customKeypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS, I2CADDR);
void setup(){
// Wire.begin( );
customKeypad.begin( ); // GDY120705
Serial.begin(9600);
}
void loop(){
Serial.print("Key pressed= ");
char customKey = customKeypad.getKey();
if (customKey != NO_KEY){
Serial.println(customKey);
}
}
这是显示按键的简单代码。
连接为:- R1,R1,R3,R4连接到引脚号。 I2C的4(P0),5(P1),6(P2),7(P3)。 C1,C2,C3,C4连接到引脚号。 I2C的9(P4),10(P5),11(P6),12(P7)。针号I2C的8(VSS),1(A0),3(A2)接地。针号I2C的2(A1),16(VCC)连接到5V。针号I2C的14(SCL),15(SDA)连接到I2C的SCL和SDA。 I2C的SDA和SCL连接到arduino uno的A4,A5。 请帮助!!!