2017-03-15 6 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: 37: Fehler: erwartet unqualifizierte-ID vor '{' tokenArduino Uno, 4x4 Keypad zu Relais

{

^

Wert 1 unqualifizierte-id erwartet vor '{' token

Wo ist der Fehler? :/ Ich sehe nicht wo es ist ??? Ich bin neu in ardiuno

+0

{char key = keypad.getKey(); Was ist das '{' Token da? – vamosrafa

+0

Ich schlage vor, den vollständigen Code anzuzeigen. Problem kann woanders sein. Wie auch immer, Compiler verweist Sie auf Zeile 37. Den Code einrücken, um ihn lesbar zu machen. –

+0

Irgendwelche Tipps? Ich brauche diese Hilfe wirklich –

Antwort

0

Sie hatten zwei zusätzliche geschweifte Klammern } und {, die Ihre Hauptschleife vorzeitig geschlossen. Sie haben keypad nirgends deklariert. Ich habe sie auskommentiert:

#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: Fehler: "Tastatur" wurde in diesem Bereich nicht deklariert char key = keypad.getKey(); ^ keypad_til_rele: 44: Fehler: expected '}' am Ende des Eingangs } ^‘ i jetzt diesen Fehler bekommen:/ –

+0

Weil Sie nicht' keypad' erklärt haben, gehe ich davon aus es sollte sei stattdessen "myKeypad". Ich habe meine Antwort aktualisiert, um dies zu berücksichtigen. – Morgoth

+0

Danke :) Ich bin immer noch in einer großen Lernkurve! –

Verwandte Themen