HC-SRO4 + LCD проблема в коде

aejfowijer
Offline
Зарегистрирован: 09.04.2018
когда информация выводится на дисплей, цифры как бы стакиваются.Например  в начале показывает 8 см, отодвигаешь дальше 64 см, еще дальше 211 см, если обратно вернуть на 8 см то на дисплее будет 811 см значит меняются только первые цифры. В общем код снизу, помогите. Спасибо заранее!
 
 
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <NewPing.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define TRIGGER_PIN 3 // Arduino pin tied to trigger pin on the ultrasonic sensor.
#define ECHO_PIN 2 // Arduino pin tied to echo pin on the ultrasonic sensor.
#define MAX_DISTANCE 400 // Maximum distance we want to ping for (in centimeters). Maximum sensor distance is rated at 400-500cm.
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup of pins and maximum distance.
void setup()
{
  Serial.begin(115200); // Open  monitor at 115200 baud to see ping results.
  lcd.begin();
  lcd.backlight();
}
void loop()
{
  delay(100); // Wait 50ms between pings (about 20 pings/sec). 29ms should be the shortest delay between pings.
  unsigned int uS = sonar.ping(); // Send ping, get ping time in microseconds (uS).
  Serial.print("Ping: ");
  Serial.print(uS / US_ROUNDTRIP_CM); // Convert ping time to distance in cm and print result (0 = outside set distance range)
  Serial.println("cm");
  lcd.setCursor(0, 0);
  lcd.print("Distance:");
  lcd.setCursor(0, 1);
  lcd.print("lol");
  lcd.setCursor(9, 0);
  lcd.print(uS / US_ROUNDTRIP_CM);
  lcd.setCursor(12, 0);
  lcd.print("cm");
}
DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Псевдокод: 

напечатать_расстояние_на_дисплей();

пока(длина в символах напечатанного меньше чем кол-во символов, отведённое на дисплее для расстояния)

напечатать_на_дисплее_пробел();

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Очищать строчку перед печатью не пгобовали? ;)

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Arhat109-2 пишет:

Очищать строчку перед печатью не пгобовали? ;)

А чё, само не чистится? Блин, 21-ый век на дворе :(((

aejfowijer
Offline
Зарегистрирован: 09.04.2018

ну и каким кодом то.Хоть бы предположительный код дали.

 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Предположительный код тебе дали два раза - чего тебе надо ещё, человече? Перевести из кода на человечьем в код на С++? Так в том и заключается программирование - мы посредники между хотелками, выраженными порой матерным, на реализованные на честном С.

А тебе даже алгоритм расписали в псевдокоде. Смекаешь?

aejfowijer
Offline
Зарегистрирован: 09.04.2018

зачем кстати пробел

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Что хначит каким кодом?

То, что в первом топике Вы сами писали? Там Вы слово "Distance:" выводите?

А несколько пробелов на место числа, чтобы стереть его, вывести не можете?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

aejfowijer пишет:

зачем кстати пробел

Чтобы затереть им старое число. Вы, похоже вообще ничего не поняли, что Вам объясняли.

aejfowijer
Offline
Зарегистрирован: 09.04.2018

ЕвгенийП пишет:

Что хначит каким кодом?

То, что в первом топике Вы сами писали? Там Вы слово "Distance:" выводите?

А несколько пробелов на место числа, чтобы стереть его, вывести не можете?

Мне надо чтобы цифры появлялись на экране моментально.Не буду же я писать и загружать сначала один а потом второй код.

aejfowijer
Offline
Зарегистрирован: 09.04.2018

ну скажем если так то, я не знаю что надо вводить чтобы все заново очищалось

aejfowijer
Offline
Зарегистрирован: 09.04.2018

Да и пишу я сюда только для того чтобы узнать этот код.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

aejfowijer пишет:

Не буду же я писать и загружать сначала один а потом второй код.

Вы что, не можете перед тем, как выводить число, вывести несколько пробелов? Просто выведите их, а затем выводите число. Вот и все дела.

aejfowijer
Offline
Зарегистрирован: 09.04.2018

Мне не только однозначные цифры нужны.

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Сказочный, просто сказочный.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Однозначных или неоднозначных цифр не бывает в природе

Вы не ответили на мой вопрос, но я уже и так понял, что код из первого поста писали не Вы, и Вы не понимаете в нём ни одной буквы. А здесь Вам надо не подсказку как сделать, а просто кусок готового кода, потому что никакие подсказки Вам не помогут, т.к. Вы вообще ничего не знаете и просто не сможете их реализовать.

Правильно я понял?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Что означает прилагательное "натураьный"? Я в словаре не нашёл.

aejfowijer
Offline
Зарегистрирован: 09.04.2018

Поняли вы все правильно ,но пишу я сюда не для того чтобы обсуждать кем был написан этот код.Мне надо узнать как доработать этот код чтобы мне не пришлось учитвыать расстояние по первым цифрам.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Тебе уже 5 раз сказали как доработать код.  Чучуть хоть мозг сам наморщи, а?

aejfowijer
Offline
Зарегистрирован: 09.04.2018

Да до того что сказали они я додумался еще тогда когда заметил ошибку,мне бы не критику а помощь.)

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

aejfowijer пишет:

пишу я сюда не для того чтобы обсуждать кем был написан этот код.

Без этого Вам нельзя помочь. Если бы Вы писали код сами, то того, что Вам здесь сказали было бы уже достаточно и у Вас бы не было вопросов.

Если бы Вы сразу сказали, что код не Ваш и Вы ничего не понимаете, люди бы не теряли время, пытаясь Вам посказать. А так Вы над нами просто поиздевались.

aejfowijer пишет:

Мне надо узнать как доработать этот код чтобы мне не пришлось учитвыать расстояние по первым цифрам.

Это неправда. Как доработать Вам уже сказали раз пять. Вам не надо "узнать как доработать", Вам надо "получить готовый, доработанный код и ещё сказать как и куда его вставить".

Но с такими запросами Вам не сюда. Здесь могут подсказать тому, кто делает сам (Вам уже подсказали). Готовые коды здесь не дают.

Готовые коды дают (за плату) в другом разделе. Запостите свою хотелку там, договоритесь о цене и получите.

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

aejfowijer пишет:

мне бы не критику а помощь.)

Вам нужна не помощь, а сделать за Вас. Я уже объяснил, куда Вам надо с этим обратиться. Там специальный для таких вещей раздел.