main.cpp: Sensoren einlesen und Motoren ansteuern

Dependencies:   mbed

Committer:
Helvis
Date:
Mon Apr 09 19:26:46 2018 +0000
Revision:
0:9a3e7847a4be
Child:
1:1adf5dfcc7bb
V0.1 Test

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Helvis 0:9a3e7847a4be 1 #include <mbed.h>
Helvis 0:9a3e7847a4be 2
Helvis 0:9a3e7847a4be 3 #include "EncoderCounter.h"
Helvis 0:9a3e7847a4be 4 #include "Controller.h"
Helvis 0:9a3e7847a4be 5 #include "IRSensor.h"
Helvis 0:9a3e7847a4be 6
Helvis 0:9a3e7847a4be 7 //Sensor I/O:
Helvis 0:9a3e7847a4be 8
Helvis 0:9a3e7847a4be 9 AnalogIn lineSensor(PA_0);
Helvis 0:9a3e7847a4be 10 AnalogIn distance1(PA_1);
Helvis 0:9a3e7847a4be 11 AnalogIn distance2(PA_4);
Helvis 0:9a3e7847a4be 12 AnalogIn distance3(PB_0);
Helvis 0:9a3e7847a4be 13
Helvis 0:9a3e7847a4be 14 IRSensor irSensorL (distance1);
Helvis 0:9a3e7847a4be 15 IRSensor irSensorC (distance2);
Helvis 0:9a3e7847a4be 16 IRSensor irSensorR (distance3);
Helvis 0:9a3e7847a4be 17
Helvis 0:9a3e7847a4be 18 //Motor I/O:
Helvis 0:9a3e7847a4be 19 DigitalOut myled(LED1);
Helvis 0:9a3e7847a4be 20
Helvis 0:9a3e7847a4be 21 DigitalOut enableMotorDriver(PB_2);
Helvis 0:9a3e7847a4be 22
Helvis 0:9a3e7847a4be 23 DigitalIn motorDriverFault(PB_14);
Helvis 0:9a3e7847a4be 24 DigitalIn motorDriverWarning(PB_15);
Helvis 0:9a3e7847a4be 25
Helvis 0:9a3e7847a4be 26 PwmOut pwmLeft(PA_8);
Helvis 0:9a3e7847a4be 27 PwmOut pwmRight(PA_9);
Helvis 0:9a3e7847a4be 28
Helvis 0:9a3e7847a4be 29 EncoderCounter counterLeft(PB_6, PB_7);
Helvis 0:9a3e7847a4be 30 EncoderCounter counterRight(PA_6, PC_7);
Helvis 0:9a3e7847a4be 31
Helvis 0:9a3e7847a4be 32 Controller controller(pwmLeft, pwmRight, counterLeft, counterRight);
Helvis 0:9a3e7847a4be 33
Helvis 0:9a3e7847a4be 34 int main() {
Helvis 0:9a3e7847a4be 35
Helvis 0:9a3e7847a4be 36 /* Micromouse Test */
Helvis 0:9a3e7847a4be 37
Helvis 0:9a3e7847a4be 38
Helvis 0:9a3e7847a4be 39 //Sensoren
Helvis 0:9a3e7847a4be 40 while(1) {
Helvis 0:9a3e7847a4be 41
Helvis 0:9a3e7847a4be 42 float distanceL = irSensorL.read();
Helvis 0:9a3e7847a4be 43 float distanceC = irSensorC.read();
Helvis 0:9a3e7847a4be 44 float distanceR = irSensorR.read();
Helvis 0:9a3e7847a4be 45 printf("Rechts: %f Mitte: %f Links: %f Line: %f\n",
Helvis 0:9a3e7847a4be 46 distanceL, distanceC, distanceR, lineSensor);
Helvis 0:9a3e7847a4be 47
Helvis 0:9a3e7847a4be 48 wait(0.5f);
Helvis 0:9a3e7847a4be 49 }
Helvis 0:9a3e7847a4be 50
Helvis 0:9a3e7847a4be 51 //Motoren
Helvis 0:9a3e7847a4be 52 while(0) {
Helvis 0:9a3e7847a4be 53
Helvis 0:9a3e7847a4be 54 controller.setDesiredSpeedLeft(50.0f); //Drehzahl in [rpm]
Helvis 0:9a3e7847a4be 55 controller.setDesiredSpeedRIght(50.0f);
Helvis 0:9a3e7847a4be 56 enableMotorDriver = 1; //Schaltet den Leistungstreiber ein
Helvis 0:9a3e7847a4be 57 while(1) {
Helvis 0:9a3e7847a4be 58
Helvis 0:9a3e7847a4be 59 myled =! myled;
Helvis 0:9a3e7847a4be 60 wait(0.1f); //200 ms
Helvis 0:9a3e7847a4be 61 }
Helvis 0:9a3e7847a4be 62
Helvis 0:9a3e7847a4be 63 }
Helvis 0:9a3e7847a4be 64
Helvis 0:9a3e7847a4be 65 }
Helvis 0:9a3e7847a4be 66
Helvis 0:9a3e7847a4be 67
Helvis 0:9a3e7847a4be 68
Helvis 0:9a3e7847a4be 69
Helvis 0:9a3e7847a4be 70
Helvis 0:9a3e7847a4be 71
Helvis 0:9a3e7847a4be 72