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.
Fork of Nucleo_PWM by
main.cpp@2:05faa0892bec, 2016-02-18 (annotated)
- Committer:
- Mahran
- Date:
- Thu Feb 18 10:58:50 2016 +0000
- Revision:
- 2:05faa0892bec
- Parent:
- 1:c56c4fb5cb59
- Child:
- 3:3b6b718a76cd
Nucleo_PWM
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| Mahran | 0:bb0da30d43f4 | 1 | #include "mbed.h" |
| Mahran | 1:c56c4fb5cb59 | 2 | //TIM1_CH1 //Pince Bas gauche |
| Mahran | 0:bb0da30d43f4 | 3 | PwmOut PWM1(PA_8); |
| Mahran | 1:c56c4fb5cb59 | 4 | //TIM1_CH4 //Pince bas droite |
| Mahran | 0:bb0da30d43f4 | 5 | PwmOut PWM2(PA_11); |
| Mahran | 0:bb0da30d43f4 | 6 | //TIM16_CH1 |
| Mahran | 0:bb0da30d43f4 | 7 | PwmOut PWM3(PA_12); |
| Mahran | 0:bb0da30d43f4 | 8 | //TIM3_CH1 |
| Mahran | 0:bb0da30d43f4 | 9 | PwmOut PWM4(PB_0); |
| Mahran | 0:bb0da30d43f4 | 10 | //TIM3_CH4 |
| Mahran | 0:bb0da30d43f4 | 11 | PwmOut PWM5(PB_7); |
| Mahran | 0:bb0da30d43f4 | 12 | //TIM17_CH1N |
| Mahran | 0:bb0da30d43f4 | 13 | PwmOut PWM6(PB_6); |
| Mahran | 0:bb0da30d43f4 | 14 | //TIM3_CH4, |
| Mahran | 0:bb0da30d43f4 | 15 | PwmOut PWM7(PB_1); |
| Mahran | 0:bb0da30d43f4 | 16 | //TIM3_CH3 |
| Mahran | 0:bb0da30d43f4 | 17 | PwmOut PWM8(PB_0); |
| Mahran | 1:c56c4fb5cb59 | 18 | |
| Mahran | 0:bb0da30d43f4 | 19 | float map (int x, int in_min,int in_max, float out_min, float out_max) |
| Mahran | 0:bb0da30d43f4 | 20 | { |
| Mahran | 0:bb0da30d43f4 | 21 | return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; |
| Mahran | 0:bb0da30d43f4 | 22 | } |
| Mahran | 1:c56c4fb5cb59 | 23 | |
| Mahran | 0:bb0da30d43f4 | 24 | void Pince_Bas_Gauche(int a) |
| Mahran | 1:c56c4fb5cb59 | 25 | {// 40 ouverture 0 fermeture |
| Mahran | 0:bb0da30d43f4 | 26 | PWM1.period_ms(20); |
| Mahran | 0:bb0da30d43f4 | 27 | PWM1.write(map (a,0,180,0.028f,0.12f)); |
| Mahran | 0:bb0da30d43f4 | 28 | } |
| Mahran | 1:c56c4fb5cb59 | 29 | |
| Mahran | 0:bb0da30d43f4 | 30 | void Pince_Bas_Droite(int a) |
| Mahran | 1:c56c4fb5cb59 | 31 | {// 0 ouverture 40 fermeture |
| Mahran | 0:bb0da30d43f4 | 32 | PWM2.period_ms(20); |
| Mahran | 0:bb0da30d43f4 | 33 | PWM2.write(map (a,0,180,0.028f,0.12f)); |
| Mahran | 0:bb0da30d43f4 | 34 | } |
| Mahran | 1:c56c4fb5cb59 | 35 | void ouverture() |
| Mahran | 1:c56c4fb5cb59 | 36 | { |
| Mahran | 1:c56c4fb5cb59 | 37 | Pince_Bas_Droite(0); |
| Mahran | 1:c56c4fb5cb59 | 38 | Pince_Bas_Gauche(40); |
| Mahran | 1:c56c4fb5cb59 | 39 | } |
| Mahran | 1:c56c4fb5cb59 | 40 | void fermeture() |
| Mahran | 1:c56c4fb5cb59 | 41 | { |
| Mahran | 1:c56c4fb5cb59 | 42 | Pince_Bas_Droite(35); |
| Mahran | 1:c56c4fb5cb59 | 43 | Pince_Bas_Gauche(5); |
| Mahran | 1:c56c4fb5cb59 | 44 | } |
| Mahran | 0:bb0da30d43f4 | 45 | void Pince_Glissement_Gauche(int a) |
| Mahran | 1:c56c4fb5cb59 | 46 | {//50avant 0 arriere |
| Mahran | 0:bb0da30d43f4 | 47 | PWM3.period_ms(20); |
| Mahran | 0:bb0da30d43f4 | 48 | PWM3.write(map (a,0,180,0.028f,0.12f)); |
| Mahran | 0:bb0da30d43f4 | 49 | } |
| Mahran | 1:c56c4fb5cb59 | 50 | |
| Mahran | 0:bb0da30d43f4 | 51 | void Pince_Glissement_Droit(int a) |
| Mahran | 1:c56c4fb5cb59 | 52 | {//0 avant 50 arriere |
| Mahran | 0:bb0da30d43f4 | 53 | PWM4.period_ms(20); |
| Mahran | 0:bb0da30d43f4 | 54 | PWM4.write(map (a,0,180,0.028f,0.12f)); |
| Mahran | 0:bb0da30d43f4 | 55 | } |
| Mahran | 1:c56c4fb5cb59 | 56 | void Pince_avant() |
| Mahran | 1:c56c4fb5cb59 | 57 | { |
| Mahran | 1:c56c4fb5cb59 | 58 | Pince_Glissement_Droit(0); |
| Mahran | 1:c56c4fb5cb59 | 59 | Pince_Glissement_Gauche(50); |
| Mahran | 1:c56c4fb5cb59 | 60 | } |
| Mahran | 1:c56c4fb5cb59 | 61 | void Pince_arriere() |
| Mahran | 1:c56c4fb5cb59 | 62 | { |
| Mahran | 1:c56c4fb5cb59 | 63 | Pince_Glissement_Droit(50); |
| Mahran | 1:c56c4fb5cb59 | 64 | Pince_Glissement_Gauche(0); |
| Mahran | 1:c56c4fb5cb59 | 65 | } |
| Mahran | 2:05faa0892bec | 66 | |
| Mahran | 2:05faa0892bec | 67 | void Pince_Cylindre_Droit(int a) |
| Mahran | 2:05faa0892bec | 68 | {// |
| Mahran | 2:05faa0892bec | 69 | PWM5.period_ms(20); |
| Mahran | 2:05faa0892bec | 70 | PWM5.write(map (a,0,180,0.028f,0.12f)); |
| Mahran | 2:05faa0892bec | 71 | } |
| Mahran | 2:05faa0892bec | 72 | |
| Mahran | 2:05faa0892bec | 73 | void Pince_Cylindre_Gauche(int a) |
| Mahran | 2:05faa0892bec | 74 | {// |
| Mahran | 2:05faa0892bec | 75 | PWM6.period_ms(20); |
| Mahran | 2:05faa0892bec | 76 | PWM6.write(map (a,0,180,0.028f,0.12f)); |
| Mahran | 2:05faa0892bec | 77 | } |
| Mahran | 2:05faa0892bec | 78 | |
| Mahran | 2:05faa0892bec | 79 | void Pince_Cylindre_Haut() |
| Mahran | 2:05faa0892bec | 80 | { |
| Mahran | 2:05faa0892bec | 81 | Pince_Cylindre_Gauche(0); |
| Mahran | 2:05faa0892bec | 82 | Pince_Cylindre_Droit(0); |
| Mahran | 2:05faa0892bec | 83 | } |
| Mahran | 2:05faa0892bec | 84 | void Pince_Cylindre_Bas() |
| Mahran | 2:05faa0892bec | 85 | { |
| Mahran | 2:05faa0892bec | 86 | Pince_Cylindre_Gauche(0); |
| Mahran | 2:05faa0892bec | 87 | Pince_Cylindre_Droit(0); |
| Mahran | 2:05faa0892bec | 88 | } |
| Mahran | 2:05faa0892bec | 89 | |
| Mahran | 0:bb0da30d43f4 | 90 | int main() |
| Mahran | 0:bb0da30d43f4 | 91 | { |
| Mahran | 1:c56c4fb5cb59 | 92 | |
| Mahran | 1:c56c4fb5cb59 | 93 | |
| Mahran | 0:bb0da30d43f4 | 94 | while(1) { |
| Mahran | 1:c56c4fb5cb59 | 95 | Pince_arriere(); |
| Mahran | 1:c56c4fb5cb59 | 96 | wait(1); |
| Mahran | 1:c56c4fb5cb59 | 97 | ouverture(); |
| Mahran | 1:c56c4fb5cb59 | 98 | wait(2); |
| Mahran | 1:c56c4fb5cb59 | 99 | fermeture(); |
| Mahran | 1:c56c4fb5cb59 | 100 | wait(2); |
| Mahran | 1:c56c4fb5cb59 | 101 | Pince_avant(); |
| Mahran | 1:c56c4fb5cb59 | 102 | wait(3); } |
| Mahran | 0:bb0da30d43f4 | 103 | } |
| Mahran | 1:c56c4fb5cb59 | 104 |
