2016-12-03 7 views
0
/* @file CustomKeypad.pde 
|| @version 1.0 
|| @author Alexander Brevig 
|| @contact [email protected] 
|| 
|| @description 
|| | Demonstrates changing the keypad size and key values. 
|| # 
*/ 

この簡単なコードはわかりませんが、動作確認できません。私はメッセージを受け取ります: キーパッド:41:エラー: 'led_pin'はこのスコープで宣言されていません else digitalWrite(led_pin、LOW);Arduinoキーパッドのシンプルコードが機能しません

#include <Keypad.h> 

int led_pin=13; 
const byte ROWS = 4; //four rows 
const byte COLS = 4; //four columns 
//define the cymbols 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] = {9, 8, 7, 6}; //connect to the row pinouts of the keypad 
byte colPins[COLS] = {5, 4, 3, 2}; //connect to the column pinouts of the keypad 

//initialize an instance of class NewKeypad 
Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); 

void setup(){ 
    pinMode(led_pin,OUTPUT); 
    Serial.begin(9600); 
} 

void loop(){ 
    char customKey = customKeypad.getKey(); 

    if (customKey){ 
    digitalWrite(led_pin,HIGH); 
    Serial.println(customKey); 
    delay(100); 
    } 
    else digitalWrite(led_pin,LOW); 
} 

そして、私はループに他のledd_pin宣言を置けば、私はメッセージを取得する:機能で 「空ループ()」: キーパッド:35:ERROR:「customKeypad」はこのスコープで宣言されていませんでした char customKey = customKeypad.getKey();

everythigがこの非常に単純なプログラムで動作する必要があるので、この曲は奇妙です。

+0

このライブラリを使用していますか? 'https:// github.com/Chris-A/Keypad'? – datafiddler

答えて

-2

ループのif文の構造をチェックするべきだと思います。

void loop(){ 
    char customKey = customKeypad.getKey(); 

    if (customKey){ 
    digitalWrite(led_pin,HIGH); 
    Serial.println(customKey); 
    delay(100); 
    } else { 
    digitalWrite(led_pin,LOW); 
    } 
} 
+0

私は構造が問題ではないと信じています。もしそうなら、あなたはコードから何が欠落しているのか強調する必要があります。 –

+0

あなたのソリューションは、著者のコードを使用して提案してください。 –

+0

これは(明らかに)問題ではありません...あなたはちょうど役に立たない括弧を追加しました... –

関連する問題