Diagonaal berekenen lukt, meerdere outputs nog niet
Dependencies: mbed FastPWM HIDScope MODSERIAL QEI
main.cpp@1:709a462b8373, 2016-10-12 (annotated)
- Committer:
- TimDouma
- Date:
- Wed Oct 12 14:39:29 2016 +0000
- Revision:
- 1:709a462b8373
- Parent:
- 0:46a1642a10c8
- Child:
- 2:bf1466ac4e6f
Diagonaal berekenen lukt, meerdere ouputs niet;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
TimDouma | 0:46a1642a10c8 | 1 | #include "mbed.h" |
TimDouma | 0:46a1642a10c8 | 2 | #include "math.h" |
TimDouma | 0:46a1642a10c8 | 3 | #define SERIAL_BAUD 115200 |
TimDouma | 1:709a462b8373 | 4 | #include "iostream" |
TimDouma | 0:46a1642a10c8 | 5 | |
TimDouma | 0:46a1642a10c8 | 6 | Serial pc(USBTX,USBRX); |
TimDouma | 0:46a1642a10c8 | 7 | Ticker TickerAfstandBerekenen; |
TimDouma | 0:46a1642a10c8 | 8 | // in te voeren x en y waardes (de positie waar we heen willen) |
TimDouma | 0:46a1642a10c8 | 9 | volatile float x = -30.0; |
TimDouma | 0:46a1642a10c8 | 10 | volatile float y = 200.0; |
TimDouma | 0:46a1642a10c8 | 11 | |
TimDouma | 0:46a1642a10c8 | 12 | // waardes |
TimDouma | 0:46a1642a10c8 | 13 | volatile const float a = 50.0; // de afstand van gekozen assenstelsel tot de armas (assenstelsel precies in het midden) |
TimDouma | 0:46a1642a10c8 | 14 | volatile const float Bar = 200.0; // lengte van de armen |
TimDouma | 0:46a1642a10c8 | 15 | //volatile float D1 = 9.0; |
TimDouma | 0:46a1642a10c8 | 16 | |
TimDouma | 0:46a1642a10c8 | 17 | |
TimDouma | 0:46a1642a10c8 | 18 | // functie om D1 en D2 te berekenen |
TimDouma | 0:46a1642a10c8 | 19 | float AfstandBerekenen () |
TimDouma | 0:46a1642a10c8 | 20 | { |
TimDouma | 0:46a1642a10c8 | 21 | float BV1 = sqrt(pow((a+x),2) + pow(y,2)); // diagonaal (afstand van armas tot locatie) berekenen |
TimDouma | 0:46a1642a10c8 | 22 | float BV2 = sqrt(pow((x-a),2) + pow(y,2)); |
TimDouma | 0:46a1642a10c8 | 23 | |
TimDouma | 0:46a1642a10c8 | 24 | float D1 = pow(BV1,2)/(2*BV1); // berekenen van de afstand oorsprong tot diagonaal |
TimDouma | 0:46a1642a10c8 | 25 | float D2 = pow(BV2,2)/(2*BV2); |
TimDouma | 0:46a1642a10c8 | 26 | |
TimDouma | 0:46a1642a10c8 | 27 | pc.baud(SERIAL_BAUD); |
TimDouma | 1:709a462b8373 | 28 | pc.printf("\r\n D1 = %f en D2 = %f\r\n", D1, D2); |
TimDouma | 0:46a1642a10c8 | 29 | |
TimDouma | 1:709a462b8373 | 30 | return D1 ; |
TimDouma | 0:46a1642a10c8 | 31 | } |
TimDouma | 0:46a1642a10c8 | 32 | |
TimDouma | 0:46a1642a10c8 | 33 | /* |
TimDouma | 0:46a1642a10c8 | 34 | void MotorhoekBerekenen (){ |
TimDouma | 0:46a1642a10c8 | 35 | if (x > -a){ |
TimDouma | 0:46a1642a10c8 | 36 | float MotorHoek1 = 180 - atan(y/(x+a)) - acos( |
TimDouma | 0:46a1642a10c8 | 37 | */ |
TimDouma | 0:46a1642a10c8 | 38 | int main() |
TimDouma | 0:46a1642a10c8 | 39 | { |
TimDouma | 0:46a1642a10c8 | 40 | |
TimDouma | 0:46a1642a10c8 | 41 | //TickerAfstandBerekenen.attach(&AfstandBerekenen, 0.1); |
TimDouma | 0:46a1642a10c8 | 42 | float D1 = AfstandBerekenen(); |
TimDouma | 0:46a1642a10c8 | 43 | //float D2 = AfstandBerekenen(x,y); |
TimDouma | 0:46a1642a10c8 | 44 | pc.baud(SERIAL_BAUD); |
TimDouma | 1:709a462b8373 | 45 | pc.printf("D1 = %f\r\n", D1); |
TimDouma | 0:46a1642a10c8 | 46 | //AfstandBerekenen(); |
TimDouma | 0:46a1642a10c8 | 47 | while (true) { |
TimDouma | 0:46a1642a10c8 | 48 | |
TimDouma | 0:46a1642a10c8 | 49 | } |
TimDouma | 0:46a1642a10c8 | 50 | } |