液晶屏幕打印奇怪的符号而不是数字

时间:2015-07-27 09:14:16

标签: arduino serial-port raspberry-pi

我正在尝试用覆盆子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);
  }

}

1 个答案:

答案 0 :(得分:1)

您尝试像这样在循环中更改代码。

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);
}

您必须使用方法print并传递字符串。