ARDUINO DUE + DS3231

Использование различных блоков часов
Ответить
igrik1972
Рядовой
Сообщения: 75
Зарегистрирован: 08.02.2017{, 00:29}
Репутация: 1

ARDUINO DUE + DS3231

#1

Сообщение igrik1972 » 21.08.2017{, 00:11}

купил на днях Ардуино ДУЕ и я в шоке , когда начял по новому ложить платы на ДУЕ заметил что увы, но часы поставить, а также откоректировать я не могу, нет в ФЛПРОГ данные для ДУЕ по часам....... кто то поможет ......


igrik1972
Рядовой
Сообщения: 75
Зарегистрирован: 08.02.2017{, 00:29}
Репутация: 1

ARDUINO DUE + DS3231

#3

Сообщение igrik1972 » 22.08.2017{, 01:55}

а блока под ДУЕ ни у кого нет случайно .......... у меня есть то что принимает ДУЕ но нужен блок

Добавлено (21.08.2017, 22:14)
---------------------------------------------
надо сотворить чудо под ДУЕ

/*
DS3231_test.pde
Eric Ayars
4/11

Test/demo of read routines for a DS3231 RTC.

Turn on the serial monitor after loading this to check if things are
working as they should.

*/

#include <DS3231.h>
#include <Wire.h>

DS3231 Clock;
bool Century=false;
bool h12;
bool PM;
byte ADay, AHour, AMinute, ASecond, ABits;
bool ADy, A12h, Apm;

void setup() {
// Start the I2C interface
Wire.begin();
// Start the serial interface
Serial.begin(9600);
}

void loop() {
// send what's going on to the serial monitor.
// Start with the year
Serial.print("2");
if (Century) { // Won't need this for 89 years.
Serial.print("1");
} else {
Serial.print("0");
}
Serial.print(Clock.getYear(), DEC);
Serial.print(' ');
// then the month
Serial.print(Clock.getMonth(Century), DEC);
Serial.print(' ');
// then the date
Serial.print(Clock.getDate(), DEC);
Serial.print(' ');
// and the day of the week
Serial.print(Clock.getDoW(), DEC);
Serial.print(' ');
// Finally the hour, minute, and second
Serial.print(Clock.getHour(h12, PM), DEC);
Serial.print(' ');
Serial.print(Clock.getMinute(), DEC);
Serial.print(' ');
Serial.print(Clock.getSecond(), DEC);

// Display the temperature
Serial.print("T=");
Serial.print(Clock.getTemperature(), 2);
// Tell whether the time is (likely to be) valid
if (Clock.oscillatorCheck()) {
Serial.print(" O+");
} else {
Serial.print(" O-");
}
// Indicate whether an alarm went off
if (Clock.checkIfAlarm(1)) {
Serial.print(" A1!");
}
if (Clock.checkIfAlarm(2)) {
Serial.print(" A2!");
}
// New line on display
Serial.print('\n');
// Display Alarm 1 information
Serial.print("Alarm 1: ");
Clock.getA1Time(ADay, AHour, AMinute, ASecond, ABits, ADy, A12h, Apm);
Serial.print(ADay, DEC);
if (ADy) {
Serial.print(" DoW");
} else {
Serial.print(" Date");
}
Serial.print(' ');
Serial.print(AHour, DEC);
Serial.print(' ');
Serial.print(AMinute, DEC);
Serial.print(' ');
Serial.print(ASecond, DEC);
Serial.print(' ');

if (Clock.checkAlarmEnabled(1)) {
Serial.print("enabled");
}
Serial.print('\n');
// Display Alarm 2 information
Serial.print("Alarm 2: ");
Clock.getA2Time(ADay, AHour, AMinute, ABits, ADy, A12h, Apm);
Serial.print(ADay, DEC);
if (ADy) {
Serial.print(" DoW");
} else {
Serial.print(" Date");
}
Serial.print(' ');
Serial.print(AHour, DEC);
Serial.print(' ');
Serial.print(AMinute, DEC);
Serial.print(' ');

if (Clock.checkAlarmEnabled(2)) {
Serial.print("enabled");
}
Serial.print(ABits, BIN);

Serial.print('\n');
Serial.print('\n');
delay(1000);
}

Добавлено (22.08.2017, 01:55)
---------------------------------------------
все таки крутые полковники, майоры, а мозги где....... я все таки исправил блок DS3231 под ардуино на ардуино дуе и все отлично пошло без проблем .......
БЫЛО _
Wire.requestFrom(0x68, 7); // request seven bytes
                           while (Wire.available())                 {
seconds  = bcdToDec( Wire.read()  & B01111111 ); 
minutes   = bcdToDec( Wire.read() & B01111111 ); 
hours      = bcdToDec( Wire.read() & B00111111 );  
day        = bcdToDec( Wire.read() & B00000111 );
date       = bcdToDec( Wire.read() & B00111111 );
month     = bcdToDec(Wire.read() & B00011111 );
year       = (2000 + bcdToDec( Wire.read() )  );    }   
СТАЛО_
Wire.requestFrom(0x68, 7); // request seven bytes
while (Wire.available())                 {
seconds  = bcdToDec( Wire.read() );
minutes   = bcdToDec( Wire.read() );
hours      = bcdToDec( Wire.read() );
day        = bcdToDec( Wire.read() );
date       = bcdToDec( Wire.read() );
month     = bcdToDec(Wire.read() );
year       = (2000 + bcdToDec( Wire.read() )  );    }

а также исправил выход блока с byte  на intejer и все отлично работает .... ах да добавил еще DS3231.h перед Wire.h

спасибо за такую быструю помощь ...... может хоть исправите ошибку с MCP23017, бо также не едет на ардуино 2560 ......
Последний раз редактировалось igrik1972 22.08.2017{, 01:57}, всего редактировалось 1 раз.

Аватара пользователя
Sancho
Полковник
Сообщения: 3991
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 567
Откуда: Ярославль.
Имя: Александр
Контактная информация:

ARDUINO DUE + DS3231

#4

Сообщение Sancho » 22.08.2017{, 08:40}

igrik1972 писал(а):все таки крутые полковники, майоры, а мозги где......
igrik1972 писал(а):спасибо за такую быструю помощь ......
От души сказано, с любовью.
Правда, не совсем понятно, где в тексте упоминается о ...+ NEXTION + ....? В названии темы есть.
igrik1972 писал(а):я все таки исправил блок DS3231 под ардуино на ардуино дуе и все отлично пошло без проблем .......
Молодец! Хорошо проводить эксперименты при наличии железа.
Если не получится на контроллере - сделаю на тразисторах и 155/176...Научился, немного.
Поможем проекту вместе!

igrik1972
Рядовой
Сообщения: 75
Зарегистрирован: 08.02.2017{, 00:29}
Репутация: 1

ARDUINO DUE + DS3231

#5

Сообщение igrik1972 » 31.08.2017{, 00:58}

а зачем умничать если не имееш чем проверить , у меня все есть и по 10 шт... всего, я ведь начал изучать не за ради забавы, а сделать умный дом... и начал пока с отоплением ..... где нужны нормальные часы, так как не хватает памяти на 2560 то пришлось все данные работы с НЕХТИОН 
переходить на ДУЕ........ вот и столкнулься с проблемою .....

Аватара пользователя
Sancho
Полковник
Сообщения: 3991
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 567
Откуда: Ярославль.
Имя: Александр
Контактная информация:

ARDUINO DUE + DS3231

#6

Сообщение Sancho » 31.08.2017{, 08:55}

igrik1972 писал(а):и начал пока с отоплением ..... где нужны нормальные часы, так как не хватает памяти на 2560
Я не пытаюсь умничать. Почитайте Ваш пост 3, вторую часть, начало.
Просто покупка какой либо железяки, даже в единичном экземпляре, должна иметь мотивацию.
Скажитье, в каком месте Вам не хватило памяти контролера, и какой?
Если Вы собираете умный дом, то как планируете организовывать узлы, протокол связи, будет ли центральный сервер, если да - на чём и какой софт?
Если не получится на контроллере - сделаю на тразисторах и 155/176...Научился, немного.
Поможем проекту вместе!

Ответить

Вернуться в «Часы реального времени»