Например, вывожу на дисплей показания потенциометра в порядке убывания. При переходе со 100 на 99, показывает не 99, а 990

то есть 3 знак остается. как так?
Код: Выделить всё
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int PotPin = 0; // The potentiometer is connected to
// analog pin 0
int ledPin = 13;
void setup() {
lcd.begin(16, 2);
}
pinMode(ledPin, OUTPUT);
void loop() {
// read the potentiometer on A0:
int sensorReading = analogRead(PotPin);
int Value = map(sensorReading, 0, 1023, 0, 253);
lcd.setCursor (5, 0);
lcd.print(sensorReading);
lcd.setCursor(5, 1);
lcd.print(Value);
if value > 1000
{
lcd.setCursor(12, 1);
lcd.Print("ON")
}
else
{
lcd.setCursor(12, 1);
lcd.Print("OFF")
}
}
Код: Выделить всё
lcd.setCursor (5, 0);
lcd.print(" "); // Выводим три пробела для очистки поля
lcd.print(sensorReading);
Код: Выделить всё
lcd.setCursor (5, 0);
lcd.print(" "); // Выводим три пробела для очистки поля
lcd.setCursor (5, 0);
lcd.print(sensorReading);
Код: Выделить всё
char msg[10]; // Строка, в которую будем помещать результат выполнения printf
int value = 0; // Переменная для экспериментов
void setup() {
}
void loop() {
value = 5;
sprintf(msg, "%03d", value); // Запишет в msg строку "005"
value = 55;
sprintf(msg, "%03d", value); // Запишет в msg строку "055"
value = 555;
sprintf(msg, "%03d", value); // Запишет в msg строку "555"
}