changeset 15:5e5d58fa1440

Update build instructions
author Radomir Dopieralski <sheep-devel@sheep.art.pl>
date Mon, 11 Apr 2016 14:39:33 +0200
parents 3b9ed9cd63ef
children f753bc7165e0
files doc/scad/Makefile doc/scad/foot01.scad doc/scad/leg02.scad doc/scad/leg03.scad doc/scad/leg04.scad doc/scad/leg05.scad doc/scad/leg06.scad doc/scad/leg07.scad doc/scad/parts.scad doc/scad/tote.scad
diffstat 10 files changed, 135 insertions(+), 40 deletions(-) [+]
line wrap: on
line diff
--- a/doc/scad/Makefile	Thu Apr 07 15:37:19 2016 +0200
+++ b/doc/scad/Makefile	Mon Apr 11 14:39:33 2016 +0200
@@ -7,11 +7,12 @@
 	leg04.png \
 	leg05.png \
 	leg06.png \
+	leg07.png \
+	foot01.png \
 	body01.png
 
 SIZE=1280,960
-COLORSCHEME=Nature
-#BeforeDawn
+COLORSCHEME=BeforeDawn
 SCAD=openscad --imgsize=$(SIZE) --projection=p -m make --colorscheme=$(COLORSCHEME) --csglimit=100000
 
 all: images
@@ -36,6 +37,9 @@
 leg02.png: leg02.scad
 	$(SCAD) -o $@ $< --camera=-0.16,-8.64,-22.91,302.30,0.00,91.50,172.84
 
+foot01.png: foot01.scad
+	$(SCAD) -o $@ $< --camera=0,0,0,231,0,324,82
+
 leg03.png: leg03.scad
 	$(SCAD) -o $@ $< --camera=20.82,7.64,-8.29,227.90,0.00,340.20,140
 
@@ -46,6 +50,9 @@
 	$(SCAD) -o $@ $< --camera=0,0,0,41,0,191,172
 
 leg06.png: leg06.scad
+	$(SCAD) -o $@ $< --camera=25,25.69,-25.98,53,180,222,292
+
+leg07.png: leg07.scad
 	$(SCAD) -o $@ $< --camera=25,25.69,-25.98,53,0,202,292
 
 body01.png: body01.scad
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/scad/foot01.scad	Mon Apr 11 14:39:33 2016 +0200
@@ -0,0 +1,11 @@
+use <parts.scad>
+
+difference() {
+    SG90_cross_horn(0);
+    translate([3.3, -10, -10]) color("Grey") cube([20, 20, 20]);
+}
+
+translate([5, 0, 0]) difference() {
+    SG90_cross_horn(0);
+    translate([3.3-30, -10, -10]) color("Grey") cube([30, 20, 20]);
+}
--- a/doc/scad/leg02.scad	Thu Apr 07 15:37:19 2016 +0200
+++ b/doc/scad/leg02.scad	Mon Apr 11 14:39:33 2016 +0200
@@ -1,4 +1,4 @@
 use <parts.scad>
 use <tote.scad>
 
-femur(0);
+tibia(10);
--- a/doc/scad/leg03.scad	Thu Apr 07 15:37:19 2016 +0200
+++ b/doc/scad/leg03.scad	Mon Apr 11 14:39:33 2016 +0200
@@ -1,4 +1,4 @@
 use <parts.scad>
 use <tote.scad>
 
-tibia(10);
+femur(10);
--- a/doc/scad/leg04.scad	Thu Apr 07 15:37:19 2016 +0200
+++ b/doc/scad/leg04.scad	Mon Apr 11 14:39:33 2016 +0200
@@ -7,10 +7,10 @@
         translate([18, -22 - 0, -28.75]) rotate([90, 180, 90]) {
             translate([0, 0, explode * 2]) rotate(knee) {
                 translate([0, 0, explode]) SG90_horn_screw();
-                tibia(0);
+                femur(0);
                 translate([35.2, 0, 0]) rotate([0, 0, 180]) {
                     translate([0, 0, explode]) SG90_horn_screw();
-                    translate([0, 0, -explode * 2]) rotate(ankle) femur(0);
+                    translate([0, 0, -explode * 2]) rotate(ankle) tibia(0);
                 }
             }
         }
--- a/doc/scad/leg05.scad	Thu Apr 07 15:37:19 2016 +0200
+++ b/doc/scad/leg05.scad	Mon Apr 11 14:39:33 2016 +0200
@@ -4,8 +4,8 @@
 module robot(explode) {
     translate([20.75, 20.75, -2.1 + explode]) rotate(175) {
         SG90_single_horn();
-        translate([6, -0.1, 5.5 - 2*explode]) rotate([0, 180, 0]) SG90_horn_screw();
-        translate([12, -0.2, 5.5 - 2*explode]) rotate([0, 180, 0]) SG90_horn_screw();
+        translate([6, -0.1, 5.5 - 2*explode]) rotate([0, 180, 0]) SG90_mount_screw();
+        translate([12, -0.2, 5.5 - 2*explode]) rotate([0, 180, 0]) SG90_mount_screw();
     }
     board();
     components(0);
--- a/doc/scad/leg06.scad	Thu Apr 07 15:37:19 2016 +0200
+++ b/doc/scad/leg06.scad	Mon Apr 11 14:39:33 2016 +0200
@@ -4,31 +4,42 @@
 module robot(explode) {
     translate([20.75, 20.75, -2.1]) rotate(175) {
         SG90_single_horn();
-        translate([6, -0.1, 5.5]) rotate([0, 180, 0]) SG90_horn_screw();
-        translate([12, -0.2, 5.5]) rotate([0, 180, 0]) SG90_horn_screw();
+        translate([6, -0.1, 5.5]) rotate([0, 180, 0]) SG90_mount_screw();
+        translate([12, -0.2, 5.5]) rotate([0, 180, 0]) SG90_mount_screw();
     }
     translate([20.75, 20.75, -2.1 + explode]) rotate(175) {
         translate([0, 0, explode]) SG90_horn_screw();
         leg(0, 0, 0, explode);
     }
+    translate([-19.15 - 2.56, -19.15, -0.8 - 10]) {
+        rotate([0, 180, 0]) {
+            translate([-9.5 * 2.54, 11.25 * 2.54, 1.8 + explode])
+                rc_servo_plug("Green");
+            translate([-10.5 * 2.54, 11.25 * 2.54, 1.8 + explode])
+                rc_servo_plug("Red");
+            translate([-11.5 * 2.54, 11.25 * 2.54, 1.8 + explode])
+                rc_servo_plug("Blue");
+        }
+    }
     board();
     components(0);
 }
 
+
 module leg(hip, knee, ankle, explode) {
     translate([0, 0, -explode * 2]) rotate(hip - 40) {
-        coxa(0);
+        coxa(0, colors=true);
         translate([18, -22 - 0, -28.75]) rotate([90, 180, 90]) {
             translate([0, 0, 0 * 2]) rotate(knee) {
                 translate([0, 0, 0]) SG90_horn_screw();
-                tibia(0);
+                femur(0);
                 translate([35.2, 0, 0]) rotate([0, 0, 180]) {
                     translate([0, 0, 0]) SG90_horn_screw();
-                    translate([0, 0, -0 * 2]) rotate(ankle) femur(0);
+                    translate([0, 0, -0 * 2]) rotate(ankle) tibia(0, colors=true);
                 }
             }
         }
     }
 }
 
-robot(10);
+robot(0);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/scad/leg07.scad	Mon Apr 11 14:39:33 2016 +0200
@@ -0,0 +1,34 @@
+use <parts.scad>
+use <tote.scad>
+
+module robot(explode) {
+    translate([20.75, 20.75, -2.1]) rotate(175) {
+        SG90_single_horn();
+        translate([6, -0.1, 5.5]) rotate([0, 180, 0]) SG90_mount_screw();
+        translate([12, -0.2, 5.5]) rotate([0, 180, 0]) SG90_mount_screw();
+    }
+    translate([20.75, 20.75, -2.1 + explode]) rotate(175) {
+        translate([0, 0, explode]) SG90_horn_screw();
+        leg(0, 0, 0, explode);
+    }
+    board();
+    components(0);
+}
+
+module leg(hip, knee, ankle, explode) {
+    translate([0, 0, -explode * 2]) rotate(hip - 40) {
+        coxa(0);
+        translate([18, -22 - 0, -28.75]) rotate([90, 180, 90]) {
+            translate([0, 0, 0 * 2]) rotate(knee) {
+                translate([0, 0, 0]) SG90_horn_screw();
+                femur(0);
+                translate([35.2, 0, 0]) rotate([0, 0, 180]) {
+                    translate([0, 0, 0]) SG90_horn_screw();
+                    translate([0, 0, -0 * 2]) rotate(ankle) tibia(0);
+                }
+            }
+        }
+    }
+}
+
+robot(10);
--- a/doc/scad/parts.scad	Thu Apr 07 15:37:19 2016 +0200
+++ b/doc/scad/parts.scad	Mon Apr 11 14:39:33 2016 +0200
@@ -27,11 +27,11 @@
     }
 }
 
-module rc_servo_plug() {
+module rc_servo_plug(body_color="DimGray") {
     color("Orange") translate([1.27, 1.27, 12]) cylinder(r1=0.75, r2=0, h=20, $fn=4);
     color("Red") translate([1.27, 1.27 + 2.54, 12]) cylinder(r1=0.75, r2=0, h=20, $fn=4);
     color("Brown") translate([1.27, 1.27 + 2.54 * 2, 12]) cylinder(r1=0.75, r2=0, h=20, $fn=4);
-    color("DimGray") difference() {
+    color(body_color) difference() {
         cube([2.54, 2.54 * 3, 12]);
         translate([-1, -1, -1]) cube([1.25, 2.54 * 3 + 2, 7]);
         rotate(45) cube([1, 2, 12], center=true);
@@ -130,7 +130,7 @@
     }
 }
 
-module SG90() {
+module SG90(body_color="SlateBlue") {
     servo_height = 22.6;
     servo_width = 12.2;
     servo_depth = 22.8;
@@ -138,13 +138,15 @@
     servo_big_tip_r = 6.05;
 
     translate([-6.0, -16.9, -servo_height - 5.8 - 1]) union() {
-        color("RoyalBlue") union () {
+        color(body_color, 0.8) union () {
             cube([servo_width, servo_depth, servo_height]);
             translate([0, -4.8, 17.6]) {
                 difference () {
                     cube([12.0, 32.3, 2.4]);
-                    translate([6.0, 1.5, -0.1]) cylinder(r=2, h=2.6, $fn=8);
-                    translate([6.0, 30.8, -0.1]) cylinder(r=2, h=2.6, $fn=8);
+                    translate([6.0, 2.5, -0.1]) cylinder(r=1, h=2.6, $fn=6);
+                    translate([5.5, -0.5, -0.1]) cube([1, 3, 2.6]);
+                    translate([6.0, 29.8, -0.1]) cylinder(r=1, h=2.6, $fn=6);
+                    translate([5.5, 29.8, -0.1]) cube([1, 3, 2.6]);
                 }
             }
             translate([6.0, 16.9, servo_height]) {
@@ -166,14 +168,14 @@
     }
 }
 
-module _SG90_horn_arm() {
+module _SG90_horn_arm(holes=6, base=3.3) {
     difference() {
         hull() {
-            translate([0, 0, 3.1]) cylinder(r=3.3, h=1.3, $fn=6);
-            translate([13.8, 0, 3.1]) cylinder(r=1.85, h=1.3, $fn=8);
+            translate([0, 0, 3.1]) cylinder(r=base, h=1.3, $fn=5);
+            translate([2*holes+1.8, 0, 3.1]) cylinder(r=1.85, h=1.3, $fn=8);
         }
-        for(i=[0:5]) {
-            translate([13.8 - i * 2,0,0]) {
+        for(i=[0:holes-1]) {
+            translate([2*holes + 1.8 - i * 2,0,0]) {
                 cylinder(r=0.6, h=8, $fn=6);
             }
         }
@@ -213,6 +215,25 @@
     }
 }
 
+module SG90_cross_horn(angle) {
+    rotate(angle) color("Snow") {
+        difference() {
+            union() {
+                cylinder(r=3.3, h=4.4, $fn=20);
+                _SG90_horn_arm();
+                rotate(180) _SG90_horn_arm(7, 3.9);
+                rotate(90) _SG90_horn_arm(2, 1.85);
+                rotate(-90) _SG90_horn_arm(2, 1.85);
+            }
+            translate([0,0,-1]) {
+                cylinder(r=2.275, h=3.2, $fn=6);
+                cylinder(r=1, h=8, $fn=10);
+                translate([0, 0, 4.4]) cylinder(r=2.35, h=2, $fn=10);
+            }
+        }
+    }
+}
+
 module switch() {
     color("Silver") cube([2.54 * 3, 2.54 * 2, 2.54 * 2]);
     color("SteelBlue") translate([2.54, 2.54 * 2, 1.27]) cube([2.54 * 1, 2.54 * 1, 2.54 * 1]);
--- a/doc/scad/tote.scad	Thu Apr 07 15:37:19 2016 +0200
+++ b/doc/scad/tote.scad	Mon Apr 11 14:39:33 2016 +0200
@@ -1,46 +1,57 @@
 use <parts.scad>
 
 
-module coxa(explode) {
-    SG90();
-    translate([18, -22 - explode, -28.75]) rotate([90, 180, 90]) SG90();
+module coxa(explode, colors=false) {
+    if (colors) {
+        SG90("Blue");
+        translate([18, -22 - explode, -28.75])
+            rotate([90, 180, 90]) SG90("Red");
+    } else {
+        SG90();
+        translate([18, -22 - explode, -28.75])
+            rotate([90, 180, 90]) SG90();
+    }
 }
 
-module tibia(explode) {
+module femur(explode) {
     SG90_single_horn();
     translate([17.6, 0, 0]) {
         translate([0, 0, 6 - explode]) rotate([0, 180, 0])
             SG90_double_horn();
         translate([-6, 0, 5 - explode * 1.5]) rotate([0, 180, 0])
-            SG90_horn_screw();
+            SG90_mount_screw();
         translate([-12, 0, 5 - explode * 1.5]) rotate([0, 180, 0])
-            SG90_horn_screw();
+            SG90_mount_screw();
         translate([6, 0, 5 - explode * 1.5]) rotate([0, 180, 0])
-            SG90_horn_screw();
+            SG90_mount_screw();
         translate([12, 0, 5 - explode * 1.5]) rotate([0, 180, 0])
-            SG90_horn_screw();
+            SG90_mount_screw();
     }
     translate([35.2, 0, 0]) rotate([0, 0, 180]) SG90_single_horn();
 }
 
-module femur(explode) {
-    SG90();
-    translate([-3.1 - explode, -20, -15]) rotate([-90, 0, 90]) SG90_double_horn();
+module tibia(explode, colors=false) {
+    if (colors) {
+        SG90("Green");
+    } else {
+        SG90();
+    }
+    translate([0, -20.3, -15 - explode]) rotate([0, 0, 90]) SG90_cross_horn();
+    translate([0, -19.8, -12.6 + explode]) SG90_mount_screw();
 }
 
 module leg(hip, knee, ankle, explode) {
     SG90_single_horn();
     translate([0, 0, explode]) SG90_horn_screw();
     translate([0, 0, -explode * 2]) rotate(hip - 40) {
-        rotate(0) SG90();
+        coxa(explode);
         translate([18, -22 - explode, -28.75]) rotate([90, 180, 90]) {
-            SG90();
             translate([0, 0, explode * 2]) rotate(knee) {
                 translate([0, 0, explode]) SG90_horn_screw();
-                tibia(explode);
+                femur(explode);
                 translate([35.2, 0, 0]) rotate([0, 0, 180]) {
                     translate([0, 0, explode]) SG90_horn_screw();
-                    translate([0, 0, -explode * 2]) rotate(ankle) femur(explode);
+                    translate([0, 0, -explode * 2]) rotate(ankle) tibia(explode);
                 }
             }
         }