Sommario:
- Passaggio 1: piuma di Adafruit
- Passaggio 2: il mio GPS FeatherWing
- Passaggio 3: lettore di schede MicroSD
- Passaggio 4: antenna GPS
- Passaggio 5: mettere tutto insieme
- Passaggio 6: utilizzo
Video: Old Man e Arduino GPS: 6 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Quindi questo Lazy Old Geek (L. O. G.) non è stato in grado di fare un Instructable per alcuni anni. A 70 anni, il cervello non funziona più come prima ed è difficile concentrarsi su grandi progetti, figuriamoci provare a scriverne.
(Sto partecipando all'Arduino Contest.)
Ma con l'aiuto del mio amorevole cane, Sadie e della mia macchina CPAP, ci proverò. Sadie è il mio antidepressivo, mi tiene su di morale e camminiamo ogni mattina. Il mio CPAP mi aiuta a dormire meglio e quindi a pensare un po' meglio.
GPS: Beh, sono sempre stato interessato al GPS. La maggior parte dei GPS commerciali può individuare solo fino a 2-3 metri. Mio cugino, che è un grande agricoltore, dice che la sua attrezzatura può fare molto meglio. So che uno degli agricoltori locali usa i suoi trattori John Deere per piantare i raccolti nei solchi usando il GPS personalizzato.
Passo molto tempo a navigare in Internet e ho letto di GPS a prezzi ragionevoli che possono misurare fino a centimetri! Incredibile. Dal punto di vista pratico, non ne ho davvero bisogno. Quando vado a fare passeggiate non ho davvero bisogno di sapere esattamente dove mi trovo. Anche in viaggio, uso il mio smartphone con Android Auto per farmi sapere dove mi trovo.
Ma sono anche un technogeek, quindi ho iniziato a guardare i GPS per hobbisti. Uno dei più popolari era Adafruit Ultimate GPS.
www.adafruit.com/?q=ultimate
Passaggio 1: piuma di Adafruit
Bene, una delle versioni di Adafruit Ultimate GPS è Featherwing. Ora non ho mai sentito parlare della serie Adafruit Feather, quindi più surf. Wow, Adafruit e Lady Ada hanno sviluppato un sacco di microcontrollori e accessori basati su una piccola piattaforma chiamata Feather. Per gli Arduino, è simile alla piattaforma Arduino UNO di base ma più piccola e più aggiornata. Adafruit ha anche sviluppato tutto il software in modo che potesse essere compatibile con il software Arduino.
Apprezzo molto il lavoro che Adafruit e Lady Ada hanno fatto per i fai-da-te e mi è piaciuto molto il Feather M4 Express:
www.adafruit.com/product/3857
A differenza dell'Arduino standard con clock a 16 mHz, è superveloce con clock a 120 mHz. È 3,3 V che è praticamente il nuovo standard per la nuova elettronica fai-da-te. È compatibile con Arduino che conosco abbastanza bene e può anche essere programmato con Circuit Python (la versione personalizzata di Python di Adafruit). Sono vecchio e faccio fatica a imparare cose nuove, ma questo mi darebbe la possibilità di espandermi.
Quindi ne ho ordinato uno usato su ebay e ne ho ordinato uno anche da Mouser. Amazon, Mouser e DigiKey portano alcuni dei prodotti Adafruit. Mi sarebbe piaciuto acquistarne uno direttamente da Adafruit, ma all'epoca non avevano tutte le FeatherWings che volevo ottenere. In questo caso è più economico ordinare molte cose in una volta, quindi non devi pagare altrettanti costi di spedizione. Nel mio caso la spedizione di tre articoli costa quanto uno.
PROBLEMA: connettore batteria JST2.0 su M4express. Molto tempo fa ho comprato un mucchio di connettori di alimentazione JST2.0 come l'immagine. Sfortunatamente, il rosso/nero è l'opposto di quello che usa l'M4express, e ho molte batterie e progetti che usano questa polarità.
Oh bene. È abbastanza facile rimuovere i fili dal connettore e cambiare le loro posizioni. Quindi l'ho fatto con diverse batterie e un caricabatterie LiPo. Ho messo dello smalto rosso su di loro, quindi spero di non confonderli.
Per M4express, ho scelto di utilizzare le intestazioni femminili con pin lunghi. Guarda l'immagine. Ciò ha permesso a FeatherWings come il mio GPS di collegarsi alla parte superiore. Inoltre, l'M4express può essere collegato a FeatherWings come il TFT da 3,5 pollici che ho acquistato.
Per questa applicazione, i pin non vengono utilizzati, quindi ho avuto una piccola Protoboard e ho collegato l'M4express a questa in modo che i pin non siano esposti e non possano piegarsi quando lo porto in giro.
Passaggio 2: il mio GPS FeatherWing
Adafruit Ultimate GPS Featherwing
www.adafruit.com/product/3133
Una delle grandi cose che mi piace di Adafruit è che documentano pesantemente i loro prodotti, presumo che gli hobbisti possano costruirne uno proprio. Ora l'M4express ha un microcontrollore SMD che è troppo piccolo per lavorare con un vecchio come me, quindi ne ho acquistati un paio invece di provare a farne uno. Ma il FeatherWing Ultimate GPS è un po' meglio, quindi ho deciso di provare a crearne uno mio. Quindi ho ordinato un modulo GPS MTK3339 MediaTek (GlobalTop) da Ebay o Aliexpress (non ricordo). A volte si chiama LadyBird1.
Quindi, usando Eagle Cadsoft, (ora Autodesk) software ho copiato lo schema di Adafruit e l'ho modificato. Innanzitutto posso realizzare solo PCB a lato singolo e in secondo luogo non ho molti componenti SMD, quindi l'ho semplificato.
GPS_MTK3339.zip
Quindi ho realizzato il PCB usando il mio metodo di trasferimento del toner:
www.instructables.com/id/Vinyl-Sticker-PCB-How-To/
PROBLEMI: Come a volte ricordo, sono Vecchio ed ecco alcuni problemi che ho. Per lo più non riesco a vedere i primi piani così bene, quindi uso uno di questi strumenti per hobby e una lente d'ingrandimento illuminata (vedi foto) che ho ricevuto da Aliexpress. Uso un saldatore Aoyue in modo da poter controllare la temperatura e scegliere le punte di saldatura.
Nonostante tutto questo, ho avuto molti problemi a saldare i pin del modulo GPS e il connettore dell'antenna u.fl. Inoltre, uso uno strumento clone di Dremel per praticare i fori. Non sono mai stato in grado di praticare fori diritti, ma fortunatamente sono riuscito a far funzionare tutto.
A proposito, ho ordinato alcune perle di ferrite SMD 0805 ma non le ho mai ricevute, quindi aspettavo ancora un po '. Nel frattempo ho saldato un filo attraverso i contatti per farlo funzionare. Il tallone di ferrite dovrebbe ridurre il rumore sul pin di tensione al chip GPS.
Passaggio 3: lettore di schede MicroSD
Ok, quindi il GPS ha funzionato abbastanza bene, ma ha funzionato solo quando era collegato a un computer in modo da poter vedere cosa sta succedendo. Per essere più utile, ho bisogno di qualcosa che non sia collegato a un computer, come un display o una scheda micro SD. Per ora volevo memorizzare le informazioni GPS. Adafruit ha alcune FeatherWing con schede microSD, come il display da 3,5 pollici e la scheda RTC. Ma non volevo impilare FeatherWings, quindi ho copiato il circuito microSD dalla scheda RTC e ne ho creato uno mio.
Dal momento che non volevo impilare un'altra FeatherWing, ho escogitato un piano per collegarla al mio PCB GPS. Dato che il circuito è piuttosto semplice, l'ho realizzato con cinque pad in modo da poter collegare i cavi a questo PCB e alla mia scheda GPS.
MyDataLogger.zip
Quindi, per collegarlo, l'ho posizionato sotto il mio PCB GPS, saldato su alcuni fili avvolti e li ho collegati al mio PCB GPS. Per alcuni ho tagliato parte dell'isolamento sui pin dell'intestazione, in modo da poter saldare i fili senza interferire con il montaggio del PCB sull'M4express. Dovresti essere in grado di vederlo nella foto. Poi ho usato della colla Gorilla per incollare accuratamente le due carte insieme. Fai molta attenzione mentre Gorilla Glue si espande.
PROBLEMI: Bene, questo è in realtà con le schede microSD. Ho ordinato alcune schede microSD su ebay. Ho scoperto che c'è una differenza tra le semplici schede microSD e le schede microSDHC. Innanzitutto, alcuni degli adattatori più vecchi come me (probabilmente) non possono leggere le versioni HC. In secondo luogo, le versioni microSDHC vanno da 4 GB a 32 GB. C'è un'altra versione chiamata microSDXC con 64 GB e dimensioni maggiori. Bene, ho ricevuto alcune schede da 64 GB ma non sono riuscito a leggerle con i miei adattatori. Non riuscivo a capire cosa c'era che non andava. Ma dopo aver scoperto le differenze, ho pensato che forse i miei adattatori non potevano leggere la versione HC, ma ulteriori ricerche hanno detto che la versione HC ha un massimo di 32 GB e, come mostra l'immagine, questi sono etichettati come microSDHC 64 GB. Anche se Kingston dice che questi sono falsi. Ho contattato il venditore e mi ha prontamente rimborsato. Puoi trovare molto su Internet sulle schede microSD false.
Ora, anche se sono falsi, non significa che non funzioneranno. Sto aspettando un paio di nuovi adattatori che dovrebbero essere in grado di leggere alcune schede HC, inoltre ho ordinato alcune schede HC diverse.
Passaggio 4: antenna GPS
Un altro vecchio disastro. Così ho ordinato un'antenna GPS attiva e un adattatore da RP-SMA a u.fl da ebay/Aliexpress. A proposito, avevo dimenticato di avere già uno di questi adattatori. Ad ogni modo, alla fine ho inserito l'antenna e non si adattava all'adattatore. Ora, penso che molti di questi fornitori cinesi non capiscano davvero cosa stanno vendendo. Ad esempio, molti non identificano i connettori sulle antenne e alcuni non lo mostrano nemmeno chiaramente nelle immagini. Bene, penso che quello che ho ricevuto mostrasse il connettore abbastanza bene ma non lo identificasse. Bene, dopo alcune ricerche, io (credo) di averlo identificato come un connettore MCX. Ad ogni modo, ho ordinato un'altra antenna e alla fine l'ho ricevuta e non si adattava neanche. Penso di nuovo che sia principalmente colpa mia, anche se c'è molta confusione tra SMA e RP-SMA maschio e femmina e spine e jack.
La linea di fondo è che in questo momento non ho un'antenna funzionante separata.
ATTENZIONE: i connettori u.fl su Adafruit e la mia scheda GPS sono molto fragili e si consiglia di scaricare fisicamente la connessione.
Passaggio 5: mettere tutto insieme
Adafruit ha alcuni tutorial eccellenti su come ottenere M4express in modo che funzioni con Arduino.
Il mio schizzo Arduino è allegato:
GPSDatalogger.zip
Fa quanto segue:
Scrive le stringhe GPS in un file sulla scheda microSD chiamato data.nmea
Una volta al minuto, scrive anche altri dati come tempo, #satelliti, qualità del segnale, velocità in un file chiamato misc.txt. Ho apportato alcune modifiche, come convertire approssimativamente l'ora standard della montagna e i nodi in mph.
Entrambi i file sono file di testo.
A proposito, ho provato a fare alcune cose con Circuit Python. Sono stato in grado di eseguire gli esempi ma sembrava avere qualche problema con l'invio di comandi al modulo GPS. Potrebbe rivisitare in futuro.
Passaggio 6: utilizzo
I GPS usano qualcosa chiamato dati effemeridi e almanacco per calcolare la posizione. Alla prima accensione, l'elaborazione di queste informazioni richiede un po' di tempo. Questo potrebbe richiedere alcuni minuti. Bene, il modulo GPS MTK3339 ha una batteria di riserva per memorizzare queste informazioni. Sto ancora immaginando come funziona, ma quello che faccio è circa 5 minuti prima della nostra passeggiata, collego il mio M4express/GPS al PC senza la scheda microSD. Quando, mi preparo per partire, lo scollego, inserisco la scheda microSD e l'alimentazione con una batteria e parto.
Problema: penso di aver danneggiato uno dei miei moduli M4express probabilmente con l'elettricità statica. Quando è collegato a un computer, il LED di stato di carica lampeggia. (L'M4express ha un circuito caricabatteria LiPo). Bene, immagino che il circuito del caricabatterie non funzioni, anche se non l'ho verificato. Ad ogni modo, oltre al LED lampeggiante, sembra funzionare bene sia sul computer che a batteria, non lampeggia quindi ci convivo.
Google Earth Pro
Uno dei motivi per cui ho creato il file nmea è per poterlo utilizzare con Google Earth Pro. Rimuovo la scheda microSD dal modulo GPS, la inserisco in uno dei miei adattatori e la collego al computer.
Per utilizzare, avvia Google Earth Pro, seleziona (FILE)(APRI). Accanto alla casella File, c'è una selezione per i tipi di file. Selezionare (GPS). Sfoglia per trovare il file data.nmea e aprilo.
Si apre un'altra finestra. Seleziono tutto Crea tracce KML, Crea stringhe di linea KML, Regola le altitudini all'altezza del suolo.
Il primo esempio mostra un campione. La ripresa della linea blu è un dato errato, probabilmente rumore.
Nel secondo esempio, c'è un grande fienile di metallo. I binari blu normalmente hanno frecce che mostrano la direzione di marcia, ma intorno al fienile si trasformano in quadrati. Presumo che questa sia una perdita di segnale poiché non abbiamo camminato attraverso il fienile ma siamo andati lungo la parte superiore del fienile.
Il misc.txt può essere letto da Excel come file delimitato da virgole (o come file di testo). Vedi allegato per un esempio preso in un'auto durante la guida.
Le cose che ho notato è che Latitudine e Longitudine erano a molti decimali, non so quanto sia accurato. La velocità sembra funzionare. Di solito durante le mie passeggiate, Satellites è intorno alle 10, in macchina erano 7 che fanno perché a causa del tetto in metallo. L'HDOP in macchina sembrava più alto in macchina. Durante le passeggiate era più intorno a 1 o meno (meglio).
Non capisco Angolo. Per un tratto in cui la Latitudine è rimasta la stessa, penserei che l'angolo sarebbe 0, 90, 180 o 270 e non 66.
Conclusioni: sembra funzionare abbastanza bene. Penso che l'M4express sia molto più veloce dell'Atmega328s a cui sono abituato. Probabilmente può eseguire un filtraggio del rumore per eliminare alcuni dei problemi di traccia NMEA senza incasinare le frequenze di campionamento di un secondo. Probabilmente non mi preoccuperò. Uno dei miei progetti futuri sarebbe quello di fare un "sondaggio". Vivo in una campagna con molti campi. A volte mi piacerebbe sapere quanti acri ci sono in un campo. Probabilmente potrei usare il mio GPS con il mio touchscreen da 3,5 pollici per quell'applicazione.
Voglio anche vedere se un'antenna esterna fa molta differenza. Ho notato che alcune delle mie tracce NMEA non sono esattamente dove dovrebbero essere.
A proposito, l'MTK3339 non è più preciso di altri GPS come uBlox.
Un altro progetto è che ho acquistato alcuni moduli GPS L80 che sembrano essere più economici dell'MTK3339 ma dovrebbero essere sostanzialmente la stessa cosa. Forse sono cloni? Un grande vantaggio per me è che hanno una spaziatura di 0,1 sui pin, con cui è molto più facile lavorare.
Consigliato:
Localizzatore GPS per auto con notifica SMS e caricamento dati Thingspeak, basato su Arduino, automazione domestica: 5 passaggi (con immagini)
Localizzatore GPS per auto con notifica SMS e caricamento dati Thingspeak, basato su Arduino, automazione domestica: ho realizzato questo localizzatore GPS l'anno scorso e dato che funziona bene lo pubblico ora su Instructable. È collegato alla presa degli accessori nel mio bagagliaio. Il localizzatore GPS carica la posizione dell'auto, la velocità, la direzione e la temperatura misurata tramite un dato mobile
Telecomando wireless con modulo NRF24L01 da 2,4 Ghz con Arduino - Nrf24l01 Ricevitore trasmettitore 4 canali / 6 canali per quadricottero - Elicottero Rc - Aereo RC con Arduino: 5 passaggi (con immagini)
Telecomando wireless con modulo NRF24L01 da 2,4 Ghz con Arduino | Nrf24l01 Ricevitore trasmettitore 4 canali / 6 canali per quadricottero | Elicottero Rc | Aereo radiocomandato con Arduino: per far funzionare un'auto radiocomandata | Quadricottero | Drone | Aereo RC | Barca RC, abbiamo sempre bisogno di un ricevitore e trasmettitore, supponiamo che per RC QUADCOPTER abbiamo bisogno di un trasmettitore e ricevitore a 6 canali e quel tipo di TX e RX è troppo costoso, quindi ne faremo uno sul nostro
Come smontare un computer con semplici passaggi e immagini: 13 passaggi (con immagini)
Come smontare un computer con semplici passaggi e immagini: questa è un'istruzione su come smontare un PC. La maggior parte dei componenti di base sono modulari e facilmente smontabili. Tuttavia è importante che tu sia organizzato al riguardo. Questo ti aiuterà a non perdere parti e anche a rendere più facile il rimontaggio
Orologio delle previsioni del tempo con Old Alarm e Arduino: 13 passaggi (con immagini)
Orologio delle previsioni del tempo con Old Alarm e Arduino: avevo una sveglia rotta in giro e ho avuto l'idea di convertirla in orologio e stazione di previsioni del tempo. Per questo progetto avrai bisogno di: Vecchia sveglia circolare Modulo sensore Arduino Nano BME280 ( temperatura, umidità, pressione) display LCD
Arduino Old Dice: 10 passaggi (con immagini)
Arduino Oled Dice: questo istruttivo parla di come puoi costruire un dado elettronico molto carino usando un display oled e un Arduino uno o simili. All'inizio di questo progetto ho deciso che dopo che il prototipo era finito volevo costruire un personalizzato fatto