active test code

Dependencies:   mbed

Committer:
seiya1225
Date:
Fri Aug 10 16:55:18 2018 +0000
Revision:
0:99038ba270aa
Publish Active Test;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
seiya1225 0:99038ba270aa 1 #include "mbed.h"
seiya1225 0:99038ba270aa 2
seiya1225 0:99038ba270aa 3 DigitalOut led1(PTC5);
seiya1225 0:99038ba270aa 4
seiya1225 0:99038ba270aa 5 DigitalOut leds[5] = { PTE6, PTE5, PTE4 ,PTE3, PTE2 };
seiya1225 0:99038ba270aa 6 int power[5] = { 0, 25, 50, 75, 100 };
seiya1225 0:99038ba270aa 7
seiya1225 0:99038ba270aa 8 DigitalOut m1(PTA5);
seiya1225 0:99038ba270aa 9 PwmOut pwm1(PTA13);
seiya1225 0:99038ba270aa 10 AnalogIn fb1(PTB2);
seiya1225 0:99038ba270aa 11
seiya1225 0:99038ba270aa 12 Serial pc(USBTX, USBRX);
seiya1225 0:99038ba270aa 13
seiya1225 0:99038ba270aa 14 void setMotor(int p)
seiya1225 0:99038ba270aa 15 {
seiya1225 0:99038ba270aa 16 pc.printf("Motor at %d%% power\n\r", p);
seiya1225 0:99038ba270aa 17 pwm1.write(p);
seiya1225 0:99038ba270aa 18 }
seiya1225 0:99038ba270aa 19
seiya1225 0:99038ba270aa 20 int main()
seiya1225 0:99038ba270aa 21 {
seiya1225 0:99038ba270aa 22 pc.printf("Starting Active System test...\n\r");
seiya1225 0:99038ba270aa 23 wait(0.5);
seiya1225 0:99038ba270aa 24 pwm1.period(4.0f);
seiya1225 0:99038ba270aa 25
seiya1225 0:99038ba270aa 26 while (true) {
seiya1225 0:99038ba270aa 27 pc.printf("---- Forward Test ----\n\r");
seiya1225 0:99038ba270aa 28 led1 = 1;
seiya1225 0:99038ba270aa 29 m1 = 0;
seiya1225 0:99038ba270aa 30 for ( int i = 0; i < 5; i++ ) {
seiya1225 0:99038ba270aa 31 setMotor(power[i]);
seiya1225 0:99038ba270aa 32 leds[i] = 1;
seiya1225 0:99038ba270aa 33 printf("Current Reading: %f\n\r", fb1);
seiya1225 0:99038ba270aa 34 wait(1);
seiya1225 0:99038ba270aa 35 leds[i] = 0;
seiya1225 0:99038ba270aa 36 }
seiya1225 0:99038ba270aa 37
seiya1225 0:99038ba270aa 38 pc.printf("---- Backwards Test ----\n\r");
seiya1225 0:99038ba270aa 39 led1 = 0;
seiya1225 0:99038ba270aa 40 m1 = 1;
seiya1225 0:99038ba270aa 41 for ( int i = 0; i < 5; i++ ) {
seiya1225 0:99038ba270aa 42 setMotor(power[i]);
seiya1225 0:99038ba270aa 43 leds[i] = 1;
seiya1225 0:99038ba270aa 44 printf("Current Reading: %f\n\r", fb1);
seiya1225 0:99038ba270aa 45 wait(1);
seiya1225 0:99038ba270aa 46 leds[i] = 0;
seiya1225 0:99038ba270aa 47 }
seiya1225 0:99038ba270aa 48 }
seiya1225 0:99038ba270aa 49 }