Китайская Arduino nano v3 виснет при работе с часами DS3231
- Войдите на сайт для отправки комментариев
Ср, 16/05/2018 - 12:40
Друзья, добрый день.
Столкнулся с проблемой, что плата виснет при попытке записать или прочитать время с часов DS3231.
Используется китайская arudino nano v3 ch340 и часы типа таких http://www.instructables.com/id/Real-time-clock-using-DS3231-EASY/
И следующий скетч
#include <DS3231.h> #include <Wire.h> DS3231 Clock; void setup() { // Start the serial port Serial.begin(9600); // Start the I2C interface Wire.begin(); Serial.print("start"); Serial.print(Clock.getYear(), DEC); Serial.print("end"); } void loop() {}
Соответственно в порт выводится только start, а дальше ничего.
Часы подключены к пинам A4 и A5. При этом если предачу данных не вести, вольтметр показывает примерно 4.5В на обоих пинах, а если начать передачу данных, напряжение падает до 2.5В. Это нормально?
Помогите решить проблему.
Попробую еще раз поискать на дне сознания новичка искру разума... ;)
1. Верю, что ты понимаешь, что такие Нанки и такие часы у тысяч человек, и что все они работают, понимаешь?
2. Раз у тебя не работает, то возможны три причины:
а) не работает Нанка,
б) не работают часы,
в) неправильно собрана схема.
А. проверяем нанку:
Загружаем простые примеры, на мигание, на сериал порт, на аналоговый ввод, чтобы проверить ноги А4 и А5.
Если спросишь "где взять примеры?" - дальше разговор не пойдет, ...ну кроме глума и издевательств. ;)
Примеры - в типовых примерах.
---
При отсутствии чего-то с И2С, например экрана, проверить работу И2С на кристалле не выйдет, но вероятность отказа, при остальном рабочем, низка до неотличимости от ноля.
Б и В. Итак, считаем, что нанку проверили.
Проверяем часы и подключение: A4-SDA, A5-SCL, GND-GND, +5-Vcc. Подключаем только их.
Всего 4 провода. Все прозванивам тестером от контакта до контакта.
Загружаем пример из какой-либо библиотеки часов, желательно такой пример, который установит время по времени компиляции и запустит часы. Этих библиотек море, например RTC by Makuna. Она тяжеловена, но для проверки сойдет.
=====================
Если ни один пример из библиотеки часов не запускается, то можно сделать вывод о неработоспособности модуля. Ну либо о совершенно неудачном дне и кривых руках, но тут уже совет форума не поможет.
Друзья, добрый день.
Столкнулся с проблемой, что плата виснет при попытке записать или прочитать время с часов DS3231.
Используется китайская arudino nano v3 ch340 и часы типа таких http://www.instructables.com/id/Real-time-clock-using-DS3231-EASY/
Соответственно в порт выводится только start, а дальше ничего.
Часы подключены к пинам A4 и A5. При этом если предачу данных не вести, вольтметр показывает примерно 4.5В на обоих пинах, а если начать передачу данных, напряжение падает до 2.5В. Это нормально?
Помогите решить проблему.
Часы подсключены это хорошо, но есть одно но, вернее несколько:
1. Схему подключения в студию, потому как "умельцы" умудряются подключать SDA к SCL и SCL к SDA. Ну и питание откуда подаете на модуль часов и как.
2. Вольтметром вы ничено на пинах не увидите, нужен осцилограф или лучше логический анализатор
3. Как писали выше проверьте саму NANO но судя по тому что в сериал у вас вывод идет она работает, опять же не факт что работает I2C
4. Опять же как написали выше прозвоните все цепи подключения, причем рекомендую от ноги Atmega до ноги ds3231 прозванивать, всякое бывает и непропай и дорожка плохая.
5. Схему проверили? все звонится? все правильно? заливаем сканер I2C - https://playground.arduino.cc/Main/I2cScanner и смотроим что он пишет в сериал, у вас должно быть 2 адреса, часы и память.
6. Если видим 2 адреса I2C устройств, но ваш скетч все равно не работает, тут надо с библиотекой разбираться, для этого нужна ссылка на библиотеку, может ее нинциализировать надо какой нить Clock.begin() или типа того.
Спасибо за советы, но всё оказалось до празоичности просто. Т.к. дорожки SDA и SCL проходили очень близко, при травлении платы в одном месте не протравилось место размером с одну точку из-за чего линии не были разеделены. Пару тычков пинцетом и всё разработало