Forum: Mikrocontroller und Digitale Elektronik Arduino GPS/GSM Shield defekt?


von Mario H. (iihoffyii)


Lesenswert?

Hallo,

ich habe folgendes Problem, ich habe ein Arduino Mega 2560 (1), dass ich
mit dem Antrax GSM-GPS-Shield (2) verbinden möchte. Diese zwei
Komponenten habe ich wie im Plan (3) verbunden. Wenn ich dann den
Beispielcode (unten) in den Controller lade geht beim initialisieren 
etwas schief und ich bekomme die Meldung init failure.

Könnte das Shield defekt sein?


(1)  http://arduino.cc/en/pmwiki.php?n=Main/ArduinoBoardMega2560

(2) 
http://www.antrax.de/site/Onlineshop/Home/Arduino-Komponenten/GSM-GPRS-GPS-Shield::51.html

(3)
http://www.antrax.de/downloads/gsm-gprs-gps-shield/antrax-manual/arduino-gsm-gprs-gps-shield-mega2560-umbauanleitung_de.pdf





#include <GPS.h>
#include <SPI.h>

GPS gps;
void setup(){

  Serial.begin(9600);
  if(gps.initialize()){
    Serial.println("Init ok");
  } else {
    Serial.println("Init failure");
  }
}

void loop(){
    // SPI zeichen lesen und prüfen ob damit der String komplett ist
  if(gps.read_gps_buffer()){
    // kompletter string ist vorhanden
    Serial.print(gps.get_gps_buffer());
  }
}

von Wolfgang (Gast)


Lesenswert?

Mario H. schrieb:
> Wenn ich dann den
> Beispielcode (unten) in den Controller lade geht beim initialisieren
> etwas schief und ich bekomme die Meldung init failure.

Das bedeutet, dass die (unbekannte) Methode gps.initialize() der Meinung 
ist, dass etwas nicht so funktioniert, wie sie es sich vorstellt.

Du solltest verraten, welche Bibliothek du verwendest.

von Peter (Gast)


Lesenswert?

Mario H. schrieb:
> Wenn ich dann den
> Beispielcode (unten) in den Controller lade geht beim initialisieren
> etwas schief und ich bekomme die Meldung init failure.

Dann geh in die Library und schau nach was passieren muss, dass "init 
failure" angegeben wird.

von Mario H. (iihoffyii)


Lesenswert?

Die Bibliothek habe ich hier entnommen, ist unter anderem die Bibliothek 
von Antrax.

http://www.mikrocontroller.net/articles/Antrax_GPS/GSM/GPRS_Shield

In dem library ordner sind unter anderem Beispielprogramme enthalten wie 
beispielsweise das gepostete und jedes mal kommt die Meldung init 
failure.



>Dann geh in die Library und schau nach was passieren muss, dass "init
>failure" angegeben wird.

Das werde ich nicht in der Bibliothek finden, da ich bzw. der Autor des 
Beispielprogramm mit dem Befehl "Serial.println("Init failure")" sagt 
wenn beim initialisieren was schiief geht dann zeige an "init failure".

Oder sehe ich das falsch?

von Max H. (hartl192)


Lesenswert?

Mario H. schrieb:
>>Dann geh in die Library und schau nach was passieren muss, dass "init
>>failure" angegeben wird.
>
> Das werde ich nicht in der Bibliothek finden, da ich bzw. der Autor des
> Beispielprogramm mit dem Befehl "Serial.println("Init failure")" sagt
> wenn beim initialisieren was schiief geht dann zeige an "init failure".
Doch, wenn die Methode gps.initialize() 0 returniert wird der else Pfad 
durchlaufen und die Fehlermeldung ausgegeben. Such also man return 0; in 
der Methode.

von Ulrich F. (Gast)


Lesenswert?

> Oder sehe ich das falsch?

Ja, natürlich!


gps.initialize() liefert (vermutlich) true oder false
Und unter WELCHEN BEDINGUNGEN es das tut, findest du natürlich in der 
Lib.
Wo sonst....?

von Wolfgang (Gast)


Lesenswert?

Mario H. schrieb:
> Das werde ich nicht in der Bibliothek finden,

Doch, natürlich.

> Oder sehe ich das falsch?

Im Beispielprogramm wird nur die Meldung ausgegeben, die aber auf dem 
Rückgabewert der Funktion basiert.

Wie sieht deine Verschaltung aus und welches Modul verwendest du.

(Kein Bock, die ganze verlinkte Produktliste zu durchsuchen, 
"GSM-GPS-Shield" liefert keinen Treffer)

Mario H. schrieb:
> (2) http://www.antrax.de/site/Onlineshop/Home/Arduino-...

von Peter (Gast)


Lesenswert?

Bist du zu 100% sicher, dass das Modul richtig verdrahtet ist mit deinem 
Arduino? Schau nochmal nach. Ist GND und Versorgungsspannung verbunden?
Ist es sicher das richtige Shield für diesen Quellcode?
Hast du im Quellcode den Ordner "Examples" angeschaut und dort mal das 
Projekt "GPS Test" ausprobiert?

von Ulrich F. (Gast)


Lesenswert?

Ohh ....

Schaut man sich die Beschreibung an: 
http://www.antrax.de/site/Onlineshop/Home/Arduino-Komponenten/GSM-GPRS-GPS-Shield::51.html

Findet man: Systemvoraussetzungen Arduino-Board "Uno" (ATmega328)

Nix Mega!

Auch sieht das Shield nicht so aus als würde es den ICSP Stecker als SPI 
nutzen.
Im Schaltplan wird man (vermutlich) sehen, dass Pn 11 bis 13 für SPI 
genutzt wird.
DAS TUTS AUF DEM MEGA NICHT!

von Mike A. (Gast)


Lesenswert?

Ulrich F. schrieb:
> gps.initialize() liefert (vermutlich) true oder false

Das gibt es in C++ gar nicht - gleich 0 oder nicht, das ist hier die 
Frage.

von Mario H. (iihoffyii)


Lesenswert?

Ich habe soeben die links ausgetauscht auf link 3 könnt ihr die 
Verdrahtung deutlich sehen, auf link 2 das Shield welches genutzt wird.

Tut mir leid das ich die falschen links eingefügt habe.

von Ulrich F. (Gast)


Lesenswert?

Mike A. schrieb:
> Ulrich F. schrieb:
>> gps.initialize() liefert (vermutlich) true oder false
>
> Das gibt es in C++ gar nicht - gleich 0 oder nicht, das ist hier die
> Frage.

In der Arduino Welt gibts den Datentype bool.
Und der wird fleißig in den verschiedensten Libs genutzt.
Was der Compiler da hinterher draus macht .......




Schon gefunden?
http://www.antrax.de/site/Onlineshop/Home/Arduino-Komponenten/Adapter-Kit-Arduino-Mega2560::76.html

von Mario H. (iihoffyii)


Lesenswert?

> Schon gefunden?
> 
http://www.antrax.de/site/Onlineshop/Home/Arduino-Komponenten/Adapter-Kit-Arduino-Mega2560::76.html

ja ich habe um genau zu sein dieses kit gekauft
http://www.antrax.de/site/Onlineshop/Home/Arduino-Komponenten/GSM-GPRS-GPS-Shield-Kit-Mega::74.html

Das gsm modul funktioniert wunderbar, mein bisheriges Programm zum 
versenden von sms funktioniert wunderbar.

Bitte verzeiht mir meine blauäugigkeit aber ich habe leider nur 
Grundkenntnisse und frage euch daher um Rat

von Wolfgang (Gast)


Lesenswert?

Ulrich F. schrieb:
> Schon gefunden?
> 
http://www.antrax.de/site/Onlineshop/Home/Arduino-Komponenten/Adapter-Kit-Arduino-Mega2560::76.html

Das nenne ich mal einen stolzen Preis für eine Buchseleiste

von Ulrich F. (Gast)


Lesenswert?

> Das gsm modul funktioniert wunderbar, mein bisheriges Programm zum
> versenden von sms funktioniert wunderbar.

GSM tuts, glaube ich, seriell, also über eine U(S)ART.
GPS über SPI.

Also dürftest du beim SPI die Kabel falsch gesteckt haben, o.ä.
Oder du hast vergessen Pin 53 auf Output zu setzen (egal ob 
angeschlossen, oder nicht)

von Mario H. (iihoffyii)


Lesenswert?

Peter schrieb:
> Bist du zu 100% sicher, dass das Modul richtig verdrahtet ist mit deinem
> Arduino? Schau nochmal nach. Ist GND und Versorgungsspannung verbunden?
> Ist es sicher das richtige Shield für diesen Quellcode?
> Hast du im Quellcode den Ordner "Examples" angeschaut und dort mal das
> Projekt "GPS Test" ausprobiert?

genau diesen Quellcode habe ich gepostet "GPS Test" die 
Versorgungsspannung sowie GND sind verbunden ansonsten würde vermutlich 
das GSM Modul nicht funktionieren.

von Max H. (hartl192)


Lesenswert?

Mike A. schrieb:
> Ulrich F. schrieb:
>> gps.initialize() liefert (vermutlich) true oder false
>
> Das gibt es in C++ gar nicht - gleich 0 oder nicht, das ist hier die
> Frage.

Das ist C, C++ hat bool mit true/false.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.