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: FastPWM mbed QEI biquadFilter HIDScope MODSERIAL
main.cpp
- Committer:
- efvanmarrewijk
- Date:
- 2018-10-08
- Revision:
- 10:ac36f9a204dd
- Parent:
- 9:65c52c1f4a57
- Child:
- 11:3efd6a324f16
File content as of revision 10:ac36f9a204dd:
#include "mbed.h" #include "FastPWM.h" Ticker motor; AnalogIn pot1(A1); AnalogIn pot2(A2); InterruptIn button2(SW2); InterruptIn button3(SW3); DigitalOut pin2(D2); // Motor 3 direction FastPWM pin3(D3); // Motor 3 pwm DigitalOut pin4(D4); // Motor 2 direction FastPWM pin5(D5); // Motor 2 pwm FastPWM pin6(D6); // Motor 1 pwm DigitalOut pin7(D7); // Motor 1 direction //float u1 = pot1; DigitalIn pin8(D8); // Encoder 1 B DigitalIn pin9(D9); // Encoder 1 A DigitalIn pin10(D10); // Encoder 2 B DigitalIn pin11(D11); // Encoder 2 A DigitalIn pin12(D12); // Encoder 3 B DigitalIn pin13(D13); // Encoder 3 A float b; void draaisnel() { if(button2 == 1) { //Interrupt voor rotatierichting clockwise b = 0.4; //In stapjes van 0.1 pin3 = fabs(b); } else if (button2 == 0) { //Interrupt voor rotatierichting } } void draailangzaam() { if(button3 == 1) { //Interrupt voor minder snelheid b = -0.4; pin3 = fabs(b); } } void draai() { if (b>0) { pin2 = true; b = b+0.1; } else if(b<0) { pin2 = false; b = b-0.1; } else { pin3 = 0; } pin3 = fabs(b); float u1 = 2.0*(pot1 - 0.5); if (u1>0) { pin4 = true; } else if(u1<0) { pin4 = false; } pin5 = fabs(u1); float u2 = 2.0*(pot2 - 0.5); if (u2>0) { pin7 = true; } else if(u2<0) { pin7 = false; } pin6 = fabs(u2); } int main(){ pin3 = 0.0; pin5.period(1.0/10000); button2.rise(&draaisnel); // interrupt koppelen button3.rise(&draailangzaam); pin3.period_us(50); motor.attach(draai, 0.001); pin5.period_us(50); motor.attach(draai, 0.001); pin6.period_us(50); motor.attach(draai, 0.001); while(true){ } }