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: QEI mbed HIDScope
main.cpp@2:cb7d7e31e30e, 2018-10-14 (annotated)
- Committer:
- kweisbeek
- Date:
- Sun Oct 14 10:59:42 2018 +0000
- Revision:
- 2:cb7d7e31e30e
- Parent:
- 1:ccb2f96c393a
- Child:
- 3:e533800b2ef8
basis motor encoder counter
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
s1725696 | 0:5d1481a32da2 | 1 | #include "mbed.h" |
s1725696 | 0:5d1481a32da2 | 2 | #include "QEI.h" |
s1725696 | 0:5d1481a32da2 | 3 | |
s1725696 | 0:5d1481a32da2 | 4 | #define SERIAL_BAUD 115200 |
s1725696 | 0:5d1481a32da2 | 5 | |
s1725696 | 0:5d1481a32da2 | 6 | Serial pc(USBTX,USBRX); |
s1725696 | 0:5d1481a32da2 | 7 | |
s1725696 | 0:5d1481a32da2 | 8 | DigitalOut dirpin(D4); |
kweisbeek | 2:cb7d7e31e30e | 9 | DigitalOut dirpin_2(D6); |
kweisbeek | 2:cb7d7e31e30e | 10 | |
s1725696 | 0:5d1481a32da2 | 11 | PwmOut pwmpin(D5); |
s1725696 | 0:5d1481a32da2 | 12 | PwmOut pwmpin_2(D7); |
kweisbeek | 2:cb7d7e31e30e | 13 | |
kweisbeek | 2:cb7d7e31e30e | 14 | AnalogIn pot_1(A1); //only using one potmeter for both motors, eventually just use a signal created by program or EMG-signals |
s1725696 | 0:5d1481a32da2 | 15 | |
kweisbeek | 2:cb7d7e31e30e | 16 | |
kweisbeek | 2:cb7d7e31e30e | 17 | QEI Encoder(D12,D13,NC,64,QEI::X4_ENCODING); //channel A=D12, channel B=D13 |
s1725696 | 0:5d1481a32da2 | 18 | |
s1725696 | 0:5d1481a32da2 | 19 | int main() |
s1725696 | 0:5d1481a32da2 | 20 | { |
kweisbeek | 2:cb7d7e31e30e | 21 | //float out_1=1.0f; //set potmeter signal as a predetermined digital signal |
kweisbeek | 2:cb7d7e31e30e | 22 | pc.baud(115200); //also set baudrate to 115200 in teraterm! |
s1725696 | 0:5d1481a32da2 | 23 | pc.printf("start\r\n"); |
kweisbeek | 2:cb7d7e31e30e | 24 | |
kweisbeek | 2:cb7d7e31e30e | 25 | pwmpin.period_us(60); //??? |
s1725696 | 0:5d1481a32da2 | 26 | |
kweisbeek | 2:cb7d7e31e30e | 27 | while(1){ |
kweisbeek | 2:cb7d7e31e30e | 28 | float out_1 = (pot_1 * 2.0f) - 1.0f; //scales potmeter signal from 0 to 1 into -1 to 1 |
kweisbeek | 2:cb7d7e31e30e | 29 | dirpin.write(out_1 < 0); //sets direction of motor? if negative =true (1), if positive =false (0) |
kweisbeek | 2:cb7d7e31e30e | 30 | pwmpin = fabs (out_1); //sets speed of motor? |
kweisbeek | 2:cb7d7e31e30e | 31 | pc.printf("%i\r\n", Encoder.getPulses()); //prints the amount of counts |
kweisbeek | 2:cb7d7e31e30e | 32 | wait(0.1); //repeat loop every 0.01 sec |
s1725696 | 0:5d1481a32da2 | 33 | } |
s1725696 | 0:5d1481a32da2 | 34 | } |