TRR2018 omar

Dependencies:   mbed

Fork of biniou by TRR 2018

Committer:
ohlimi2
Date:
Wed Aug 22 16:15:52 2018 +0000
Revision:
1:abed67ad1d03
Parent:
0:3d0394820179
Child:
8:1d8c3ca5e508
Copie du debut de code avec une partie de la def

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ohlimi2 0:3d0394820179 1 #include "mbed.h"
ohlimi2 1:abed67ad1d03 2 AnalogIn front_G(PC_0);
ohlimi2 1:abed67ad1d03 3 AnalogIn front_C(PC_1);
ohlimi2 1:abed67ad1d03 4 AnalogIn front_D(PC_2);
ohlimi2 1:abed67ad1d03 5
ohlimi2 1:abed67ad1d03 6 AnalogIn analog_left(A0);
ohlimi2 1:abed67ad1d03 7 AnalogIn analog_right(A1);
ohlimi2 1:abed67ad1d03 8 AnalogIn analog_front(A2);
ohlimi2 1:abed67ad1d03 9
ohlimi2 1:abed67ad1d03 10 //DigitalOut enable_right(D0);
ohlimi2 1:abed67ad1d03 11 //DigitalOut forward_right(PA_10,0);
ohlimi2 1:abed67ad1d03 12 //DigitalOut backward_right(PA_9,0);
ohlimi2 1:abed67ad1d03 13
ohlimi2 1:abed67ad1d03 14 //DigitalOut backward_left(PA_10,0);
ohlimi2 1:abed67ad1d03 15 //DigitalOut forward_left(PB_3,0);
ohlimi2 1:abed67ad1d03 16 //DigitalOut enable_left(D5);
ohlimi2 1:abed67ad1d03 17
ohlimi2 1:abed67ad1d03 18 PwmOut pwm_right(PB_4);
ohlimi2 1:abed67ad1d03 19 PwmOut pwm_left(PB_5);
ohlimi2 1:abed67ad1d03 20
ohlimi2 1:abed67ad1d03 21 int on_off = 0 ;
ohlimi2 1:abed67ad1d03 22 InterruptIn button(USER_BUTTON);
ohlimi2 1:abed67ad1d03 23
ohlimi2 0:3d0394820179 24 DigitalOut led(LED1);
ohlimi2 0:3d0394820179 25
ohlimi2 1:abed67ad1d03 26 void pressed()
ohlimi2 1:abed67ad1d03 27 {
ohlimi2 1:abed67ad1d03 28 if (on_off == 0) {
ohlimi2 1:abed67ad1d03 29 on_off = 1 ;
ohlimi2 1:abed67ad1d03 30 } else {
ohlimi2 1:abed67ad1d03 31 on_off = 0;
ohlimi2 0:3d0394820179 32 }
ohlimi2 0:3d0394820179 33 }
ohlimi2 1:abed67ad1d03 34
ohlimi2 1:abed67ad1d03 35 int main()
ohlimi2 1:abed67ad1d03 36 {
ohlimi2 1:abed67ad1d03 37 float front_meas;
ohlimi2 1:abed67ad1d03 38 float left_meas;
ohlimi2 1:abed67ad1d03 39 float right_meas;
ohlimi2 1:abed67ad1d03 40
ohlimi2 1:abed67ad1d03 41 button.fall(&pressed);
ohlimi2 1:abed67ad1d03 42
ohlimi2 1:abed67ad1d03 43 pwm_right.period_us(500);
ohlimi2 1:abed67ad1d03 44 pwm_left.period_us(500);
ohlimi2 1:abed67ad1d03 45 pwm_right.pulsewidth_us(0);
ohlimi2 1:abed67ad1d03 46 pwm_left.pulsewidth_us(0);
ohlimi2 1:abed67ad1d03 47
ohlimi2 1:abed67ad1d03 48 // backward_right.write(0);//ok
ohlimi2 1:abed67ad1d03 49 // forward_right.write(1);//ko
ohlimi2 1:abed67ad1d03 50
ohlimi2 1:abed67ad1d03 51 // forward_left.write(1); //ok
ohlimi2 1:abed67ad1d03 52 // backward_left.write(0); //ok
ohlimi2 1:abed67ad1d03 53
ohlimi2 1:abed67ad1d03 54 while(1) {
ohlimi2 1:abed67ad1d03 55 /*
ohlimi2 1:abed67ad1d03 56 if (on_off == 1 ) {
ohlimi2 1:abed67ad1d03 57 led = 1;
ohlimi2 1:abed67ad1d03 58
ohlimi2 1:abed67ad1d03 59 front_meas = analog_front.read();
ohlimi2 1:abed67ad1d03 60 left_meas = analog_left.read();
ohlimi2 1:abed67ad1d03 61 right_meas = analog_right.read();
ohlimi2 1:abed67ad1d03 62
ohlimi2 1:abed67ad1d03 63 if (front_meas > 0.5) {
ohlimi2 1:abed67ad1d03 64 if (left_meas > right_meas) {
ohlimi2 1:abed67ad1d03 65 backward_right.write(0);//ok
ohlimi2 1:abed67ad1d03 66 forward_right.write(1);//ko
ohlimi2 1:abed67ad1d03 67 forward_left.write(0); //ok
ohlimi2 1:abed67ad1d03 68 backward_left.write(1); //ok
ohlimi2 1:abed67ad1d03 69 } else {
ohlimi2 1:abed67ad1d03 70 backward_right.write(1);//ok
ohlimi2 1:abed67ad1d03 71 forward_right.write(0);//ko
ohlimi2 1:abed67ad1d03 72 forward_left.write(1); //ok
ohlimi2 1:abed67ad1d03 73 backward_left.write(0); //ok
ohlimi2 1:abed67ad1d03 74 }
ohlimi2 1:abed67ad1d03 75 } else {
ohlimi2 1:abed67ad1d03 76 if(left_meas < 0.5) {
ohlimi2 1:abed67ad1d03 77 forward_left.write(1); //ok
ohlimi2 1:abed67ad1d03 78 backward_left.write(0); //ok
ohlimi2 1:abed67ad1d03 79 } else {
ohlimi2 1:abed67ad1d03 80 forward_left.write(0); //ok
ohlimi2 1:abed67ad1d03 81 backward_left.write(1); //ok
ohlimi2 1:abed67ad1d03 82 }
ohlimi2 1:abed67ad1d03 83 if(right_meas > 0.5) {
ohlimi2 1:abed67ad1d03 84 forward_right.write(0); //ok
ohlimi2 1:abed67ad1d03 85 backward_right.write(1); //ok
ohlimi2 1:abed67ad1d03 86 } else {
ohlimi2 1:abed67ad1d03 87 forward_right.write(1); //ok
ohlimi2 1:abed67ad1d03 88 backward_right.write(0); //ok
ohlimi2 1:abed67ad1d03 89 }
ohlimi2 1:abed67ad1d03 90 }
ohlimi2 1:abed67ad1d03 91 pwm_right.pulsewidth_us(200);
ohlimi2 1:abed67ad1d03 92 pwm_left.pulsewidth_us(200);
ohlimi2 1:abed67ad1d03 93
ohlimi2 1:abed67ad1d03 94
ohlimi2 1:abed67ad1d03 95 } else {
ohlimi2 1:abed67ad1d03 96 led = 0;
ohlimi2 1:abed67ad1d03 97 pwm_right.pulsewidth_us(0);
ohlimi2 1:abed67ad1d03 98 pwm_left.pulsewidth_us(0);
ohlimi2 1:abed67ad1d03 99 }*/
ohlimi2 1:abed67ad1d03 100 wait(0.2); // 200 ms
ohlimi2 1:abed67ad1d03 101
ohlimi2 1:abed67ad1d03 102 }
ohlimi2 1:abed67ad1d03 103 }
ohlimi2 1:abed67ad1d03 104
ohlimi2 1:abed67ad1d03 105
ohlimi2 1:abed67ad1d03 106
ohlimi2 1:abed67ad1d03 107
ohlimi2 1:abed67ad1d03 108