FireFly 2011: Arduino Mega + SSC-32, Wii Nunchuk, preset walking sequences

From Electronics\Hexapod\Arduino sketches 2011-2012\hexapod_oud (banner 'Version 3.0').
This commit is contained in:
mangavalk committed 2011-10-09 15:56:03 +02:00
1 parent 160b6ec36a
commit fe472bfce9
16 files changed
+1079

No files matched your search

@@ -0,0 +1,91 @@
// Orbit.cpp
#include "Orbit.h"
void Orbit::getData(int iy[6], int ix[6], int iz[6])
{
for (int i=0; i<6; i++)
{
x[i] = ix[i];
y[i] = iy[i];
z[i] = iz[i];
}
lx[0] = 5;
lx[1] = 7;
lx[2] = 5;
lx[3] = 5;
lx[4] = 7;
lx[5] = 5;
ly[0] = 10;
ly[1] = 0;
ly[2] = 10;
ly[3] = 10;
ly[4] = 0;
ly[5] = 10;
}
void Orbit::getAngle (int ix, int iy)
{
oP = ix;
o2P = iy;
oN = 180 - ix;
o2N = 180 - iy;
}
void Orbit::calculate()
{
// X Size.
// Right side.
for (int i=3; i<6; i++)
{
float l1 = sqrt(pow(x[i], 2) + pow(y[i], 2));
float o1 = degrees(atan(y[i] / x[i]));
float o2 = oP - o1;
Ny[i] = sin(radians(o2)) * l1;
Nx[i] = (cos(radians(o2)) * l1) - lx[i];
Nz[i] = z[i];
}
// Left size;
for (int i=0; i<4; i++)
{
float l1 = sqrt(pow(x[i], 2) + pow(y[i], 2));
float o1 = degrees(atan(y[i] / x[i]));
float o2 = oN - o1;
Ny[i] = sin(radians(o2)) * l1;
Nx[i] = (cos(radians(o2)) * l1) - lx[i];
Nz[i] = z[i];
}
// Y Size.
// Right side.
/*for (int i=3; i<6; i++) WRong
{
float l1 = sqrt(pow(x[i], 2) + pow(y[i], 2));
float o1 = degrees(atan(y[i] / x[i]));
float o2 = o2P - o1;
Ny[i] = sin(radians(o2)) * l1;
Nx[i] = (cos(radians(o2)) * l1) - lx[i];
Nz[i] = z[i];
}
// Left size;
for (int i=0; i<4; i++) WRong
{
float l1 = sqrt(pow(x[i], 2) + pow(y[i], 2));
float o1 = degrees(atan(y[i] / x[i]));
float o2 = o2N - o1;
Ny[i] = sin(radians(o2)) * l1;
Nx[i] = (cos(radians(o2)) * l1) - lx[i];
Nz[i] = z[i];
}*/
}