General

TEL0051 GPS/GSM/GPRS module display on a LCD code/sketch

userHead Leff 2015-07-07 22:54:34 2206 Views0 Replies

Code: Select all#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
#if defined(ARDUINO) && ARDUINO >= 100
#define printByte(args)  write(args);
#else
#define printByte(args)  print(args,BYTE);
#endif

LiquidCrystal_I2C lcd(0x27,20,4);

void setup()
{
  lcd.init();                      // initialize the lcd 
 
  // Print a message to the LCD.
  lcd.backlight();
  lcd.print("Hello, Tset GPS!");
  pinMode(3,OUTPUT);//The default digital driver pins for the GSM and GPS mode
  pinMode(4,OUTPUT);
  pinMode(5,OUTPUT);
  digitalWrite(5,HIGH);
  delay(1500);
  digitalWrite(5,LOW);
 
  digitalWrite(3,LOW);//Enable GSM mode
  digitalWrite(4,HIGH);//Disable GPS mode
  delay(2000);
  Serial.begin(9600); 
  delay(5000);//GPS ready
 
  Serial.println("AT");   
  lcd.clear();
  lcd.print("AT");
  delay(2000);
  //turn on GPS power supply
  Serial.println("AT+CGPSPWR=1");
  lcd.clear();
  lcd.print("AT+CGPSPWR=1");
  delay(1000);
  //reset GPS in autonomy mode
  Serial.println("AT+CGPSRST=1");
  lcd.clear();
  lcd.print("AT+CGPSRST=1");
  delay(1000);
 
  digitalWrite(4,LOW);//Enable GPS mode
  digitalWrite(3,HIGH);//Disable GSM mode
  delay(2000);
 
  Serial.println("$GPGGA statement information: ");
  lcd.clear();
  lcd.print("$GPGGA statement information: ");
}

void loop() {

 if (Serial.available())
 {
    char val; 
    val=Serial.read();
    Serial.write(val);   
    lcd.print(val);
 }
}


In this way, I could only get data flahsing on the lcd screen, who could contribute to it that it show the message in a better way :?:

Thanks in advance :)