Robot localization using GPS module and Blynk application

This project have idea when I play PC game long time ago Red Alert is a name  this game you can control your vehicle along to everywhere by using mouse and you can see vehicle move position that you want to.

After that vehicle will do responsibility assignment depend on type of vehicle I found Blynk application very help full to use not take long time learn just follow my tutorial below then Rock and Roll !!!

 

Can control robot and localization in one screen.

 

Equipment

Esp8266 + Shield

https://usa.banggood.com/custlink/3vv3hC9H7e

 

Manual ESP8266 Shield  : https://drive.google.com/file/d/1J8L5ug2CfqHKRvn1K3wJ6W0LCnhLxoiG/view?usp=sharing

Robot Tank

https://usa.banggood.com/custlink/v3KGEWSS3W

 

GPS Module

 

https://sea.banggood.com/custlink/DvKvhra8P1

Wiring

 

 

Setup Blynk application

  Continue reading “Robot localization using GPS module and Blynk application”

GSM sim900 + GPS real time location No wifi

This project will explain how to read GPS send to serial pin RX,TX of arduino  then GSM  connect software serial send location to your phone .

This project you can apply to security your car ,home security .

Image result for googlemap

Wiring

GPS to Arduino Nano

TX >>> RX

RX>>> TX

GSM to Nano

TX >>> pin7

RX>>> pin8

Make sure all ground common .


Click detail GSM Sim 900 :  https://goo.gl/MZjRei

GPS module : https://goo.gl/Yokhsb



Code


#include <TinyGPS.h>

#include <SoftwareSerial.h>
SoftwareSerial Gsm(7, 8);
char phone_no[] = "0843XXXXXX"; //replace with phone no. to get sms
TinyGPS gps;  //Creates a new instance of the TinyGPS object

void setup()

{

  Serial.begin(9600);
  Gsm.begin(9600);  

}

void loop()




{

  bool newData = false;
  unsigned long chars;
  unsigned short sentences, failed;

  // For one second we parse GPS data and report some key values

  for (unsigned long start = millis(); millis() - start < 1000;)

  {

    while (Serial.available())

    {
      char c = Serial.read();
      Serial.print(c);
      if (gps.encode(c))
        newData = true;  

    }

  }

  if (newData)      //If newData is true
  {
    float flat, flon;
    unsigned long age;
    gps.f_get_position(&flat, &flon, &age);
    Gsm.print("AT+CMGF=1\r");
    delay(400);
    Gsm.print("AT+CMGS=\"");
    Gsm.print(phone_no);
    Gsm.println("\"");

    delay(300);
    Gsm.print("http://maps.google.com/maps?q=loc:");
   // Gsm.print("Latitude = ");
    Gsm.print(flat == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flat, 6);
    //Gsm.print(" Longitude = ");
    Gsm.print(",");
    Gsm.print(flon == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flon, 6);
    delay(200);
    Gsm.println((char)26); // End AT command with a ^Z, ASCII code 26
    delay(200);
    Gsm.println();
    delay(20000);
  }

  Serial.println(failed);
 // if (chars == 0)
   // Serial.println("** No characters received from GPS: check wiring **");
}





VDO