Я пытаюсь сделать будильник с малиновым пи и ардуином. У меня возникла такая проблема, что, когда я использую последовательную связь для отправки ее номера, lcd не печатает номер. Я знаю, что arduino получает номер, по какой-то причине он просто не печатает его. Вместо этого он печатает странные символы и строки. This article shows how i use serial communication between them Это мой код arduino.Экран Lcd печатает странные символы вместо цифр
#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);
}
}
Спасибо, это сработало! Не могли бы вы объяснить мне, почему это сработало? – user2350459
потому что идеал arduino немного странный. Я шучу, но вам нужно указать значение int как строку, прежде чем писать на lcd. И правильным способом записи на lcd является print(), как требуется библиотеке. – br00