Basic motor code
Dependencies: Motordriver mbed HALLFX_ENCODER Servo
Diff: letters.h
- Revision:
- 13:294c06406d06
- Parent:
- 8:e90d9ce42b33
--- a/letters.h Tue May 01 16:17:24 2018 +0000 +++ b/letters.h Wed May 02 14:25:43 2018 +0000 @@ -1,11 +1,83 @@ +/* typedef struct { double x; double y; - bool pen; + int pen; } Transition; typedef struct { - Transition points[7]; + Transition points[10]; } Letter; -Letter let_a = { .points = { {0.0, 0.0, false}, {0.25, 0.25, true}, {1.0, 1.175, true}, {1.75, .25, true}, {.625, 1.0, false}, {1.375, 1.0, true}, {2.0, 0.0, false} } }; \ No newline at end of file +Letter let_a = { .points = { {0.0, 0.0, 0}, {0.25, 0.25, 1}, {1.0, 1.175, 1}, {1.75, .25, 1}, {.625, 1.0, 0}, {1.375, 1.0, 1}, {2.0, 0.0, 0} } }; +Letter let_h = { .points = { {0.0, 0.0, 0}, {0.0, 2.0, 1}, {2.0, 2.0, 0}, {2.0, 0.0, 1}, {0.0, 1.0, 0}, {2.0, 1.0, 1}, {2.0, 0.0, 0} } }; +Letter let_l = { .points = { {0.0, 0.0, 0}, {0.25, 0.25, 1}, {0.25, 1.75, 1}, {0.25, 0.25, 0}, {1.25, 0.25, 1}, {2.0, 0.0, 0}}}; +Letter let_e = { .points = { {0.0, 0.0, 0}, {0.25, 0.25, 1}, {0.25, 1.75, 1}, {1, 1.75, 1}, {0.25, 1, 0}, {1, 1, 1}, {0.25, 0.25, 0}, {1, 0.25, 1}, {2.0, 0.0, 0}}}; +Letter let_o = { .points = { {0.0, 0.0, 0}, {0.25, 0.25, 1}, {0.25, 1.75, 1}, {1, 1.75, 1}, {1, 0.25, 1}, {0.25, 0.25, 1}, {2.0, 0.0, 0}}}; +*/ + +#include <math.h> +#define PI 3.1415926535 + +class Transition { + public: + double x_init; + double x_final; + double y_init; + double y_final; + int draw; + + Transition (double x_i, double y_i, double x_f, double y_f, int d) { + x_init = x_i; + x_final = x_f; + y_init = y_i; + y_final = y_f; + draw = d; + } + + Transition () {} + + double desired_angle() { + return atan2(y_final - y_init, x_final - x_init) * 180.0 / PI; + } + + double distance() { + return sqrt(pow(y_final - y_init, 2) + pow(x_final - x_init, 2)); + } +}; + +Transition h1(0,0,.25,.25,false); +Transition h2(.25,.25,.25,1.75,true); +Transition h3(.25,1.75,.25,1,false); +Transition h4(.25,1,1,1,true); +Transition h5(1,1,1,1.75,false); +Transition h6(1,1.75,1,.25,true); +Transition h7(1,.25,2,0,false); + +Transition let_h[7] = { h1, h2, h3, h4, h5, h6, h7 }; + +Transition e1(0,0,1,1.75,false); +Transition e2(1,1.75,0.25,1.75,true); +Transition e3(0.25,1.75,.25,.25,true); +Transition e4(.25,.25,1,.25,true); +Transition e5(1,.25,.25,1,false); +Transition e6(.25,1,1,1,true); +Transition e7(1,1,2,0,false); + +Transition let_e[7] = { e1, e2, e3, e4, e5, e6, e7 }; + +Transition l1(0,0,0.25,1.75,false); +Transition l2(0.25,1.75,0.25,0.25,true); +Transition l3(0.25,0.25,1.25,0.25,true); +Transition l4(1.25,0.25,2,0,false); + +Transition let_l[4] = { l1, l2, l3, l4 }; + +Transition o1(0,0,.25,.25,false); +Transition o2(.25,.25,.25,1.75,true); +Transition o3(.25,1.75,1.75,1.75,true); +Transition o4(1.75,1.75,1.75,.25,true); +Transition o5(1.75,.25,.25,.25,true); +Transition o6(.25,.25,2,0,false); + +Transition let_o[6] = { o1, o2, o3, o4, o5, o6 }; \ No newline at end of file