nRF24L01, encoder, pca9685, pid
Dependencies: mbed QEI-1 nRF24L01P xiugai
main.cpp@1:1e3eb2d1496b, 2018-05-02 (annotated)
- Committer:
- glintligo
- Date:
- Wed May 02 08:01:38 2018 +0000
- Revision:
- 1:1e3eb2d1496b
- Parent:
- 0:e63858fec119
- Child:
- 2:af377291f3ae
???v1;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
glintligo | 0:e63858fec119 | 1 | #include "mbed.h" |
glintligo | 0:e63858fec119 | 2 | #include "QEI.h" |
glintligo | 1:1e3eb2d1496b | 3 | DigitalOut w1(PB_6); |
glintligo | 1:1e3eb2d1496b | 4 | DigitalOut w2(PB_7); |
glintligo | 1:1e3eb2d1496b | 5 | DigitalOut w3(PB_8); |
glintligo | 1:1e3eb2d1496b | 6 | DigitalOut w4(PB_9); |
glintligo | 1:1e3eb2d1496b | 7 | PwmOut mypwm1(PA_9); |
glintligo | 1:1e3eb2d1496b | 8 | PwmOut mypwm2(PA_8); |
glintligo | 1:1e3eb2d1496b | 9 | Serial pc(PB_10, PB_11); |
glintligo | 1:1e3eb2d1496b | 10 | Ticker toggle_time_ticker; |
glintligo | 1:1e3eb2d1496b | 11 | QEI wheel(PA_2, PA_3, NC, 11, QEI::X4_ENCODING); |
glintligo | 1:1e3eb2d1496b | 12 | QEI wheel2(PA_6, PA_7, NC, 11, QEI::X4_ENCODING); |
glintligo | 1:1e3eb2d1496b | 13 | int x,y; |
glintligo | 1:1e3eb2d1496b | 14 | float a= 0.01, b = 0.00860454; |
glintligo | 1:1e3eb2d1496b | 15 | void time_ticker(); |
glintligo | 1:1e3eb2d1496b | 16 | void serialread(); |
glintligo | 1:1e3eb2d1496b | 17 | int main() |
glintligo | 1:1e3eb2d1496b | 18 | { |
glintligo | 1:1e3eb2d1496b | 19 | mypwm1.period_ms(10); |
glintligo | 1:1e3eb2d1496b | 20 | mypwm2.period_ms(10); |
glintligo | 1:1e3eb2d1496b | 21 | toggle_time_ticker.attach(&time_ticker, 0.2); |
glintligo | 1:1e3eb2d1496b | 22 | pc.attach(&serialread); |
glintligo | 1:1e3eb2d1496b | 23 | mypwm1.pulsewidth(a); |
glintligo | 1:1e3eb2d1496b | 24 | mypwm2.pulsewidth(b); |
glintligo | 1:1e3eb2d1496b | 25 | wheel.reset(); |
glintligo | 1:1e3eb2d1496b | 26 | wheel2.reset(); |
glintligo | 1:1e3eb2d1496b | 27 | w1 = 0; |
glintligo | 1:1e3eb2d1496b | 28 | w2 = 0; |
glintligo | 1:1e3eb2d1496b | 29 | w3 = 0; |
glintligo | 1:1e3eb2d1496b | 30 | w4 = 0; |
glintligo | 0:e63858fec119 | 31 | while(1) |
glintligo | 0:e63858fec119 | 32 | { |
glintligo | 1:1e3eb2d1496b | 33 | |
glintligo | 0:e63858fec119 | 34 | } |
glintligo | 0:e63858fec119 | 35 | } |
glintligo | 1:1e3eb2d1496b | 36 | |
glintligo | 1:1e3eb2d1496b | 37 | void time_ticker(){ |
glintligo | 1:1e3eb2d1496b | 38 | x = wheel.getPulses(); |
glintligo | 1:1e3eb2d1496b | 39 | y = wheel2.getPulses(); |
glintligo | 1:1e3eb2d1496b | 40 | wheel.reset(); |
glintligo | 1:1e3eb2d1496b | 41 | wheel2.reset(); |
glintligo | 1:1e3eb2d1496b | 42 | pc.printf("x:%d y:%d\n",x,y); |
glintligo | 1:1e3eb2d1496b | 43 | } |
glintligo | 1:1e3eb2d1496b | 44 | |
glintligo | 1:1e3eb2d1496b | 45 | void serialread(){ |
glintligo | 1:1e3eb2d1496b | 46 | switch (pc.getc()) |
glintligo | 1:1e3eb2d1496b | 47 | { |
glintligo | 1:1e3eb2d1496b | 48 | case '1': |
glintligo | 1:1e3eb2d1496b | 49 | w1=0; |
glintligo | 1:1e3eb2d1496b | 50 | w4=0; |
glintligo | 1:1e3eb2d1496b | 51 | break; |
glintligo | 1:1e3eb2d1496b | 52 | case '2': |
glintligo | 1:1e3eb2d1496b | 53 | w1=1; |
glintligo | 1:1e3eb2d1496b | 54 | w4=1; |
glintligo | 1:1e3eb2d1496b | 55 | break; |
glintligo | 1:1e3eb2d1496b | 56 | default: |
glintligo | 1:1e3eb2d1496b | 57 | break; |
glintligo | 1:1e3eb2d1496b | 58 | } |
glintligo | 1:1e3eb2d1496b | 59 | } |