motor aansturing moet lineair zijn is het niet

Dependencies:   MODSERIAL Encoder mbed HIDScope

Committer:
Zeekat
Date:
Mon Sep 28 08:54:05 2015 +0000
Revision:
0:5ea1875b307a
Child:
1:8918d924f625
switched pot from left to right

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Zeekat 0:5ea1875b307a 1 #include "mbed.h"
Zeekat 0:5ea1875b307a 2
Zeekat 0:5ea1875b307a 3 //MOTOR
Zeekat 0:5ea1875b307a 4 // motor 1 en 2 zijn omgedraait
Zeekat 0:5ea1875b307a 5 // pinnen motor 1 -> pinnen motor 2
Zeekat 0:5ea1875b307a 6
Zeekat 0:5ea1875b307a 7 //motor 1 gegevens
Zeekat 0:5ea1875b307a 8 PwmOut motor1_aan(D6); // PWM signaal motor 2 (uit sheets)
Zeekat 0:5ea1875b307a 9 DigitalOut motor1_rich(D7); // digitaal signaal voor richting
Zeekat 0:5ea1875b307a 10 // einde motor 1
Zeekat 0:5ea1875b307a 11
Zeekat 0:5ea1875b307a 12 //motor 2 gegevens
Zeekat 0:5ea1875b307a 13 PwmOut motor2_aan(D5); // PWM signaal motor 1 (uit sheets)
Zeekat 0:5ea1875b307a 14 DigitalOut motor2_rich(D4); // digitaal signaal voor richting
Zeekat 0:5ea1875b307a 15 // einde motor 1
Zeekat 0:5ea1875b307a 16 //EINDE MOTOR
Zeekat 0:5ea1875b307a 17
Zeekat 0:5ea1875b307a 18
Zeekat 0:5ea1875b307a 19 //POTMETERS
Zeekat 0:5ea1875b307a 20 AnalogIn potleft(A1);
Zeekat 0:5ea1875b307a 21 AnalogIn potright(A0);
Zeekat 0:5ea1875b307a 22
Zeekat 0:5ea1875b307a 23 void move_mot1(float left)
Zeekat 0:5ea1875b307a 24 {
Zeekat 0:5ea1875b307a 25 if(left < 0.4)
Zeekat 0:5ea1875b307a 26 {
Zeekat 0:5ea1875b307a 27 motor1_aan.write(1);
Zeekat 0:5ea1875b307a 28 motor1_rich.write(0);
Zeekat 0:5ea1875b307a 29 }
Zeekat 0:5ea1875b307a 30 else if(left > 0.4 && left < 0.6)
Zeekat 0:5ea1875b307a 31 {
Zeekat 0:5ea1875b307a 32 motor1_aan.write(0);
Zeekat 0:5ea1875b307a 33 }
Zeekat 0:5ea1875b307a 34 else if(left > 0.6)
Zeekat 0:5ea1875b307a 35 {
Zeekat 0:5ea1875b307a 36 motor1_aan.write(1);
Zeekat 0:5ea1875b307a 37 motor1_rich.write(1);
Zeekat 0:5ea1875b307a 38 }
Zeekat 0:5ea1875b307a 39 }
Zeekat 0:5ea1875b307a 40
Zeekat 0:5ea1875b307a 41 void move_mot2(float right)
Zeekat 0:5ea1875b307a 42 {
Zeekat 0:5ea1875b307a 43 if(right < 0.4)
Zeekat 0:5ea1875b307a 44 {
Zeekat 0:5ea1875b307a 45 motor2_aan.write(1);
Zeekat 0:5ea1875b307a 46 motor2_rich.write(0);
Zeekat 0:5ea1875b307a 47 }
Zeekat 0:5ea1875b307a 48 else if(right > 0.4 && right < 0.6)
Zeekat 0:5ea1875b307a 49 {
Zeekat 0:5ea1875b307a 50 motor2_aan.write(0);
Zeekat 0:5ea1875b307a 51 }
Zeekat 0:5ea1875b307a 52 else if(right > 0.6)
Zeekat 0:5ea1875b307a 53 {
Zeekat 0:5ea1875b307a 54 motor2_aan.write(1);
Zeekat 0:5ea1875b307a 55 motor2_rich.write(1);
Zeekat 0:5ea1875b307a 56 }
Zeekat 0:5ea1875b307a 57 }
Zeekat 0:5ea1875b307a 58
Zeekat 0:5ea1875b307a 59
Zeekat 0:5ea1875b307a 60
Zeekat 0:5ea1875b307a 61 int main()
Zeekat 0:5ea1875b307a 62 {
Zeekat 0:5ea1875b307a 63
Zeekat 0:5ea1875b307a 64 while(true)
Zeekat 0:5ea1875b307a 65 {
Zeekat 0:5ea1875b307a 66 float left = potleft.read();
Zeekat 0:5ea1875b307a 67 float right = potright.read();
Zeekat 0:5ea1875b307a 68 move_mot1(left);
Zeekat 0:5ea1875b307a 69 move_mot2(right);
Zeekat 0:5ea1875b307a 70 wait(0.01f);
Zeekat 0:5ea1875b307a 71 }
Zeekat 0:5ea1875b307a 72 }