Ir al contenido principal

VELOCIMETRO LATA DE ESPARRAGOS

Otro prototipo listo y funcionado.

Es practicamente igual que la lata de huevas, el Tomtum, pero solo esta programado para medir la velocidadd a traves de GPS, a traves de unos displays de 7 segmentos.








Este es el codigo, pero ojo , que no se si es el mas actualizado y sin errores.


#include <TinyGPS.h>
#include <SevenSeg.h>
//#include <SoftwareSerial.h>


TinyGPS gps;
//SoftwareSerial nss(8, 9);// RX, TX


SevenSeg disp(8,9,2,3,4,5,6);

const int numOfDigits = 3;

int digitPins[numOfDigits] = {12,11,10};
  
int valor = 0 ;

unsigned long tiempo ;

unsigned long fix_age;


//float flat, flon, falt;
// float POS_LAT , POS_LON;
// int year;
// byte month, day, hour, minutes, second, hundredths;
// unsigned long fix_age;
//  float fkmph = 0 ;

float flat;
float flon;

void setup () {
 disp.setDigitPins(numOfDigits ,digitPins);
 disp.setActivePinState(HIGH,HIGH);
 tiempo = millis();

 do {
disp.write (123);
 }
 while (tiempo + 2000 > millis());
 Serial.begin (115200);
 }


void loop () {

if (Serial.available()) {
  
if (gps.encode(Serial.read())) {

gps.f_get_position(&flat, &flon, &fix_age); 

//tiempo = millis();
//do {
//disp.write (valor);
//} while (tiempo + 500 > millis());
///nss.flush();


if (fix_age < 1000) {

valor =  int (gps.f_speed_kmph());}

else {
  
Serial.flush();



}



//}

} // fin de si tiene valor decodificado



} else

{
if (valor >= 0) {
disp.write (valor);
}

}
}// fin de loop