Usare il real time clock RTC3231 con Arduino - Video 233

Поділитися
Вставка
  • Опубліковано 7 лис 2024

КОМЕНТАРІ • 88

  • @pasqualebianco7867
    @pasqualebianco7867 2 роки тому

    Buongiorno Paolo, complimenti per il canale e per i tuoi contributi sempre chiarissimi. Ho realizzato un progettino alquanto complesso con Arduino1R3, due sonde DS18B20, un sensore DHT11, un Display LCD2004A I2C 4x20 con , due pulsati e un modulo Orologio RTC3231. Dietro i tuoi consigli ho cablato e programmato tutto alla perfezione. Il tutto mi serve a comandare due elettrovalvole per scambiare l'acqua sanitaria da SolareTermico a Termocamino in base alla loro temperatura. L'orologio l'ho aggiunto in un secondo momento in quanto mi sono voluto spingere un pò oltre per affinare le mie capacità. A montaggio ultimato, dopo qualche giorno di funzionamento mi sono accorto che se tolgo alimentazione l'orologio non si resetta ma quando alimento di nuovo riparte da dove è rimasto. In partica se tolgo alimentazione alle 10:01:37 e ridò corrente dopo 2 ore riparte dalle 10:01:37. Mi chiedo è normale come comportamento e quindi devo fare in modo che il ttto rimanga sempre alimentato? Oppure ho sbagliato qualche cosa? Il modulo 3231 l'ho collegato in parallelo con il displaly. Grazie anticipate.

  • @GiordanoCantori
    @GiordanoCantori 2 місяці тому

    Ciao Paolo, ottimo video come sempre. Come bisogna procedere per impostare ora e data utilizzando due pulsanti che però sono già impiegati per comandare altrettanti led. Non ho più pin disponibili ho quindi optato per un display oled e il dsd3231 entrambi I2C. Visualizzo l'ora sul display ma no so quale funzioni usarre per reimpostare la data e l'ora. Grazie in anticipo.

  • @aaamarco6726
    @aaamarco6726 3 роки тому +1

    Paolo buongiorno
    grazie sempre per i tuoi video spiegati benissimo,
    ho visto in commercio un modulo il DCF77 che aggiorna in automatico l'orario con l'orologio atomico.
    si può avere una spiegazione/video su come collegare un DS3231 che periodicamente aggiorna l'ora?
    grazie

  • @argo252
    @argo252 4 роки тому +1

    la funzione pad è una vera figata, grazie grande!!

  • @Teo0512
    @Teo0512 3 роки тому +1

    Ciao Paolo , complimenti per il video , posso chiederti una mano per risolvere un problema in un progetto ? Ho realizzato un orologio a LED su pcb , ho montato il tutto e ho fatto il programma , ma ho notato che la batteria anche a orologio spento tende a scaricarsi così ho fatto un po’ di misure e ho notato che tra il positivo della batteria e gnd ci sono sempre circa 100K , così facendo la batteria si scarica. Ho provato a realizzarne un altro da capo pensando a qualche componente difettoso , quando ho montato tutti i componenti , prima di accenderlo ho misurato tra il + e gnd e lèggevo molti megaohm il che è normale e va bene ma dopo averlo acceso la prima volta e verificato che tutto funzioni , ho rimisurato e da qui in poi ho sempre 100 k tra il + e gnd anche se tutto quanto funziona bene quando l’orologio è acceso, non so davvero perché io mi trovi 100K tra il + e gnd , qualcuno riesce ad aiutarmi a risolvere questo problema ?

  • @Luke-qs1lc
    @Luke-qs1lc 2 місяці тому

    Ciao dovrei usare il 3231 più un relè seriale ad otto relè ci sta tutto sull r4? Grazie

  • @ermannochiavaroli6616
    @ermannochiavaroli6616 Рік тому

    Buonasera Paolo. Ho una domanda su questo modulo. Ha una batteria a bottone, e ovviamente servirà per mantenere il Date-Time una volta inizializzato. Ma, poichè lo devo utilizzare in una posizione dove resterà praticamente "unguarded", come faccio a sapere quando la batteria è scarica e deve essere cambiata?

  • @davideluci5091
    @davideluci5091 3 роки тому

    grazie per il video bro

  • @gdessedariogatti8868
    @gdessedariogatti8868 2 роки тому

    Ciao Paolo, ti ringrazio sempre tantissimo per le preziose e chiarissime spiegazioni! Vorrei chiederti una dritta riguardo la visualizzazione di ore su display. In particolare, devo far lampeggiare una scritta ("ON" quando si attiva un uscita) e credo che i millisecondi impostati (50 e 800) per il lampeggio interferiscano nel loop con la visione dei secondi che non scorrono in modo uniforme. Non so se sono stato abbastanza chiaro...
    Potresti aiutarmi?
    Grazie in anticipo!!!

    • @zeppelinmaker
      @zeppelinmaker  2 роки тому

      userei uno sketch a stati... hai provato? uno stato per l'ora e uno per l'ON. La lettura del tasto/segnale va tenuta nel loop principale

    • @gdessedariogatti8868
      @gdessedariogatti8868 2 роки тому

      @@zeppelinmaker ok grazie! Ho provato lo sketch a stati.
      La difficoltà è gestire le misurazioni di temperatura negli stati in modo da non "appesantire" il loop principale. Noto che anche togliendo il lampeggio dei loop secondari (stati), quindi anche il "ritardo", i secondi, come anche le temperature rilevate, vengono visualizzati ogni 2 sec...
      Nulla di grave eh... solo vorrei capire per perfezionare le mie poche conoscenze :-))

  • @stellamattutina8926
    @stellamattutina8926 3 роки тому

    Buonasera Paolo Grazie un video interessante e ben spiegato, una richiesta ho 4 display singoli a 7 segmenti, ho visto in rete molti filmati che spiegano come creare un orologio utilizzando RTC3231 e dei 74hc595, ma non riesco a capire come leggere e trasferire i dati dell RTC ai display per visualizzare ora.minuti e poi ciclicamente anno , mese, temp. è possibile avere in futuro non troppo lontano un tuo video con le spiegazioni come li fai tu?
    Grazie
    Stella

  • @stefanozenari3988
    @stefanozenari3988 3 роки тому

    Ciao, complimenti per la semplicità di come descrivi gli argomenti.
    Ho seguito il video del DS3231, mi piacerebbe aggiungere degli allarmi collegati ad un relè, come posso fare?

  • @ivandelgaudio
    @ivandelgaudio 4 роки тому

    Buongiorno Paolo, ho ripreso, dopo la pausa estiva, a sguire i tuoi video e devo dire che questo modulo ha attirato molto la mia attenzione.
    Volevo solo chiederti lo scopo della batteria, visto che comunque il circuito viene anche alimentato dai +5 Vcc di Arduino.
    Grazie per questi magnifici video

    • @zeppelinmaker
      @zeppelinmaker  4 роки тому +1

      tiene la data anche quando arduino è spento

    • @ivandelgaudio
      @ivandelgaudio 4 роки тому

      paolo aliverti e già, che scemo che sono, era abbastanza ovvio 👍

  • @joecirillo3360
    @joecirillo3360 4 роки тому

    Ciao Paolo. Grazie per il video. Ho il problema che l'ora mostrata su TFT differisce di 12 secondi rispetto all'ora reale. Secondo te qual'e il problema?

  • @michelesorsoli6158
    @michelesorsoli6158 4 роки тому

    Ciao Paolo, seguo tutti i tuoi video e li trovo molto interessanti e completi. Vorrei chiederti se potresti fare un video dove utilizzi RTC3231 e impostando due orari fai accendere e spegnere un led ( interruttore orario ) da li poi potrò fare tutti i miei esperimenti, in alternativa, se non hai il tempo per un video, mi daresti un paio di dritte? Grazie mille

  • @argo252
    @argo252 3 роки тому

    ciao ho utilizzato la funzione pad, su nodemcu, il compilatore si blocca su questa funzione dandomi questo msg "invalid conversion from 'void*' to 'char*' [-fpermissive]" credo non riesca a riservare i 5byte di memoria , boh ci sarà un modo x risolvere?

  • @micheledestefano
    @micheledestefano 4 роки тому

    Ciao Paolo
    Ho trovato dei ds3231 senza batteria visivamente uguali al tuo a un prezzo ridicolo, ne ho presi 5.
    Preso dalla foga ne ho alimentato uno e ho visto sull’oscilloscopio i 32 khz ma sul’ sqw non c’e’ il ck di 1hz
    Devo prima inizializzarlo con l’arduino ?
    La batteria come si chiama?
    Grazie 1000

  • @ivandelgaudio
    @ivandelgaudio 4 роки тому

    Buonasera Paolo, avrei un'altr domanda. Ho visto che la libreria che il sistema che abbiamo utilizzato in questo video restituisce i valori di ora, minuti e secondi come stringa ma per realizzare il mio orologio sarebbe più utile avere un dato numerico. Come posso vedere se la libreria offre un oggetto di tipo numerico? Oppure posso forzare la stringa in un intero su cui è possibile fare calcoli?

    • @zeppelinmaker
      @zeppelinmaker  4 роки тому

      ottieni ore, min e secondi in formato numerico... poi sta a te combinarli. Non ho capito che tipo di numero ti servirebbe...

    • @ivandelgaudio
      @ivandelgaudio 4 роки тому

      paolo aliverti non mi da un int ma uno string per come abbiamo impostato la cosa. Almeno ho provato a mettere la variabile che stampiamo in un int e non me lo accetta

  • @gianlucamanzini6833
    @gianlucamanzini6833 4 роки тому

    Buon Giorno molto utile , e ti ringrazio molto , volevo chiederti nel caso in cui io volessi usare un uscita comandata esempio dalle 18 alle 22 di tutti i giorni quale procedura e meglio adattare ??
    ho provato a creare delle variabili ora e minuti usando now.hour e now.minute e provato nel loop a fare un if ma sono un po in altomare puoi aiutarmi grazie mille ..

  • @ifaber68
    @ifaber68 5 років тому

    Molto utile, grazie Paolo 👍

  • @roberto64rm
    @roberto64rm 3 роки тому

    Ciao Paolo Buonasera Ho provato a montare come hai scritto il timer e funziona bene finché non lo spengo lo spengo Purtroppo si resetta completamente l'orario riparte la data di fabbricazione Come posso risolvere il problema

  • @gabrieletrovato853
    @gabrieletrovato853 2 роки тому

    Posso costruire un orologio con display con un real time o clock ?

  • @grigioluna
    @grigioluna 5 років тому

    Ciao Paolo, avendo bisogno di comandare un'utenza ad una determinata ora, sarebbe corretto ricavare l'ora con "pad(now.hour())" facendola confrontare dentro un "if"? esempio: if (pad(now.hour())

    • @zeppelinmaker
      @zeppelinmaker  5 років тому +1

      Fallo senza pad(). É un numero. Per il resto, va bene l'if

    • @grigioluna
      @grigioluna 5 років тому

      @@zeppelinmaker grazie infinite. Sei molto gentile.

  • @ezioperino3926
    @ezioperino3926 3 роки тому

    Buongiorno Paolo, mi può dire come si deve scrivere nello scketch l'ora 10.30 per far modo che porti una uscita digitale High. La ringrazio e le auguro una buona giornata. Ezio

    • @zeppelinmaker
      @zeppelinmaker  3 роки тому

      tra pochi giorni esce una versione con programmazione da file di testo su sdcard

    • @ezioperino3926
      @ezioperino3926 3 роки тому

      Grazie Paolo, l'aspetto con molta impazienza. Come si fa a sapere quando viene messo in rete un nuovo video.Grazie

  • @ezioperino3926
    @ezioperino3926 3 роки тому

    Mi scusi Paolo desidero sapere come estrarre l'ora e i minuti da una scheda Arduino YUN.
    Con arduino usavo le istruzioni di questo video ora con arduino yun non riesco a estrapolare l'ora e i minuti.Mi può dare alcune istruzioni per favore. Grazie Ezio

  • @Cotonfioc1
    @Cotonfioc1 3 роки тому

    ciao, se tolgo corrente, e successivamente lo alimento, l orario è errato... come procedo?

  • @jaricaruso5655
    @jaricaruso5655 3 роки тому

    ciao paolo, si può avere un video del ds3231 ma senza I2C? io dovrei implementare l'orario ad un progetto che sfrutta già in altra maniera i pin sda e scl.
    grazie

    • @zeppelinmaker
      @zeppelinmaker  3 роки тому

      L'i2c è un bus: puoi collegare insieme più dispositivi. Ognuno ha un suo indirizzo

  • @eziobattaglia5612
    @eziobattaglia5612 4 роки тому

    Ciao Paolo , grazie per tutto quello che fai , sono video molto chiari anche per me che sono un neofita , ho solo un problemino , quando carico lo sketch mi da un orario sbagliato e non riesco a settarlo nè togliendo alimentazione al rtc nè dal serial monitor , come posso fare?
    Grazie in anticipo

    • @zeppelinmaker
      @zeppelinmaker  4 роки тому +1

      nel setup ci sono le istruzioni per settare la data. Lo fa solo se la trova già impostata. Togli l'if così che la forzi ad ogni upload

    • @eziobattaglia5612
      @eziobattaglia5612 4 роки тому

      @@zeppelinmaker grazie mille... Fatto è funziona... Veramente grazie anche per quello che fai... Ho incominciato con un kit arduino e fortunatamente ho trovato i tuoi tutorial che spiegano tutto in maniera capibile. Complimenti!!

  • @antonio82ba36
    @antonio82ba36 4 роки тому

    Buonasera Paolo, ho cominciato da poco con arduino e pian piano sto
    guardando tutti i tuoi video, li trovo molto interessanti soprattutto
    per il tuo modo di spiegare, semplice ma al contempo senza tralasciare
    nulla. Di questo video trovo interessante la funzione while(true): se ho
    capito bene con il not (!) diciamo si cheide che quando l'rtc non è
    connesso l'equazione è falsa, così si blocca il codice affinchè
    l'equazione non risulti vera l'rtc è connesso. Ho connesso anche un
    display 20x4 e noto che quando scollego l'rtc si blocca nel loop (questo
    dovrebbe essere il suo scopo) e lampeggia il display, su questo ho
    qualche dubbio. Forse lampeggia perchè l'rtc non è connesso e per questo
    lo sketch inizia daccapo? Quindi è come se la scheda arduino si
    riavviasse di continuo? E' così? Difatti poi collegando nuovamente il
    sensore, il display resta acceso fisso. Grazie mille.

  • @MrMaxbrax
    @MrMaxbrax 4 роки тому +1

    Ciao Paolo, complimenti per i tuoi video sempre molto chiari ed interessanti; ho un problema con lo sketch, ottengo l'errore: warning: invalid conversion from 'void*' to 'char*' [-fpermissive] in corrispondenza dell'istruzione char *res = malloc(5); puoi chiarirmi dove è il problema ? Grazie in anticipo

    • @diegomarchese9875
      @diegomarchese9875 3 роки тому +1

      Come hai risolto?

    • @andreadelorenzi5463
      @andreadelorenzi5463 3 роки тому

      Ciao ! per caso sei riuscito a risolvere ? ho lo stesso problema....

    • @alessandropalano7096
      @alessandropalano7096 3 роки тому +1

      Prova così: char *res = (char*)malloc(5);
      Se le mie memorie di C non mi ingannano dovrebbe funzionare

  • @JonathanUnexpected
    @JonathanUnexpected 5 років тому +1

    ciao la data e l'ora non mi vengono presi e proseguono sempre con lo stesso orario e presumo la stessa data.
    rimane sempre 2000/01/01 00:00:00
    come potrei ovviare a questo problema? grazie mille!

    • @zeppelinmaker
      @zeppelinmaker  5 років тому

      Controlla bene le connessioni. Se usi uno sketch i2cscanner, la scheda é rilevata?

  • @aaamarco6726
    @aaamarco6726 3 роки тому

    Buonasera Paolo quando faccio la verifica mi da errore: missing terminating " character. e mi evidenzia la riga :sprintf(res, "%02d"", n);
    qual è il problema dove ho sbagliato?
    grazie

    • @zeppelinmaker
      @zeppelinmaker  3 роки тому +1

      credo tu abbia messo 2 virgolette dopo la d

    • @aaamarco6726
      @aaamarco6726 3 роки тому

      @@zeppelinmaker grazie mille non mi ero accorto grazie.
      Marco

  • @aurelioimprota482
    @aurelioimprota482 4 роки тому

    ciao Paolo, scusa se ti disturbo, ho provato ad inserire altre funzioni nel loop oltre all'orologio e questo influisce nel funzionamento, come posso evitarlo???

  • @iw2jafudn445
    @iw2jafudn445 4 роки тому

    Usa un quarzo termostatato? È più preciso del classico DS1307 che fra estate e inverno sballa di parecchio.

  • @fly77mods
    @fly77mods 3 роки тому

    interessante la funzione pad..ma con char* res = malloc(5) dà errore invalid conversion from 'void*' to 'char*' che ho risolto con un casting a char* in questa maniera: char *res = (char*) malloc(5). Inoltre pare che la libreria di adafruit richieda anche l'aggiunta di #include al inizio dello sketch..almeno da me.

  • @iw2jafudn445
    @iw2jafudn445 4 роки тому

    Che comando si usa per leggere la temperatura?
    Grazie

  • @danielramazzina970
    @danielramazzina970 4 роки тому

    Ho già i pin scl e sda occupati dal display..devo usare gli stessi?

  • @giovannibellanca7989
    @giovannibellanca7989 3 роки тому

    Ciao Paolo, intanto grazie mille per tutto il tuo lavoro, sei sempre di grande aiuto.
    Ho seguito le tue istruzioni passo passo, ho addirittura copiato il tuo codice e l'ho provato, ma mi viene sempre fuori un messaggio di errore in cui dice:
    warning: invalid conversion from 'void*' to 'char*' [-fpermissive]
    char *res = malloc(5);
    Non riesco a capire il perché. ho cercato in diversi forum ma non ho trovato nulla.
    Riusciresti ad aiutarmi :D

    • @zeppelinmaker
      @zeppelinmaker  3 роки тому

      Che scheda stai usando? E' di tipo AVR? (cioè UNO, nano, mega?) se no ti va in errore! Con schede SAMD, ARM ecc ecc prova con:
      char res[5];

    • @giovannibellanca7989
      @giovannibellanca7989 3 роки тому

      @@zeppelinmaker un Arduino uno classico anche se volevo convertirlo in nano ma ho già capito che me lo sconsigli :D proverò con char res[5]. Ti aggiorno grazie

  • @luigi_com
    @luigi_com 5 років тому

    Tu hai messo una batteria ricaricabile o alcalina ?
    Ho sentito di certi problemi sulla ricarica, ma non ricordo bene

    • @zeppelinmaker
      @zeppelinmaker  5 років тому

      Alcalina

    • @luigi_com
      @luigi_com 5 років тому

      attento che forse tenta di ricaricarla (poi dipende dal modulo)

    • @D80-v7z
      @D80-v7z 5 років тому

      @@zeppelinmaker probabilmente è un errore mettere un'alcalina, per il semplice fatto che se il modulo ha la funzione di ricarica potrebbero succedere danni, mentre se si usa una ricaricabile al limite si scarica se il modulo non ha la funzione di ricarica e al massimo perdi l'orario.... ma eviti i possibili danni derivanti dal provare a ricaricare una batteria non ricaricabile!
      ciao!

    • @zeppelinmaker
      @zeppelinmaker  5 років тому

      @@D80-v7z Ciao. La batteria fornita non è ricaricabile e non mi pare ci sia un circuito di ricarica.

    • @D80-v7z
      @D80-v7z 5 років тому

      @@zeppelinmaker
      era più che altro solo un parere, e dalla mia esperienza ho capito che fra sapere e non sapere le ricaricabili... al massimo se non c'è circuito di ricarica si scaricano come le altre, ma le alcaline.... non si ricaricano e non bisogna nemmeno tentare di ricaricarle!

  • @gabrielecattazzo
    @gabrielecattazzo 3 роки тому

    ciao paolo ho provato a compilare ma mi dice che pad non è dichiarato...

    • @zeppelinmaker
      @zeppelinmaker  3 роки тому

      magari la libreria non è la medesima...

    • @gabrielecattazzo
      @gabrielecattazzo 3 роки тому

      @@zeppelinmaker esiste una libreria apposita per questa funzione?

  • @Daniele-oy7oq
    @Daniele-oy7oq 5 років тому

    Ciao.ma il ds3231 si può collegare a un PIN interrupt?

    • @zeppelinmaker
      @zeppelinmaker  5 років тому

      si è il pin sqw. Non tutte le librerie lo usano... Questa dovrebbe funzionare: github.com/SodaqMoja/Sodaq_DS3231

    • @Daniele-oy7oq
      @Daniele-oy7oq 5 років тому

      @@zeppelinmaker . grazie finalmente una libreria che funziona. Sarebbe bello se fai un video di come svegliare Arduino a determinata ora,ti sarei molto grato😉

  • @AC-fo3lt
    @AC-fo3lt 5 років тому

    Ciao. Nella funzione "now.dayOfTheWeek" l'rtc conta i giorno da 1 a 7 o da 0 a 6. Perché ho realizzato un timer settimanale e quando scrivo "now.dayOfTheWeek == 7" non esegue il comando

  • @btk8056
    @btk8056 4 роки тому

    Salve , ho un problemino....sprintf(res,"%02d", n); ---->quando compilo mi tira fuori l'errore : "n" was not declared in this scope

    • @zeppelinmaker
      @zeppelinmaker  4 роки тому

      pare che tu no nabbia definito la variabile n o che non sia visibile...

  • @fabiostradone4037
    @fabiostradone4037 5 років тому

    Ciao, volevo sapere se potevi realizzare un tutorial su come avviare una vecchia troncatrice a 220Vca con Arduino nano in modo che parta piano per poi arrivare a pieno regime.

    • @zeppelinmaker
      @zeppelinmaker  5 років тому

      Urca... mi pare un po' pericoloso. Dovresti usare un opto triac non zero crossing pilotatao in pwm.

    • @fabiostradone4037
      @fabiostradone4037 5 років тому

      @@zeppelinmaker grazie mille per la risposta, sempre molto disponibile.

  • @ddtech5065
    @ddtech5065 4 роки тому

    Hi ... u can help me....

  • @lavitaebella6561
    @lavitaebella6561 3 роки тому

    ma non mi funziona bene, mi da un ritardo di tipo 10 min, eppure l'ora del PC è esatta.

  • @antonio82ba36
    @antonio82ba36 4 роки тому

    Buonasera Paolo, ho cominciato da poco con arduino e pian piano sto
    guardando tutti i tuoi video, li trovo molto interessanti soprattutto
    per il tuo modo di spiegare, semplice ma al contempo senza tralasciare
    nulla. Di questo video trovo interessante la funzione while(true): se ho
    capito bene con il not (!) diciamo si cheide che quando l'rtc non è
    connesso l'equazione è falsa, così si blocca il codice affinchè
    l'equazione non risulti vera l'rtc è connesso. Ho connesso anche un
    display 20x4 e noto che quando scollego l'rtc si blocca nel loop (questo
    dovrebbe essere il suo scopo) e lampeggia il display, su questo ho
    qualche dubbio. Forse lampeggia perchè l'rtc non è connesso e per questo
    lo sketch inizia daccapo? Quindi è come se la scheda arduino si
    riavviasse di continuo? E' così? Difatti poi collegando nuovamente il
    sensore, il display resta acceso fisso. Grazie mille.

  • @antonio82ba36
    @antonio82ba36 4 роки тому

    Buonasera Paolo, ho cominciato da poco con arduino e pian piano sto
    guardando tutti i tuoi video, li trovo molto interessanti soprattutto
    per il tuo modo di spiegare, semplice ma al contempo senza tralasciare
    nulla. Di questo video trovo interessante la funzione while(true): se ho
    capito bene con il not (!) diciamo si cheide che quando l'rtc non è
    connesso l'equazione è falsa, così si blocca il codice affinchè
    l'equazione non risulti vera l'rtc è connesso. Ho connesso anche un
    display 20x4 e noto che quando scollego l'rtc si blocca nel loop (questo
    dovrebbe essere il suo scopo) e lampeggia il display, su questo ho
    qualche dubbio. Forse lampeggia perchè l'rtc non è connesso e per questo
    lo sketch inizia daccapo? Quindi è come se la scheda arduino si
    riavviasse di continuo? E' così? Difatti poi collegando nuovamente il
    sensore, il display resta acceso fisso. Grazie mille.

    • @zeppelinmaker
      @zeppelinmaker  4 роки тому

      Non ricordo il codice ma credo sia così. Sul fatto che il while con il not lo faccia bloccare, si, è corretto