#arduino-uno #i2c
#arduino-uno #i2c
Вопрос:
Я подключаю клавиатуру 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 подключены к контактам № 4 (P0), 5 (P1), 6 (P2), 7 (P3) I2C. C1, C2, C3, C4 подключены к контактам № 9 (P4), 10 (P5), 11 (P6), 12 (P7) I2C. Контакты № 8 (VSS), 1 (A0), 3 (A2) I2C подключены к земле. Контакты № 2 (A1), 16 (VCC) I2C подключены к 5V. Контакты № 14 (SCL), 15 (SDA) I2C подключены к SCL и SDA I2C. SDA и SCL I2C подключены к A4, A5 arduino uno. ПОЖАЛУЙСТА, ПОМОГИТЕ!!!
Комментарии:
1. Тактовые частоты I2C и линии передачи данных должны быть установлены высоко. У вас есть подтягивающие резисторы? Кроме того, вы уверены, что ваш адрес установлен правильно?
2. да. адрес правильный
3. куда мне нужно подключить подтягивающие резисторы?
4. SCL и SDA. Они должны быть подняты высоко.
5. я пробовал это, но ничего не произошло