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();