Movement motor 1 and 2
Dependencies: Encoder HIDScope mbed
main.cpp@0:92c7924a73dc, 2015-10-14 (annotated)
- Committer:
- JelleH
- Date:
- Wed Oct 14 20:42:26 2015 +0000
- Revision:
- 0:92c7924a73dc
Motor 1 en motor 2 bewegen beide op dezelfde snelheid als er op de knop wordt gedrukt. Echter is opvallend dat bij motor 1 ccw de direction 1 is, en bij motor 2 ccw de direction 0 is terwijl ze toch beide ccw bewegen
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
JelleH | 0:92c7924a73dc | 1 | #include "mbed.h" |
JelleH | 0:92c7924a73dc | 2 | #include "HIDScope.h" |
JelleH | 0:92c7924a73dc | 3 | #include "encoder.h" |
JelleH | 0:92c7924a73dc | 4 | |
JelleH | 0:92c7924a73dc | 5 | |
JelleH | 0:92c7924a73dc | 6 | //pinverdeling en naamgeving variabelen |
JelleH | 0:92c7924a73dc | 7 | Encoder motor1(D13,D12); |
JelleH | 0:92c7924a73dc | 8 | Encoder motor2(D11,D10); // telt pulsen bij verdraaiing en zet dit om in de rotatiehoek |
JelleH | 0:92c7924a73dc | 9 | PwmOut led(D9); |
JelleH | 0:92c7924a73dc | 10 | DigitalOut motor1_direction(D4); |
JelleH | 0:92c7924a73dc | 11 | PwmOut motor1_speed(D5); |
JelleH | 0:92c7924a73dc | 12 | DigitalOut motor2_direction(D7); // motor direction |
JelleH | 0:92c7924a73dc | 13 | PwmOut motor2_speed(D6); // motor speed |
JelleH | 0:92c7924a73dc | 14 | DigitalIn button_1(PTC6); // counterclockwise |
JelleH | 0:92c7924a73dc | 15 | DigitalIn button_2(PTA4); // clockwise |
JelleH | 0:92c7924a73dc | 16 | HIDScope scope(2); // Hidscope met 2channels |
JelleH | 0:92c7924a73dc | 17 | |
JelleH | 0:92c7924a73dc | 18 | const int pressed = 0; //signaal(beweging) bij indrukken |
JelleH | 0:92c7924a73dc | 19 | |
JelleH | 0:92c7924a73dc | 20 | void move_motor1_ccw() |
JelleH | 0:92c7924a73dc | 21 | { |
JelleH | 0:92c7924a73dc | 22 | motor1_direction = 1; |
JelleH | 0:92c7924a73dc | 23 | motor1_speed = 1; |
JelleH | 0:92c7924a73dc | 24 | } |
JelleH | 0:92c7924a73dc | 25 | |
JelleH | 0:92c7924a73dc | 26 | void move_motor2_ccw () //beweging ccw motor 2, signaal van linker bovenbeen |
JelleH | 0:92c7924a73dc | 27 | { |
JelleH | 0:92c7924a73dc | 28 | motor2_direction = 0; |
JelleH | 0:92c7924a73dc | 29 | motor2_speed = 1; |
JelleH | 0:92c7924a73dc | 30 | } |
JelleH | 0:92c7924a73dc | 31 | |
JelleH | 0:92c7924a73dc | 32 | void move_motor1_cw() |
JelleH | 0:92c7924a73dc | 33 | { |
JelleH | 0:92c7924a73dc | 34 | motor1_direction = 0; |
JelleH | 0:92c7924a73dc | 35 | motor1_speed = 0.2; |
JelleH | 0:92c7924a73dc | 36 | } |
JelleH | 0:92c7924a73dc | 37 | |
JelleH | 0:92c7924a73dc | 38 | void move_motor2_cw (){ // beweging cw motor 1, signaal van rechter bovenbeen |
JelleH | 0:92c7924a73dc | 39 | motor2_direction = 1; |
JelleH | 0:92c7924a73dc | 40 | motor2_speed = 0.2; |
JelleH | 0:92c7924a73dc | 41 | } |
JelleH | 0:92c7924a73dc | 42 | |
JelleH | 0:92c7924a73dc | 43 | void read_encoder1() { |
JelleH | 0:92c7924a73dc | 44 | scope.set(0,motor1.getPosition()); |
JelleH | 0:92c7924a73dc | 45 | led.write(motor1.getPosition()/100.0); |
JelleH | 0:92c7924a73dc | 46 | scope.send(); |
JelleH | 0:92c7924a73dc | 47 | wait(0.2f); |
JelleH | 0:92c7924a73dc | 48 | } |
JelleH | 0:92c7924a73dc | 49 | |
JelleH | 0:92c7924a73dc | 50 | void read_encoder2 () { // aflezen van encoder via hidscope?? |
JelleH | 0:92c7924a73dc | 51 | scope.set(1,motor2.getPosition()); |
JelleH | 0:92c7924a73dc | 52 | led.write(motor2.getPosition()/100.0); |
JelleH | 0:92c7924a73dc | 53 | scope.send(); |
JelleH | 0:92c7924a73dc | 54 | wait(0.2f); |
JelleH | 0:92c7924a73dc | 55 | } |
JelleH | 0:92c7924a73dc | 56 | |
JelleH | 0:92c7924a73dc | 57 | void move12() { // beweging van motor 2 cw of ccw d.m.v. button 3 of 4 |
JelleH | 0:92c7924a73dc | 58 | |
JelleH | 0:92c7924a73dc | 59 | if (button_1 == pressed) { |
JelleH | 0:92c7924a73dc | 60 | move_motor1_cw (); |
JelleH | 0:92c7924a73dc | 61 | move_motor2_cw(); |
JelleH | 0:92c7924a73dc | 62 | } |
JelleH | 0:92c7924a73dc | 63 | else if (button_2== pressed) { |
JelleH | 0:92c7924a73dc | 64 | move_motor1_ccw(); |
JelleH | 0:92c7924a73dc | 65 | move_motor2_ccw (); |
JelleH | 0:92c7924a73dc | 66 | } |
JelleH | 0:92c7924a73dc | 67 | else { |
JelleH | 0:92c7924a73dc | 68 | motor1_speed = 0; |
JelleH | 0:92c7924a73dc | 69 | motor2_speed = 0; |
JelleH | 0:92c7924a73dc | 70 | } |
JelleH | 0:92c7924a73dc | 71 | } |
JelleH | 0:92c7924a73dc | 72 | |
JelleH | 0:92c7924a73dc | 73 | //uitvoeren van script |
JelleH | 0:92c7924a73dc | 74 | int main() { |
JelleH | 0:92c7924a73dc | 75 | while (true) { |
JelleH | 0:92c7924a73dc | 76 | |
JelleH | 0:92c7924a73dc | 77 | read_encoder1(); |
JelleH | 0:92c7924a73dc | 78 | read_encoder2(); |
JelleH | 0:92c7924a73dc | 79 | move12(); |
JelleH | 0:92c7924a73dc | 80 | } |
JelleH | 0:92c7924a73dc | 81 | |
JelleH | 0:92c7924a73dc | 82 | } |