Не работает I2С сканер, и модуль ds1307//
- Войдите на сайт для отправки комментариев
Вс, 10/06/2018 - 09:05
Началось все с того, что подключив модуль и залив скетч с установкой времени,
#include <iarduino_RTC.h> // iarduino_RTC time(RTC_DS1302, 1, 2, 3); // подключаем RTC модуль на базе чипа DS1302, указывая выводы Arduino подключённые к выводам модуля RST, CLK, DAT // iarduino_RTC time(RTC_DS1307); // подключаем RTC модуль на базе чипа DS1307, используется аппаратная шина I2C // iarduino_RTC time(RTC_DS3231); // подключаем RTC модуль на базе чипа DS3231, используется аппаратная шина I2C void setup() { delay(300); Serial.begin(9600); time.begin(); time.settime(0,51,21,27,10,15,2); // 0 сек, 51 мин, 21 час, 27, октября, 2015 года, вторник } void loop(){ if(millis()%1000==0){ // если прошла 1 секунда Serial.println(time.gettime("d-m-Y, H:i:s, D")); // выводим время delay(1); // приостанавливаем на 1 мс, чтоб не выводить время несколько раз за 1мс } }
все залилось нормально, потом я залил скетч для просмотра времени в мониторе порта,
// iarduino_RTC time(RTC_DS1302, 1, 2, 3); // подключаем RTC модуль на базе чипа DS1302, указывая выводы Arduino подключённые к выводам модуля RST, CLK, DAT
// iarduino_RTC time(RTC_DS1307); // подключаем RTC модуль на базе чипа DS1307, используется аппаратная шина I2C
iarduino_RTC time(RTC_DS3231); // подключаем RTC модуль на базе чипа DS3231, используется аппаратная шина I2C
delay(300);
Serial.begin(9600);
time.begin();
}
void loop(){
if(millis()%1000==0){ // если прошла 1 секунда
Serial.println(time.gettime("d-m-Y, H:i:s, D")); // выводим время
delay(1); // приостанавливаем на 1 мс, чтоб не выводить время несколько раз за 1мс
}
Время стояло и выводило все по нулям. Я перепробывал множетсво скетчей, все они заливались, но время остется неизменным. I2C сканер так же не выдает результатов, хотя скетчи с дисплеем на ssd1306 все работают и отлично. Помогите разобратся в чем может быть дело?
Так же скетч для просмотра времени работает и без модуля RTC.
При сканировании i2c устроств пишет
I2C Scanner
Scanning...
И больше ничего, ждал очень долго.
С подключением не может быть никаких проблем, если кто сталкивался помогите пожалуйста. Уже не знаю что делать, убил два дня в поисках, решил проблему только с изменившимися командами и названиями библиотек, т.к. очень большая часть материала и скетчей 2012-13 гг и библиотеки поменялись.
I2C сканер не может не работать. Модули обычно идут с мелкосхемой памяти на борту, должно родить два адреса 0х68 и 0хХЗ. Проверяйте питание, подключение, дорожки на модуле. Если светодиод на модуле горит, для начала предложил бы поменять местами SDA-SCL.
Попробовал, но ничего не изменилось, сначала так же и дисплеи не определял, затем начал показывать фигню всякую при перетыкании, затем стал выдавать стабильно адрес у одного и второго дисплея, а ds1307 так и не видит. Ну хоть теперь дисплееи видит. При совместном подключении и RTC модуля и дислпея так же ничего не видит, может быть так что модуль косяченый? Хотя отзывы на али хорошие, и пишут что все работает, диод выпаял с резистором, R6 замкнут, кварц заменил из радиоприемника на rda5807 тоже 32кГц, заказывал сразу 2 модуля, второй точно так же не работает.
https://ibb.co/kMtRco сначала выдавал такой бред, затем стал стабильно определять дисплей как 0x3C
Дорожки прозвоните на модуле, подтяжку проверьте. В левые DS-ки не верится, копейку стоят, тем более, что и память не определяется.
https://ibb.co/kMtRco сначала выдавал такой бред, затем стал стабильно определять дисплей как 0x3C
Очень на плохой контакт смахивает. Как подключено все?
https://ibb.co/iy2rA8 Подключал к нижней гребенке а не к верхней, во всех видео подлкючают к верхней и не говорят что только к ней, так же это вторая тема, и в первой были фотографии с подключением, и не кто так и не подсказал, что не туда подключился, перед подключением даже и не подумал что будет разница, они между друг другом прозваниваются, столько времени убил на поиски непонятно чего. Большое спасибо за помощь, хоть какуюто, даже моральная тоже помощь : )! А для чего тогда гребенка p2 нужна?
Может один пинхидер плохо пропаян. Пока в руках жамкаете с мультиметром - звонится, потом контакт шумит. I2C, теоретически, насквозь должна проходить.
В том то и дело, после первой неудачи я стал прозванивать контакты на втором модуле, т.е. прозванивал отверстия, все звонилось, поэтому вариант что не к тем конекторам подпаялся отпал, а сейчас ради интереса воткнул нераспаяные штырьки в отверстия P1 на втором модуле и часы пошли, из загруженого скетча, перепаял основной модуль на P1 и все заработало, и определяется стабильно как (0х58 и 0х60) и время устанавливается. Разъем P2 не на одном из двух модулей вообще не работает и не определяется.
Схему надо посмотреть. Но шина I2C параллельная, так что не знаю, где может быть подводный камень. Обычно в резисторах бывает... когда несколько модулей параллелишь.
Скорее какой-то брачок производственный. Должны быть равнозначными для выведенных линий.
Модули хорошие. Прокладку поменять нужно.
100%
ТС, видно, или паять не умеет, или в схемах не шарит. То, что у него и дисплеи, и модули работают лишь с 15 раза - говорит само за себя. Гадать, что он там накосячил - можно долго.