Moin Moin zusammen,
ich bin taufrisch im Thema Microcontroller, daher verzeiht mir wenn ich noch ein bisschen Grün hinter den Ohren bin.
Mein Projekt:
Ich möchte einen Kreis abfahren und dabei mit dem Lidar Sensor den Abstand zum Boden messen.
Am Ende mächte ich eine Ausgabe erreichen, bei der der Absstand über dem Drehwinkel des Steppermotor ausgegeben wird. Nun habe ich mich schon einige Tage damit beschäftig und gefühlt 1000 Forumseinträge gelesen, allerdings will mit die Kopplung der beiden Sketche nicht gelingen. (einzeln für sich funktionieren beide)
Meine Vermutung es liegt an den unterschiedlichen Baud Raten konnte ich nicht Nachweisen und stehe grade irgendwie auf dem Schlauch. Vielleicht hat ja hier jemand einen kleinen Tipp für mich
hier mein aktueller Code:
#include <DFRobot_TFmini.h>
SoftwareSerial mySerial(2, 3); // RX, TX
DFRobot_TFmini TFmini;
uint16_t distance,strength;
#include <Stepper.h>
const int stepsPerRevolution = 200 ; // change this to fit the number of steps per revolution
// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 10, 9, 11);
void lidarsetup(){
Serial.begin(115200);
TFmini.begin(mySerial);
}
void lidarloop(){
if(TFmini.measure()){ //Measure Distance and get signal strength
distance = TFmini.getDistance(); //Get distance data
strength = TFmini.getStrength(); //Get signal strength data
Serial.print("Distance = ");
Serial.print(distance);
Serial.println("cm");
Serial.print("Strength = ");
Serial.println(strength);
delay(500);
}
delay(500);
}
void Steppersetup(){
// set the speed at 20 rpm:
myStepper.setSpeed(1);
// initialize the serial port:
//Serial.begin(9600);
}
void Stepperloop(){
// step one revolution in one direction:
// Serial.println("clockwise");
myStepper.step(stepsPerRevolution);
delay(500);
// step one revolution in the other direction:
// Serial.println("counterclockwise");
myStepper.step(-stepsPerRevolution);
delay(500);
}
void setup() {
// put your setup code here, to run once:
lidarsetup();
Steppersetup();
}
void loop() {
// put your main code here, to run repeatedly:
lidarloop();
Stepperloop();
}
es gibt keine Fehlermeldung beim Kompilieren oder Hochladen.
Der Stepper Motor macht wie gewünscht seine Umdrehungen, allerdings bekomme ich leider keine Ausgabe vom Lidar.
Vielen Dank schonmal für eure Hilfe!
Grüße