DS3231: taimi moni uati ma kalena mo lau Arduino

DS3231

I nisi poloketi e manaʻomia le i ai o faʻamaoniga o le taimi, itula, poʻo le aso. A le mafuaʻaga ona o le manaʻomia e faʻatino ni galuega e faʻavae i luga o le taimi, e faʻatumauina ai le kalena o mea na tutupu poʻo le lesitalaina, e teu ai le taimi i se faiga, pe na o le fausiaina o se uati numera ma Arduino. Faatasi ai ma le DS3231 oe mafai ona mauaina, le isi o le vaega matou te faʻaopopoina i le lisi.

O le DS3231 o le module o loʻo e sailia, ma o iinei o le a e mauaina ai mea uma e te manaʻomia mo lona faʻatonutonuina ma o le a ou faʻaali atu foʻi ia te oe se faʻataʻitaʻiga pe faʻafefea tuʻufaʻatasia ma le Arduino ma se faʻataʻitaʻiga aoga ...

O le a le DS3231?

DS3231

Muamua lava, e tatau ona e iloa le a RTC (Uati Moni Moni), poʻo le uati moni. O nei chips e masani ona masani ai i le tele o talosaga, o le mea moni, o lau PC o loʻo i ai se tasi o ia mea i luga o lau motherboard, ma e faʻamalosia foi e Maa CR2032 faʻapea foi. O le tasi e faʻamautuina le taimi ma le faʻatulagaina i le BIOS / UEFI ma e maua mai ai le system operating i le taimi e amata ai le booting i le taimi saʻo (e ui o le taimi nei, ma le Initaneti, e mafai ona faʻaaogaina le faʻavasegaina ma le auʻaunaga mo le sili atu ona saʻo, ae o lenei o le isi tala…).

O le mea e faia e le RTC o le mauaina o taimi fua, e faigofie. O le eseʻesega mai isi ituaiga uati eletise e faigofie lava fua le taimi, ma e faia e ala i le faitauina o uati faʻailo uʻamea, iloa le taimi ma taimi o ia. I se faʻaopopoga i le taimi, o se RTC faʻatagaina foʻi oe e teu se tala o aso, vaiaso, masina ma tausaga. Lona uiga, o le aso atoa ...

Ina ia mafai lea, e tatau ona o faʻatasi le RTC ma Xtal poʻo le quartz tioata lea o le a avea o se resonator, o le tasi e maua ai le taimi. I se faʻaopopoga, oe manaʻomia eletise matagaluega mafai ona faitau ma teu le aso i se manatua. O le matagaluega e tatau ona mafai ona faitauina sekone, minute, itula, aso, vaiaso, masina ma tausaga.

Esa e mafuli le mafaufauO le mafuaaga lena e manaʻomia ai le maa, ia i ai le mana faifai pea. A leai sau maa pe ua pau, o le a tineia ... O le mea lena e tupu i PC pe a uma le maa, latou tuʻuina mai se le saʻo taimi. Afai e te configure ai a o i ai le PC, o le a tausia le taimi, talu ai o le RTC o lo o faʻaaogaina le afi, ae o le taimi o gaioiga i le taimi e pe ai pe a manaʻomia lena maa ...

Mo poloketi a le DIY, e masani ona faʻaaoga e tagata e faia le RTC chips e lua masani, o mea ia DS1307 ma le DS3231. O mea uma ia e lua na gaosia e Maxim (muamua Dallas Semiconductor), ma o le DS3231 e sili atu le saʻo o le lua, aua e le o aʻafia i suiga o le vevela e pei ona faia muamua. O le mea lea, e le fesuisuiai tele faʻalagolago i le vevela, ma e tausia le taimi sili atu saʻo.

O isi taimi, faʻatasi ai ma le maitauina o eseʻesega o le vevela, o le DS1307 e ono faʻasolosolo pei o le 1 poʻo le 2 min i le aso. Se mea le mafai gafatia mo nisi talosaga.

O le DS3231 e le o se mea e le afaina i fesuiaiga, ae o loʻo fausia-i totonu le fuaina o le vevela ma le taui o faiga e faʻamautinoa ai le saʻo o le 2ppm, lea e tutusa ma le taimi tuai tusa o le 172ms i le aso, o lona uiga, sili atu nai lo le 1 sekone i le vaiaso sili atu. Ma ile faʻataʻitaʻiga, e masani ona fesuiaʻi naʻo le 1 pe 2 sekone ile masina.

A o le auala fesoʻotaʻi ma le RTC DS3131 e maua ai le aso faʻatauaina ia maua, na faia e Pasi I2C. Ma mo le paoa, e mafai ona e faʻaaogaina le 2.3 i le 5.5v mo le DS3231, e fai si maualalo ifo nai lo le 4.5 i le 5.5v mo le DS1307, o lea e mafai ai ona sili atu le malosi o le malosi ma faʻamaumau ai le maa.

Ma le isi, e tatau ona e iloa o nei modules masani ona i ai a Eeprom faʻaopoopo AT24C32 e teu ai nisi faʻamaumauga ma muamua fuataga, lea e matua aoga.

Talosaga

Ae mo talosaga, ua uma ona ou taʻua nisi, pei o le faʻatinoina o le uati ma Arduino, e fausia ai se faiga e galue faʻavae i luga o Le taimi Poʻo le a lava, ia tuʻu le taimi i mea faigaluega e pei o PC ma le tele o isi masini eletise ma masini e iai le taimi, ma isi.

Mafai foi ona faʻaaogaina i galuega faatino e fausiaina taimi mo moli, faʻasusuina faiga, datalogger, ma isi O tusi talosaga e mafai ona sili ona tele ...

Faʻatau se RTC DS3231

Le module DS3131 e taugofie, ma e mafai ona e mauaina i ni faleoloa eletise faʻapitoa poʻo ni faleoloa tetele e pei o eBay, AliExpress, Amazon, ma isi. Afai e te fiafia i le i ai o se tasi, o nisi nei o fautuaga:

DS3231 Arduino Tuʻufaʻatasia

Puʻe ata o le Arduino IDE

Afai e te manaʻo ai tuʻufaʻatasia lau DS3231 ma lau laupapa Arduino ma amata fausiaina "taimi" poloketi, oe tatau muamua faia le talafeagai fesoʻotaʻiga. Ina ia mafai ona faʻafesoʻotaʻi, e faigofie pei o:

  • O le SLC pine o le DS3231 laupapa e tatau ona faʻafesoʻotaʻi i le A5 o lau Arduino UNO.
  • SDA o le DS3231 e fesoʻotaʻi i le A4 o Arduino.
  • Vcc mai le module o le a alu i le 5V mai Arduino.
  • GND i le GND
Manatua e faʻapipiʻi le faletusi e faʻaoga ai le RTC DS3231 i lau Arduino IDE pe le galue le code ...

Lenei ua ia te oe le fesoʻotaʻiga polokalama, o le isi mea o le tusi le tusi ata puna code e faapolokalameina ai. Oe mafai ona fesuiaʻi ia tulafono laiti ma fetuʻunaʻi ia i ou manaʻoga, ae mafai ona e amata i le na o le mauaina o le aso mai le RTC DS3231 fesoʻotaʻi i Arduino:

#include <Wire.h>
#include "RTClib.h"
 
// RTC_DS1307 rtc;
RTC_DS3231 rtc;
 
String daysOfTheWeek[7] = { "Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado" };
String monthsNames[12] = { "Enero", "Febrero", "Marzo", "Abril", "Mayo",  "Junio", "Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre" };
 
void setup() {
   Serial.begin(9600);
   delay(1000); 
 
   if (!rtc.begin()) {
      Serial.println(F("No se encuentra el RTC"));
      while (1);
   }
 
   // Si se ha perdido el suministro eléctrico, fijar fecha y hora
   if (rtc.lostPower()) {
      // Fijar a fecha y hora (poner la de compilación del sketch)
      rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
      
      // Fijar a fecha y hora específica. En este ejemplo el 2021-01-01 a las 00:00:00
      // rtc.adjust(DateTime(2020, 1, 1, 0, 0, 0));
   }
}
//Imprimir completa obtenida la fecha en decimal
void printDate(DateTime date)
{
   Serial.print(date.year(), DEC);
   Serial.print('/');
   Serial.print(date.month(), DEC);
   Serial.print('/');
   Serial.print(date.day(), DEC);
   Serial.print(" (");
   Serial.print(daysOfTheWeek[date.dayOfTheWeek()]);
   Serial.print(") ");
   Serial.print(date.hour(), DEC);
   Serial.print(':');
   Serial.print(date.minute(), DEC);
   Serial.print(':');
   Serial.print(date.second(), DEC);
   Serial.println();
}
 
void loop() {
   // Obtener fecha actual y mostrar por Serial
   DateTime now = rtc.now();
   printDate(now);
 
   delay(3000);    //Espera 3 segundos
}

Ma ina ia mafai ona faʻaaogaina le RTC aso e faʻatulaga ni galuega, pei o le kiina o moli pe pe, mo le faʻasusu otometi, pe mo se faʻailo e leo, ma isi. Manatua o le taulimaina maualuga voltage masini e mafai ona e faʻaaogaina transistors pe moligafua:

#include <Wire.h>
#include "RTClib.h"
 
const int outputPin = LED_BUILTIN;
bool state = false;
 
// RTC_DS1307 rtc;
RTC_DS3231 rtc;
 
void setup() {
   Serial.begin(9600);
   delay(1000);
 
   if (!rtc.begin()) {
      Serial.println(F("Couldn't find RTC"));
      while (1);
   }
 
   if (rtc.lostPower()) {
      rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
   }
}
 
// Se comprueba si está programado el encendido
bool isScheduledON(DateTime date)
{
   int weekDay = date.dayOfTheWeek();
   float hours = date.hour() + date.minute() / 60.0;
 
   // Configuración de horas de 08:30 a 9:30 y de 22:00 a 23:00 (usando decimal)
   bool hourCondition = (hours > 8.50 && hours < 9.50) || (hours > 22.00 && hours < 23.00);
 
   // Configuración del día Lunes, Sábado y Domingo con números (recuerda que en inglés comienza la semana en Domingo=0, Lunes=1,...
   bool dayCondition = (weekDay == 1 || weekDay == 6 || weekDay == 0); 
   if (hourCondition && dayCondition)
   {
      return true;
   }
   return false;
}
 
void loop() {
   DateTime now = rtc.now();
 
   if (state == false && isScheduledON(now))      // Apagado
   {
      digitalWrite(outputPin, HIGH);
      state = true;
      Serial.print("Activado");
   }
   else if (state == true && !isScheduledON(now))  // Encendido
   {
      digitalWrite(outputPin, LOW);
      state = false;
      Serial.print("Desactivado");
   }
 
   delay(3000);
}


O mataupu o le tusitusiga e tausisi ia tatou mataupu silisili o amio lelei faʻatonu. E lipotia se mea sese kiliki iinei.

Ia avea muamua ma faamatalaga

Tuʻu lau faamatalaga

o le a le lomia lou tuatusi imeli. O nofoaga e manaʻomia e makaina *

*

*

  1. E tali atu mo faʻamatalaga: Miguel Ángel Gatón
  2. Faamoemoega o faʻamatalaga: Pulea le SPAM, faʻamatalaga pulega.
  3. Tulaga faʻatulafonoina: Lau maliega
  4. Fesoʻotaʻiga o faʻamatalaga: O faʻamatalaga o le a le fesoʻotaʻi atu i isi vaega vagana i tulafono faʻatulafonoina.
  5. Teuina o faʻamatalaga: Faʻamaumauga tuʻufaʻatasia e Occentus Networks (EU)
  6. Aia Tatau: I soo se taimi e mafai ai ona e faʻatapulaʻaina, toe maua ma aveʻese au faʻamatalaga.