Buonasera a tutti.
Ho un piccolo problema, o meglio un capriccio che vorrei togliermi e volevo il vostro parere per sapere se fosse possibile o meno risolvere il problema.
Ho un modulo rtc il ds1307 collegato al micro controllore azdelivery (riproduzione di arduino uno).
Il modulo ds1307 ha un pin (bat) con cui invia ad un pin analogico del micro controllore lo stato di carica della batteria da 3v (cr2032). Tramite un voltmetro digitale, vorrei leggere lo stato della batteria.
Il codice utilizzato è il seguente. Collegato alla porta seriale c'è anche un display 20x4, collegati con resistenza da 5kohm.
#include <Wire.h>
#include "RTClib.h"
#include <LiquidCrystal_I2C.h>
RTC_DS1307 rtc;
LiquidCrystal_I2C lcd(0x27, 20, 4);
int batteria = A0;
int voltmetro = 9;
void setup () {
lcd.init();
lcd.backlight();
pinMode(voltmetro, OUTPUT);
}
void loop () {
int stato = analogRead(batteria);
int volt = map(stato, 0, 1023, 0, 255);
analogWrite(voltmetro, volt);
delay(10);
DateTime now = rtc.now();
lcd.setCursor(0, 0);
lcd.print(now.day(), DEC);
lcd.print('/');
lcd.print(pad(now.month()));
lcd.print('/');
lcd.print(pad(now.year()));
lcd.print(" ");
lcd.print(pad(now.hour()));
lcd.print(':');
lcd.print(pad(now.minute()));
lcd.print(':');
lcd.print(pad(now.second()));
}
char *res = malloc(5);
String pad(int n) {
sprintf(res, "%02d", n);
return String(res);
}
Caricando lo sketch sul micro controllore dal pc, tutto funziona correttamente dandomi data e ora aggiornati, una volta staccata l'alimentazione, passato qualche minuto, se ridò alimentazione, la data e l'ora sono da reimpostare come se la batteria non ci fosse. Togliendo il collegamento analogico tra il pin A0 e bat. Il problema non c'è e data e ora restano aggiornati.
Lo stato della batteria (nuova) verificata con il multimetro è di 3v, ma quando in funzione, il voltmetro digitale mi da una tensione che varia tra 1.9 e 2.5v.
Ora vorrei gentilmente chiedere a voi esperti, se ci fosse un modo per non avere questo problema oppure se non si può fare nulla. Vi allego le foto del voltmetro, del modulo rtc ds1307 e il circuito di collegamento (il voltmetro è figurativo, ha due pin di alimentazione e uno di lettura).
Vi ringrazio per l'attenzione.
Ciao a tutti.
Simone




