Creative Commons BY-NC-ND 2.5Questo sito e tutto il suo contenuto sono distribuiti sotto la licenza Creative Commons Attribuzione - Non Commerciale - Non opere derivate 2.5 Italia e con le condizioni d'uso definite nel disclaimer: siete pregati di leggere entrambi questi documenti prima di usufruire dei contenuti di questo sito. Per alcuni contenuti è necessaria una registrazione gratuita: non è necessario pagare e non è necessario accumulare punteggi per accedere agli articoli e scaricare i sorgenti. Basta solo essere onesti. Se volete che questo sito continui a rimanere attivo, a contribuire ogni giorno alla diffusione della cultura libera, non copiate il materiale per ripubblicarlo in altri luoghi : chi fa questo è solo un miserabile e un perdente. Se volete partecipare su settorezero e rendere le vostre idee, i vostri progetti, fruibili da tutti senza limitazioni, come dovrebbe essere in un paese civile e acculturato, potete farlo tranquillamente.

GPS + OLED display demo con chipKIT UNO32™

Autore: Giovanni Bernardo | Data pubblicazione: 21 giugno 2012
Categorie: chipKIT™ GPS PICmicro 32

Sfruttando il Pmod Shield UNO per chipKIT UNO32™ e la schedina Pmod compatibile che ho realizzato qualche tempo fa con il ricevitore GPS Globaltop FGPMMOPA6H ho preparato una demo che legge i dati provenienti dal ricevitore GPS e li riporta sul display del PMod OLED :

Il PMod Oled consente di avere a bordo un display OLED monocromatico (bianco su sfondo nero) da 128×32 pixel, con la piedinatura tipica dei PMods, quindi direttamente utilizzabile su schede Cerebot e sul PMod Shield UNO. Il display è lo stesso tipo che abbiamo già incontrato tempo fa sul Basic IO Shield, quindi vale tutto quello che è già stato detto in precedenza.

La demo è abbastanza semplice, per l’estrazione dei dati dal ricevitore GPS ho preso spunto da un lavoro di Gonzalez Martin apportando alcune modifiche. Il procedimento è semplice: si resta in ascolto sulla seriale in attesa di ricevere il carattere di nuova linea (line feed, 0x0A) dato che le frasi GPS terminano tutte con un carriage return e un line feed.

Si comincia quindi a memorizzare la frase GPS ricevuta in un buffer. Vengono controllati i primi 6 caratteri del buffer per assicurarsi che corrispondano alla stringa $GPRMC che identifica la frase GPS che ci interessa, nella quale sono contenuti data/orario in formato UTC, latitudine, longitudine e stato di acquisizione dei satelliti. Anzichè la frase $GPRMC alcuni preferiscono estrarre la $GPGGA che contiene anche il numero di satelliti, ma non contiene la data. Un elenco dettagliato delle frasi NMEA restituiti dai ricevitori GPS potete trovarlo qui, ma tenete conto che non tutti i ricevitori GPS possono tirare fuori tutte le frasi.

Se i primi 6 caratteri del buffer corrispondono alla stringa $GPRMC, si passa a memorizzare tutta la frase, salvando in un array a parte la posizione delle virgole che ci servirà per separare i vari pezzi che compongono la frase. La memorizzazione termina nel momento in cui incontriamo il carattere * che delimita la fine della stringa. A questo punto, conoscendo com’è strutturata la frase e la posizione delle virgole, estrarre i singoli componenti dal buffer è questione banale.

Mostro quindi i dati sul display OLED sfruttando le librerie della Digilent. Sul display, in basso a destra riporto un “NO” se lo stato di acquisizione non è “fixed”, e un OK se lo è. I 4 led inclusi sul Pmod shield si accendono e spengono in sequenza con velocità più bassa se lo stato non è fixed. I dati prelevati dal GPS sono riportati tal quale senza conversioni.

Note sul montaggio

Per questa demo avete bisogno di un chipKIT UNO32, del chipKIT Pmod Shield UNO, del PMod OLED e di un ricevitore GPS compatibile Pmod. Le librerie per il display OLED le potete scaricare nella pagina ufficiale. Le librerie vanno copiate in una cartella “libraries” presente nella cartella degli sketch (non la cartella libraries dell’IDE!).

Localizziamo quindi la cartella dove vengono salvati gli sketch. Tale cartella viene impostata in MPIDE (così come nell’ide di Arduino) dal menù File -> Preferences. Generalmente è Documenti\mpide. Bene, andiamo in questa cartella e creiamo una cartella “libraries” qualora non fosse già presente e copiamo all’interno la cartella OLED.

Il Pmod OLED va montato sull’header JC e il ricevitore GPS, dotato di scheda PMod-compatibile, va montato nella fila superiore dell’header JD. Da MPIDE bisogna selezionare la board-variant chipKIT UNO32 with Pmod shield (menù tools->board)

Downloads

chipKIT GPS + OLED demo (17)

Links

Articoli che potrebbero interessarti

L'articolo ti è piaciuto o ti è stato utile per risolvere un problema? SettoreZero è realizzato soltanto contenuti originali: tutti gli articoli sono curati con passione dagli autori e nulla viene copiato da altri siti. Supporta e mantieni in vita SettoreZero con una donazione: basta soltanto un caffè o una birra. Puoi supportare SettoreZero anche con uno dei progetti elencati nella sezione servizi o partecipare anche tu con un tuo articolo/progetto personale.

Se desiderate che SettoreZero continui a rimanere gratuito e fruibile da tutti, non copiate il nostro materiale e segnalateci se qualcuno lo fa.

Puoi andare alla fine dell'articolo e lasciare un commento. I trackback e i ping non sono attualmente consentiti.

  1. Ancora nessun commento.

Devi essere collegato per lasciare un commento.

  1. Ancora nessun trackback
settorezero.com e il logo Zroid™ ©2007÷2012 Giovanni Bernardo - E' vietata la copia e la distribuzione anche parziale dei contenuti di questo sito web senza l'esplicito consenso dell'autore.
I contenuti di settorezero.com sono distribuiti sotto una licenza Creative Commons Attribuzione-Non Commerciale-Non Opere derivate 2.5 Italia a cui vanno aggiunte le condizioni d'uso definite nel disclaimer.
settorezero.com e tutti i suoi contenuti sono tutelati dalla legge sul diritto d'autore per cui i trasgressori sono perseguibili a norma di legge.
Creative Commons BY-NC-ND 2.5
Il tema di questo sito è basato sul tema Fusion per wordpress, realizzato originariamente da digitalnature e fa uso del plugin Wassup per il computo delle statistiche. Per contattare l'autore siete pregati di utilizzare la sezione contatti.
Per essere aggiornato con tutte le novità di settorezero.com seguici anche anche su Facebook Twitter Tumblr Blogspot Youtube.