您好,我的问题是每当我为变量“var”输入一个值然后打印它时。它会给我一个完全不同的价值。例如,如果我输入“5”,它将打印我的十进制值(即 53),这可能会令人沮丧,因为您看到我正在尝试将一个数字与另一个数字匹配,这会导致问题。
注意:我尝试将 if (Serial.available() > 0) 更改为 while 条件,但没有成功。而且我还使用 16x2 液晶显示器。
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);
int backLight = 13;
int var=0;
int password=5320;
void setup()
{
Serial.begin(9600);
pinMode(backLight, OUTPUT);
digitalWrite(backLight, HIGH);
lcd.begin(16,2);
lcd.clear();
Serial.println("Enter password");
}
void loop()
{
if (Serial.available() > 0) {
var = Serial.read();
Serial.println(var);
if (var==password)
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Access granted");
}
else
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Access denied");
}
delay(100);
}
}