GPS Clock Project – Introduzione

Tra i più recenti progetti sui quali stiamo lavorando io e Vincenzo al MUG figura un orologio che sincronizza l’orario con un segnale GPS. Praticamente mi ero accorto, nel tempo che sto in giro per la città nella mia macchina cercando di arrivare puntuale ai vari appuntamenti, che l’orologio della macchina non è mai in orario. Posso resettarlo a mano oggi e dopo pochi giorni è già sfasato di almeno un minuto. Forse alcune delle macchine più moderne hanno sistemi più sofisticati, ma mi sono chiesto se potevo fare qualche cosa per la mia macchina senza dover spendere chissà quanto per un prodotto di mercato. E ho cominciato a pensare come poter realizzare un orologio che si sincronizza con un orario atomico, preciso.

Atomic_clock[1]

Una soluzione è quella dei segnali radio che inviano l’orario in formato binario (vedi per esempio https://en.wikipedia.org/wiki/JN53DV,  https://www.meinbergglobal.com/english/glossary/time-signal-transmitter.htm, ecc…). Esistono in effetti i radio-orologi che si sincronizzano con i segnali radio.

ntpdiagram[1]

.

Un’altra soluzione è quella dei time server che utilizzano il protocollo NTP. Il sistema Linux utilizza il protocollo NTP per sincronizzare l’orologio di sistema di un computer.

gps-time-globaltime-for-android[1]

.

Un’altra soluzione che ho ritenuto abbastanza interessante è quella del GPS. Anche il GPS invia, oltre alle coordinate (latitudine e longitudine), un’informazione di orario che è un orario atomico, molto preciso. Per una soluzione di mobilità come può essere quella che serve all’interno della macchina, forse quella del GPS è la più interessante.

Ci siamo proposti allora di realizzare un orologio che sincronizza il proprio orario con un segnale GPS. Sta di fatto che avevo anche un modulo GPS bluetooth che avevo acquistato online qualche anno fa, quando avevo un telefono NOKIA E51 che non aveva il GPS integrato, ma sul quale avevo accesso alle mappe del mondo intero che avevo salvato in locale su una bella scheda di memoria da 8 GB (che all’epoca era tra le ultime uscite!). Con il GPS esterno che si collegava al telefono via bluetooth, potevo navigare ovunque nel mondo, senza dover acquistare uno smartphone molto costoso e senza acquistare un ulteriore navigatore Garmin o altro.

Oramai però che uno smartphone è diventato quasi un elemento imprescindibile soprattutto per uno smanettone sviluppatore maker, il modulo GPS bluetooth non aveva più utilità visto che tutti i smartphone hanno il GPS integrato.

Ebbene, ci siamo proposti di eseguire le seguenti operazioni per questo progetto:

  1. accedere ai dati seriali trasmessi dal modulo GPS, oppure accedere ai dati seriali inviati via il modulo bluetooth
  2. nel caso che si rendesse necessario accedere ai dati seriali via bluetooth, integrare un modulo HC-05 nel progetto che si associasse al bluetooth del modulo GPS e intercettase i dati seriali inviati dal modulo GPS via bluetooth
  3. utilizzare un Atmega 1284P (e conseguentemente riuscire a scriverci il bootloader e uploadare gli sketch possibilmente via FTDI)

Pertanto mi propongo di dividere questo tutorial in tre parti, iniziando praticamente al contrario rispetto al cammino che abbiamo fatto noi. Noi abbiamo iniziato smanettando con il modulo GPS, cercando di intercettare i dati seriali a monte; non riuscendo nell’impresa, ci siamo rassegnati ad intercettare i dati seriali inviati via bluetooth, smanettando pertanto con un modulo HC-05 collegato ad un’Arduino; una volta che siamo riusciti in questa impresa, e completando il codice Arduino per l’applicazione, ci siamo messi a smanettare con un Atmega 1284P. Il tutorial invece seguirà al contrario:

Comments are closed.