changeset 42:039b178fdef5

board scad model
author Radomir Dopieralski <sheep-devel@sheep.art.pl>
date Sat, 16 Aug 2014 12:13:49 +0200
parents f19e3281c5cc
children 4fb7fabd408e
files scad/arduino.scad scad/board.scad
diffstat 2 files changed, 164 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scad/arduino.scad	Sat Aug 16 12:13:49 2014 +0200
@@ -0,0 +1,87 @@
+module arduino_pro_mini() {
+    difference() {
+        union() {
+            color("SeaGreen") cube([17.8, 33.0, 1.0]);
+            color("Gold") {
+                for (y = [0:11]) {
+                    translate([1.27, 1.27 + 2.54 * y, 0.5]) {
+                        cylinder(r=1, h=1.2, center=true, $fn=8);
+                    }
+                    translate([17.8 - 1.27, 1.27 + 2.54 * y, 0.5]) {
+                        cylinder(r=1, h=1.2, center=true, $fn=8);
+                    }
+                }
+                for (x = [0:5]) {
+                    translate([2.54 + 2.54 * x, 33.0 - 1.27, 0.5]) {
+                        cylinder(r=1, h=1.2, center=true, $fn=8);
+                    }
+                }
+                for (y=[3, 4, 7, 8]) {
+                    translate([17.8 - 2.54 - 1.27, 2.54 * y, 0.5]) {
+                        cylinder(r=1, h=1.2, center=true, $fn=8);
+                    }
+                }
+            }
+            color("DimGray") {
+                translate([8.9, 9.1, 0.5]) rotate(45) cube([7, 7, 1]);
+                translate([12, 23, 1]) cube([2, 4, 1]);
+                translate([17.8 - 14, 23, 1]) cube([2, 4, 1]);
+                translate([8.2, 22, 1]) cube([1.6, 3.8, 1]);
+            }
+            translate([8.9, 3.5, 0.5]) {
+                rotate(22.5) color("Silver") cylinder(r=3, h=0.75, $fn=8);
+                rotate(22.5) color("LIghtGray") cylinder(r=2.5, h=1, $fn=8);
+                color("Gold") cylinder(r=1.2, h=1.5, $fn=8);
+            }
+        }
+        color("Gold") {
+            for (y = [0:11]) {
+                translate([1.27, 1.27 + 2.54 * y, 0.5]) {
+                    cylinder(r=0.4, h=1.4, center=true, $fn=8);
+                }
+                translate([17.8 - 1.27, 1.27 + 2.54 * y, 0.5]) {
+                    cylinder(r=0.4, h=1.4, center=true, $fn=8);
+                }
+            }
+            for (x = [0:5]) {
+                translate([2.54 + 2.54 * x, 33.0 - 1.27, 0.5]) {
+                    cylinder(r=0.4, h=1.4, center=true, $fn=8);
+                }
+            }
+            for (y=[3, 4, 7, 8]) {
+                translate([17.8 - 2.54 - 1.27, 2.54 * y, 0.5]) {
+                    cylinder(r=0.4, h=1.4, center=true, $fn=8);
+                }
+            }
+        }
+    }
+}
+
+module goldpin() {
+    color("Gold") translate([0, 0, -0.5]) cylinder(r=0.3, h=25.4/3, $fn=4);
+    color("DimGray") translate([0, 0, 1]) cylinder(r=1.5, h=1.5, $fn=6);
+}
+
+module arduino_pro_mini_goldpins() {
+    for (y = [0:11]) {
+        translate([1.27, 1.27 + 2.54 * y, 1]) {
+            rotate([0, 180, 0]) goldpin();
+        }
+        translate([17.8 - 1.27, 1.27 + 2.54 * y, 1]) {
+            rotate([0, 180, 0]) goldpin();
+        }
+    }
+    for (x = [0:5]) {
+        translate([2.54 + 2.54 * x, 33.0 - 1.27, 0]) {
+            goldpin();
+        }
+    }
+    for (y=[3, 4, 7, 8]) {
+        translate([17.8 - 2.54 - 1.27, 2.54 * y, 0]) {
+            goldpin();
+        }
+    }
+}
+
+//arduino_pro_mini();
+//arduino_pro_mini_goldpins();
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scad/board.scad	Sat Aug 16 12:13:49 2014 +0200
@@ -0,0 +1,77 @@
+include <arduino.scad>
+
+module short_pin() {
+    color("Gold") translate([0, 0, -0.5]) cylinder(r=0.3, h=25.4/3 - 2, $fn=4);
+}
+
+module board() {
+    difference () {
+        union() {
+            color("SeaGreen") cube([12.72, 33.0, 1]);
+            color("Gold") {
+                hull() for (y = [0:12]) {
+                    translate([1.27, 1.27 + 2.54 * y, 0.5]) {
+                        cylinder(r=1, h=1.2, center=true, $fn=8);
+                    }
+                }
+                hull() {
+                    for (y = [0:11]) {
+                        translate([1.27 + 2.54, 1.27 + 2.54 * y, 0.5]) {
+                            cylinder(r=1, h=1.2, center=true, $fn=8);
+                        }
+                    }
+                    for (y = [0:11]) {
+                        translate([12.72 - 1.27 - 2.54, 1.27 + 2.54 * y, 0.5]) {
+                            cylinder(r=1, h=1.2, center=true, $fn=8);
+                        }
+                    }
+                }
+                hull() for (y = [0:12]) {
+                    translate([12.72 - 1.27, 1.27 + 2.54 * y, 0.5]) {
+                        cylinder(r=1, h=1.2, center=true, $fn=8);
+                    }
+                }
+                hull() {
+                    translate([1.27, 1.27 + 2.54 * 12, 0.5]) {
+                        cylinder(r=1, h=1.2, center=true, $fn=8);
+                    }
+                    translate([12.72 - 1.27, 1.27 + 2.54 * 12, 0.5]) {
+                        cylinder(r=1, h=1.2, center=true, $fn=8);
+                    }
+                }
+            }
+        }
+        color("Gold") for (y = [0:11]) {
+            translate([1.27, 1.27 + 2.54 * y, 0.5]) {
+                cylinder(r=0.4, h=1.4, center=true, $fn=8);
+            }
+            translate([1.27 + 2.54, 1.27 + 2.54 * y, 0.5]) {
+                cylinder(r=0.4, h=1.4, center=true, $fn=8);
+            }
+            translate([12.72 - 1.27, 1.27 + 2.54 * y, 0.5]) {
+                cylinder(r=0.4, h=1.4, center=true, $fn=8);
+            }
+            translate([12.72 - 1.27 - 2.54, 1.27 + 2.54 * y, 0.5]) {
+                cylinder(r=0.4, h=1.4, center=true, $fn=8);
+            }
+        }
+    }
+    for (y = [0:11]) {
+        translate([1.27, 1.27 + 2.54 * y, 1]) {
+            rotate([0, 180, 0]) short_pin();
+        }
+        translate([1.27 + 2.54, 1.27 + 2.54 * y, 1]) {
+            rotate([0, 180, 0]) short_pin();
+        }
+        translate([12.72 - 1.27, 1.27 + 2.54 * y, 1]) {
+            rotate([0, 180, 0]) short_pin();
+        }
+        translate([12.72 - 1.27 - 2.54, 1.27 + 2.54 * y, 1]) {
+            rotate([0, 180, 0]) short_pin();
+        }
+    }
+}
+
+arduino_pro_mini();
+arduino_pro_mini_goldpins();
+translate([2.54, 0, -1.75]) board();