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@12:4310fb637705, 2018-04-06 (annotated)
- Committer:
- x58alex41
- Date:
- Fri Apr 06 00:06:51 2018 +0000
- Revision:
- 12:4310fb637705
- Parent:
- 10:4a825f818432
started gyro
Who changed what in which revision?
| User | Revision | Line number | New contents of line | 
|---|---|---|---|
| omidfar | 10:4a825f818432 | 1 | |
| omidfar | 10:4a825f818432 | 2 | |
| x58alex41 | 0:9c49bdc7e402 | 3 | #include "mbed.h" | 
| x58alex41 | 0:9c49bdc7e402 | 4 | #include "PID.h" | 
| x58alex41 | 0:9c49bdc7e402 | 5 | #include "controls.h" | 
| x58alex41 | 0:9c49bdc7e402 | 6 | #include "globals.h" | 
| x58alex41 | 0:9c49bdc7e402 | 7 | |
| omidfar | 10:4a825f818432 | 8 | AnalogIn LL_t (PA_5); | 
| omidfar | 10:4a825f818432 | 9 | AnalogIn L_t (PA_7); | 
| omidfar | 10:4a825f818432 | 10 | AnalogIn R_t (PB_0); | 
| omidfar | 10:4a825f818432 | 11 | AnalogIn RR_t (PB_1); | 
| x58alex41 | 0:9c49bdc7e402 | 12 | |
| omidfar | 10:4a825f818432 | 13 | DigitalOut LL_e (PC_0); | 
| omidfar | 10:4a825f818432 | 14 | DigitalOut L_e (PC_1); | 
| omidfar | 10:4a825f818432 | 15 | DigitalOut R_e (PC_2); | 
| omidfar | 10:4a825f818432 | 16 | DigitalOut RR_e (PC_3); | 
| x58alex41 | 0:9c49bdc7e402 | 17 | |
| omidfar | 10:4a825f818432 | 18 | InterruptIn cM1_1(PA_5); //interrupt from encoders | 
| omidfar | 10:4a825f818432 | 19 | InterruptIn cM1_2(PB_3); | 
| omidfar | 10:4a825f818432 | 20 | InterruptIn cM2_1(PA_0); | 
| omidfar | 10:4a825f818432 | 21 | InterruptIn cM2_2(PA_1); | 
| x58alex41 | 0:9c49bdc7e402 | 22 | |
| x58alex41 | 7:edd065946e9b | 23 | PwmOut M1F(PC_7); //motor direction and speed control | 
| omidfar | 10:4a825f818432 | 24 | PwmOut M1B(PC_6); | 
| omidfar | 10:4a825f818432 | 25 | PwmOut M2F(PC_9); | 
| omidfar | 10:4a825f818432 | 26 | PwmOut M2B(PC_8); | 
| x58alex41 | 0:9c49bdc7e402 | 27 | Serial pc(SERIAL_TX, SERIAL_RX); | 
| x58alex41 | 0:9c49bdc7e402 | 28 | |
| x58alex41 | 0:9c49bdc7e402 | 29 | volatile unsigned long counterM1 = 1; // counter for hall sensors | 
| x58alex41 | 0:9c49bdc7e402 | 30 | volatile unsigned long counterM2 = 1; | 
| x58alex41 | 0:9c49bdc7e402 | 31 | |
| x58alex41 | 0:9c49bdc7e402 | 32 | void incrementM1() | 
| x58alex41 | 0:9c49bdc7e402 | 33 | { | 
| x58alex41 | 0:9c49bdc7e402 | 34 | ++counterM1; | 
| x58alex41 | 0:9c49bdc7e402 | 35 | } | 
| x58alex41 | 0:9c49bdc7e402 | 36 | void incrementM2() | 
| x58alex41 | 0:9c49bdc7e402 | 37 | { | 
| x58alex41 | 0:9c49bdc7e402 | 38 | ++counterM2; | 
| x58alex41 | 0:9c49bdc7e402 | 39 | } | 
| x58alex41 | 0:9c49bdc7e402 | 40 | |
| x58alex41 | 0:9c49bdc7e402 | 41 | int main() | 
| x58alex41 | 0:9c49bdc7e402 | 42 | { | 
| x58alex41 | 0:9c49bdc7e402 | 43 | M1B.write(0); | 
| x58alex41 | 0:9c49bdc7e402 | 44 | M2B.write(0); | 
| x58alex41 | 0:9c49bdc7e402 | 45 | M1F.write(0); | 
| x58alex41 | 0:9c49bdc7e402 | 46 | M2F.write(0); | 
| x58alex41 | 0:9c49bdc7e402 | 47 | |
| x58alex41 | 0:9c49bdc7e402 | 48 | LL_e=1; | 
| x58alex41 | 0:9c49bdc7e402 | 49 | RR_e=1; | 
| x58alex41 | 0:9c49bdc7e402 | 50 | |
| x58alex41 | 0:9c49bdc7e402 | 51 | cM1_1.rise(&incrementM1); | 
| x58alex41 | 0:9c49bdc7e402 | 52 | cM1_1.fall(&incrementM1); | 
| x58alex41 | 0:9c49bdc7e402 | 53 | cM1_2.rise(&incrementM1); | 
| x58alex41 | 0:9c49bdc7e402 | 54 | cM1_2.fall(&incrementM1); | 
| x58alex41 | 0:9c49bdc7e402 | 55 | |
| x58alex41 | 0:9c49bdc7e402 | 56 | cM2_1.rise(&incrementM2); | 
| x58alex41 | 0:9c49bdc7e402 | 57 | cM2_1.fall(&incrementM2); | 
| x58alex41 | 0:9c49bdc7e402 | 58 | cM2_2.rise(&incrementM2); | 
| x58alex41 | 0:9c49bdc7e402 | 59 | cM2_2.fall(&incrementM2); | 
| x58alex41 | 0:9c49bdc7e402 | 60 | |
| x58alex41 | 9:76e4808df4cb | 61 | move(.8, 1000000, forward, forward, &PID_e ); | 
| 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 | |
| x58alex41 | 0:9c49bdc7e402 | 69 |