Bluetooth per SoftwareSerial

  • Hauptsketch:




    messenAbstand.h

    C
    1. #ifndef messenAbstand_H
    2. #define messenAbstand_H
    3. #include <SoftwareSerial.h>
    4. void messenAbstand(SoftwareSerial &);
    5. #endif


    messenAbstand.cpp

    C
    1. #include "messenAbstand.h"
    2. void messenAbstand(SoftwareSerial &sSerial) {
    3. sSerial.print("Abstand = "); //per Bluetooth an PC
    4. sSerial.println(60);
    5. // im Original werden in einer Schleife 20
    6. // Messungen durchgeführt und verarbeitet
    7. }
  • Hallo René, Hallo Forum,

    ich experimentiere gerade mit dem Turtle-Roboter. Ich habe das Programm erweitert, so daß sich der Roboter auch während der Fahrt umschauen kann.

    Um das Programm optimieren zu können möchte ich Meßwerte per Bluetooth (HC-06 Modul) an den PC senden.


    Das hat soweit auch funktioniert, solange die Meßwerte aus Funktionen der .ino Datei kommen.

    Um das Programm übersichtlicher zu gestalten wurde es in Module aufgeteilt.

    Bei Funktionen aus der .cpp Datei funktioniert das nicht.


    Da das komplette Programm hier zu lang wäre, habe ich es auf den relevanten Teil reduziert.

    Die Funktion messenAbstand mißt im Original 20 Meßwerte und verarbeitet diese.

    Zur Kontrolle möchte ich diese am PC ausgeben.


    Hier das funktionierende Programm:


    Ich möchte die Funktion messenAbstand in ein Modul auslagern.


    Dazu habe ich in der Arduino-IDE die Reiter messenAbstand.h und messenAbstand.cpp erstellt.


    Neue Dateien:

    .ino-Datei


    messenAbstand.h-Datei

    Code
    1. void messenAbstand();


    messenAbstand.h-Datei

    Code
    1. #include <arduino.h>
    2. void messenAbstand() {
    3. mySerial.print("Abstand = "); //per Bluetooth an PC
    4. mySerial.println(60);
    5. // im Original werden in einer Schleife 20
    6. // Messungen durchgeführt und verarbeitet
    7. }

    Jetzt bekomme ich die Fehlermeldung:


    C:\Users\Public\Test_Bluetooth\messenAbstand.cpp: In function 'void messenAbstand()':

    messenAbstand.cpp:4:3: error: 'mySerial' was not declared in this scope

    mySerial.print("Abstand = "); //per Bluetooth an PC

    ^~~~~~~~

    C:\Users\Public\Test_Bluetooth\messenAbstand.cpp:4:3: note: suggested alternative: 'Serial'

    mySerial.print("Abstand = "); //per Bluetooth an PC

    ^~~~~~~~

    Serial

    exit status 1

    'mySerial' was not declared in this scope



    Wie kann ich in dem Modul messenAbstand.cppauf myserialzugreifen?



    Gruß Jürgen