INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
RF24 und GPS funktionieren nicht zusammen
28.09.2014, 17:18
Beitrag #1
RF24 und GPS funktionieren nicht zusammen
Hallo,

ich habe zwei Codes für das Empfangen von GPS Daten mit Ausgabe in einem LCD und das Senden eines Textes anhand einer Funkfrequenz (nRFL01) und Ausgabe in einem LCD zusammengeführt. Leider funktioniert dies nicht. Ich habe die jeweiligen anderen Teile auskommentiert und der Code funktioniert dann zu diesem Teil. Wo liegt das Problem? Ich vermute entweder mit der Pinbelegung des Arduino Mega 2560 oder im Berich void Setup(), finde leider nicht die Ursacht.


Vielen Dank im Voraus, Code und Bilder siehe unten. Gruß Jochen

Sourcecode mit Funkfrequenz und auskommentiertem GPS-Code

PHP-Code:
/*
Settings
Arduino                   radio
Mega 2560    GPS    LCD   nrF24l01   
Pin 02               X
Pin 03               X
Pin 04               X
Pin 05               X
Pin 06               X
Pin 09                    CE  
Pin 10                    CSN
Pin 12               X
Pin 31       RX
Pin 50                    MISO
Pin 51                    MOSI
Pin 52                    SCK
Pin 53       TX




*/
//RF24
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <RF24_config.h>
int msg[1];
RF24 radio(9,10);
const 
uint64_t pipe 0xE8E8F0F0E1LL
//lcd & GPS
#include <SoftwareSerial.h>
#include <LiquidCrystal.h>
SoftwareSerial mySerial =  SoftwareSerial(5333);
#define powerpin 4
//#define GPSRATE 9600
//#define GPSRATE 38400


// GPS parser for 406a
#define BUFFSIZ 90 // plenty big
char buffer[BUFFSIZ];
char *parseptr;
char buffidx;
uint8_t hourminutesecondyearmonthdate;
uint32_t latitudelongitude;
uint8_t groundspeedtrackangle;
char latdirlongdir;
char status;
LiquidCrystal lcd(2,3,4,5,6,12);

void setup() 

    
lcd.begin(204);
  if (
powerpin) {
    
pinMode(powerpinOUTPUT);
  }
  
pinMode(13OUTPUT);
//GPS  
/*  Serial.begin(9600);
  mySerial.begin(9600);
  // prints title with ending line break 
  lcd.setCursor(0,1);
  lcd.println("GPS read"); 
  Serial.println("GPS read"); 
    digitalWrite(powerpin, LOW);         // pull low to turn on!
*/

//Radio
radio.begin();
radio.openWritingPipe(pipe);


 
 
void loop() 

//RF24
String theMessage " RF24";
lcd.setCursor(0,0);
lcd.print(theMessage);
int messageSize theMessage.length();
for (
int i 0messageSizei++) {
int charToSend[1];
charToSend[0] = theMessage.charAt(i);
radio.write(charToSend,1);
}
//send the 'terminate string' value...
msg[0] = 2;
radio.write(msg,1);

radio.powerDown();
delay(1000);
radio.powerUp(); 
//GPS
 /* uint32_t tmp;
  lcd.setCursor(0, 0);
  Serial.print("\n\rread: ");
  readline();
  
  // check if $GPRMC (global positioning fixed data)
  if (strncmp(buffer, "$GPRMC",6) == 0) {
    
    // hhmmss time data
    parseptr = buffer+7;
    tmp = parsedecimal(parseptr); 
    hour = tmp / 10000;
    minute = (tmp / 100) % 100;
    second = tmp % 100;
    
    parseptr = strchr(parseptr, ',') + 1;
    status = parseptr[0];
    parseptr += 2;
    
    // grab latitude & long data
    // latitude
    latitude = parsedecimal(parseptr);
    if (latitude != 0) {
      latitude *= 10000;
      parseptr = strchr(parseptr, '.')+1;
      latitude += parsedecimal(parseptr);
    }
    parseptr = strchr(parseptr, ',') + 1;
    // read latitude N/S data
    if (parseptr[0] != ',') {
      latdir = parseptr[0];
    }
    
    //Serial.println(latdir);
    
    // longitude
    parseptr = strchr(parseptr, ',')+1;
    longitude = parsedecimal(parseptr);
    if (longitude != 0) {
      longitude *= 10000;
      parseptr = strchr(parseptr, '.')+1;
      longitude += parsedecimal(parseptr);
    }
    parseptr = strchr(parseptr, ',')+1;
    // read longitude E/W data
    if (parseptr[0] != ',') {
      longdir = parseptr[0];
    }
    

    // groundspeed
    parseptr = strchr(parseptr, ',')+1;
    groundspeed = parsedecimal(parseptr);

    // track angle
    parseptr = strchr(parseptr, ',')+1;
    trackangle = parsedecimal(parseptr);


    // date
    parseptr = strchr(parseptr, ',')+1;
    tmp = parsedecimal(parseptr); 
    date = tmp / 10000;
    month = (tmp / 100) % 100;
    year = tmp % 100;
    
    Serial.print("\nTime: ");
    Serial.print(hour, DEC); Serial.print(':');   
    Serial.print(minute, DEC); Serial.print(':');  
    Serial.println(second, DEC); 
    Serial.print("Date: ");
    Serial.print(month, DEC); Serial.print('/');
    Serial.print(date, DEC); Serial.print('/');
    Serial.println(year, DEC);
    
    lcd.setCursor(0,2);
    Serial.print("Lat: "); 
    if (latdir == 'N')
       {Serial.print('+');lcd.print('+');}
    else if (latdir == 'S')
       {Serial.print('-');lcd.print('-');}

    Serial.print(latitude/1000000, DEC); Serial.print((char)176); Serial.print(' ');
    Serial.print((latitude/10000)%100, DEC); Serial.print('\''); Serial.print(' ');
    Serial.print((latitude%10000)*6/1000, DEC); Serial.print('.');
    Serial.print(((latitude%10000)*6/10)%100, DEC); Serial.println('"');
    lcd.print(latitude/1000000, DEC); lcd.print((char)176); 
    lcd.print((latitude/10000)%100, DEC); lcd.print('\'');
    lcd.print((latitude%10000)*6/1000, DEC); lcd.print('.');
    lcd.print(((latitude%10000)*6/10)%100, DEC); lcd.println('"');
   
   lcd.setCursor(0,3); 
    Serial.print("Long: ");
    if (longdir == 'E')
       {Serial.print('+');lcd.print('+');}
    else if (longdir == 'W')
       {Serial.print('-');lcd.print('-');}
    Serial.print(longitude/1000000, DEC); Serial.print((char)176); Serial.print(' ');
    Serial.print((longitude/10000)%100, DEC); Serial.print('\''); Serial.print(' ');
    Serial.print((longitude%10000)*6/1000, DEC); Serial.print('.');
    Serial.print(((longitude%10000)*6/10)%100, DEC); Serial.println('"');
    lcd.print(longitude/1000000, DEC); lcd.print((char)176);
    lcd.print((longitude/10000)%100, DEC); lcd.print('\'');
    lcd.print((longitude%10000)*6/1000, DEC); lcd.print('.');
    lcd.print(((longitude%10000)*6/10)%100, DEC); lcd.println('"');
  }
  //Serial.println(buffer);
}

uint32_t parsedecimal(char *str) {
  uint32_t d = 0;
  
  while (str[0] != 0) {
   if ((str[0] > '9') || (str[0] < '0'))
     return d;
   d *= 10;
   d += str[0] - '0';
   str++;
  }
  return d;
}

void readline(void) {
  char c;
  
  buffidx = 0; // start at begninning
  while (1) {
      c=mySerial.read();
      if (c == -1)
        continue;
      Serial.print(c);
      if (c == '\n')
        continue;
      if ((buffidx == BUFFSIZ-1) || (c == '\r')) {
        buffer[buffidx] = 0;
        return;
      }
      buffer[buffidx++]= c;
  }*/


Empfangen im anderen Arduino funktioniert:
   

Ausgabe im LCD Display funktioniert auch:
   

Sourcecode mit GPS Code und auskommentiertem Funk Code
PHP-Code:
/*
Settings
Arduino                   radio
Mega 2560    GPS    LCD   nrF24l01   
Pin 02               X
Pin 03               X
Pin 04               X
Pin 05               X
Pin 06               X
Pin 09                    CE  
Pin 10                    CSN
Pin 12               X
Pin 31       RX
Pin 50                    MISO
Pin 51                    MOSI
Pin 52                    SCK
Pin 53       TX




*/
//RF24
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <RF24_config.h>
int msg[1];
RF24 radio(9,10);
const 
uint64_t pipe 0xE8E8F0F0E1LL
//lcd & GPS
#include <SoftwareSerial.h>
#include <LiquidCrystal.h>
SoftwareSerial mySerial =  SoftwareSerial(5333);
#define powerpin 4
//#define GPSRATE 9600
//#define GPSRATE 38400


// GPS parser for 406a
#define BUFFSIZ 90 // plenty big
char buffer[BUFFSIZ];
char *parseptr;
char buffidx;
uint8_t hourminutesecondyearmonthdate;
uint32_t latitudelongitude;
uint8_t groundspeedtrackangle;
char latdirlongdir;
char status;
LiquidCrystal lcd(2,3,4,5,6,12);

void setup() 

    
lcd.begin(204);
  if (
powerpin) {
    
pinMode(powerpinOUTPUT);
  }
  
pinMode(13OUTPUT);
//GPS  
Serial.begin(9600);
  
mySerial.begin(9600);
  
// prints title with ending line break 
  
lcd.setCursor(0,1);
  
lcd.println("GPS read"); 
  
Serial.println("GPS read"); 
    
digitalWrite(powerpinLOW);         // pull low to turn on!


//Radio
/*radio.begin();
radio.openWritingPipe(pipe);
*/

 
 
void loop() 

//RF24
/*String theMessage = " RF24";
lcd.setCursor(0,0);
lcd.print(theMessage);
int messageSize = theMessage.length();
for (int i = 0; i < messageSize; i++) {
int charToSend[1];
charToSend[0] = theMessage.charAt(i);
radio.write(charToSend,1);
}
//send the 'terminate string' value...
msg[0] = 2;
radio.write(msg,1);

radio.powerDown();
delay(1000);
radio.powerUp(); */
//GPS
 
uint32_t tmp;
  
lcd.setCursor(00);
  
Serial.print("\n\rread: ");
  
readline();
  
  
// check if $GPRMC (global positioning fixed data)
  
if (strncmp(buffer"$GPRMC",6) == 0) {
    
    
// hhmmss time data
    
parseptr buffer+7;
    
tmp parsedecimal(parseptr); 
    
hour tmp 10000;
    
minute = (tmp 100) % 100;
    
second tmp 100;
    
    
parseptr strchr(parseptr',') + 1;
    
status parseptr[0];
    
parseptr += 2;
    
    
// grab latitude & long data
    // latitude
    
latitude parsedecimal(parseptr);
    if (
latitude != 0) {
      
latitude *= 10000;
      
parseptr strchr(parseptr'.')+1;
      
latitude += parsedecimal(parseptr);
    }
    
parseptr strchr(parseptr',') + 1;
    
// read latitude N/S data
    
if (parseptr[0] != ',') {
      
latdir parseptr[0];
    }
    
    
//Serial.println(latdir);
    
    // longitude
    
parseptr strchr(parseptr',')+1;
    
longitude parsedecimal(parseptr);
    if (
longitude != 0) {
      
longitude *= 10000;
      
parseptr strchr(parseptr'.')+1;
      
longitude += parsedecimal(parseptr);
    }
    
parseptr strchr(parseptr',')+1;
    
// read longitude E/W data
    
if (parseptr[0] != ',') {
      
longdir parseptr[0];
    }
    

    
// groundspeed
    
parseptr strchr(parseptr',')+1;
    
groundspeed parsedecimal(parseptr);

    
// track angle
    
parseptr strchr(parseptr',')+1;
    
trackangle parsedecimal(parseptr);


    
// date
    
parseptr strchr(parseptr',')+1;
    
tmp parsedecimal(parseptr); 
    
date tmp 10000;
    
month = (tmp 100) % 100;
    
year tmp 100;
    
    
Serial.print("\nTime: ");
    
Serial.print(hourDEC); Serial.print(':');   
    
Serial.print(minuteDEC); Serial.print(':');  
    
Serial.println(secondDEC); 
    
Serial.print("Date: ");
    
Serial.print(monthDEC); Serial.print('/');
    
Serial.print(dateDEC); Serial.print('/');
    
Serial.println(yearDEC);
    
    
lcd.setCursor(0,2);
    
Serial.print("Lat: "); 
    if (
latdir == 'N')
       {
Serial.print('+');lcd.print('+');}
    else if (
latdir == 'S')
       {
Serial.print('-');lcd.print('-');}

    
Serial.print(latitude/1000000DEC); Serial.print((char)176); Serial.print(' ');
    
Serial.print((latitude/10000)%100DEC); Serial.print('\''); Serial.print(' ');
    
Serial.print((latitude%10000)*6/1000DEC); Serial.print('.');
    
Serial.print(((latitude%10000)*6/10)%100DEC); Serial.println('"');
    
lcd.print(latitude/1000000DEC); lcd.print((char)176); 
    
lcd.print((latitude/10000)%100DEC); lcd.print('\'');
    
lcd.print((latitude%10000)*6/1000DEC); lcd.print('.');
    
lcd.print(((latitude%10000)*6/10)%100DEC); lcd.println('"');
   
   
lcd.setCursor(0,3); 
    
Serial.print("Long: ");
    if (
longdir == 'E')
       {
Serial.print('+');lcd.print('+');}
    else if (
longdir == 'W')
       {
Serial.print('-');lcd.print('-');}
    
Serial.print(longitude/1000000DEC); Serial.print((char)176); Serial.print(' ');
    
Serial.print((longitude/10000)%100DEC); Serial.print('\''); Serial.print(' ');
    
Serial.print((longitude%10000)*6/1000DEC); Serial.print('.');
    
Serial.print(((longitude%10000)*6/10)%100DEC); Serial.println('"');
    
lcd.print(longitude/1000000DEC); lcd.print((char)176);
    
lcd.print((longitude/10000)%100DEC); lcd.print('\'');
    
lcd.print((longitude%10000)*6/1000DEC); lcd.print('.');
    
lcd.print(((longitude%10000)*6/10)%100DEC); lcd.println('"');
  }
  
//Serial.println(buffer);
}

uint32_t parsedecimal(char *str) {
  
uint32_t d 0;
  
  while (
str[0] != 0) {
   if ((
str[0] > '9') || (str[0] < '0'))
     return 
d;
   
*= 10;
   
+= str[0] - '0';
   
str++;
  }
  return 
d;
}

void readline(void) {
  
char c;
  
  
buffidx 0// start at begninning
  
while (1) {
      
c=mySerial.read();
      if (
== -1)
        continue;
      
Serial.print(c);
      if (
== '\n')
        continue;
      if ((
buffidx == BUFFSIZ-1) || (== '\r')) {
        
buffer[buffidx] = 0;
        return;
      }
      
buffer[buffidx++]= c;
  }


Ausgabe GPS Daten
   

Ausgabe GPS Daten im LCD    
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.09.2014, 17:42 (Dieser Beitrag wurde zuletzt bearbeitet: 28.09.2014 17:48 von rkuehle.)
Beitrag #2
RE: RF24 und GPS funktionieren nicht zusammen
Hallo Jochen,
wäre vielleicht gut, wenn du schreibst was nicht funktioniert, wenn beide Codeanteile laufen.
Was mir auffällt:
Code:
SoftwareSerial mySerial =  SoftwareSerial(53, 33);
Pin 33 aber laut Belegungstabelle ganz oben nicht genutzt wird.
Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.09.2014, 20:48
Beitrag #3
RE: RF24 und GPS funktionieren nicht zusammen
(28.09.2014 17:42)rkuehle schrieb:  Hallo Jochen,
wäre vielleicht gut, wenn du schreibst was nicht funktioniert, wenn beide Codeanteile laufen.
Was mir auffällt:
Code:
SoftwareSerial mySerial =  SoftwareSerial(53, 33);
Pin 33 aber laut Belegungstabelle ganz oben nicht genutzt wird.
Grüße Ricardo
Hallo Ricardo,
PIN 33 benutze ich noch nicht. Wenn ich nichts auskommentieren funktioniert
der Code nicht mehr,GPS und Funkmodul zusammen.

Gruß Jochen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.09.2014, 21:01
Beitrag #4
RE: RF24 und GPS funktionieren nicht zusammen
Hallo,

ich will es nochmal besser darstellen:
Der Code bei dem das GPS nicht funktioniert, jedoch die Funkverbindung:
PHP-Code:
/*
Settings
Arduino                   radio
Mega 2560    GPS    LCD   nrF24l01   
Pin 02               X
Pin 03               X
Pin 04               X
Pin 05               X
Pin 06               X
Pin 09                    CE  
Pin 10                    CSN
Pin 12               X
Pin 31       RX
Pin 50                    MISO
Pin 51                    MOSI
Pin 52                    SCK
Pin 53       TX




*/
//RF24
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <RF24_config.h>
int msg[1];
RF24 radio(9,10);
const 
uint64_t pipe 0xE8E8F0F0E1LL
//lcd & GPS
#include <SoftwareSerial.h>
#include <LiquidCrystal.h>
SoftwareSerial mySerial =  SoftwareSerial(5333);
#define powerpin 4
//#define GPSRATE 9600
//#define GPSRATE 38400


// GPS parser for 406a
#define BUFFSIZ 90 // plenty big
char buffer[BUFFSIZ];
char *parseptr;
char buffidx;
uint8_t hourminutesecondyearmonthdate;
uint32_t latitudelongitude;
uint8_t groundspeedtrackangle;
char latdirlongdir;
char status;
LiquidCrystal lcd(2,3,4,5,6,12);

void setup() 

    
lcd.begin(204);
  if (
powerpin) {
    
pinMode(powerpinOUTPUT);
  }
  
pinMode(13OUTPUT);
//GPS  
Serial.begin(9600);
  
mySerial.begin(9600);
  
// prints title with ending line break 
  
lcd.setCursor(0,1);
  
lcd.println("GPS read"); 
  
Serial.println("GPS read"); 
    
digitalWrite(powerpinLOW);         // pull low to turn on!


//Radio
radio.begin();
radio.openWritingPipe(pipe);


 
 
void loop() 

//RF24
String theMessage " RF24";
lcd.setCursor(0,0);
lcd.print(theMessage);
int messageSize theMessage.length();
for (
int i 0messageSizei++) {
int charToSend[1];
charToSend[0] = theMessage.charAt(i);
radio.write(charToSend,1);
}
//send the 'terminate string' value...
msg[0] = 2;
radio.write(msg,1);

radio.powerDown();
delay(1000);
radio.powerUp(); 
//GPS
 /* uint32_t tmp;
  lcd.setCursor(0, 0);
  Serial.print("\n\rread: ");
  readline();
  
  // check if $GPRMC (global positioning fixed data)
  if (strncmp(buffer, "$GPRMC",6) == 0) {
    
    // hhmmss time data
    parseptr = buffer+7;
    tmp = parsedecimal(parseptr); 
    hour = tmp / 10000;
    minute = (tmp / 100) % 100;
    second = tmp % 100;
    
    parseptr = strchr(parseptr, ',') + 1;
    status = parseptr[0];
    parseptr += 2;
    
    // grab latitude & long data
    // latitude
    latitude = parsedecimal(parseptr);
    if (latitude != 0) {
      latitude *= 10000;
      parseptr = strchr(parseptr, '.')+1;
      latitude += parsedecimal(parseptr);
    }
    parseptr = strchr(parseptr, ',') + 1;
    // read latitude N/S data
    if (parseptr[0] != ',') {
      latdir = parseptr[0];
    }
    
    //Serial.println(latdir);
    
    // longitude
    parseptr = strchr(parseptr, ',')+1;
    longitude = parsedecimal(parseptr);
    if (longitude != 0) {
      longitude *= 10000;
      parseptr = strchr(parseptr, '.')+1;
      longitude += parsedecimal(parseptr);
    }
    parseptr = strchr(parseptr, ',')+1;
    // read longitude E/W data
    if (parseptr[0] != ',') {
      longdir = parseptr[0];
    }
    

    // groundspeed
    parseptr = strchr(parseptr, ',')+1;
    groundspeed = parsedecimal(parseptr);

    // track angle
    parseptr = strchr(parseptr, ',')+1;
    trackangle = parsedecimal(parseptr);


    // date
    parseptr = strchr(parseptr, ',')+1;
    tmp = parsedecimal(parseptr); 
    date = tmp / 10000;
    month = (tmp / 100) % 100;
    year = tmp % 100;
    
    Serial.print("\nTime: ");
    Serial.print(hour, DEC); Serial.print(':');   
    Serial.print(minute, DEC); Serial.print(':');  
    Serial.println(second, DEC); 
    Serial.print("Date: ");
    Serial.print(month, DEC); Serial.print('/');
    Serial.print(date, DEC); Serial.print('/');
    Serial.println(year, DEC);
    
    lcd.setCursor(0,2);
    Serial.print("Lat: "); 
    if (latdir == 'N')
       {Serial.print('+');lcd.print('+');}
    else if (latdir == 'S')
       {Serial.print('-');lcd.print('-');}

    Serial.print(latitude/1000000, DEC); Serial.print((char)176); Serial.print(' ');
    Serial.print((latitude/10000)%100, DEC); Serial.print('\''); Serial.print(' ');
    Serial.print((latitude%10000)*6/1000, DEC); Serial.print('.');
    Serial.print(((latitude%10000)*6/10)%100, DEC); Serial.println('"');
    lcd.print(latitude/1000000, DEC); lcd.print((char)176); 
    lcd.print((latitude/10000)%100, DEC); lcd.print('\'');
    lcd.print((latitude%10000)*6/1000, DEC); lcd.print('.');
    lcd.print(((latitude%10000)*6/10)%100, DEC); lcd.println('"');
   
   lcd.setCursor(0,3); 
    Serial.print("Long: ");
    if (longdir == 'E')
       {Serial.print('+');lcd.print('+');}
    else if (longdir == 'W')
       {Serial.print('-');lcd.print('-');}
    Serial.print(longitude/1000000, DEC); Serial.print((char)176); Serial.print(' ');
    Serial.print((longitude/10000)%100, DEC); Serial.print('\''); Serial.print(' ');
    Serial.print((longitude%10000)*6/1000, DEC); Serial.print('.');
    Serial.print(((longitude%10000)*6/10)%100, DEC); Serial.println('"');
    lcd.print(longitude/1000000, DEC); lcd.print((char)176);
    lcd.print((longitude/10000)%100, DEC); lcd.print('\'');
    lcd.print((longitude%10000)*6/1000, DEC); lcd.print('.');
    lcd.print(((longitude%10000)*6/10)%100, DEC); lcd.println('"');
  }
  //Serial.println(buffer);
}

uint32_t parsedecimal(char *str) {
  uint32_t d = 0;
  
  while (str[0] != 0) {
   if ((str[0] > '9') || (str[0] < '0'))
     return d;
   d *= 10;
   d += str[0] - '0';
   str++;
  }
  return d;
}

void readline(void) {
  char c;
  
  buffidx = 0; // start at begninning
  while (1) {
      c=mySerial.read();
      if (c == -1)
        continue;
      Serial.print(c);
      if (c == '\n')
        continue;
      if ((buffidx == BUFFSIZ-1) || (c == '\r')) {
        buffer[buffidx] = 0;
        return;
      }
      buffer[buffidx++]= c;
  }


Die Funkverbindung zwischen den zwei Arduinos funktioniert:
   

Beim Arduino erscheinene die GPS Daten nicht:
   

Ausgabe Arduino mit dem oben gennanten Code:
   

Wie bekomme ich den Code des GPS mit gleichzeitiger Funktion des Funkmoduls?

Vielen Dank für die Hilfe!

Gruß Jochen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.10.2014, 08:42
Beitrag #5
RE: RF24 und GPS funktionieren nicht zusammen
Hallo,

leider funktioniert es immer noch nicht. Über eine Tipp wie ich den Fehler finden kann würde ich mich freuen!

Grüße Jochen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.10.2014, 22:08 (Dieser Beitrag wurde zuletzt bearbeitet: 10.10.2014 06:47 von Jochen82.)
Beitrag #6
RE: RF24 und GPS funktionieren nicht zusammen
Hallo,

ich habe es immer noch nicht geschafft das GPS und das Funkmodul parallel zum laufen zu bekommen. Zur besseren Erklärung habe ich ein ein Film dazu erstellt:

https://www.youtube.com/watch?v=5eFlio5p...e=youtu.be

(
1. Wird nur der Codeabschnitt RF(24) verwendet, sendet dieser
2. Wird nur der Codeabschnitt GPS verwendet, werden die GPS Daten ausgegen
3. Werden beide Codeabschnitte angezeigt, funktioniert RF(24) aber GPS lesen nicht.
)

Hoffentlich kann mir jemand helfen!

Gruß Jochen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.10.2014, 08:19
Beitrag #7
RE: RF24 und GPS funktionieren nicht zusammen
Hallo Jochen,
habe deinen Code mal Quer gelesen...
Was mir auffällt ist das du die Serielle Standartschnittstelle und einmal Software Seriell verwendest. Da der Mega2560 gleich 4 Seriele Schnittstellen als Hardware mit an Bord hat frage ich mich warum du für die Peripherie nicht die Serielle 1 und 2 verwendest und die Serielle 0 rein für die Kommunikation zur IDE verwendest...
lg
bk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Arduino lässt sich nicht installieren bergfrei 4 137 20.11.2016 18:34
Letzter Beitrag: bergfrei
  Arduino Mega 2560 läuft nicht Wolfgang50 6 174 13.11.2016 10:50
Letzter Beitrag: Wolfgang50
  Ardublock übertragt nicht an IDE oder UNO R3 tobi83 5 328 16.10.2016 14:07
Letzter Beitrag: Pit
  Upload funktioniert nicht Levi 5 237 22.09.2016 20:19
Letzter Beitrag: hotsystems
  ESP8266 tuts nicht sowerum 7 387 19.09.2016 21:01
Letzter Beitrag: sowerum
  If-Bedingung funktioniert nicht bei Serial1.write Datatom 6 222 16.09.2016 20:36
Letzter Beitrag: Datatom
  SD Karte wird nicht erkannt... Maxi290997 2 202 16.08.2016 14:36
Letzter Beitrag: Maxi290997
  Arduino lässt sich nicht mehr beschreiben Maxi290997 15 966 07.08.2016 11:40
Letzter Beitrag: Maxi290997
  Arduino Uno+Motor Shield+Velleman Mustercode funktionieren nicht Dubidu 8 482 20.07.2016 19:05
Letzter Beitrag: Scheams
  Sketch konnte nicht angelegt werden Sarius 2 238 16.07.2016 15:59
Letzter Beitrag: Sarius

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste