DS1307 Tiny RTC I2C modulo orologio e calendario con memoria e batteria AT24C32

DS1307 Tiny RTC I2C modulo orologio e calendario con memoria e batteria AT24C32

View More

2,17

(19 customer reviews)

Disponibile (ordinabile)

QuantitàPrezzo Unitario
12 - 49 2,06
50 - 99 2,02
100 + 1,95

Product Description

 


🔧 Descrizione del Modulo DS1307 Tiny RTC I2C

Il Tiny RTC I2C Module è un modulo compatto basato sul DS1307, un chip RTC (Real Time Clock) progettato per fornire data e ora anche quando l’alimentazione principale viene rimossa, grazie alla batteria di backup.

📦 Componenti principali del modulo

  • DS1307: chip RTC che tiene traccia di secondi, minuti, ore, giorno della settimana, data, mese e anno, con correzione automatica degli anni bisestili.
  • AT24C32: EEPROM da 32Kb (4KB) collegata via I2C per memorizzare dati non volatili (es. configurazioni).
  • CR1220 o CR2032: batteria a bottone che mantiene attivo l’orologio anche in assenza di alimentazione.
  • Interfaccia I2C: 4 pin principali (VCC, GND, SDA, SCL) per il collegamento con microcontrollori come Arduino.

⚙️ Specifiche tecniche

  • Alimentazione: 3.3V – 5V
  • Protocollo: I2C (Indirizzo DS1307: 0x68, AT24C32: 0x57)
  • EEPROM: 32Kbit (4096 x 8bit)
  • Precisione orologio: ~1 secondo/giorno (dipende dal cristallo)
  • Consumo batteria: <500nA

🔌 Collegamenti Arduino – DS1307 Tiny RTC

Modulo RTCArduino UNO
VCC5V
GNDGND
SDAA4
SCLA5

⚠️ Su Arduino Mega, SDA è pin 20, SCL è pin 21.


📚 Libreria Arduino consigliata

Usa la libreria RTClib sviluppata da Adafruit, che supporta vari chip RTC inclusi DS1307 e DS3231.

🔽 Installazione:

  1. Vai su Arduino IDE > Sketch > Include Library > Manage Libraries.
  2. Cerca “RTClib” di Adafruit.
  3. Clicca su Install.

Esempio base: lettura data e ora

#include <Wire.h>
#include <RTClib.h>

RTC_DS1307 rtc;

void setup () {
  Serial.begin(9600);
  if (!rtc.begin()) {
    Serial.println("RTC non trovato!");
    while (1);
  }

  if (!rtc.isrunning()) {
    Serial.println("RTC non in funzione, imposto data e ora attuali...");
    rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); // imposta data/ora alla compilazione
  }
}

void loop () {
  DateTime now = rtc.now();

  Serial.print(now.day(), DEC);
  Serial.print('/');
  Serial.print(now.month(), DEC);
  Serial.print('/');
  Serial.print(now.year(), DEC);
  Serial.print(" ");
  Serial.print(now.hour(), DEC);
  Serial.print(':');
  Serial.print(now.minute(), DEC);
  Serial.print(':');
  Serial.println(now.second(), DEC);

  delay(1000);
}

🧪 Esempio avanzato: imposta data/ora manualmente

#include <Wire.h>
#include <RTClib.h>

RTC_DS1307 rtc;

void setup () {
  Serial.begin(9600);
  if (!rtc.begin()) {
    Serial.println("RTC non trovato!");
    while (1);
  }

  // Imposta manualmente: anno, mese, giorno, ora, minuto, secondo
  rtc.adjust(DateTime(2025, 7, 28, 15, 30, 0));
}

void loop () {
  DateTime now = rtc.now();

  Serial.print("Ora: ");
  Serial.print(now.hour());
  Serial.print(":");
  Serial.print(now.minute());
  Serial.print(":");
  Serial.println(now.second());

  delay(1000);
}

💾 Utilizzo della EEPROM AT24C32 (memoria dati)

Puoi utilizzare la EEPROM per memorizzare dati personalizzati. Esempio base:

#include <Wire.h>

#define EEPROM_I2C_ADDRESS 0x57

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

  // Scrive un byte alla posizione 0
  writeEEPROM(0, 42);
  delay(10);
  
  // Legge il byte dalla posizione 0
  byte value = readEEPROM(0);
  Serial.print("Valore EEPROM letto: ");
  Serial.println(value);
}

void loop() {
  // vuoto
}

void writeEEPROM(unsigned int address, byte data) {
  Wire.beginTransmission(EEPROM_I2C_ADDRESS);
  Wire.write((int)(address >> 8));   // byte alto dell’indirizzo
  Wire.write((int)(address & 0xFF)); // byte basso dell’indirizzo
  Wire.write(data);
  Wire.endTransmission();
  delay(5);
}

byte readEEPROM(unsigned int address) {
  byte rdata = 0xFF;

  Wire.beginTransmission(EEPROM_I2C_ADDRESS);
  Wire.write((int)(address >> 8));
  Wire.write((int)(address & 0xFF));
  Wire.endTransmission();

  Wire.requestFrom(EEPROM_I2C_ADDRESS, 1);
  if (Wire.available()) rdata = Wire.read();
  return rdata;
}

🛠️ Note utili

  • La batteria deve essere inserita per mantenere data e ora tra le accensioni.
  • Il DS1307 non è molto preciso (può perdere fino a 1 minuto al mese). Se hai bisogno di alta precisione, considera il DS3231.
  • L’EEPROM può essere usata per salvare configurazioni, stati o dati raccolti dai sensori.

📌 Riepilogo

CaratteristicaDettagli
RTC ChipDS1307
ComunicazioneI2C
EEPROM IntegrataAT24C32 (32Kbit)
Libreria consigliataRTClib
Tensione di alimentazione5V (compatibile 3.3V)
BackupCR1220/CR2032 batteria

Perfetto! Ti fornirò tutte e tre le cose richieste:


1. 🖼️ Schema Fritzing – Arduino + DS1307 Tiny RTC

Immagina questo semplice schema (posso generarti un’immagine se vuoi):

🔗 Collegamenti:

DS1307 Tiny RTCArduino UNO
VCC5V
GNDGND
SDAA4
SCLA5

Schema Fritzing generabile su richiesta – Posso fornirti l'immagine se vuoi
(Fonte: schema generico, possiamo farne uno personalizzato su richiesta.)


2. 📦 Progetto Completo: Datalogger con RTC e Sensore DHT11 (Temperatura e Umidità)

🔧 Componenti necessari

  • Arduino UNO
  • Modulo DS1307 Tiny RTC
  • Sensore DHT11 o DHT22
  • Scheda microSD (opzionale)
  • Resistenze, jumper, breadboard

🧪 Funzionalità

  • Legge ora/data dal modulo RTC
  • Legge temperatura e umidità
  • Salva i dati su Serial Monitor (o microSD, se disponibile)

🧰 Codice Arduino – Datalogger base con DS1307 + DHT11

#include <Wire.h>
#include <RTClib.h>
#include <DHT.h>

#define DHTPIN 2         // Pin collegato al DHT11
#define DHTTYPE DHT11    // Usa DHT11 o DHT22

RTC_DS1307 rtc;
DHT dht(DHTPIN, DHTTYPE);

void setup () {
  Serial.begin(9600);
  dht.begin();
  
  if (!rtc.begin()) {
    Serial.println("RTC non trovato");
    while (1);
  }

  if (!rtc.isrunning()) {
    rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));  // Imposta orario attuale
  }
}

void loop () {
  DateTime now = rtc.now();
  float temp = dht.readTemperature();
  float hum = dht.readHumidity();

  Serial.print(now.timestamp());
  Serial.print(" | Temp: ");
  Serial.print(temp);
  Serial.print("°C | Umidità: ");
  Serial.print(hum);
  Serial.println("%");

  delay(5000);
}

💾 Per salvare su SD card, puoi usare la libreria SD.h e scrivere i dati su file .csv.


3. 🕒 Sincronizzare RTC con l’Ora del PC (Automatica da IDE)

Puoi sincronizzare automaticamente l’orologio RTC all’ora esatta del tuo PC al momento della compilazione dello sketch.

✅ Metodo 1: via codice

rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
  • __DATE__ e __TIME__ sono macro del compilatore che inseriscono la data e ora in tempo reale quando premi “Upload”.

✅ Metodo 2: sincronizzazione manuale con interfaccia seriale

Se vuoi inviare manualmente data e ora tramite Serial Monitor, puoi farlo con un semplice protocollo testuale. Ecco un esempio:

#include <Wire.h>
#include <RTClib.h>

RTC_DS1307 rtc;

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

  Serial.println("Invia data/ora nel formato: YYYY MM DD HH MM SS");
}

void loop() {
  if (Serial.available()) {
    int y, m, d, h, mi, s;
    Serial.parseInt(); // scarta primo input errato
    y = Serial.parseInt();
    m = Serial.parseInt();
    d = Serial.parseInt();
    h = Serial.parseInt();
    mi = Serial.parseInt();
    s = Serial.parseInt();
    
    rtc.adjust(DateTime(y, m, d, h, mi, s));
    Serial.println("Data/Ora aggiornata!");
  }

  DateTime now = rtc.now();
  Serial.print(now.timestamp());
  Serial.println();
  delay(1000);
}

 

Facebooktwitterredditpinterestlinkedinmail

    Item Reviewed: DS1307 Tiny RTC I2C modulo orologio e calendario con memoria e batteria AT24C32

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

    ok!

    Item Reviewed: DS1307 Tiny RTC I2C modulo orologio e calendario con memoria e batteria AT24C32

    5 out of 5

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

    Perfect thanks ++++

    Item Reviewed: DS1307 Tiny RTC I2C modulo orologio e calendario con memoria e batteria AT24C32

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

    Ok

    Item Reviewed: DS1307 Tiny RTC I2C modulo orologio e calendario con memoria e batteria AT24C32

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

    ottimo! molto rapido, tutto ok grazie!

    Item Reviewed: DS1307 Tiny RTC I2C modulo orologio e calendario con memoria e batteria AT24C32

    5 out of 5

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

    Tutto perfetto!!!

    Item Reviewed: DS1307 Tiny RTC I2C modulo orologio e calendario con memoria e batteria AT24C32

    5 out of 5

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

    Ottimo come sempre! Venditore consigliatissimo!

    Item Reviewed: DS1307 Tiny RTC I2C modulo orologio e calendario con memoria e batteria AT24C32

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

    Ottimo

    Item Reviewed: DS1307 Tiny RTC I2C modulo orologio e calendario con memoria e batteria AT24C32

    5 out of 5

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

    Venditore serissimo e spedizione nei tempi giusti. Consigliatissimo.

    Item Reviewed: DS1307 Tiny RTC I2C modulo orologio e calendario con memoria e batteria AT24C32

    5 out of 5

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

    Ottimo nulla da eccepire

    Item Reviewed: DS1307 Tiny RTC I2C modulo orologio e calendario con memoria e batteria AT24C32

    5 out of 5

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

    Oggetto conforme alla descrizione

    Item Reviewed: DS1307 Tiny RTC I2C modulo orologio e calendario con memoria e batteria AT24C32

    5 out of 5

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

    tutto regolare , spedizione veloce , ottimo seller

    Item Reviewed: DS1307 Tiny RTC I2C modulo orologio e calendario con memoria e batteria AT24C32

    5 out of 5

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

    Ottima transazione.

    Item Reviewed: DS1307 Tiny RTC I2C modulo orologio e calendario con memoria e batteria AT24C32

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

    tutto ok

    Item Reviewed: DS1307 Tiny RTC I2C modulo orologio e calendario con memoria e batteria AT24C32

    5 out of 5

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

    Ottimo! Grazie. Perfect! Thank you!!!

    Item Reviewed: DS1307 Tiny RTC I2C modulo orologio e calendario con memoria e batteria AT24C32

    5 out of 5

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

    Tutto ok, positivo. Consiglio senza problemi

    Item Reviewed: DS1307 Tiny RTC I2C modulo orologio e calendario con memoria e batteria AT24C32

    5 out of 5

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

    Every thing ok A+A+A+A+Every thing ok A+A+A+A+Every thing ok A+A+A+A+

    Item Reviewed: DS1307 Tiny RTC I2C modulo orologio e calendario con memoria e batteria AT24C32

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

    tutto ok

    Item Reviewed: DS1307 Tiny RTC I2C modulo orologio e calendario con memoria e batteria AT24C32

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

    tutto ok

    Item Reviewed: DS1307 Tiny RTC I2C modulo orologio e calendario con memoria e batteria AT24C32

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

    Venditore Onesto e Serio, Great!Veloce

Add a review

Datasheet DS1307

Download