Realizziamo un GPS tracker con Arduino

progetti Arduino

La progettazione di un dispositivo GPS tracker richiede diverse competenze, tra cui sicuramente conoscenze di elettronica, programmazione, comunicazioni wireless e progettazione meccanica. Tuttavia, grazie alla disponibilità di schede dotate dei moduli Ublox NEO-6M, anche per i makers è possibile realizzare un GPS tracker utilizzando semplicemente una board Arduino in maniera estremamente veloce ed economica. In questo articolo, andremo ad interfacciare un Arduino MKR Wi-Fi 1010 con un modulo NEO-6M illustrando tutti i passaggi e le peculiarità del modulo GPS. Ovviamente, la scheda Arduino può essere diversa e ognuno può utilizzare la soluzione più adatta alle proprie esigenze.

Introduzione

Ormai siamo abituati ad avere l’acquisizione GPS in qualsiasi dispositivo mobile e le precisioni raggiunte sono notevoli, questo perché la tecnologia ha fatto passi da gigante e le soluzioni sono divenute economicamente accessibili a chiunque. Tuttavia, la progettazione di un GPS tracker (o semplicemente di una funzionalità di posizionamento in un dispositivo mobile) richiede l’applicazione di diverse competenze trasversali tra di loro in cui ritroviamo sicuramente conoscenze di elettronica, di programmazione, di tecnologia satellitare, di comunicazioni wireless e infine di progettazione meccanica per la giusta integrazione tra le parti. Tuttavia, ecco alcuni passaggi generali che possono essere utili per progettare un GPS tracker:

  • Definire i requisiti: prima di iniziare a progettare, è necessario definire i requisiti del tracker, come le funzionalità che si desidera includere, le dimensioni, l'autonomia della batteria, la resistenza all'acqua, il range di comunicazione, ecc.
  • Scegliere il modulo GPS: scegliere il giusto chip GPS è importante per garantire una precisione di posizionamento elevata e una bassa potenza di elaborazione. Ovviamente, la scelta del modulo e di tutta l’elettronica impatta decisamente sul costo finale del prodotto. Scegliere il microcontrollore: è il cervello del tracker e deve essere in grado di gestire i dati del GPS, le comunicazioni wireless, le interfacce utente, la gestione della batteria, ecc.
  • Scegliere il modulo wireless: il modulo wireless è necessario per inviare i dati di posizione al server o al dispositivo dell'utente. Si può scegliere tra diverse opzioni, come il modulo GSM, il modulo LoRa, il modulo Sigfox, ecc. Con l'avvento dell'IoT ormai qualsiasi piattaforma di sviluppo è dotata di tecnologia di comunicazione wireless e, nella stragrande maggioranza dei casi, è possibile espandere le funzionalità con moduli aggiuntivi ad hoc.
  • Progettare l'alimentazione: la progettazione della sezione di alimentazione per una scheda è un passaggio fondamentale in quanto solo con un sezione circuitale efficiente ed affidabile è possibile garantire un'autonomia della batteria a lungo termine. La tipologia di alimentazione e le caratteristiche non sono funzione solo della sorgente (batterie, pannelli fotovoltaici e altro) ma soprattutto anche delle esigenze elettriche dei componenti selezionati in precedenza.
  • Scegliere un involucro: la selezione, o meglio, la progettazione del box è fondamentale per garantire la protezione del dispositivo progettato. Ad esempio, in molti casi l'involucro dovrà proteggere il nostro dispositivo dall'acqua e dalla polvere affinché possa continuare a funzionare correttamente e garantirne la durata.
  • Scrivere il software: sviluppare il software per il tracker, come il firmware del microcontrollore e l'applicazione del server, richiede conoscenze di programmazione e di comunicazioni wireless.
  • Testare il dispositivo: testare il tracker in diverse condizioni, come in ambienti esterni, al chiuso, in movimento, ecc., è necessario per valutare la sua affidabilità e la precisione di posizionamento.

Vi ho appena elencato solo alcuni dei passaggi fondamentali da tenere in considerazione se si desidera progettare un GPS tracker. I passaggi riportati sono fondamentali e si applicano alla progettazione di un qualsiasi dispositivo tecnologico. Tuttavia, è importante ricordare che la progettazione di un prodotto così complesso richiede competenze specialistiche e, se non si ha familiarità con l'elettronica, la programmazione e la progettazione meccanica, è consigliabile rivolgersi ad un professionista esperto. In questo articolo, salteremo sicuramente la definizione dei requisiti del nostro modulo e ci concentreremo su un progetto che combina un modulo GPS caratterizzato da un ottimo rapporto costo / prestazioni e una scheda Arduino.

Dunque, la dotazione hardware per questo è data dalla seguente lista:

  • Arduino MKR Wi-Fi 1010. In alternativa, potete utilizzare anche modelli diversi in funzione delle vostre esigenze e del risultato finale che desiderate ottenere.
  • Scheda dotata di modulo ublox NEO-6M. Io ho trovato disponibile su Amazon la scheda GY-NEO6MV2 dotata anche di antenna ceramica ma in circolazione ce ne sono di diverse tipologie.

La scheda Arduino

La scheda Arduino MKR Wi-Fi 1010 (vedi Figura 1) integra l’interconnessione Wi-Fi e Bluetooth concepita per lo sviluppo di progetti di Internet of Things in maniera semplice ed immediata. La scheda è dotata di un Arm Cortex-M0 che si interfaccia con un chipset per le comunicazioni wireless. Le caratteristiche tecniche complete della scheda sono:

  • Microcontroller SAMD21 Cortex®-M0+ 32bit low power ARM MCU
  • Modulo radio u-blox NINA-W102
  • Alimentazione (USB/VIN) 5 V
  • Tensione operativa 3.3 V
  • Secure Element ATECC508
  • Digital I/O Pins 8
  • PWM Pins 13 (0..8, 10, 12, 18/A3, 19/A4)
  • Comunicazioni: UART, SPI, I2C
  • Analog Input Pins 7 (ADC 8/10/12 bit)
  • Analog Output Pins 1 (DAC 10 bit)
  • External Interrupts 10
  • CPU Flash Memory 256 kB (internal)
  • SRAM 32 kB
  • LED_BUILTIN 6
  • USB Full-Speed USB Device and embedded Host
  • Dimensioni fisiche: 61.5 mm x 255 mm/peso 32 g
  • Completa compatibilità alla piattaforma Arduino Cloud
Arduino Nano MKR WiFi 1010

Figura 1: Scheda Arduino Nano MKR WiFi 1010

Modulo GPS

Il modulo u-blox NEO-6M (vedi Figura 2) è un ricevitore GPS con un ottimo rapporto tra prestazioni e costo, in grado di determinare la posizione con precisione e affidabilità. È un modulo a basso costo e a basso consumo, che può essere facilmente integrato in progetti di robotica, droni, automotive, agricoltura, applicazioni di navigazione e tanto altro ancora. Il modulo NEO-6M è dotato di un chip GPS prodotto dalla u-blox che utilizza la tecnologia di ricezione del segnale satellitare per determinare la posizione esatta. Il chip è in grado di ricevere solo i segnali GPS, quindi non osserverà le costellazioni come GLONASS e Galileo. Per chi desidera aumentare la precisione e l'affidabilità della posizione può ricorrere ai moduli più recenti della ublox come il NEO-M9N che consente l’osservazione delle seguenti 4 costellazioni di satelliti BeiDou, Galileo, GLONASS, GPS.

[...]

ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2092 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend