Официальный сайт компании Arduino по адресу arduino.cc
HC-SRO4 + LCD проблема в коде
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Пнд, 09/04/2018 - 14:27
когда информация выводится на дисплей, цифры как бы стакиваются.Например в начале показывает 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");
}
Псевдокод:
напечатать_расстояние_на_дисплей();
пока(длина в символах напечатанного меньше чем кол-во символов, отведённое на дисплее для расстояния)
напечатать_на_дисплее_пробел();
Очищать строчку перед печатью не пгобовали? ;)
Очищать строчку перед печатью не пгобовали? ;)
А чё, само не чистится? Блин, 21-ый век на дворе :(((
ну и каким кодом то.Хоть бы предположительный код дали.
Предположительный код тебе дали два раза - чего тебе надо ещё, человече? Перевести из кода на человечьем в код на С++? Так в том и заключается программирование - мы посредники между хотелками, выраженными порой матерным, на реализованные на честном С.
А тебе даже алгоритм расписали в псевдокоде. Смекаешь?
зачем кстати пробел
Что хначит каким кодом?
То, что в первом топике Вы сами писали? Там Вы слово "Distance:" выводите?
А несколько пробелов на место числа, чтобы стереть его, вывести не можете?
зачем кстати пробел
Чтобы затереть им старое число. Вы, похоже вообще ничего не поняли, что Вам объясняли.
Что хначит каким кодом?
То, что в первом топике Вы сами писали? Там Вы слово "Distance:" выводите?
А несколько пробелов на место числа, чтобы стереть его, вывести не можете?
Мне надо чтобы цифры появлялись на экране моментально.Не буду же я писать и загружать сначала один а потом второй код.
ну скажем если так то, я не знаю что надо вводить чтобы все заново очищалось
Да и пишу я сюда только для того чтобы узнать этот код.
Не буду же я писать и загружать сначала один а потом второй код.
Вы что, не можете перед тем, как выводить число, вывести несколько пробелов? Просто выведите их, а затем выводите число. Вот и все дела.
Мне не только однозначные цифры нужны.
Сказочный, просто сказочный.
Однозначных или неоднозначных цифр не бывает в природе
Вы не ответили на мой вопрос, но я уже и так понял, что код из первого поста писали не Вы, и Вы не понимаете в нём ни одной буквы. А здесь Вам надо не подсказку как сделать, а просто кусок готового кода, потому что никакие подсказки Вам не помогут, т.к. Вы вообще ничего не знаете и просто не сможете их реализовать.
Правильно я понял?
Что означает прилагательное "натураьный"? Я в словаре не нашёл.
Поняли вы все правильно ,но пишу я сюда не для того чтобы обсуждать кем был написан этот код.Мне надо узнать как доработать этот код чтобы мне не пришлось учитвыать расстояние по первым цифрам.
Тебе уже 5 раз сказали как доработать код. Чучуть хоть мозг сам наморщи, а?
Да до того что сказали они я додумался еще тогда когда заметил ошибку,мне бы не критику а помощь.)
пишу я сюда не для того чтобы обсуждать кем был написан этот код.
Без этого Вам нельзя помочь. Если бы Вы писали код сами, то того, что Вам здесь сказали было бы уже достаточно и у Вас бы не было вопросов.
Если бы Вы сразу сказали, что код не Ваш и Вы ничего не понимаете, люди бы не теряли время, пытаясь Вам посказать. А так Вы над нами просто поиздевались.
Мне надо узнать как доработать этот код чтобы мне не пришлось учитвыать расстояние по первым цифрам.
Это неправда. Как доработать Вам уже сказали раз пять. Вам не надо "узнать как доработать", Вам надо "получить готовый, доработанный код и ещё сказать как и куда его вставить".
Но с такими запросами Вам не сюда. Здесь могут подсказать тому, кто делает сам (Вам уже подсказали). Готовые коды здесь не дают.
Готовые коды дают (за плату) в другом разделе. Запостите свою хотелку там, договоритесь о цене и получите.
мне бы не критику а помощь.)
Вам нужна не помощь, а сделать за Вас. Я уже объяснил, куда Вам надо с этим обратиться. Там специальный для таких вещей раздел.