Robot tryout

Dependencies:   mbed QEI biquadFilter MODSERIAL FastPWM ttmath Math

Committer:
Feike
Date:
Thu Oct 03 14:43:45 2019 +0000
Revision:
9:61bdf58f856e
Parent:
8:017b813c72bb
Child:
11:7c2d492466c2
Child:
12:2382468d36a4
For loopje toegevoegd in regel 46, met daarin het printen van de data uitgelezen bij motor 1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Feike 4:bd21569250c7 1 #include "mbed.h"
Feike 8:017b813c72bb 2 #include "MODSERIAL.h"
Feike 4:bd21569250c7 3
Feike 9:61bdf58f856e 4 // test, hallo
Feike 7:e119b12e5e7f 5
Feike 8:017b813c72bb 6 DigitalOut motor1_pwm(PTC2); // aansturen motor 1, via poort PTC2
Feike 8:017b813c72bb 7 DigitalIn motor1_1(PTD1); // data vanuit motor 1
Feike 8:017b813c72bb 8 DigitalIn motor1_2(PTD3); // data vanuit motor 1
Feike 8:017b813c72bb 9
Feike 8:017b813c72bb 10
Feike 8:017b813c72bb 11 DigitalOut motor2_pwm(PTA2); // aansturen motor 2, via poort PTA2
Feike 8:017b813c72bb 12 AnalogIn input(PTB3); // input van ECG
Feike 8:017b813c72bb 13 MODSERIAL pc(USBTX, USBRX);
Feike 7:e119b12e5e7f 14
Feike 4:bd21569250c7 15 int main(void)
Feike 8:017b813c72bb 16 {
Feike 8:017b813c72bb 17 pc.baud(115200);
Feike 8:017b813c72bb 18 char c = pc.getc();
Feike 8:017b813c72bb 19 pc.printf("In de main, check\r\n");
Feike 8:017b813c72bb 20 if (c == 'm')
Feike 8:017b813c72bb 21 {
Feike 8:017b813c72bb 22 pc.printf("In de if, check\r\n");
Feike 8:017b813c72bb 23 pc.baud(115200);
Feike 8:017b813c72bb 24 int frequency_pwm = 10000; //10 kHz PWM
Feike 8:017b813c72bb 25 PwmOut motor1_pwm(PTC2);
Feike 8:017b813c72bb 26 PwmOut motor2_pwm(PTA2);
Feike 8:017b813c72bb 27 motor1_pwm.period(1.0/(double)frequency_pwm); // T=1/f
Feike 8:017b813c72bb 28 motor2_pwm.period(1.0/(double)frequency_pwm); // T=1/f
Feike 8:017b813c72bb 29 while(true)
Feike 8:017b813c72bb 30 {
Feike 8:017b813c72bb 31 pc.printf("In de while, check\r\n");
Feike 8:017b813c72bb 32 int DataM[1000];
Feike 8:017b813c72bb 33 for(int pct = 0 ; pct <= 100 ; pct += 10)
Feike 8:017b813c72bb 34 {
Feike 8:017b813c72bb 35 pc.printf("Motor 1\r\n");
Feike 8:017b813c72bb 36 motor1_pwm.write(pct/100.0); // write Duty Cycle
Feike 8:017b813c72bb 37 wait(1.0f);
Feike 9:61bdf58f856e 38 //for(int tijd = 0 ; pct <= 100 ; pct += 1)
Feike 9:61bdf58f856e 39 // {
Feike 9:61bdf58f856e 40 // int tijd2 = tijd + pct/10*10;
Feike 9:61bdf58f856e 41 // int Outm1 = motor1_1.read();
Feike 9:61bdf58f856e 42 // DataM[tijd2] = Outm1;
Feike 9:61bdf58f856e 43 // wait(0.1f);
Feike 9:61bdf58f856e 44 // }
Feike 9:61bdf58f856e 45 }
Feike 9:61bdf58f856e 46 for (int pr = 0 ; pr <= 100; pr += 1);
Feike 9:61bdf58f856e 47 {
Feike 9:61bdf58f856e 48 int value = DataM[pr];
Feike 9:61bdf58f856e 49 pc.printf("Data motor 1 is %i", value);
Feike 8:017b813c72bb 50 }
Feike 8:017b813c72bb 51 motor1_pwm.write(0.0f); // motor 1 off again
Feike 8:017b813c72bb 52 pc.printf("Motor 1 off\r\n");
Feike 8:017b813c72bb 53 for(int pct = 0 ; pct <= 100 ; pct += 10)
Feike 8:017b813c72bb 54 {
Feike 8:017b813c72bb 55 pc.printf("Motor 2\r\n");
Feike 8:017b813c72bb 56 motor2_pwm.write(pct/100.0); // write Duty Cycle
Feike 8:017b813c72bb 57 wait(1.0f);
Feike 8:017b813c72bb 58 }
Feike 8:017b813c72bb 59 motor2_pwm.write(0.0f); // motor 2 off again
Feike 8:017b813c72bb 60 pc.printf("Motor 2 off\r\n");
Feike 8:017b813c72bb 61 }
Feike 8:017b813c72bb 62 }
Feike 8:017b813c72bb 63 if (c == 'e')
Feike 4:bd21569250c7 64 {
Feike 8:017b813c72bb 65 pc.printf("In de tweede if, check");
Feike 8:017b813c72bb 66 while (true)
Feike 4:bd21569250c7 67 {
Feike 8:017b813c72bb 68 int sample = input.read();
Feike 8:017b813c72bb 69 pc.printf("Input is %i \r\n", sample);
Feike 7:e119b12e5e7f 70 wait(1.0f);
Feike 8:017b813c72bb 71 }
Feike 4:bd21569250c7 72 }
Feike 4:bd21569250c7 73 }