final
Dependencies: DISCO_L475VG_IOT01A_wifi
MotorControl.cpp@4:33b80026a3ee, 2019-08-22 (annotated)
- Committer:
- ascension2
- Date:
- Thu Aug 22 08:16:51 2019 +0000
- Revision:
- 4:33b80026a3ee
- Parent:
- 3:32b328935a54
final
;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ascension2 | 0:dc1150daf908 | 1 | #include "mbed.h" |
ascension2 | 0:dc1150daf908 | 2 | ////////// motor (window) ////////// |
ascension2 | 0:dc1150daf908 | 3 | DigitalOut M1_a(A1); |
ascension2 | 0:dc1150daf908 | 4 | DigitalOut M1_b(A2); |
ascension2 | 0:dc1150daf908 | 5 | PwmOut M1_en(D3); |
ascension2 | 0:dc1150daf908 | 6 | ////////// motor (blind) ////////// |
ascension2 | 0:dc1150daf908 | 7 | DigitalOut M2_a(A3); |
ascension2 | 0:dc1150daf908 | 8 | DigitalOut M2_b(A4); |
ascension2 | 0:dc1150daf908 | 9 | PwmOut M2_en(D4); |
ascension2 | 0:dc1150daf908 | 10 | |
ascension2 | 1:98939393d0db | 11 | int motor1_state; |
ascension2 | 1:98939393d0db | 12 | int motor2_state; |
ascension2 | 2:a460007a35c7 | 13 | int window_state; |
ascension2 | 2:a460007a35c7 | 14 | int blind_state; |
ascension2 | 4:33b80026a3ee | 15 | |
ascension2 | 1:98939393d0db | 16 | |
ascension2 | 1:98939393d0db | 17 | void motor1Stop(); |
ascension2 | 1:98939393d0db | 18 | void motor1CW(float speed); |
ascension2 | 1:98939393d0db | 19 | void motor1CCW(float speed); |
ascension2 | 1:98939393d0db | 20 | |
ascension2 | 1:98939393d0db | 21 | void motor2Stop(); |
ascension2 | 1:98939393d0db | 22 | void motor2CW(float speed); |
ascension2 | 1:98939393d0db | 23 | void motor2CCW(float speed); |
ascension2 | 0:dc1150daf908 | 24 | |
ascension2 | 0:dc1150daf908 | 25 | |
ascension2 | 4:33b80026a3ee | 26 | |
ascension2 | 0:dc1150daf908 | 27 | |
ascension2 | 1:98939393d0db | 28 | void motor1CW(float speed) |
ascension2 | 0:dc1150daf908 | 29 | { |
ascension2 | 4:33b80026a3ee | 30 | if(window_state==0) |
ascension2 | 4:33b80026a3ee | 31 | { |
ascension2 | 2:a460007a35c7 | 32 | motor1_state=1; |
ascension2 | 2:a460007a35c7 | 33 | window_state=1; |
ascension2 | 0:dc1150daf908 | 34 | M1_a=1; |
ascension2 | 0:dc1150daf908 | 35 | M1_b=0; |
ascension2 | 0:dc1150daf908 | 36 | M1_en.write((speed/100)); |
ascension2 | 4:33b80026a3ee | 37 | } |
ascension2 | 3:32b328935a54 | 38 | int i ; |
ascension2 | 4:33b80026a3ee | 39 | for(i=0; i<11000000;i++){ } |
ascension2 | 2:a460007a35c7 | 40 | motor1Stop(); |
ascension2 | 0:dc1150daf908 | 41 | } |
ascension2 | 0:dc1150daf908 | 42 | |
ascension2 | 1:98939393d0db | 43 | void motor1CCW(float speed) |
ascension2 | 0:dc1150daf908 | 44 | { |
ascension2 | 4:33b80026a3ee | 45 | if(window_state==1) |
ascension2 | 4:33b80026a3ee | 46 | { |
ascension2 | 2:a460007a35c7 | 47 | motor1_state=0; |
ascension2 | 2:a460007a35c7 | 48 | window_state=0; |
ascension2 | 0:dc1150daf908 | 49 | M1_a=0; |
ascension2 | 0:dc1150daf908 | 50 | M1_b=1; |
ascension2 | 0:dc1150daf908 | 51 | M1_en.write((speed/100)); |
ascension2 | 4:33b80026a3ee | 52 | } |
ascension2 | 3:32b328935a54 | 53 | int i ; |
ascension2 | 4:33b80026a3ee | 54 | for(i=0; i<11000000;i++){ } |
ascension2 | 2:a460007a35c7 | 55 | motor1Stop(); |
ascension2 | 0:dc1150daf908 | 56 | } |
ascension2 | 0:dc1150daf908 | 57 | |
ascension2 | 1:98939393d0db | 58 | void motor1Stop() |
ascension2 | 0:dc1150daf908 | 59 | { |
ascension2 | 4:33b80026a3ee | 60 | |
ascension2 | 0:dc1150daf908 | 61 | M1_a=0; |
ascension2 | 0:dc1150daf908 | 62 | M1_b=0; |
ascension2 | 2:a460007a35c7 | 63 | motor1_state=2; |
ascension2 | 1:98939393d0db | 64 | } |
ascension2 | 1:98939393d0db | 65 | void motor2CW(float speed) |
ascension2 | 1:98939393d0db | 66 | { |
ascension2 | 4:33b80026a3ee | 67 | if(blind_state==0) |
ascension2 | 4:33b80026a3ee | 68 | { |
ascension2 | 2:a460007a35c7 | 69 | motor2_state=1; |
ascension2 | 2:a460007a35c7 | 70 | blind_state=1; |
ascension2 | 1:98939393d0db | 71 | M2_a=1; |
ascension2 | 1:98939393d0db | 72 | M2_b=0; |
ascension2 | 1:98939393d0db | 73 | M2_en.write((speed/100)); |
ascension2 | 4:33b80026a3ee | 74 | } |
ascension2 | 3:32b328935a54 | 75 | int i ; |
ascension2 | 4:33b80026a3ee | 76 | for(i=0; i<18000000;i++){ } |
ascension2 | 4:33b80026a3ee | 77 | motor2Stop(); |
ascension2 | 1:98939393d0db | 78 | } |
ascension2 | 1:98939393d0db | 79 | |
ascension2 | 1:98939393d0db | 80 | void motor2CCW(float speed) |
ascension2 | 1:98939393d0db | 81 | { |
ascension2 | 4:33b80026a3ee | 82 | if(blind_state==1) |
ascension2 | 4:33b80026a3ee | 83 | { |
ascension2 | 2:a460007a35c7 | 84 | motor2_state=0; |
ascension2 | 2:a460007a35c7 | 85 | blind_state=0; |
ascension2 | 1:98939393d0db | 86 | M2_a=0; |
ascension2 | 1:98939393d0db | 87 | M2_b=1; |
ascension2 | 4:33b80026a3ee | 88 | } |
ascension2 | 3:32b328935a54 | 89 | int i ; |
ascension2 | 4:33b80026a3ee | 90 | for(i=0; i<18000000;i++){ } |
ascension2 | 4:33b80026a3ee | 91 | motor2Stop(); |
ascension2 | 1:98939393d0db | 92 | |
ascension2 | 1:98939393d0db | 93 | } |
ascension2 | 1:98939393d0db | 94 | |
ascension2 | 1:98939393d0db | 95 | void motor2Stop() |
ascension2 | 1:98939393d0db | 96 | { |
ascension2 | 1:98939393d0db | 97 | M2_a=0; |
ascension2 | 1:98939393d0db | 98 | M2_b=0; |
ascension2 | 2:a460007a35c7 | 99 | motor2_state=2; |
ascension2 | 0:dc1150daf908 | 100 | } |