2016-09-15 6 views
0

4 * 4 매트릭스에 연결된 키보드에 문제가 있습니다. 14 개의 푸시 버튼 만 사용합니다. 문제는 모든 푸시 버튼이 Arduino Mega에서 작동한다는 것입니다. Uno에서는 3,4 - 5,6 - B, C 만 작동합니다. 왜 작동하지 않는지 나는 이해하지 못한다. 누군가 나를 도울 수 있습니까? 미리 감사드립니다.매트릭스 키보드 4 * 4 arduino

여기 당신이 Serial 라이브러리를 사용하는 경우 & 이, 시리얼 통신에 대해 구성된 Arduino UNO 핀에 내 코드

#include <Keypad.h> 

const byte ROWS = 4; 
const byte COLS = 4; 

char keys[ROWS][COLS] = { 
    {'1' , '2' , '3' , '4'}, 
    {'5' , '6' , '7' , '8'}, 
    {'9' , 'A' , 'B' , 'C'}, 
    {'D' , 'E' , 'F' , 'G'} 
    }; 


byte rowPins[ROWS] = {13,12,11,10}; 
byte colPins[COLS] = {0,1,2,3}; 

Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS); 
void setup() { 
    // put your setup code here, to run once: 
    Serial.begin(9600); 
} 

void loop() { 
    // put your main code here, to run repeatedly: 
    char key = keypad.getKey(); 
    if(key != NO_KEY){ 
    Serial.println(key); 
    } 
} 
+0

연결이 정확합니까? 예를 들어 UNO의 핀 0과 1은 시리얼 통신을 위해 기본적으로 설정되어있다. 내 메모리가 나를 올바르게 지원한다면, 'Keypad'생성자가 그것을 처리 할 것으로 의심된다. –

+0

좋아요, 0,1 핀 문제였습니다. 그것들은 의사 소통을위한 것이지만 나는 그것을 단추로 사용할 수 없다는 것을 몰랐다. 고맙습니다 :) – user3421673

답변

1

입니다. 이 핀을 다른 디지털 핀 중 일부로 변경해보십시오.

으로 순수 투기, yield a LOW 그래서 Keypad 라이브러리가 활성화 등 그 컬럼에있는 버튼이 작동하지 않습니다 열을 고려하지 않습니다 것이 상태에서 digitalRead() 또는 함께 핀에서 읽으려고.