Ciao a tutti!
Sono nuovo del forum e di Arduino e visto che dannarmi la vita è la mia occupazione preferita ho ben pensato di giocare con un gps, il NEO 6M della ublox (ottimo per cominciare no?!).
Il suddetto GPS mi serve per vedere la velocità reale di un mezzo e fare un confronto con la velocità teorica (misurata sulle ruote con bloccaggio del differenziale) e scoprire così quanto questo mezzo slitta.
Per la velocità teorica del mezzo (quella delle ruote) ho in mente di usare un sensore di campi magnetici e una calamita (un po come si fa per le biciclette) ma per ora il vero problema è far funzionare il modulo gps.
Il codice più di semplice comprensione che ho trovato è stato questo ma non da output di nessun tipo.
#include "TinyGPS.h"
#include "SoftwareSerial.h"
#define HEMISPHERE_PIN 13
#define GPS_RX_PIN 2
#define GPS_TX_PIN 3
TinyGPS gps; // create a TinyGPS object
SoftwareSerial ss(GPS_RX_PIN, GPS_TX_PIN); // create soft serial object
void setup()
{
Serial.begin(9600); // for debugging
ss.begin(9600); // Use Soft Serial object to talk to GPS
pinMode(HEMISPHERE_PIN, OUTPUT);
digitalWrite(HEMISPHERE_PIN, LOW); // turn off LED to start
}
void loop()
{
while (ss.available())
{
int c = ss.read();
Serial.write(c); // display NMEA data for debug
// Send each byte to encode()
// Check for new position if encode() returns "True"
if (gps.encode(c))
{
long lat, lon;
unsigned long fix_age;
gps.get_position(&lat, &lon, &fix_age);
if (fix_age == TinyGPS::GPS_INVALID_AGE)
Serial.println("No fix ever detected!");
else if (fix_age > 2000)
Serial.println("Data is getting STALE!");
else
Serial.println("Latitude and longitude valid!");
Serial.print("Lat: ");
Serial.print(lat);
Serial.print(" Lon: ");
Serial.println(lon);
if (lat < 0) // Southern Hemisphere?
digitalWrite(HEMISPHERE_PIN, HIGH);
else
digitalWrite(HEMISPHERE_PIN, LOW);
}
}
}
ho un scheda arduino UNO (anche una nano ma è lo stesso no?) e ho collegato il modulo così
vcc - 5v
gnd - gnd
tx - pin digitale 3
rx - pin digitale 2
Ora...ho cercato ovviamente altri sketch e ho anche provato a modificarli ma...niente! Ho anche letto che serve una scheda MEGA ma non ho ben capito...ho trovato guide (che ovviamente non hanno funzionato) in cui si usava una scheda UNO.