Seiya Ono
/
active_test
active test code
main.cpp@0:99038ba270aa, 2018-08-10 (annotated)
- Committer:
- seiya1225
- Date:
- Fri Aug 10 16:55:18 2018 +0000
- Revision:
- 0:99038ba270aa
Publish Active Test;
Who changed what in which revision?
User | Revision | Line number | New 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 | } |