Studi50 - autonomes Fahren.

Studi50

Seite
Menü
Info
Sie sind hier:   Startseite > Iī-Themen > autonomes Fahren.

HR Ulrasensorautonomes Fahren.

Und außerdem arbeite ich am Code für autonomes Fahren.  Hermann

Meine Basis: Habe für mein "robocar "gekauft :

             Chassis +4 Motoren+4 Räder+Batteriefach f. 4xAAAMignon

             4 Kanal L293D Motortreiberschild

              2 TCRT 5000 Trackersensoren

              und ein Arduino uno R3.

  Die rechten Motoren auf Schild M3 , die linken auf M4 gelegt.

  Die Spursensoren ( erkennen s/w) auf Pin A5 und A4 gelegt, da die zurückgegebenen

  Signale differenzierter ausgewertet werden koennen als die digitalen ( 0 / 1)

myrobocar

Motortreiber

 

Linienverfolgung

Linienverfolgung

////////////////////////////////////////////////////////
// mein code
////////////////////////////////////////////////////////

//including the libraries
#include <AFMotor.h>

//defining pins and variables
#define lefts A4
#define rights A5

//defining motors
AF_DCMotor motor1(4, MOTOR12_8KHZ);
AF_DCMotor motor2(3, MOTOR12_8KHZ);

void setup() {
//speed eingeben
motor1.setSpeed(200);
motor2.setSpeed(200);
//definieren der pin types
pinMode(lefts,INPUT);
pinMode(rights,INPUT);
//serielle Kommu . zum Test Ser.Monitor einschalten
Serial.begin(9600);

}

void loop(){

Serial.println(analogRead(lefts));
Serial.println(analogRead(rights));
//auswertung der analogen Werte  beide auf schwarz oder weiss
if(analogRead(lefts)<=400 && analogRead(rights)<=400){
//stop   ???? nicht ganz korrekt
motor1.run(RELEASE);
motor2.run(RELEASE);
}
//line erkannt linker  sensor auf weiss , rechter auf schwarz
else if(analogRead(lefts)<=400 &&  (!analogRead(rights)<=400) )

// habe die Klammer erweitert nach Hinweis von Frank

{
//turn left
motor1.run(BACKWARD);
motor2.run(FORWARD);
/*
motor1.run(RELEASE);
motor2.run(FORWARD);
*/
}
//line detected by right sensor
else if(!analogRead(lefts)<=400 && analogRead(rights)<=400){
//turn right
motor1.run(FORWARD);
motor2.run(BACKWARD);
/*
motor1.run(FORWARD);
motor2.run(RELEASE);
*/
}
//line detected by none
else if(!analogRead(lefts)<=400 && !analogRead(rights)<=400){
//stop
motor1.run(FORWARD);
motor2.run(FORWARD);
/*
motor1.run(BACKWARD);
motor2.run(BACKWARD);
*/
}

}

Ich muss noch basteln .......

Ich habe die TrackVerfolgungsmodule abgebaut und einen Servo mit Ultraschallsensor zur Fahrtkontrolle angebaut. ---bedarf aber noch jedemenge Codierung

...

es wird schon noch ---

 

hermann

 

Letzte Bearbeitung: 04.04.2019, 17:56

Powered by CMSimple | Template by CMSimple | Login