Wiki Info
Vuoi reagire a questo messaggio? Crea un account in pochi click o accedi per continuare.
Ricerca Avanzata
Answers
Se necessiti di aiuto, clicca il pulsante "Cerco Aiuto" (disponibile anche per i non iscritti).
Ultimi argomenti attivi
» Comunicazione termine servizio Arduino BT Control
Da Admin Mar Mag 10, 2022 12:55 pm

» Robot aspirapolvere per Alexa: Dreame D9
Da Admin Mar Feb 09, 2021 9:42 am

» Come costruire un robot smart con Arduino
Da Admin Mar Nov 17, 2020 12:15 pm

» TOPPS Trading Cards Match Attax Champsion League/Europa League 2020/21
Da Admin Mar Nov 10, 2020 3:21 pm

» Guida per utilizzare Arduino BT Control v1.2
Da Admin Gio Lug 09, 2020 12:01 pm

» Recensione Umidigi A3 Pro - Smartphone sotto i 100€
Da Admin Gio Apr 04, 2019 12:22 pm

» [Arduino] aiuto programma
Da Glak Mar Mar 12, 2019 9:30 am

» ERRORE NELLA COMPILAZIONE NEXTION
Da papat Mar Feb 26, 2019 7:11 am

» Comandare la Smart TV con Alexa senza broadlink (gratis)
Da Admin Mar Feb 19, 2019 4:31 pm

I postatori più attivi del mese
Nessun utente


Inserire data, ora RTC ds 3231

2 partecipanti

Andare in basso

Inserire data, ora RTC ds 3231 Empty Inserire data, ora RTC ds 3231

Messaggio Da papat Mer Set 13, 2017 2:43 pm

Da un tuo video si evince chiaramente come aggiornare o impostare  ora e data al rtc con fishino.Pero' con RTC ds 3231 di questo sketch non so come fare.Puoi aiutarmi?
Codice:
#include <dht.h>


#include <LCD.h>
#include <LiquidCrystal.h>
#include <LiquidCrystal_I2C.h>


#include <DS3232RTC.h> //http://github.com/JChristensen/DS3232RTC
#include <TimeLib.h> //http://playground.arduino.cc/Code/Time (presente in gestione
// librerie, ma da installare – already present in ide library managere, but not yet installed
#include <Wire.h> //http://arduino.cc/en/Reference/Wire (vedi sopra – see above)
#include <LiquidCrystal_I2C.h> // libreria di gestione del display lcd
//--------------------addr, en,rw,rs,d4,d5,d6,d7,bl,blpol
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
//
time_t t;
tmElements_t tm;
//
float temperatura = 0; // zona di memorizzazione della temperatura fornito da DS3231
float temp1 = 0; // zona di memorizzazione della temperatura in gradi celsius
int digits = 0; // zona di memorizzazione dei minuti e dei secondi da esporre
// sul display lcd
char tabmesi [37] = "genfebmaraprmaggiulugagosetottnovdic"; // tabella descrizione mesi
// above: italian month description, on three digits
int mese = 0; // zona di memorizzazione del mese corrente
int lavoro = 0; // zona di lavoro, utilizzata per calcoli intermedi
//
//********* routine di esposizione di data, ora e temperatura sul display lcd
//*************** time and temperature on lcd display **********************
//
void esponidati(void)
{
// esposizione dei dati rilevati sul timer di arduino
lcd.clear();
lcd.print(" ");
lcd.print(day());
lcd.print(' ');
//Arduino: modulo RTC DS3231 orologio digitale – digital clock
// doppio utilizzo SDA SCL, Real Time Clock, I2C, lcd 1620, orologio digitale, digital clock
mese = month(); // memorizza il mese
mese = mese - 1; // diminuisce di 1 il valore del mese poiche'
// la descrizione del primo mese (gen) inizia
// all'indirizzo zero della tabella mesi
lcd.print (tabmesi [(mese * 3)]); // espone la prima lettera del mese
lcd.print (tabmesi [(mese * 3 + 1)]); // espone la seconda lettera del mese
lcd.print (tabmesi [(mese * 3 + 2)]); // espone la terza lettera del mese
lcd.print(' ');
lcd.print(year());
lcd.setCursor(0, 1);
lcd.print(hour());
digits = (minute());
printDigits(); // routine esposizione zeri non significativi
digits = (second());
printDigits(); // routine esposizione zeri non significativi
lcd.print (" t:");
lcd.print (temp1);
}
//
//****routine visualizzazione minuti e secondi comprensivi di zeri non significativi*****
// ************* displays minutes and seconds, including non significant zeroes ***********
//
void printDigits()
{
lcd.print(':');
if (digits < 10)
lcd.print('0');
lcd.print(digits);
}
void setup(void)
{
Serial.begin (9600); // inizializza il monitor seriale
lcd.begin(16, 2); // inizializza il display e accende
lcd.backlight(); // lo sfondo
lcd.print (" buongiorno"); // goodday
delay (1500);
lcd.clear ();
setSyncProvider(RTC.get); // sincronizza il timer di Arduino con i dati presenti
// sul modulo RTC
lcd. clear ();
if (timeStatus() != timeSet) // verifica se la sincronizzazione e' ok
lcd.print(" orologio non"); // “clock not”
else
lcd.print(" orologio"); // “clock”
lcd.setCursor (0, 1);
lcd.print (" sincronizzato"); // “ syncronized”
delay (1500);

temperatura = RTC.temperature(); // rileva per la prima volta

}

void loop(void)
{
if (Serial.available() == 17) // controlla se e' in arrivo una stringa da 17
// caratteri (aa,mm,gg,hh,mm,ss)
{ // acquisisce la stringa con data ed ora
int y = Serial.parseInt();
tm.Year = y2kYearToTm(y);
tm.Month = Serial.parseInt();
tm.Day = Serial.parseInt();
tm.Hour = Serial.parseInt();
tm.Minute = Serial.parseInt();
tm.Second = Serial.parseInt();
t = makeTime(tm);
RTC.set(t); // aggiorna (setta) il modulo RTC
setTime(t); // aggiorna (setta) il modulo RTC
}


// fine del ciclo di acquisizione data ed ora
digits = (second()); // verifica se sono passati 10 secondi dal precedente
// rilevamento della temperatura
lavoro = digits % 10; // calcola il resto del secondo corrente diviso 10
if (lavoro == 9) // se si e' al nono secondo di ogni decade di minuto (se si e'
// al secondo 9, 19, 29, 39, 49 o 59 di ogni minuto)
// if we are at the 9,19,29... secondo of each minutes,
temperatura = RTC.temperature(); // rileva la temperatura – catch temperature
temp1 = temperatura / 4.0; // trasforma la temperatura in gradi celsius
esponidati(); // lancia la routine di esposizione dei dati
//Arduino: modulo RTC DS3231 orologio digitale – digital clock
// doppio utilizzo SDA SCL, Real Time Clock, I2C, lcd 1620, orologio digitale, digital clock
delay (1000); // aspetta un secondo prima di andare ad esporre
// nuovi dati, al fine di consentire al display
// una visualizzazione stabile
}
papat
papat
Maker

Messaggi Messaggi : 185
Crediti Crediti : 285
Reputazione Reputazione : 3
Data d'iscrizione Data d'iscrizione : 17.10.15
Età Età : 77
Località Località : montalbano ionico

Torna in alto Andare in basso

Inserire data, ora RTC ds 3231 Empty Re: Inserire data, ora RTC ds 3231

Messaggio Da Admin Mer Set 13, 2017 2:50 pm

Ciao, quel codice fa un po' di tutto. Cosa vorresti che faccia?
Admin
Admin
♔ Amministratore

Messaggi Messaggi : 4370
Crediti Crediti : 12173
Reputazione Reputazione : 187
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 25

https://wikiinfo.forumattivo.it

Torna in alto Andare in basso

Inserire data, ora RTC ds 3231 Empty Re: Inserire data, ora RTC ds 3231

Messaggio Da papat Mer Set 13, 2017 3:02 pm

deve impostarmi anno mese giorno ora.Credo che la temperatura se la prende da solo o no?
papat
papat
Maker

Messaggi Messaggi : 185
Crediti Crediti : 285
Reputazione Reputazione : 3
Data d'iscrizione Data d'iscrizione : 17.10.15
Età Età : 77
Località Località : montalbano ionico

Torna in alto Andare in basso

Inserire data, ora RTC ds 3231 Empty Re: Inserire data, ora RTC ds 3231

Messaggio Da papat Mer Set 13, 2017 3:35 pm

Grazie ho risolto :ho caricato il programma SetSerial.ino su arduino e sul monitor ho scritto in ordine anno,mese,giorno,ora ,minuti,secondi.Funziona perfettamente.
papat
papat
Maker

Messaggi Messaggi : 185
Crediti Crediti : 285
Reputazione Reputazione : 3
Data d'iscrizione Data d'iscrizione : 17.10.15
Età Età : 77
Località Località : montalbano ionico

Torna in alto Andare in basso

Inserire data, ora RTC ds 3231 Empty Re: Inserire data, ora RTC ds 3231

Messaggio Da Admin Gio Set 14, 2017 10:05 pm

Perfetto, grande Very Happy
Admin
Admin
♔ Amministratore

Messaggi Messaggi : 4370
Crediti Crediti : 12173
Reputazione Reputazione : 187
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 25

https://wikiinfo.forumattivo.it

Torna in alto Andare in basso

Inserire data, ora RTC ds 3231 Empty Re: Inserire data, ora RTC ds 3231

Messaggio Da Contenuto sponsorizzato


Contenuto sponsorizzato


Torna in alto Andare in basso

Torna in alto

- Argomenti simili

 
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.