Форум программистов, компьютерный форум, киберфорум
Arduino
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
3 / 3 / 0
Регистрация: 03.10.2018
Сообщений: 249

Часы на RTC_DS1302

10.06.2024, 19:51. Показов 5433. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <LiquidCrystal.h>
LiquidCrystal lcd(12,  11,  5,  4,  3,  2);
#include "iarduino_RTC.h"
const int pinRST = 8;
const int pinCLK = 6;
const int pinDAT = 7;
iarduino_RTC time(RTC_DS1302,pinRST,pinCLK,pinDAT);  // для модуля DS1302 - RST, CLK, DAT
 
void setup()  {
lcd.begin(16, 2);
time.begin();   //    ???????????
}
 
void loop() {
//..........
}
error: 'class iarduino_RTC' has no member named 'begin'
нет такой функции в библиотеке?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.06.2024, 19:51
Ответы с готовыми решениями:

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

Флеш часы: часы, показывающие указанное время
Привет всем!!!Помогите пожалуйста!!!Как создать флеш часы чтобы они показывали разное указанное время. Весь инет прошарил нигде нет! в...

Сколько минут будут показывать цифровые часы в момент, когда стрелочные часы вновь покажут верное время?
Домашние часы со стрелками и цифровые часы синхронизованно показывают верное время. Ровно в полночь батарейка в часах со стрелками...

10
Модератор
1245 / 676 / 292
Регистрация: 10.11.2019
Сообщений: 1,406
10.06.2024, 20:03
В каталоге библиотеки должен быть файл readme.md и примеры программ в подкаталоге examples.
0
3 / 3 / 0
Регистрация: 03.10.2018
Сообщений: 249
10.06.2024, 20:20  [ТС]
Цитата Сообщение от qbfan Посмотреть сообщение
В каталоге библиотеки должен быть файл readme.md и примеры программ в подкаталоге examples.

Из файла readme.md:
**Подключаем библиотеку.**
#include <iarduino_RTC.h> // Подключаем библиотеку.
**Создаём объект.**
iarduino_RTC ОБЪЕКТ ( НАЗВАНИЕ [, ВЫВОД_RST [, ВЫВОД_CLK [, ВЫВОД_DAT ]]] ); // Создаём объект.
**Инициализация работы RTC модуля.**
Функция begin(); // Инициализация работы RTC модуля.
**Установка времени.**
Функция settime( СЕК [, МИН [, ЧАС [, ДЕНЬ [, МЕС [, ГОД [, ДН ]]]]]] ); // Установка времени.

и в примерах begin(); есть... из разных источников скачивал эту библиотеку, и всегда одно и то же.... settime и другие функции нет ошибки
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,852
11.06.2024, 09:06
Цитата Сообщение от Belju Посмотреть сообщение
iarduino_RTC time
имя переменой(объекта) поменяй,
time служебное слова
например так
C++
1
iarduino_RTC Mytime(...
0
3 / 3 / 0
Регистрация: 03.10.2018
Сообщений: 249
11.06.2024, 14:36  [ТС]
Цитата Сообщение от ValeryS Посмотреть сообщение
имя переменой(объекта) поменяй,
timeслужебное слова
тоже так подумал, не помогло
C++
1
2
3
arduino_RTC myrtc(RTC_DS1302,pinRST,pinCLK,pinDAT);
.......
myrtc.begin();  //  error: 'class iarduino_RTC' has no member named 'begin'
0
1184 / 460 / 68
Регистрация: 22.09.2023
Сообщений: 1,400
11.06.2024, 15:22
Лучший ответ Сообщение было отмечено Belju как решение

Решение

Вы же подключаете файл iarduino_RTC.h! Что вам мешает открыть его и посмотреть описание класса?

C++
1
2
3
4
5
6
7
    /** Пользовательские функции **/                                                                     //
        #if defined(TwoWire_h) || defined(__ARDUINO_WIRE_IMPLEMENTATION__)                                  //  Если подключена библиотека Wire.h
        bool begin (TwoWire* i=&Wire ){ selI2C->init(i); objClass->begin((iarduino_I2C_Select*)selI2C); gettime(); }    //  Определяем функцию инициализации модуля (Параметр: объект для работы с аппаратной шиной I2C).
        #endif                                                                                              //
        #if defined(iarduino_I2C_Software_h)                                                                //  Если подключена библиотека iarduino_I2C_Software.h
        bool begin (SoftTwoWire* i   ){ selI2C->init(i); objClass->begin((iarduino_I2C_Select*)selI2C); gettime(); }    //  Определяем функцию инициализации модуля (Параметр: объект для работы с программной шиной I2C).
        #endif                                                                                              //
Я ни разу не писал для ардуины, но элементарных знаний хватает чтобы понять, что вам надо либо перед этим заголовочным файлом включить файл соответствующей реализации I2C (TwoWire.h или iarduino_I2C_Software.h), либо где-то в оболочке выбрать какую-то галочку, которая определит __ARDUINO_WIRE_IMPLEMENTATION__.

qbfan писал же, что в комплекте идут примеры. Почему вы не открыли их? Хотя бы в текстовом редакторе. Это же так просто...
C++
1
2
3
                                                            //
#include <Wire.h>                                           // Если используется аппаратная шина I2C, то подключаем библиотеку Wire, до подключения библиотеки iarduino_RTC.
#include <iarduino_RTC.h>                                   // Подключаем библиотеку iarduino_RTC для работы с модулями реального времени.
C++
1
2
3
4
5
6
                                                               //
#include <iarduino_I2C_Software.h>                             // Подключаем библиотеку для работы с программной шиной I2C, до подключения библиотеки iarduino_RTC.
SoftTwoWire sWire(3,4);                                        // Создаём объект программной шины I2C указав выводы которым будет назначена роль линий: SDA, SCL.
                                                               //
#include <iarduino_RTC.h>                                      // Подключаем библиотеку iarduino_RTC для работы с модулями реального времени.
//   iarduino_RTC watch(RTC_DS1302, 2, 3, 4);                  // Объявляем объект watch для работы с RTC модулем на базе чипа DS1302, указывая выводы Arduino
1
3 / 3 / 0
Регистрация: 03.10.2018
Сообщений: 249
11.06.2024, 15:59  [ТС]
Dushevny, куча примеров где ничего выбирать не надо, например скетч с выводом в монитор порта:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iarduino_RTC.h >               
iarduino_RTC time(RTC_DS1302, 6, 8, 7);  
void setup() {
  delay(300);          
  Serial.begin(9600);  
  time.begin();        
  time.settime(0, 15, 12, 20, 11, 21, 7);  
}
void loop() {
  if (millis() % 1000 == 0) {                         
    Serial.println(time.gettime("d-m-Y, H:i:s, D"));  
    delay(1);                                         
  }
}
ссылка https://radio-hobby.org/module... rduino_RTC

и здесь у меня такая же ошибка, единственная, error: 'class iarduino_RTC' has no member named 'begin'

Добавлено через 20 минут
Dushevny, но вы оказались правы, так все работает
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <Wire.h>  
#include <LiquidCrystal.h>
LiquidCrystal lcd(12,  11,  5,  4,  3,  2);
#include "iarduino_RTC.h"
const int pinRST = 8;
const int pinCLK = 6;
const int pinDAT = 7;
iarduino_RTC myrtc(RTC_DS1302,pinRST,pinCLK,pinDAT); 
 
void setup()  {
lcd.begin(16, 2);
myrtc.begin(&Wire);
myrtc.settime(0,44,16,5,6,2024,4);
}
Спасибо!!
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,852
11.06.2024, 16:14
Цитата Сообщение от Belju Посмотреть сообщение
time.begin();
скачал библиотеку iarduino_RTC версия 2.0.6
вот её h файл (выдержки)
C++
1
2
3
4
5
#if defined(TwoWire_h) || defined(__ARDUINO_WIRE_IMPLEMENTATION__)                                  //  Если подключена библиотека Wire.h
        bool begin (TwoWire* i=&Wire ){ selI2C->init(i); objClass->begin((iarduino_I2C_Select*)selI2C); gettime(); }    //  Определяем функцию инициализации модуля (Параметр: объект для работы с аппаратной шиной I2C).
        #endif                                                                                              //
        #if defined(iarduino_I2C_Software_h)                                                                //  Если подключена библиотека iarduino_I2C_Software.h
        bool begin (SoftTwoWire* i   )
как видно для вызова begin без аргументов(аргументы по умолчанию) нужно подключить "библиотеку"TwoWire. перед iarduino_RTC.h
#if defined(TwoWire_h) || defined(__ARDUINO_WIRE_IMPLEMENTATION__)
0
3 / 3 / 0
Регистрация: 03.10.2018
Сообщений: 249
11.06.2024, 16:17  [ТС]
ValeryS, спасибо... как на моем последнем примере тоже все работает
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,852
11.06.2024, 16:34
Цитата Сообщение от Belju Посмотреть сообщение
Dushevny, куча примеров где ничего выбирать не надо, например скетч с выводом в монитор порта:
из примеров
C++
1
2
#include <Wire.h>                                           // Если используется аппаратная шина I2C, то подключаем библиотеку Wire, до подключения библиотеки iarduino_RTC.
#include <iarduino_RTC.h>
везде изначально подключается Wire.h
0
1184 / 460 / 68
Регистрация: 22.09.2023
Сообщений: 1,400
11.06.2024, 19:26
Цитата Сообщение от Belju Посмотреть сообщение
куча примеров где ничего выбирать не надо
Вы думаете, я код в своем сообщении набирал из головы? Нет, я забил в гугля "iarduino_RTC.h", он выдал ссылку на эту библиотеку, я скачал архив и нашел в нем папку examples. И в ней был ответ на ваш вопрос. Это заняло не более 3 минут.

Может ваша куча примеров от более старой версии библиотеки, в которой аппаратный I2C был прибит гвоздями?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.06.2024, 19:26
Помогаю со студенческими работами здесь

Даны целые числа m (часы) и n (минуты) .Определить наименьшее время (в минутах) когда совпадут минуты и часы
Даны целые числа m (часы) и n (минуты) .Определить наименьшее время (в минутах) до того момента когда часовая и минутная стелка...

Даны целые числа m (часы) и n (минуты) .Определить наименьшее время (в минутах) когда совпадут минуты и часы
Даны целые числа m (часы) и n (минуты) .Определить наименьшее время (в минутах) до того момента когда часовая и минутная стелка...

Преобразовать введенное значение в часы и минуты и выводит на экран в виде “часы: минуты”
Здравствуйте, помогите пожалуйста с написанием программы. Написать программу, которая запрашивает у пользователя значение времени в...

Из секунд - часы, минуты и секунды. Из минут - часы, минуты
private void button4_Click(object sender, EventArgs e) { if (textBox3.Text == &quot;&quot;) { ...

Программ, которая переводит часы и минуты в минуты или минуты – в часы и минуты
Составьте программу, которая в зависимости от входных данных переводит часы и минуты в минуты или минуты – в часы и минуты. ЖЕЛАТЕЛЬНО...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru