
Script voor het aansturen van de motor
main.cpp@0:cceb961bd0de, 2015-09-15 (annotated)
- Committer:
- roosalyn
- Date:
- Tue Sep 15 09:10:43 2015 +0000
- Revision:
- 0:cceb961bd0de
First version to calculate angles for the arms
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
roosalyn | 0:cceb961bd0de | 1 | #include "mbed.h" |
roosalyn | 0:cceb961bd0de | 2 | #include <iostream> |
roosalyn | 0:cceb961bd0de | 3 | #include <string> |
roosalyn | 0:cceb961bd0de | 4 | #include <math.h> |
roosalyn | 0:cceb961bd0de | 5 | |
roosalyn | 0:cceb961bd0de | 6 | DigitalOut gpo(D0); |
roosalyn | 0:cceb961bd0de | 7 | DigitalOut led(LED_RED); |
roosalyn | 0:cceb961bd0de | 8 | |
roosalyn | 0:cceb961bd0de | 9 | float bereken_hoeken(float x, float y) { |
roosalyn | 0:cceb961bd0de | 10 | float langste_zijde = sqrt(pow(x*4,2) + pow(y*4,2)); |
roosalyn | 0:cceb961bd0de | 11 | float alpha = acos((langste_zijde/2)/30); |
roosalyn | 0:cceb961bd0de | 12 | float beta = 0.5*M_PI - alpha; |
roosalyn | 0:cceb961bd0de | 13 | float hoek_arm2 = 2*beta; |
roosalyn | 0:cceb961bd0de | 14 | float hoek_arm1 = atan((4*y)/(4*x)) + alpha; |
roosalyn | 0:cceb961bd0de | 15 | return hoek_arm2; |
roosalyn | 0:cceb961bd0de | 16 | } |
roosalyn | 0:cceb961bd0de | 17 | |
roosalyn | 0:cceb961bd0de | 18 | int main() |
roosalyn | 0:cceb961bd0de | 19 | { |
roosalyn | 0:cceb961bd0de | 20 | printf("%.2f\n",bereken_hoeken(4,4)); |
roosalyn | 0:cceb961bd0de | 21 | printf("%.4f\n",bereken_hoeken(3,7)); |
roosalyn | 0:cceb961bd0de | 22 | printf("%.4f\n",bereken_hoeken(5,9)); |
roosalyn | 0:cceb961bd0de | 23 | |
roosalyn | 0:cceb961bd0de | 24 | return 0; |
roosalyn | 0:cceb961bd0de | 25 | } |