» » » Tiny RTC I2C Modules – часы, точный генератор, микросхема памяти

Tiny RTC I2C Modules – часы, точный генератор, микросхема памяти

Купил я на Aliexpress плату Tiny RTC I2C Modules за 30 рублей.


Очень полезным девайсом оказалась плата Tiny RTC I2C Modules. Как только представлю картину с подключением на макетной плате двух микросхем с обвязкой, то становится немного не по себе от количества ненадежных соединений. Плату Tiny RTC I2C Modules очень удобно использовать для работы с микросхемой ds1307Z часов реального времени с последовательным интерфейсом I2C, микросхемой памяти 24С32 с последовательным интерфейсом I2C, возможностью установить датчик температуры ds18b20. Так же можно получить точные прямоугольные импульсы c 7-го вывода микросхемы ds1307Z, на разъёме он отмечен буквами SQ. На схеме платы Tiny RTC I2C Modules трудно увидеть, что седьмой вывод микросхемы ds1307Z соединен с седьмым контактом разъёма Р1.
Схема платы Tiny RTC I2C Modules:

Перед покупкой я поискал информацию в сети интернет. Узнал, что плата изготовлялась для работы литиевым аккумулятором, который трудно купить. Покупатели платы Tiny RTC I2C Modules устанавливали в плату вместо аккумулятора литиевую батарею, и плата работала неправильно. Микросхема потребляет очень мало энергии, поэтому плату вполне можно использовать с литиевой батареей. Для этого надо выпаять с платы Tiny RTC I2C Modules следующие радиодетали: диод D1, резистор R4, а в место R6 запаять перемычку. Я удалил еще и резистор R7, ознакомившись с типовой схемой включения микросхемы ds1307.

Типовая схема включения микросхемы ds1307:

Подробнее о доработке платы Tiny RTC I2C Modules вы можете узнать из видео, записанного и опубликованного в сети товарищем Алексеем Букреевым.
Даташит на микросхему ds1307:
ds1307_rus.pdf [312,14 Kb] (скачиваний: 89)
Посмотреть онлайн файл: ds1307_rus.pdf
ds1307_rus.pdf [312,14 Kb] (скачиваний: 89)
Посмотреть онлайн файл: ds1307_rus.pdf

Я соединил плату Arduino Pro Mini с платой Tiny RTC I2C Modules и плату Arduino Pro Mini с платой USB serial adapter CH340G.



Запускаем код для определения адресов микросхем ds1307 и 24С32. Код опубликован на странице:
http://adatum.ru/skaner-shiny-i2c-dlya-arduino.html
Сам код:
 #include 
String stringOne;
void setup()
{
  Wire.begin();
  Serial.begin(9600);
  while (!Serial);         
}
 
void loop()
{
  byte error, address;
  int nDevices;
  Serial.println("Scanning...");
  nDevices = 0;
  for(address = 1; address < 127; address++ ) 
  {
    Wire.beginTransmission(address);
    error = Wire.endTransmission();
 
if (error == 0)
  {
  String stringOne =  String(address, HEX);
  Serial.print("0x");     Serial.print(stringOne); Serial.print(" - ");
    if(stringOne=="0A") Serial.println("'Motor Driver'");
    if(stringOne=="0F") Serial.println("'Motor Driver'");
    if(stringOne=="1D") Serial.println("'ADXL345 Input 3-Axis Digital Accelerometer'");
    if(stringOne=="1E") Serial.println("'HMC5883 3-Axis Digital Compass'");
    if(stringOne=="5A") Serial.println("'Touch Sensor'");
    if(stringOne=="5B") Serial.println("'Touch Sensor'");
    if(stringOne=="5C") Serial.println("'BH1750FVI digital Light Sensor' OR 'Touch Sensor"  );
    if(stringOne=="5D") Serial.println("'Touch Sensor'");
    if(stringOne=="20") Serial.println("'PCF8574 8-Bit I/O Expander' OR 'LCM1602 LCD Adapter' ");   
    if(stringOne=="21") Serial.println("'PCF8574 8-Bit I/O Expander'");
    if(stringOne=="22") Serial.println("'PCF8574 8-Bit I/O Expander'");
    if(stringOne=="23") Serial.println("'PCF8574 8-Bit I/O Expander' OR 'BH1750FVI digital Light Sensor'");
    if(stringOne=="24") Serial.println("'PCF8574 8-Bit I/O Expander'");
    if(stringOne=="25") Serial.println("'PCF8574 8-Bit I/O Expander'");
    if(stringOne=="26") Serial.println("'PCF8574 8-Bit I/O Expander'");
    if(stringOne=="27") Serial.println("'PCF8574 8-Bit I/O Expander' OR 'LCM1602 LCD Adapter '");   
    if(stringOne=="39") Serial.println("'TSL2561 Ambient Light Sensor'");    
    if(stringOne=="40") Serial.println("'BMP180 barometric pressure sensor'"    ); 
    if(stringOne=="48") Serial.println("'ADS1115 Module 16-Bit'");
    if(stringOne=="49") Serial.println("'ADS1115 Module 16-Bit' OR 'SPI-to-UART'");
    if(stringOne=="4A") Serial.println("'ADS1115 Module 16-Bit'");
    if(stringOne=="4B") Serial.println("'ADS1115 Module 16-Bit'");
    if(stringOne=="50") Serial.println("'AT24C32 EEPROM'"); 
    if(stringOne=="53") Serial.println("'ADXL345 Input 3-Axis Digital Accelerometer'");
    if(stringOne=="68") Serial.println("'DS3231 real-time clock'");
    if(stringOne=="7A") Serial.println("'LCD OLED 128x64'");
    if(stringOne=="76") Serial.println("'BMP280 barometric pressure sensor'");
    if(stringOne=="77") Serial.println("'BMP180 barometric pressure sensor' OR 'BMP280 barometric pressure sensor'");
    if(stringOne=="78") Serial.println("'LCD OLED 128x64'" );
   nDevices++;
  }
    else if (error==4) 
    {
      Serial.print("Unknow error at address 0x");
      if (address<16) 
        Serial.print("0");
      Serial.println(address,HEX);
    }    
  }
  if (nDevices == 0)
    Serial.println("No I2C devices found\n");
  else
    Serial.println("done\n");
 
  delay(5000);          
}


После запуска Arduino IDE, выбора модели платы arduino, установки последовательного порта (com31 у меня), а скопировал выше - расположенный код в окно с заменой текста. Запустил компиляцию, при этом Arduino IDE попросит сохранить папку скетча. Нажимаем на сохранение, и Arduino IDE выполнит компиляцию. Запишем программу в плату arduino и в мониторе последовательного порта увидим следующее:

Итак, мы убедились в правильности подключения плат.
Теперь для работы с микросхемой реального времени (ds1307) надо установить библиотеку «Универсальная библиотека iarduino_RTC.zip»
Файл: Универсальная библиотека iarduino_RTC.zip:
После установки библиотеки и перезагрузки Arduino IDE запускаем пример gettime:

Выполнив компиляцию, записав программу в плату arduino, в мониторе последовательного порта увидим результат работы микросхемы реального времени.

На фото внизу моя плата Arduino Pro Mini:
Tiny RTC I2C Modules – часы, точный генератор, микросхема памяти


Удачных покупок!

Стоимость: ~29
Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.
Чтобы написать комментарий необходимо войти на сайт через соц. сети (или зарегистрироваться):
Обычная регистрация
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Добрый день, Гость!


Зарегистрируйтесь

Или войдите на сайт, если уже зарегистрированы...

Войти

А затем...

Добавьте самоделку

Или...

Добавьте тему

Онлайн чат

Опрос
Сколько по времени, чаще всего, Вы делаете самоделку?

Последние комментарии

Вы нисколько не ошибаетесь. При равных затратах энергии нихром выделит тепла в окружающее пространство больше, чем медь. Потому что энергии на нагрев проводника из меди понадобится больше. Эта...
Нихром в этом случае будет гораздо тоньше, соответственно, хуже будет прочность, особенно учитывая большую хрупкость нихрома. И куда этот ватт денется? Другое дело, что за счёт того, что...
Работа, конечно добротная, но почти два квадрата площади для одной игрушки многовато. А ребёнок, покидав мячики часок, потребует настоящий боулинг! "мастер из старых дорожных знаков вырезает...
Возможно я и ошибаюсь, но, мне кажется, что на Ватт электрической мощности, нихром выделит больше тепла, спирали сейчас продаются любые, распределить равномерно не проблема, хотя, может я и не прав....
А что, это идея, две полосы с пазами между банками и совместить по принципу застёжки "молния"!...
Все комментарии