2016-09-15 13 views
0

4 * 4マトリックスに接続されたキーボードに問題があります。私は14の押しボタンしか使用しません。問題は、すべてのプッシュボタンがArduino Megaで動作することです。宇野では3,4 - 5,6 - B、Cのみ動作します。なぜそれが動作しないのか分かりません。誰か助けてくれますか?前もって感謝します。あなたがSerialライブラリを使用する場合マトリックスキーボード4 * 4 arduino

は、ここに私のコード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は、私のメモリが私の右に役立つ場合、シリアル通信用に設定されていますが、キーパッドコンストラクタがそれを処理すると思われます。 –

+0

素晴らしいですが、0,1ピンで問題でした。彼らはコミュニケーションのためですが、私はボタンとして使うことができないのか分かりませんでした。ありがとうございました :) – user3421673

答えて

1

は、シリアル通信のために構成されています。これらのピンを他のデジタルピンのいくつかに変更してみてください。

として純粋な憶測、yield a LOWのでKeypadライブラリがアクティブなので、それらの列上に存在するボタンが正しく動作することはありません列を検討することはありませんでしょう、この状態でdigitalRead()かなとピンから読み取るしようとしています。

関連する問題