Простые вопросы.
- Войдите на сайт для отправки комментариев
Здравствуйте.
Ответе, пожалуйста, на несколько вопросов.
1) Устройства I2C имеют адрес, этот адрес прописан в устройстве, или его назначает программа?
Поясню: LCD 1602 подключен по I2C с адресом 0х3F; RTC DS1307, то же по I2C, но как мне узнать его адрес? Или он не нужен? Хотя два у-ва подкл. к одним и тем же портам ардуины....
2) Для одного устройства, пусть LCD1602, есть несколько библиотек. Для каждой библиотеки свой набор команд? В каком файле найти описание команд этой библиотеки? Т.е. есть LiquidCrystal_I2C и есть, скажем, LiquidCrystal_I2C_fedor. В ардуино ИДЕ они выглядят одинаково, как #include <LiquidCrystal_I2C.h>, но команда, допустим, Serial.begin();в одной работает, а в другой нет.
1. Запусти скетч i2cscaner он тебе выдаст адреса всех устройств на шине
2. Читайте описание библиотек. У нормальных авторов обычно понятно - оригинальная ли это библиотека, если нет, то на основе чего сделана и что собственно добавлено/изменено. Если установлено две библиотеки с одинаковыми именами, то компилятор об этом предупредит и возьмёт ту, что ему больше понравится. Читайте сообщения компилятора.
Спасибо. Я примерно так и думал. Вот только не во всех библиотеках есть описание, особенно на русском, и поэтому каждое красное сообщение в IDE-это паника. Это все лирика....
Да, я нашел скетч сканера. Также я пользуюсь программой FLProg.
Только столкнулся с проблемой: DS1307 не хочет определятся. Модуль такой (https://robotdyn.ru/catalog/development_boards/plata_rasshireniya_wifi_d...) куплен в Китае.
Подключен вроде верно, а именно: SCL--A5 ; SDA--A4 и VCC и GND. Может модуль дрянь, но DS1302, с этим вообще плохо, (http://overskill.alexshu.com/ds1302-real-time-clock-w-arduino/) то же не определяется. Вывод-мой косяк, понять бы где.....
Marolex, т.е. Вы подключаете к Ардуино два модуля и сканер ни один из них не определяет?
Наверное фотку надо собранной схемы, только чтобы всё четко видно было, что куда подключено. И что именно пишет i2cscanner.
andriano Да оба, только не сразу, по очереди. Не могу понять определяет или нет. Адрес модуля не пишет, а монитор выдает нули и год 2118, Время не идёт.
kalapanga Я пока не умею сюда фото вставлять, пока сложно. По ссылке вроде большие картинки.
На модуле написано D1-SCL, D2-SDA. Так и подключаю к ардуино нано.
D1-SCLна модуле к A5 на ардуино ;D2-SDAна модуле к A4 на ардуино и VCC (+5В) и GND. Я пробовал 3.3В подкл.
Ежели адрес не показывает, значит обмена с устройством нет. А время показывается дефолтовое для библиотеки.
а адрес экрана сканер показывает?
По этой ссылке инструкция. С 18-го сообщения.
Нуидела Да, показывает, уточню, адрес И2С модуля подкл. к дисплею, показывает.
Так в скетче Вы указываете адрес дисплейного модуля, а для модуля часов адрес вроде не нужен.
(хотя конечно сканер должен был его показать, при условии правильного подключения).
Можно пойти по простому пути добавлять модули в проект по очереди
(сначала добиться что-бы заработал модуль часиков, потом к ним добавить экран).
Иногда люди забывают подтянуть и2с к плюсу.
У меня два вида DS1307 ПЕРВЫЙ ("старый образец") (https://www.tdegypt.com/product/real-time-clock-module-rtc-ds1307-withou...) работает, часы идут, адрес выдает.
ВТОРОЙ ("новый") от "Рободин" ссылка выше, не могу подключить. Часы не идут, адрес не появляется. Вот мне стало интересно, только у меня так, или я что делаю не так. Видимо такой модуль только у меня, ну или второе.
в любом случае, удасца/не удасца запустить, выкинь 1307, купи за 50 рублей DS3231. Никогда не пожалеешь потом.
ВТОРОЙ ("новый") от "Рободин" ссылка выше, не могу подключить.
у меня двое таких - работают отлично
andycat Может расскажете как Вы его инициализировали? Какой скетч у Вас? Я понимаю, что проблема в моем не знании.
Скетч стандартный, библиотека ds1307 master, скинуть только в пн смогу, проверьте полярность батареи вставленной в модуль, я сначала ошибся и долго не мог понять почему не работает.
И такая библиотека есть. А батарейка обязательна?! Он, что без батареи в принципе не работает??? Я пробовал и так и так, только другой модуль работает без батареи.
Смысл часов без батареи?
Я так понял, батарея в модуле часов нужна, что бы время не обнулялось (не сбивалось) при откл. ардуино от питания. Модуль должен инициализироваться и работать без батареи. Но я не об этом. Я не могу их заставить идти и сканер И2С показывает только подкл. дисплей 1602, а DS1307 не видит. Я и спрашиваю в чем кроется моя ошибка.
Добрый всем день, кто мне подскажет что я делаю не так.
вот скетч
Никто не ответит. Исправьте.
http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukomment...