Dynamics ident of the system

Dependencies:   FastPWM HIDScope MODSERIAL QEI mbed

Fork of Berekenen_motorhoek by Biorobotics_group_2

Committer:
TimDouma
Date:
Wed Oct 12 14:27:44 2016 +0000
Revision:
0:46a1642a10c8
Child:
1:709a462b8373
Virtualbar berekenen lukt, meerdere outputs uit functie niet

Who changed what in which revision?

UserRevisionLine numberNew 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 0:46a1642a10c8 4
TimDouma 0:46a1642a10c8 5 Serial pc(USBTX,USBRX);
TimDouma 0:46a1642a10c8 6 Ticker TickerAfstandBerekenen;
TimDouma 0:46a1642a10c8 7 // in te voeren x en y waardes (de positie waar we heen willen)
TimDouma 0:46a1642a10c8 8 volatile float x = -30.0;
TimDouma 0:46a1642a10c8 9 volatile float y = 200.0;
TimDouma 0:46a1642a10c8 10
TimDouma 0:46a1642a10c8 11 // waardes
TimDouma 0:46a1642a10c8 12 volatile const float a = 50.0; // de afstand van gekozen assenstelsel tot de armas (assenstelsel precies in het midden)
TimDouma 0:46a1642a10c8 13 volatile const float Bar = 200.0; // lengte van de armen
TimDouma 0:46a1642a10c8 14 //volatile float D1 = 9.0;
TimDouma 0:46a1642a10c8 15
TimDouma 0:46a1642a10c8 16
TimDouma 0:46a1642a10c8 17 // functie om D1 en D2 te berekenen
TimDouma 0:46a1642a10c8 18 float AfstandBerekenen ()
TimDouma 0:46a1642a10c8 19 {
TimDouma 0:46a1642a10c8 20 float BV1 = sqrt(pow((a+x),2) + pow(y,2)); // diagonaal (afstand van armas tot locatie) berekenen
TimDouma 0:46a1642a10c8 21 float BV2 = sqrt(pow((x-a),2) + pow(y,2));
TimDouma 0:46a1642a10c8 22
TimDouma 0:46a1642a10c8 23 float D1 = pow(BV1,2)/(2*BV1); // berekenen van de afstand oorsprong tot diagonaal
TimDouma 0:46a1642a10c8 24 float D2 = pow(BV2,2)/(2*BV2);
TimDouma 0:46a1642a10c8 25
TimDouma 0:46a1642a10c8 26 pc.baud(SERIAL_BAUD);
TimDouma 0:46a1642a10c8 27 pc.printf("D1 = %f en D2 = %f\r\n", D1, D2);
TimDouma 0:46a1642a10c8 28
TimDouma 0:46a1642a10c8 29 return D1;
TimDouma 0:46a1642a10c8 30 //return D2;
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 0:46a1642a10c8 45 pc.printf("D1 = %f \r\n", D1, D2);
TimDouma 0:46a1642a10c8 46 //AfstandBerekenen();
TimDouma 0:46a1642a10c8 47 while (true) {
TimDouma 0:46a1642a10c8 48
TimDouma 0:46a1642a10c8 49 }
TimDouma 0:46a1642a10c8 50 }