/* @file CustomKeypad.pde
|| @version 1.0
|| @author Alexander Brevig
|| @contact alexanderbrevig@gmail.com
||
|| @description
|| | Demonstrates changing the keypad size and key values.
|| #
*/
我不明白这个经过认证的简单代码并不起作用。我收到消息: 键盘:41:错误:' led_pin'在这方面没有申明 否则digitalWrite(led_pin,LOW);
#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声明放入循环中,我会收到消息: 在函数&#39; void loop()&#39;: 键盘:35:错误:&#39; customKeypad&#39;在这方面没有申明 char customKey = customKeypad.getKey();
这首歌很奇怪,因为everythig必须在这个非常简单的程序上工作。
答案 0 :(得分:-2)
我认为你应该检查一下&#39;的结构。 if循环中的语句。
void loop(){
char customKey = customKeypad.getKey();
if (customKey){
digitalWrite(led_pin,HIGH);
Serial.println(customKey);
delay(100);
} else {
digitalWrite(led_pin,LOW);
}
}