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()); } }
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.
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.
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?
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.
> 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....?
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-...
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?
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!
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.
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.
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
> 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
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
> 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)
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.