делаю часы с выводом реального времени плата mega 2560,экран 1602А,то что выделено жирным текстом выдает ошибку #include <iarduino_RTC.h> iarduino_RTC time(RTC_DS1302,10,11,12); // для модуля DS1302 - RST, CLK, DAT #include "LiquidCrystal.h" // библиотека для устройств I2C LiquidCrystal lcd(8,9,4,5,6,7); LCD.setCursor(0,0); void setup() { delay(300); LCD.init(); // инициализация LCD дисплея LCD.backlight(); // включение подсветки дисплея time.begin(); time.settime(0, 30, 18, 12, 6, 20, 5); // 0 сек, 30 мин, 18 часов, 12, июня, 2020, четверг } void loop() { // если прошла 1 секунда выводим время на дисплей if (millis() % 1000 == 0) { LCD.print(time.gettime("d M Y, D")); LCD.setCursor(4,1); LCD.print(time.gettime("H:i:s")); delay(1); } }
а чо, основы языка си совсем не ведомы? Ну так прежде чем браться за перо, необходимо открыть Кернигана и Ричи и почитать, как в языке си объявляются переменные.
А что у нас в примерах библиотеки iarduino_RTC.h? Зачем отсебятиа! Причем такая жуткая Вот так правильно-код скомпилился и для Уно и для Меги. Ваши ашипки где то закоментил а где то поправил. вы взяли стыбзили код для I2С дисплея и подумали что он будет работать с обычным подключением?Но очень много косяков по работе с RTC. не факт что будет работать в таком виде как часы.Так что проверяйте Код (Text): #include <iarduino_RTC.h> iarduino_RTC time(RTC_DS1302,10,11,12); // для модуля DS1302 - RST, CLK, DAT #include "LiquidCrystal.h" // библиотека для устройств I2C//А оно там есть? LiquidCrystal lcd(8,9,4,5,6,7); //LCD.setCursor(0,0);//накуя? void setup() { delay(300); //LCD.init(); // инициализация LCD дисплея// какого? //LCD.backlight(); // включение подсветки дисплея //Зачем? lcd.begin(16, 2);//Надо так! time.begin(); time.settime(0, 30, 18, 12, 6, 20, 5); // 0 сек, 30 мин, 18 часов, 12, июня, 2020, четверг } void loop() { // если прошла 1 секунда выводим время на дисплей if (millis() % 1000 == 0) { lcd.print(time.gettime("d M Y, D")); //Надо так! lcd.setCursor(4,1); //Надо так! lcd.print(time.gettime("H:i:s")); //Надо так! delay(1); } }
Ну и RTC работают иначе.Но это уже совсем другая песня Код (Text): #include <iarduino_RTC.h> // Подключаем библиотеку iarduino_RTC для работы с модулями реального времени. iarduino_RTC watch(RTC_DS1302, 2, 3, 4); // Объявляем объект watch для работы с RTC модулем на базе чипа DS1302, указывая выводы Arduino подключённые к выводам модуля RST, CLK, DAT. void setup(){ // delay(300); // Ждем готовности модуля отвечать на запросы. Serial.begin(9600); // Инициируем передачу данных в монитор последовательного порта на скорости 9600 бод. watch.begin(); // Инициируем работу с модулем. } // void loop(){ // if(millis()%1000==0){ // Если прошла 1 секунда. Serial.println(watch.gettime("d-m-Y, H:i:s, D")); // Выводим время. delay(1); // Приостанавливаем скетч на 1 мс, чтоб не выводить время несколько раз за 1мс. } // }