Arduino Uno,用于中继的 4x4 键盘

Arduino Uno, 4x4 Keypad to relay

#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: 错误:'{' token

之前需要不合格的 id

{

^

退出状态 1 '{' 标记

之前的预期不合格 ID

哪里出错了? :/ 没看到在哪里??? 我是 ardiuno 的新手

您有两个额外的大括号 }{ 过早地关闭了您的主循环。您也没有在任何地方声明 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);
  }
}