2017-03-15 10 views
-2
#include <Keypad.h> 

const byte numRows = 4; 
const byte numCols = 4; 

int relePin = 10; 

char keymap[numRows][numCols] = 
{ 
    {'1', '2', '3', 'A'}, 
    {'4', '5', '6', 'B'}, 
    {'7', '8', '9', 'C'}, 
    {'*', '0', '#', 'D'} 
}; 

byte rowPins[numRows] = {9, 8, 7, 6}; 
byte colPins[numCols] = {5, 4, 3, 2}; 

Keypad myKeypad = Keypad(makeKeymap(keymap), rowPins, colPins, numRows, numCols); 


void setup() { 

    Serial.begin(9600); 

    pinMode(relePin, OUTPUT); 
} 

void loop() { 

    char keypressed = myKeypad.getKey(); 
    if (keypressed != NO_KEY); 
    { 
    Serial.print(keypressed); 
    } 
} 
{ 
    char key = keypad.getKey(); 
    if (int(key) == 1) { 
    digitalWrite(relePin, LOW); 
    delay(1000); 
    digitalWrite(relePin, HIGH); 
    delay(1000); 
    } 
} 

keypad_til_rele中継する: '{' トークンArduinoの宇野、4×4キーパッド

{

^

終了ステータスの前に修飾されていない-ID期待1 予想非修飾-ID:37:エラー'{'トークンの前に

どこがエラーですか? :/ 私はそれがどこですか? ardiunoを初めて使用しました

+0

{char key = keypad.getKey();そこに '{'のトークンは何ですか? – vamosrafa

+0

完全なコードを示すことをお勧めします。問題は別の場所にある可能性があります。とにかく、コンパイラは37行目を指します。また、コードをインデントして読みやすくします。 –

+0

ヒント?私は本当にこの助けが必要です –

答えて

0

メインループを途中で閉鎖した余分な2つの中かっこ}および{がありました。あなたはどこにでもkeypadを宣言していません。私はそれらを次のようにコメントしました:

#include <Keypad.h> 

const byte numRows = 4; 
const byte numCols = 4; 

int relePin = 10; 

char keymap[numRows][numCols] = 
{ 
    {'1', '2', '3', 'A'}, 
    {'4', '5', '6', 'B'}, 
    {'7', '8', '9', 'C'}, 
    {'*', '0', '#', 'D'} 
}; 

byte rowPins[numRows] = {9, 8, 7, 6}; 
byte colPins[numCols] = {5, 4, 3, 2}; 

Keypad myKeypad = Keypad(makeKeymap(keymap), rowPins, colPins, numRows, numCols); 


void setup() { 

    Serial.begin(9600); 

    pinMode(relePin, OUTPUT); 
} 

void loop() { 

    char keypressed = myKeypad.getKey(); 
    if (keypressed != NO_KEY); 
    { 
    Serial.print(keypressed); 
    } 
    //} These two line are your problem 
    //{ 
    //char key = keypad.getKey(); // keypad was not declared anywhere, I assume it was meant to be this: 
    char key = myKeypad.getKey(); 
    if (int(key) == 1) { 
    digitalWrite(relePin, LOW); 
    delay(1000); 
    digitalWrite(relePin, HIGH); 
    delay(1000); 
    } 
} 
+0

keypad_til_rele:37:エラー: 'keypad'はこのスコープで宣言されていません。 char key = keypad.getKey(); ^ keypad_til_rele:44:エラー:入力 の終わりに期待 '}'} ^」 は今、私はこのエラーを得た:/ –

+0

あなたは 'keypad'を宣言していないので、私はそれが必要と仮定します代わりに「myKeypad」になります。私はこれを反映するために私の答えを更新しました。 – Morgoth

+0

ありがとう:)私はまだ巨大な学習曲線にあります! –

関連する問題