Помогите с кодом вывода времени
- Войдите на сайт для отправки комментариев
Ср, 28/11/2012 - 23:45
Собираю устройство с часами при выводе времени после секунд в следующей строке выходит || ||| как это убрать не знаю
#include <DS1307.h> // Подключаем библиотеку управления модулем реального времени #include <LiquidCrystalExt.h> // Подключаем библиотеку управления экраном #include <LineDriver.h> // Далее вспомогательные библиотеки для реализации интерфейса SPI #include <SPI.h> #include <SPI_Bus.h> #include <Wire.h> SPI_Bus shreg(_8bit, 10); // Подключаем сдвиговый регистр LiquidCrystal lcd(1, 2, 3, 4, 5, 6, &shreg, 7); // Инициализируем дисплей void setup() // инициализация основных данных { Serial.begin(9600); // Инициализируем COM-порт lcd.begin(16,2); // устанавливаем размеры экрана } void loop() // зацикливание (код управляющей программы) { int Hour = RTC.get(DS1307_HR,true); // Получаем значение текущего часа int Minute = RTC.get(DS1307_MIN,false); int Second = RTC.get(DS1307_SEC,false); lcd.setCursor(0,0); // устанавливаем позицию курсора на экране (на один символ правее левого верхнего угла) lcd.print(addZero(Hour));lcd.print(":");lcd.print(addZero(Minute));lcd.print(":");lcd.println(addZero(Second)); // Выводим время } void SetTime() // установка времени из шаблона tчч:мм { if (Serial.read() == 't') // Если первый символ t, то установим указанное время { int h = (Serial.read() - '0') * 10 + (Serial.read() - '0'); Serial.read(); int m = (Serial.read() - '0') * 10 + (Serial.read() - '0'); RTC.stop(); RTC.set(DS1307_SEC,0); //set the seconds RTC.set(DS1307_MIN,m); //set the minutes RTC.set(DS1307_HR,h); //set the hours RTC.start(); } Serial.flush(); } String addZero(int val) { if (val<10) return "0" + String(val);else return String(val); }
Попробуйте очищать дисплей lcd.clear();
А по подробней я мало что понимаю в этом
Просто очиттить эту клетку ? в дисплее ?
lcd.clear() чистит экран
чтобы чистить чуток чправа от выводимого, достаточно напечатать лишний пробел
тоесть просто дописать пару пробелов и все
Ага, вдруг пропадет
но я чистил каждый loop lcd.clear
Пробелы не помогли
спасибо проблемка была в
lcd.println(addZero(Second))
мне подсказали сделать lcd.print(addZero(Second)) и проблема решилась