Mercurial > pkubik
changeset 5:17634205b35c
Add a scad file with a 3D model of the robot
| author | Radomir Dopieralski <sheep-devel@sheep.art.pl> |
|---|---|
| date | Mon, 22 Dec 2014 20:04:20 +0100 |
| parents | 24c33455723d |
| children | b6f583d259ef |
| files | controller/servos.ino pkubik.scad |
| diffstat | 2 files changed, 53 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/controller/servos.ino Tue Nov 25 22:59:41 2014 +0100 +++ b/controller/servos.ino Mon Dec 22 20:04:20 2014 +0100 @@ -3,8 +3,8 @@ #include <Servo.h> // Range of the servos. -#define SERVO_FREQ_MIN 300 -#define SERVO_FREQ_MAX 1300 +#define SERVO_FREQ_MIN 600 +#define SERVO_FREQ_MAX 2400 static const unsigned char SERVO_PINS[SERVOS] = { // ankle, knee, hip
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pkubik.scad Mon Dec 22 20:04:20 2014 +0100 @@ -0,0 +1,51 @@ +use <../scad-parts/servos/hk15318.scad>; +use <../scad-parts/boards/arduino.scad>; + +base = 17.5; + + +module leg(hip, knee, ankle) { + HK15318_single_horn(); + rotate(hip) { + rotate(90) HK15318(); + translate([16, -8, -16]) rotate([90, 180, 90]) { + HK15318(); + rotate(knee - 90) { + HK15318_single_horn(); + translate([0, 18, -1]) rotate(180) { + HK15318_single_horn(); + rotate(ankle) { + HK15318(); + translate([7, -13.5, -9.7]) rotate([0, 180, 90]) HK15318_double_horn(); + } + } + } + } + } +} + +module body() { + color("Slate", 0.75) difference() { + hull() { + translate([base - 4, base - 4, 0]) cylinder(r1=3, r2=2, h=3.6); + translate([-base + 4, base - 4, 0]) cylinder(r1=3, r2=2, h=3.6); + translate([-base + 4, -base + 4, 0]) cylinder(r1=3, r2=2, h=3.6); + translate([base - 4, -base + 4, 0]) cylinder(r1=3, r2=2, h=3.6); + } + translate([0, 0, 2.5]) cube([base * 2 - 6, base * 2 - 6, 3], center=true); + } +} + +module robot() { + translate([0, 0, 40]) { + translate([base, -base, -1.5]) rotate(45) leg(0, 0, 45); + mirror([0, 1]) translate([base, -base, -1.5]) rotate(45) leg(0, 0, 45); + mirror([1, 0]) translate([base, -base, -1.5]) rotate(45) leg(0, 0, 45); + mirror([1, 0]) mirror([0, 1]) translate([base, -base, -1.5]) rotate(45) leg(0, 0, 45); + body(); + translate([1.27 * 7 , 2.54 * -1, 2.54 * 15]) rotate([90, 180, 0]) + arduino_pro_mini(); + } +} + +robot();
