SIM808 GPS / GPRS / GSM + LCD I2C
 Account cancelled  2017-06-29 00:43:54 1873 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
     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);
}

