
cases gebasseerd op snake, ideetje nog niet werkend
Dependencies: mbed
main.cpp@0:8c4c4aac180b, 2017-10-31 (annotated)
- Committer:
- Miriam
- Date:
- Tue Oct 31 11:18:52 2017 +0000
- Revision:
- 0:8c4c4aac180b
cases gebasseerd op snake
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Miriam | 0:8c4c4aac180b | 1 | #include "mbed.h" |
Miriam | 0:8c4c4aac180b | 2 | |
Miriam | 0:8c4c4aac180b | 3 | //global variabelen |
Miriam | 0:8c4c4aac180b | 4 | |
Miriam | 0:8c4c4aac180b | 5 | DigitalOut gpo(D0); |
Miriam | 0:8c4c4aac180b | 6 | DigitalOut led(LED_RED); |
Miriam | 0:8c4c4aac180b | 7 | const int depth =20; |
Miriam | 0:8c4c4aac180b | 8 | const int height = 20; |
Miriam | 0:8c4c4aac180b | 9 | int z, y, Goalz, Goaly, MemPrePos; |
Miriam | 0:8c4c4aac180b | 10 | dir = enum eDirection {STOP = 0, LEFT, RIGHT, UP, DOWN, SERVOAAN, SERVOUIT} ; |
Miriam | 0:8c4c4aac180b | 11 | |
Miriam | 0:8c4c4aac180b | 12 | void setup() |
Miriam | 0:8c4c4aac180b | 13 | { |
Miriam | 0:8c4c4aac180b | 14 | bool outofreach = false; |
Miriam | 0:8c4c4aac180b | 15 | dir = 0; |
Miriam | 0:8c4c4aac180b | 16 | //z = startpositie van z. bijv. z = depth/2; |
Miriam | 0:8c4c4aac180b | 17 | //y = startpositie van y. y = height/2; |
Miriam | 0:8c4c4aac180b | 18 | // Set Goalz en Goaly based on EMG signals --> maybe not in here |
Miriam | 0:8c4c4aac180b | 19 | MemPrePos = 0; |
Miriam | 0:8c4c4aac180b | 20 | } |
Miriam | 0:8c4c4aac180b | 21 | |
Miriam | 0:8c4c4aac180b | 22 | void MovementSpace() |
Miriam | 0:8c4c4aac180b | 23 | { |
Miriam | 0:8c4c4aac180b | 24 | // bounderies robot |
Miriam | 0:8c4c4aac180b | 25 | } |
Miriam | 0:8c4c4aac180b | 26 | |
Miriam | 0:8c4c4aac180b | 27 | void Logic () |
Miriam | 0:8c4c4aac180b | 28 | { |
Miriam | 0:8c4c4aac180b | 29 | switch (dir) |
Miriam | 0:8c4c4aac180b | 30 | { |
Miriam | 0:8c4c4aac180b | 31 | case LEFT: |
Miriam | 0:8c4c4aac180b | 32 | Goalz++; |
Miriam | 0:8c4c4aac180b | 33 | case RIGHT: |
Miriam | 0:8c4c4aac180b | 34 | Goalz--; |
Miriam | 0:8c4c4aac180b | 35 | case UP: |
Miriam | 0:8c4c4aac180b | 36 | Goaly++; |
Miriam | 0:8c4c4aac180b | 37 | case DOWN: |
Miriam | 0:8c4c4aac180b | 38 | Goaly--; |
Miriam | 0:8c4c4aac180b | 39 | case SERVOAAN: |
Miriam | 0:8c4c4aac180b | 40 | //; |
Miriam | 0:8c4c4aac180b | 41 | case SERVOUIT: |
Miriam | 0:8c4c4aac180b | 42 | //; |
Miriam | 0:8c4c4aac180b | 43 | default: |
Miriam | 0:8c4c4aac180b | 44 | break; |
Miriam | 0:8c4c4aac180b | 45 | } |
Miriam | 0:8c4c4aac180b | 46 | |
Miriam | 0:8c4c4aac180b | 47 | // RKI: q1(t + T) = q1(t) + |
Miriam | 0:8c4c4aac180b | 48 | // (sin(q1)L1+sin(q2)L2)(Rdoely - cos(q1)L1-cos(q2)L2)K - |
Miriam | 0:8c4c4aac180b | 49 | // (cos(q1)L1 +cos(q2)L2)K(T/B1)(Rdoelx - sin(q1)L1 - sin(q2)L2) |
Miriam | 0:8c4c4aac180b | 50 | // |
Miriam | 0:8c4c4aac180b | 51 | // q2(t + T) = q2(t) + |
Miriam | 0:8c4c4aac180b | 52 | // (2*sin(q1)L1 + sin(q2)L2)(Rdoely - cos(q1)L1-cos(q2)L2)K - |
Miriam | 0:8c4c4aac180b | 53 | // cos(q2)L2(Rdoelx - sin(q1)L1-sin(q2)L2)K(T/B2) |
Miriam | 0:8c4c4aac180b | 54 | // |
Miriam | 0:8c4c4aac180b | 55 | // lengte van de armen = L1 en L2 |
Miriam | 0:8c4c4aac180b | 56 | // q zijn de hoeken van de joint dus de hoeken van de motor |
Miriam | 0:8c4c4aac180b | 57 | |
Miriam | 0:8c4c4aac180b | 58 | if (y of z = bounderies robot) |
Miriam | 0:8c4c4aac180b | 59 | { |
Miriam | 0:8c4c4aac180b | 60 | outofreach=true; |
Miriam | 0:8c4c4aac180b | 61 | } |
Miriam | 0:8c4c4aac180b | 62 | |
Miriam | 0:8c4c4aac180b | 63 | } |
Miriam | 0:8c4c4aac180b | 64 | |
Miriam | 0:8c4c4aac180b | 65 | int main() |
Miriam | 0:8c4c4aac180b | 66 | { |
Miriam | 0:8c4c4aac180b | 67 | setup () |
Miriam | 0:8c4c4aac180b | 68 | while (!outofreach) |
Miriam | 0:8c4c4aac180b | 69 | { |
Miriam | 0:8c4c4aac180b | 70 | ticker.emg () |
Miriam | 0:8c4c4aac180b | 71 | } |
Miriam | 0:8c4c4aac180b | 72 | } |