
motor aansturing moet lineair zijn is het niet
Dependencies: MODSERIAL Encoder mbed HIDScope
main.cpp
- Committer:
- Zeekat
- Date:
- 2015-09-28
- Revision:
- 1:8918d924f625
- Parent:
- 0:5ea1875b307a
- Child:
- 2:bcd68150136c
File content as of revision 1:8918d924f625:
#include "mbed.h" //MOTOR // motor 1 en 2 zijn omgedraait // pinnen motor 1 -> pinnen motor 2 //motor 1 gegevens PwmOut motor1_aan(D6); // PWM signaal motor 2 (uit sheets) DigitalOut motor1_rich(D7); // digitaal signaal voor richting // einde motor 1 //motor 2 gegevens PwmOut motor2_aan(D5); // PWM signaal motor 1 (uit sheets) DigitalOut motor2_rich(D4); // digitaal signaal voor richting // einde motor 1 //EINDE MOTOR //POTMETERS AnalogIn potleft(A1); AnalogIn potright(A0); void move_mot1(float left) { if(left < 0.4) { float leftin = left*2.5 ; motor1_aan.write(leftin); motor1_rich.write(0); } else if(left > 0.4 && left < 0.6) { motor1_aan.write(0); } else if(left > 0.6) { float calc = left - 1; float calc2 = abs(calc); float leftin = calc2*2.5; motor1_aan.write(leftin); motor1_rich.write(1); } } void move_mot2(float right) { if(right < 0.4) { float rightin = right*2.5; motor2_aan.write(rightin); motor2_rich.write(0); } else if(right > 0.4 && right < 0.6) { motor2_aan.write(0); } else if(right > 0.6) { float calc3 = right-1; float calc4 = abs(calc3); float rightin = calc4*2.5; motor2_aan.write(rightin); motor2_rich.write(1); } } int main() { while(true) { float left = potleft.read(); float right = potright.read(); move_mot1(left); move_mot2(right); wait(0.01f); } }