DS1302 Modulo orologio e calendario con memoria e Batteria RTC Real Time Clock Arduino compatibile

DS1302 Modulo orologio e calendario con memoria e Batteria RTC Real Time Clock Arduino compatibile

View More

2,25

(9 customer reviews)

Disponibile (ordinabile)

QuantitàPrezzo Unitario
12 - 49 2,13
50 - 99 2,09
100 + 2,02

Product Description

Modulo DS1302 RTC (Real Time Clock) con Memoria, Batteria e Calendario – Descrizione Completa e Guida per l’Uso con Arduino


🕒 Descrizione del Modulo DS1302 RTC

Il DS1302 è un modulo orologio in tempo reale (RTC) che consente di tenere traccia precisa dell’orario e del calendario anche in assenza di alimentazione, grazie a una batteria tampone (di solito tipo CR2032). È molto usato in progetti con Arduino, ESP8266, ESP32, Raspberry Pi e altri microcontrollori.


Caratteristiche Tecniche

SpecificaDettaglio
Chip RTCDS1302
Alimentazione3.3V – 5.5V (compatibile con Arduino)
ComunicazioneSerializzata a 3 fili (SCLK, I/O, CE)
Batteria tamponeSupporto CR2032 (non sempre inclusa)
Memoria RAM31 byte di RAM statica per uso generale
Precisione±1 minuto/mese tipica (senza calibrazione)
Intervallo di date01/01/1900 – 31/12/2099
FunzioniOrologio, calendario, RAM, backup batteria

🔌 Collegamento DS1302 con Arduino

Pin DS1302Collegamento ad Arduino
VCC5V (oppure 3.3V)
GNDGND
CLK (SCLK)D6
I/OD7
CE (RST)D8

📦 Libreria consigliata per Arduino

Per usare il modulo DS1302 con Arduino, puoi installare la libreria “DS1302RTC” scritta da Paul Stoffregen, che semplifica la lettura/scrittura dell’orologio.

🔧 Installazione della Libreria

  1. Apri l’IDE di Arduino
  2. Vai su Sketch > Include Library > Manage Libraries
  3. Cerca DS1302RTC e installa la libreria di Paul Stoffregen

🧪 Esempio di Codice per Impostare e Leggere Data/Ora

#include <DS1302RTC.h>
#include <TimeLib.h>
#include <Wire.h>
#include <Streaming.h>

// Pin collegati al modulo DS1302: CE, I/O, CLK
DS1302RTC rtc(8, 7, 6);

void setup() {
  Serial.begin(9600);

  // Imposta l’orario solo la prima volta
  // Imposta: Anno, Mese, Giorno, Ora, Minuti, Secondi
  tmElements_t tm;
  tm.Year = CalendarYrToTm(2025); // Anno - 1970
  tm.Month = 7;
  tm.Day = 28;
  tm.Hour = 15;
  tm.Minute = 45;
  tm.Second = 0;
  rtc.write(tm);

  Serial.println("Ora impostata!");
}

void loop() {
  tmElements_t tm;
  if (rtc.read(tm)) {
    Serial << "Data: " << tm.Day << "/" << tm.Month << "/" << tmYearToCalendar(tm.Year);
    Serial << " - Ora: " << tm.Hour << ":" << tm.Minute << ":" << tm.Second << endl;
  } else {
    Serial.println("Errore lettura RTC");
  }
  delay(1000);
}

📘 Funzioni Utili della Libreria

FunzioneDescrizione
rtc.read(tm)Legge la data e ora dal modulo
rtc.write(tm)Imposta la data e ora
tm.Year, tm.MonthAccesso ai singoli elementi della data e ora
tmHour, tmMinuteAccesso diretto a ora/minuti
CalendarYrToTm(anno)Conversione da anno calendario ad anno base 1970
tmYearToCalendar(tm)Conversione inversa (utile per stampa)

⚠️ Consigli pratici

  • Non impostare l’orario a ogni avvio: il codice per impostare l’ora va eseguito solo una volta. Dopo, commentalo.
  • Controlla la batteria: se l’orario si azzera, la batteria CR2032 è scarica o assente.
  • Non invertire i pin: collegamenti errati causano letture errate o mancate comunicazioni.
  • La precisione del DS1302 è buona per uso generale, ma per applicazioni critiche è meglio usare il DS3231 (che ha un oscillatore compensato in temperatura).

🎯 Applicazioni Tipiche

  • Orologi digitali con display (LCD, OLED, 7 segmenti)
  • Log dati con timestamp (ad esempio su schede SD)
  • Sveglie e temporizzatori automatici
  • Progetti domotici con eventi programmati
  • Timer per impianti di irrigazione

🔄 Alternative

Modulo RTCPrecisioneBatteriaComunicazioneNote
DS1302MediaCR20323 fili (Seriale)Economico, base
DS1307BuonaCR2032I2CPiù diffuso
DS3231AltaInclusaI2CAlta precisione, compensato temperatura

📌 Conclusione

Il modulo DS1302 RTC è un’ottima scelta per progetti Arduino in cui è necessario tenere traccia del tempo anche quando il microcontrollore è spento. È economico, facile da usare e ben documentato, anche se oggi viene spesso sostituito dal più preciso DS3231.

Perfetto! Ti fornisco due estensioni pratiche per il modulo DS1302 RTC con Arduino:


🔹 1. Visualizzare Data/Ora su Display OLED I2C (128×64)

🧰 Componenti necessari:

  • Arduino UNO / Nano
  • Modulo RTC DS1302
  • Display OLED 128×64 (driver SSD1306, interfaccia I2C)
  • Cavi jumper

🔧 Schema dei Collegamenti

ComponentePinArduino
DS1302VCC, GND5V, GND
CLKD6
I/OD7
CE (RST)D8
OLEDVCC, GND5V, GND
SDAA4
SCLA5

📦 Librerie da installare:

  • DS1302RTC – Paul Stoffregen
  • Adafruit GFX Library
  • Adafruit SSD1306

Apri l’IDE di Arduino → Library Manager → Cerca e installa tutte e tre.


💡 Codice esempio con OLED:

#include <DS1302RTC.h>
#include <TimeLib.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
DS1302RTC rtc(8, 7, 6); // CE, IO, SCLK

void setup() {
  Serial.begin(9600);
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
  display.clearDisplay();
  display.setTextSize(2);
  display.setTextColor(WHITE);
}

void loop() {
  tmElements_t tm;
  if (rtc.read(tm)) {
    display.clearDisplay();
    display.setCursor(0, 0);
    
    display.printf("%02d:%02d:%02d\n", tm.Hour, tm.Minute, tm.Second);
    display.setTextSize(1);
    display.setCursor(0, 40);
    display.printf("%02d/%02d/%04d", tm.Day, tm.Month, tmYearToCalendar(tm.Year));
    display.display();
  } else {
    display.clearDisplay();
    display.setCursor(0, 0);
    display.println("RTC ERROR");
    display.display();
  }
  delay(1000);
}

🔹 2. Logger su SD Card con Timestamp da DS1302

🧰 Componenti:

  • Arduino UNO / Nano
  • RTC DS1302
  • Lettore SD card (con adattatore logico se serve)
  • MicroSD formattata FAT32

🔧 Collegamento SD Card

Lettore SDArduino
CSD10
MOSID11
MISOD12
SCKD13
VCC, GND5V, GND

📦 Librerie da usare:

  • SD
  • DS1302RTC
  • TimeLib

💡 Codice esempio per Data Logging:

#include <SPI.h>
#include <SD.h>
#include <DS1302RTC.h>
#include <TimeLib.h>

const int chipSelect = 10;
DS1302RTC rtc(8, 7, 6); // CE, IO, SCLK

void setup() {
  Serial.begin(9600);
  SD.begin(chipSelect);
  if (!SD.begin(chipSelect)) {
    Serial.println("SD init failed!");
    return;
  }
  Serial.println("SD OK");
}

void loop() {
  tmElements_t tm;
  if (rtc.read(tm)) {
    File logFile = SD.open("log.txt", FILE_WRITE);
    if (logFile) {
      logFile.print(tmYearToCalendar(tm.Year));
      logFile.print("/");
      logFile.print(tm.Month);
      logFile.print("/");
      logFile.print(tm.Day);
      logFile.print(" ");
      logFile.print(tm.Hour);
      logFile.print(":");
      logFile.print(tm.Minute);
      logFile.print(":");
      logFile.println(tm.Second);
      logFile.close();
      Serial.println("Dati scritti su SD.");
    } else {
      Serial.println("Errore apertura log.txt");
    }
  }
  delay(5000); // Log ogni 5 secondi
}

✅ Suggerimenti aggiuntivi:

  • Puoi combinare OLED + SD + DS1302 nello stesso progetto se non ci sono conflitti di pin.
  • Puoi loggare anche dati da sensori (es. temperatura, umidità) aggiungendoli alla stringa logFile.print().
  • Ricorda di formattare la SD in FAT32 e usare file .txt semplici.
Facebooktwitterredditpinterestlinkedinmail

    Item Reviewed: DS1302 Modulo orologio e calendario con memoria e Batteria RTC Real Time Clock Arduino compatibile

    5 out of 5

    Feedback ricevuto nel nostro negozio eBay http://stores.ebay.it/circuitointegrato

    tutto ok ottimo ebayer

    Item Reviewed: DS1302 Modulo orologio e calendario con memoria e Batteria RTC Real Time Clock Arduino compatibile

    5 out of 5

    Feedback ricevuto nel nostro negozio eBay http://stores.ebay.it/circuitointegrato

    tutto perfetto.grazie

    Item Reviewed: DS1302 Modulo orologio e calendario con memoria e Batteria RTC Real Time Clock Arduino compatibile

    5 out of 5
    Feedback ricevuto nel nostro negozio eBay http://stores.ebay.it/circuitointegrato

    Tutto ok

    Item Reviewed: DS1302 Modulo orologio e calendario con memoria e Batteria RTC Real Time Clock Arduino compatibile

    5 out of 5
    Feedback ricevuto nel nostro negozio eBay http://stores.ebay.it/circuitointegrato

    Tutto ok

    Item Reviewed: DS1302 Modulo orologio e calendario con memoria e Batteria RTC Real Time Clock Arduino compatibile

    5 out of 5

    Feedback ricevuto nel nostro negozio eBay http://stores.ebay.it/circuitointegrato

    Consegna nei tempi previsti, materiale OK

    Item Reviewed: DS1302 Modulo orologio e calendario con memoria e Batteria RTC Real Time Clock Arduino compatibile

    5 out of 5

    Feedback ricevuto nel nostro negozio eBay http://stores.ebay.it/circuitointegrato

    Ottimo ebayer!

    Item Reviewed: DS1302 Modulo orologio e calendario con memoria e Batteria RTC Real Time Clock Arduino compatibile

    5 out of 5
    Feedback ricevuto nel nostro negozio eBay http://stores.ebay.it/circuitointegrato

    Tutto bene, tranne per la batteria consegnata già scarica.

    Item Reviewed: DS1302 Modulo orologio e calendario con memoria e Batteria RTC Real Time Clock Arduino compatibile

    5 out of 5
    Feedback ricevuto nel nostro negozio eBay http://stores.ebay.it/circuitointegrato

    ok

    Item Reviewed: DS1302 Modulo orologio e calendario con memoria e Batteria RTC Real Time Clock Arduino compatibile

    5 out of 5
    Feedback ricevuto nel nostro negozio eBay http://stores.ebay.it/circuitointegrato

    tutto ok

Add a review

Datasheet DS1302

Download