RTC

Arduino come utilizzare l’RTCC MCP7940N

Accedere ai registri dell’MCP7940N usando Arduino

Molti tutorial sull’utilizzo di un RTCC (Real Time Clock and Calendar) con Arduino riguardano l’integrato DS1307 in quanto la sua diffusione è data dalla disponibilità di diverse librerie, dal costo contenuto e dalla sua integrazione in numerose shield. Nonostante ciò sul mercato esistono molti altri dispositivi interessanti che svolgono funzioni aggiuntive e hanno precisioni molto più elevate riguardo al conteggio del tempo.

Mi sono trovato a realizzare dei progetti che come specifica richiedevano una alimentazione di 3,3V, dato che il DS1307 lavora tra i 4,5V e i 5,5V ho dovuto ripiegare su un altro rtcc. Quello che ho scelto è l’MCP7940N prodotto da Microchip. Nonostante non sia disponibile la versione PDIP ho scelto questo integrato perché oltre a lavorare con tensione di alimentazione di 3,3V ha alcune altre funzioni interessanti come la possibilità di impostare due allarmi e la possibilità di calibrare l’orologio per poter aumentare la sua precisione nel conteggio del tempo.

Continua a leggere

Arduino gps ottenere coordinate geografiche e orario

Come utilizzare un ricevitore gps con Arduino

Il ricevitore GPS (Global Positioning System) è oggi un dispositivo alla portata di tutti, dal costo contenuto e dal semplice utilizzo. Questo articolo vuole essere una guida introduttiva all’interpretazione dei dati di posizione forniti dal ricevitore gps, senza utilizzare librerie esterne. Ho utilizzato una scheda Arduino/Genuino UNO e il modulo Adafruit Ultimate GPS Breakout v3 (vedi l’articolo su Amazon).

arduino Gps

Il modulo ha una sensibilità di ben -165dBm (in tracking), questo significa che riesce a rilevare segnali di 1.25nVolt, ha un refresh di 10 Hz e permette di ‘inseguire’ 22 satelliti.

Questo dispositivo rende semplice la gestione del tracking dei satelliti ed del calcolo della posizione. I dati vengono restituiti sul canale seriale TTL, alla frequenza di 1Hz. E’ sufficiente collegarsi alla seriale per poter leggere i dati. I dati principali sono quelli di posizione (espressa in Latitudine e Longitudine) la quota e l’orario zulu ma sono presenti anche altre informazioni relative ai satelliti utilizzati per il fix.

Continua a leggere

Promemoria alternativo con Arduino e RTC

Come realizzare un simpatico gadget per ricordarci delle date importanti

Se anche tu hai difficoltà a ricordare le date degli appuntamenti e sei un tipo creativo e non ti accontenti dei classici promemoria via cellulare, tablet o computer, ma vuoi realizzare qualcosa di insolito, puoi sfruttare la tua passione per l’elettronica e la tua voglia di costruire per realizzare questo progetto di promemoria con Arduino.

Avendo già le basi per poter lavorare con l’integrato RTC DS1307 puoi sfruttare la ram non volatile di questo chip per memorizzare circa 18 date e permettere, ad Arduino, di avvisarti tramite display, led rgb, twitter o quello che ti viene in mente!!

L’idea è quella di utilizzare l’RTC per memorizzare il dato di tempo e sfruttare i 56 byte di flash ram aggiuntive per memorizzare le date degli avvenimenti. Arduino ha il compito di comparare le date e di agire di conseguenza pilotando le uscite digitali.

Parto dal presupposto che la data e l’ora del RTC sia già stata impostata come spiegato nel precedente tutorial. Continua a leggere

Usare il modulo RTC DS1307 con Arduino

Cosa devi sapere per usare un real time clock DS1307

Considero molto utile avere un dispositivo che permetta di tenere traccia del tempo e della data, poiché in molti progetti, come quelli della domotica, richiedono un sistema per recuperare queste informazioni. Avere un circuito che mi garantisca, anche in mancanza di alimentazione, un riferimento temporale sicuro è fondamentale.

DS1307 real time clock RTC pin function

Tipicamente, l’integrato che viene utilizzato maggiormente, in campo hobbistico, è il DS1307. Le sue caratteristiche tecniche sono le seguenti Continua a leggere

Usare l’RTC della Fez Panda II

Come gestire il real time clock della Fez Panda II

Solitamente quando ho il bisogno di avere un riferimento temporale, che risulta ininfluente dalle mancanze di alimentazione o da riavvi casuali della scheda, utilizzo un RTC esterno, tipicamente un DS1307. La soluzione fornita dalla Fez Panda II impiega un rtc on board che necessita solamente di una batteria tampone esterna, tipicamente quella utilizzata nei computer da 3.3Vdc.

La prima operazione da effettuare, dopo aver collegato la batteria tampone tra il pin BAT e il pin GND, è l’inizializzazione dell’RTC con una data ed un ora valida:

[csharp]
//Setto la data e l’ora per l’RTC
//Anno, Mese, Giorno, Ora, Minuti, Secondi
RealTimeClock.SetTime(new DateTime(2012, 02, 23, 12, 0, 0));
[/csharp]

questo settaggio non agisce automaticamente sulle impostazioni di data ed ora della classe DateTime, ma è soltanto il metodo per inizzializzare l’RTC.

Per poter leggere la data ed il tempo è necessario utilizzare la classe Utility per settare il local time con quello dell’RTC

[csharp]
//Leggo la data ed il tempo dall’RTC e lo assegno al local time
Utility.SetLocalTime(RealTimeClock.GetTime());
[/csharp]

Adesso la classe DateTime ha come riferimento la data e l’ora dell’RTC, posso richiamarla utilizzando questo esempio

[csharp]
//visualizzo a console la data e l’ora corrente
Debug.Print(DateTime.Now.ToString());
[/csharp]

Queste poche linee di coidce permettono di gestire l’RTC on board della Fez Panda II e di implementare ne progetti un sistema basato sul tempo.

Rimani aggiornato

La mia lista dei prodotti
Compra su Amazon Italia

Compra su Amazon Italia
Sondaggi

Arduino.cc vs Arduino.org

Visualizza risultati

Loading ... Loading ...
Seguimi su Twitter