Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
main.cpp@0:9c49bdc7e402, 2017-11-22 (annotated)
- Committer:
- x58alex41
- Date:
- Wed Nov 22 02:18:07 2017 +0000
- Revision:
- 0:9c49bdc7e402
- Child:
- 6:688449345fff
test;
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| x58alex41 | 0:9c49bdc7e402 | 1 | #include "mbed.h" |
| x58alex41 | 0:9c49bdc7e402 | 2 | #include "PID.h" |
| x58alex41 | 0:9c49bdc7e402 | 3 | #include "controls.h" |
| x58alex41 | 0:9c49bdc7e402 | 4 | #include "globals.h" |
| x58alex41 | 0:9c49bdc7e402 | 5 | |
| x58alex41 | 0:9c49bdc7e402 | 6 | AnalogIn LL_t (PC_0); |
| x58alex41 | 0:9c49bdc7e402 | 7 | AnalogIn L_t (PC_1); |
| x58alex41 | 0:9c49bdc7e402 | 8 | AnalogIn R_t (PA_4); |
| x58alex41 | 0:9c49bdc7e402 | 9 | AnalogIn RR_t (PA_0); |
| x58alex41 | 0:9c49bdc7e402 | 10 | |
| x58alex41 | 0:9c49bdc7e402 | 11 | DigitalOut LL_e (PB_7); |
| x58alex41 | 0:9c49bdc7e402 | 12 | DigitalOut L_e (PB_0); |
| x58alex41 | 0:9c49bdc7e402 | 13 | DigitalOut R_e (PC_11); |
| x58alex41 | 0:9c49bdc7e402 | 14 | DigitalOut RR_e (PC_10); |
| x58alex41 | 0:9c49bdc7e402 | 15 | |
| x58alex41 | 0:9c49bdc7e402 | 16 | InterruptIn cM1_1(PB_3); //interrupt from encoders |
| x58alex41 | 0:9c49bdc7e402 | 17 | InterruptIn cM1_2(PA_15); |
| x58alex41 | 0:9c49bdc7e402 | 18 | InterruptIn cM2_1(PA_1); |
| x58alex41 | 0:9c49bdc7e402 | 19 | InterruptIn cM2_2(PC_4); |
| x58alex41 | 0:9c49bdc7e402 | 20 | |
| x58alex41 | 0:9c49bdc7e402 | 21 | DigitalOut M1F(PC_7); //motor direction and speed control |
| x58alex41 | 0:9c49bdc7e402 | 22 | DigitalOut M2B(PA_7); |
| x58alex41 | 0:9c49bdc7e402 | 23 | DigitalOut M1B(PB_10); |
| x58alex41 | 0:9c49bdc7e402 | 24 | DigitalOut M2F(PB_6); |
| x58alex41 | 0:9c49bdc7e402 | 25 | Serial pc(SERIAL_TX, SERIAL_RX); |
| x58alex41 | 0:9c49bdc7e402 | 26 | |
| x58alex41 | 0:9c49bdc7e402 | 27 | volatile unsigned long counterM1 = 1; // counter for hall sensors |
| x58alex41 | 0:9c49bdc7e402 | 28 | volatile unsigned long counterM2 = 1; |
| x58alex41 | 0:9c49bdc7e402 | 29 | |
| x58alex41 | 0:9c49bdc7e402 | 30 | void incrementM1() |
| x58alex41 | 0:9c49bdc7e402 | 31 | { |
| x58alex41 | 0:9c49bdc7e402 | 32 | ++counterM1; |
| x58alex41 | 0:9c49bdc7e402 | 33 | } |
| x58alex41 | 0:9c49bdc7e402 | 34 | void incrementM2() |
| x58alex41 | 0:9c49bdc7e402 | 35 | { |
| x58alex41 | 0:9c49bdc7e402 | 36 | ++counterM2; |
| x58alex41 | 0:9c49bdc7e402 | 37 | } |
| x58alex41 | 0:9c49bdc7e402 | 38 | |
| x58alex41 | 0:9c49bdc7e402 | 39 | int main() |
| x58alex41 | 0:9c49bdc7e402 | 40 | { |
| x58alex41 | 0:9c49bdc7e402 | 41 | |
| x58alex41 | 0:9c49bdc7e402 | 42 | M1B.write(0); |
| x58alex41 | 0:9c49bdc7e402 | 43 | M2B.write(0); |
| x58alex41 | 0:9c49bdc7e402 | 44 | M1F.write(0); |
| x58alex41 | 0:9c49bdc7e402 | 45 | M2F.write(0); |
| x58alex41 | 0:9c49bdc7e402 | 46 | |
| x58alex41 | 0:9c49bdc7e402 | 47 | LL_e=1; |
| x58alex41 | 0:9c49bdc7e402 | 48 | RR_e=1; |
| x58alex41 | 0:9c49bdc7e402 | 49 | |
| x58alex41 | 0:9c49bdc7e402 | 50 | cM1_1.rise(&incrementM1); |
| x58alex41 | 0:9c49bdc7e402 | 51 | cM1_1.fall(&incrementM1); |
| x58alex41 | 0:9c49bdc7e402 | 52 | cM1_2.rise(&incrementM1); |
| x58alex41 | 0:9c49bdc7e402 | 53 | cM1_2.fall(&incrementM1); |
| x58alex41 | 0:9c49bdc7e402 | 54 | |
| x58alex41 | 0:9c49bdc7e402 | 55 | cM2_1.rise(&incrementM2); |
| x58alex41 | 0:9c49bdc7e402 | 56 | cM2_1.fall(&incrementM2); |
| x58alex41 | 0:9c49bdc7e402 | 57 | cM2_2.rise(&incrementM2); |
| x58alex41 | 0:9c49bdc7e402 | 58 | cM2_2.fall(&incrementM2); |
| x58alex41 | 0:9c49bdc7e402 | 59 | |
| x58alex41 | 0:9c49bdc7e402 | 60 | move(.05, 1000000, forward, forward, &PID_e ); |
| x58alex41 | 0:9c49bdc7e402 | 61 | |
| x58alex41 | 0:9c49bdc7e402 | 62 | } |
| x58alex41 | 0:9c49bdc7e402 | 63 | |
| x58alex41 | 0:9c49bdc7e402 | 64 | |
| x58alex41 | 0:9c49bdc7e402 | 65 | |
| x58alex41 | 0:9c49bdc7e402 | 66 | |
| x58alex41 | 0:9c49bdc7e402 | 67 | |
| x58alex41 | 0:9c49bdc7e402 | 68 |