液晶屏打印奇怪的符号而不是数字
Lcd screen prints weird symbols instead of numbers
我正在尝试用 raspberry pi 和 arduino 制作一个闹钟。我一直遇到这个问题,当我使用串行通信发送一个数字时,液晶显示器不打印数字。我知道 arduino 正在获取号码,出于某种原因它只是不会打印它。它反而会打印奇怪的符号和线条。 This article shows how i use serial communication between them这是我的arduino代码。
#include <LiquidCrystal.h>
const int ledPin = 13;
LiquidCrystal lcd(12,11,5,4,3,2);
void setup()
{
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
lcd.begin(16,2);
lcd.setCursor(0,1);
lcd.print("crystralball");
}
void loop()
{
if (Serial.available())
{
flash(Serial.read() - '0');
}
delay(1000);
}
void flash(int n)
{
for (int i = 0; i < n; i++)
{
digitalWrite(ledPin, HIGH);
lcd.clear();
lcd.write(n);
Serial.print(n);
Serial.flush();
delay(100);
digitalWrite(ledPin, LOW);
delay(100);
}
}
你好尝试像这样在循环中更改代码。
for (int i = 0; i < n; i++){
digitalWrite(ledPin, HIGH);
lcd.clear();
lcd.print(String(n));
Serial.print(n);
Serial.flush();
delay(100);
digitalWrite(ledPin, LOW);
delay(100);
}
您必须使用打印方法并传递一个字符串。
我正在尝试用 raspberry pi 和 arduino 制作一个闹钟。我一直遇到这个问题,当我使用串行通信发送一个数字时,液晶显示器不打印数字。我知道 arduino 正在获取号码,出于某种原因它只是不会打印它。它反而会打印奇怪的符号和线条。 This article shows how i use serial communication between them这是我的arduino代码。
#include <LiquidCrystal.h>
const int ledPin = 13;
LiquidCrystal lcd(12,11,5,4,3,2);
void setup()
{
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
lcd.begin(16,2);
lcd.setCursor(0,1);
lcd.print("crystralball");
}
void loop()
{
if (Serial.available())
{
flash(Serial.read() - '0');
}
delay(1000);
}
void flash(int n)
{
for (int i = 0; i < n; i++)
{
digitalWrite(ledPin, HIGH);
lcd.clear();
lcd.write(n);
Serial.print(n);
Serial.flush();
delay(100);
digitalWrite(ledPin, LOW);
delay(100);
}
}
你好尝试像这样在循环中更改代码。
for (int i = 0; i < n; i++){
digitalWrite(ledPin, HIGH);
lcd.clear();
lcd.print(String(n));
Serial.print(n);
Serial.flush();
delay(100);
digitalWrite(ledPin, LOW);
delay(100);
}
您必须使用打印方法并传递一个字符串。