for noam

Dependencies:   mbed Map

Committer:
drorbalbul
Date:
Fri Dec 20 15:17:18 2019 +0000
Revision:
0:33b00fa05201
noam

Who changed what in which revision?

UserRevisionLine numberNew contents of line
drorbalbul 0:33b00fa05201 1 #include "mbed.h"
drorbalbul 0:33b00fa05201 2 #include "Motor.h"
drorbalbul 0:33b00fa05201 3 #include <Map.hpp>
drorbalbul 0:33b00fa05201 4
drorbalbul 0:33b00fa05201 5 AnalogIn analog_value1(PA_0);
drorbalbul 0:33b00fa05201 6 AnalogIn analog_value2(PA_1);
drorbalbul 0:33b00fa05201 7 AnalogIn analog_value3(PA_3);
drorbalbul 0:33b00fa05201 8 AnalogIn analog_value4(PA_4);
drorbalbul 0:33b00fa05201 9 Motor myMotor(PA_8, PA_5, PA_6);
drorbalbul 0:33b00fa05201 10 //DigitalOut led(LED1);
drorbalbul 0:33b00fa05201 11 Serial pc(USBTX,USBRX);
drorbalbul 0:33b00fa05201 12 int main() {
drorbalbul 0:33b00fa05201 13 float pedal1, pedal2, matzeret1, matzeret2, sumpedal, summetzeret, subpedal, submetzeret;
drorbalbul 0:33b00fa05201 14 Map mapvaltovolt = Map(0, 1, 0, 3300);
drorbalbul 0:33b00fa05201 15 Map pedaltodagree = Map(850, 1200, 0, 90);
drorbalbul 0:33b00fa05201 16 Map mtodagree = Map(490, 2900, 0, 90);
drorbalbul 0:33b00fa05201 17 float mdagree = 0, pdagree = 0;
drorbalbul 0:33b00fa05201 18 while(1) {
drorbalbul 0:33b00fa05201 19 pedal1 = analog_value1.read(); // Converts and read the analog input value (value from 0.0 to 1.0)
drorbalbul 0:33b00fa05201 20 pedal2 = analog_value2.read(); // Converts and read the analog input value (value from 0.0 to 1.0)
drorbalbul 0:33b00fa05201 21 matzeret1 = analog_value3.read();
drorbalbul 0:33b00fa05201 22 pedal1 = mapvaltovolt.Calculate(pedal1);
drorbalbul 0:33b00fa05201 23 pedal2 = mapvaltovolt.Calculate(pedal2);
drorbalbul 0:33b00fa05201 24 matzeret1 = mapvaltovolt.Calculate(matzeret1);
drorbalbul 0:33b00fa05201 25 /*matzeret2 = analog_value4.read();
drorbalbul 0:33b00fa05201 26 matzeret2 = matzeret2 * ConvertToVolt; */
drorbalbul 0:33b00fa05201 27
drorbalbul 0:33b00fa05201 28 pc.printf("pedal1 is: %.4f, pedal2 is:%.4f\n\r", pedal1, pedal2);
drorbalbul 0:33b00fa05201 29 sumpedal = pedal1+pedal2;
drorbalbul 0:33b00fa05201 30 //pc.printf("sumpedal is: %.4f\n\r", sumpedal);
drorbalbul 0:33b00fa05201 31 subpedal = abs(3500-sumpedal);
drorbalbul 0:33b00fa05201 32 //pc.printf("Subpedal is: %.4f\n\r", subpedal);
drorbalbul 0:33b00fa05201 33 if (subpedal<175) {
drorbalbul 0:33b00fa05201 34 if (pedal1 >=1000){
drorbalbul 0:33b00fa05201 35 myMotor.speed(0.3);
drorbalbul 0:33b00fa05201 36 }
drorbalbul 0:33b00fa05201 37 else {
drorbalbul 0:33b00fa05201 38 myMotor.speed(0);
drorbalbul 0:33b00fa05201 39 }
drorbalbul 0:33b00fa05201 40 }
drorbalbul 0:33b00fa05201 41 else{
drorbalbul 0:33b00fa05201 42 pc.printf("error\n\r");
drorbalbul 0:33b00fa05201 43 //myMotor.speed(0);
drorbalbul 0:33b00fa05201 44 }
drorbalbul 0:33b00fa05201 45 summetzeret = matzeret1 + matzeret2;
drorbalbul 0:33b00fa05201 46 submetzeret = abs(3400-summetzeret);
drorbalbul 0:33b00fa05201 47 pc.printf("matzeret1 is: %.4f, matzeret2 is:%.4f\n\r", matzeret1, matzeret2);
drorbalbul 0:33b00fa05201 48 pc.printf("dagree of pedal = %d, dagree of metzeeret = %d\n\r", (int)pedaltodagree.Calculate(pedal1), (int)mtodagree.Calculate(matzeret1));
drorbalbul 0:33b00fa05201 49 if (submetzeret>175) {
drorbalbul 0:33b00fa05201 50 pc.printf("METZERET NOT CORRECT\n\n\n\r");
drorbalbul 0:33b00fa05201 51 }
drorbalbul 0:33b00fa05201 52
drorbalbul 0:33b00fa05201 53
drorbalbul 0:33b00fa05201 54 wait(0.01);
drorbalbul 0:33b00fa05201 55 }
drorbalbul 0:33b00fa05201 56 }