ArduinoGeneral

SIM808 GPS / GPRS / GSM + LCD I2C

userHead Account cancelled 2017-06-28 16:43:54 1626 Views1 Replies
Salve a tutti,
sono un insegnate e stavo preparando degli esperimenti per il prossimo a.s.

Mesi fa ho comprato una Shield GPS SIM808 / GPRS / GSM per Arduino della DFRobot.

Uso IDE 1.8.3.
La scheda è: P/N:S2-1060C-Z1F02;SN:MP0615252419733;IMEI:865067020665850;SW:1418B01SIM808M32

Gli sketch contenuti con la propria libreria funzionano perfettamente: faccio e ricevo chiamate, trasmetto e ricevo SMS e infine anche il GPS mi dà informazioni molto accurate sempre e solo sul monitor seriale.

Volendo preparare un esperimento standalone ho tolto le righe di output sul monitor seriale e ho messo un comunissimo LCD 20x4 I2C per visualizzare solo la latitudine e la longitudine ma purtroppo non mi supera mai il metodo
if (sim808.getGPS()) { ...

Ho provato a sostituire le comunicazioni tra la Shield e Arduino da Serial. a SoftwareSerial. sui piedini TX-10 ed RX-11 senza nessun risultato.

Ho provato anche a sostituire Arduino UNO con il Mega 2560, nessun risultato.

Qualcuno può aiutarmi?
Grazie
Code: Select all
#include <DFRobot_sim808.h>
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

DFRobot_SIM808 sim808(&Serial);
LiquidCrystal_I2C lcd(0x27, 40, 4);

void setup() {
  Serial.begin(9600);
  lcd.begin();
  lcd.backlight();

  while(!sim808.init()) { 
    lcd.print(" Inizializzo Sim808");
    lcd.setCursor(7, 2);
    lcd.print("ERRORE");
    delay(1000);
    lcd.clear();
  }
  lcd.print(" Inizializzo Sim808");
  lcd.setCursor(2, 2);
  lcd.print("INIZIALIZZATA");
  delay(1000);
  lcd.clear();

  //************* Turn on the GPS power************
  lcd.print("  Apertura del GPS");
  lcd.setCursor(6, 2);
  if( sim808.attachGPS())
    lcd.print("COMPLETO");
  else 
    lcd.print("FALLITO");

  delay(1000);
  lcd.clear();

}

void loop() {
   //************** Get GPS data *******************
  lcd.clear();
  lcd.print("Ricerca GPS in corso");
  if (sim808.getGPS()) {
    lcd.clear();
    lcd.print("Dati GPS recuperati");
    lcd.setCursor(0, 1);
    lcd.print(" Latitudine: ");
    lcd.print(sim808.GPSdata.lat, 6);
    lcd.setCursor(0, 2);
    lcd.print("Longitudine: ");
    lcd.print(sim808.GPSdata.lon, 6);
    lcd.setCursor(0, 3);
    lcd.print("Velocita Km/h: ");
    lcd.print(sim808.GPSdata.speed_kph, 2);

    //************* Turn off the GPS power ************
    sim808.detachGPS();
    delay(1000);
  }
  else
    delay(1000);
}

icon WIN_20170628_10_36_46_Pro.jpg Download(0)
2017-07-03 15:05:27 Could you express your problem in English? userHeadPic robert.chen