Модуль Tiny RTC не работает как надо при подключении к Arduino Uno вместе с ЖК-дисплеем 16x2.
Я пытаюсь сделать цифровые часы, используя крошечный RTC, ЖК-дисплей 16x2 и Arduino Uno. Модуль RTC работает нормально, если ЖК-дисплей 16x2 не подключен к Arduino. И RTC, и LCD являются модулями I2C и, следовательно, используют одни и те же контакты A4 и A5 Arduino. Мне сообщили, что устройства I2C, подключенные параллельно, должны работать. Но в данном случае часы показывают время неправильно.
@picklu, 👍0
Обсуждение1 ответ
Скетч сканера I2C может помочь определить фактические используемые адреса. Я бы использовал скетч, как на этой странице https://playground.arduino.cc/Main/I2cScanner или на этой странице http://gammon.com.au/forum/?id=10896&reply=6#reply6 . Или загуглите «arduino i2c scanner».
Подключите RTC отдельно и запустите сканер, затем подключите LCD отдельно и запустите сканер. Вывод будет на последовательном мониторе. Если у устройств одинаковый адрес, то это ваша проблема.
Если одно из устройств вообще не отображается, возможно, оно неисправно.
Спасибо за ценную информацию. Я просканировал устройство i2c и обнаружил, что у них разные адреса., @picklu
Я невероятно извиняюсь за свою грязную работу. Все началось, когда я вытащил батарею из RTC. Я был так расстроен, что забыл снова протестировать модуль RTC отдельно. Когда я попробовал другой RTC, он заработал идеально даже с ЖК-дисплеем. Я обнаружил, что время можно настроить как RTC.adjust(DateTime(F(__DATE__), F(__TIME__)));
, но это также сбрасывает время при нажатии кнопки сброса Arduino., @picklu
Я часто обнаруживаю, что узнаю что-то, не имеющее отношения к тому, что я на самом деле пытаюсь сделать., @user85471
- Разница между «time_t» и «DateTime»
- Создание таймера с использованием часов реального времени с указанием времени начала и остановки
- Библиотека времени Arduino и библиотеки RTC
- Ошибка модуля часов реального Времени-DS3231
- DS3231 rtc.begin() всегда возвращает false
- Adafruit RTC begin() не возвращает false
- Как установить управляющий регистр в модуле RTC DS3231 для Arduino UNO R3?
- DS3231 Не совпадает время при выключении Arduino
Вы проверили, что адреса i2c разные? Схематическая и минимальная программа, демонстрирующая ошибку, была бы полезна., @Craig
Да, я сделал и обнаружил, что адреса разные (LCD: 0x3F и RTC: 0x50 и 0x68). Адреса для RTC разумны, поскольку они имеют встроенную память EEPROM., @picklu
Без дополнительной информации мы не сможем вам помочь. Добавьте схему и *минимальную* программу, демонстрирующую проблему., @Craig
Спасибо за быстрый ответ. По моей вине я на короткое время вытащил батарею из модуля RTC, что в конечном итоге привело к сбросу модуля., @picklu