Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: Farbsensor IRSensorLib PID_Control Servo mbed PixyLib
Diff: Fahren.cpp
- Revision:
- 1:5c44e2462a8b
- Parent:
- 0:422088ad7fc5
- Child:
- 2:dea0bab5e45c
--- a/Fahren.cpp Wed May 10 08:59:22 2017 +0000
+++ b/Fahren.cpp Wed May 10 14:48:50 2017 +0000
@@ -59,75 +59,81 @@
if(sensors[0]<=0.1 && sensors[1]<=0.12 && sensors[5]<=0.12) {
//wenn hinten rechts => leichte linkskurve
if(sensors[2]<=0.25) {
- pwmLeft=0.35;
- pwmRight=0.55;
- printf("zurueck-linkskurve\n");
+ pwmLeft->write(0.35);
+ pwmRight->write(0.55);
+ pc->printf("zurueck-linkskurve\n");
state=zurueck_l;
}
if(sensors[4]<=0.25) {
- pwmLeft=0.35;
- pwmRight=0.55;
- printf("zurueck-rechtskurve\n");
+ pwmLeft->write(0.35);
+ pwmRight->write(0.55);
+ pc->printf("zurueck-rechtskurve\n");
state=zurueck_r;
}
if(sensors[4]>=0.25 && sensors[2]>=0.25) {
- pwmLeft=0.4;
- pwmRight=0.6;
+ pwmLeft->write(0.4);
+ pwmRight->write(0.6);
state=zurueck;
- printf("zurueck-gerade\n");
+ pc->printf("zurueck-gerade\n");
}
}
// Wenn Front etwas sehen => drehen***********************************
else if(sensors[1] <= wand || sensors[5]<=wand){
- pwmLeft=0.35;
- pwmRight=0.65;
+ pwmLeft->write(0.35);
+ pwmRight->write(0.65);
}
else if(sensors[0]<0.25 && sensors [1]<=wenden) {
- pwmLeft=0.4;
- pwmRight=0.4;
- printf("drehen links\n\n\n");
+ pwmLeft->write(0.4);
+ pwmRight->write(0.4);
+ pc->printf("drehen links\n\n\n");
}
else if (sensors[0]<0.25 && sensors [5]<=wenden){
- pwmLeft=0.6;
- pwmRight=0.6;
- printf("drehen\n\n\n");
+ pwmLeft->write(0.6);
+ pwmRight->write(0.6);
+ pc->printf("drehen\n\n\n");
}
else if(sensors[0]<0.25) {
if (rand()%2==0 && state != drehen) {
- pwmLeft=0.4;
- pwmRight=0.4;
+ pwmLeft->write(0.4);
+ pwmRight->write(0.4);
} else if (rand()%2 != 0 && state != drehen) {
- pwmLeft=0.6;
- pwmRight=0.6;
+ pwmLeft->write(0.6);
+ pwmRight->write(0.6);
}
state=drehen;
}
//Wenn Front-Left etwas sehen => nach Rechts**************************
else if(sensors[5]<=wenden) {
- printf("rechts\n");
- pwmLeft=0.65;
- pwmRight=0.45;
+ pc->printf("rechts\n");
+ pwmLeft->write(0.65);
+ pwmRight->write(0.45);
state=rechts;
}
// Wenn Front-Right etwas sehen => Links*******************************
else if(sensors[1]<=wenden) {
- printf("Links\n");
- pwmLeft=0.55;
- pwmRight=0.35;
+ if(pc)
+ pc->printf("Links\n");
+ pwmLeft->write(0.55);
+ pwmRight->write(0.35);
state=links;
}
//Wenn kein Sensor anspricht => gerade aus*****************************
else if(sensors[0]>=0.26) {
- printf("gerade\n");
- pwmLeft=0.65;
- pwmRight=0.35;
+ if(pc)
+ pc->printf("gerade\n");
+ pwmLeft->write(0.65);
+ pwmRight->write(0.35);
state=gerade;
}
+ else {
+ if(pc)
+ pc->printf("gerade2\n\r");
+ }
}
\ No newline at end of file