|
|
@@ -56,17 +56,17 @@ h2n_depth = 42.66;
|
|
|
h2n_width_up = 57.0;
|
|
|
|
|
|
// h2n_column_height = 40;
|
|
|
-// h2n_column_height = 23.2;
|
|
|
-h2n_column_height = 25.3;
|
|
|
+// h2n_column_height = 25.3;
|
|
|
+h2n_column_height = 23.2;
|
|
|
transition_height = 30;
|
|
|
|
|
|
// measured = 11.50, should be 13.1 -> ratio =
|
|
|
|
|
|
-// h2n_side_radius = 18.2;
|
|
|
-h2n_side_radius = 18.4;
|
|
|
h2n_side_band = 1.5;
|
|
|
h2n_side_band_w = 13.4;
|
|
|
-h2n_width_m = 63.0;
|
|
|
+// h2n_width_m: tried taking out 0.5mm from the original measurement of 63.0, but
|
|
|
+// it is too much and the "Menu" button stops working, 0.25mm seems fine
|
|
|
+h2n_width_m = 63.0 - 0.25;
|
|
|
h2n_depth_m = 36.4;
|
|
|
|
|
|
h2n_band_height = 6.0;
|
|
|
@@ -74,6 +74,9 @@ h2n_band_height = 6.0;
|
|
|
// base band width
|
|
|
h2n_band_wall = 1.6;
|
|
|
|
|
|
+// wall for the stalk
|
|
|
+h2n_stalk_wall = 1.0;
|
|
|
+
|
|
|
// walls for the columns
|
|
|
h2n_col_wall = 2 * wall;
|
|
|
|
|
|
@@ -121,18 +124,18 @@ module h2n_ring(width, depth, radius, height, tilt, slot_w, slot_d, band_wall, w
|
|
|
}
|
|
|
// inner band
|
|
|
difference() {
|
|
|
- conical_rounded_box(height, width / 2 + wall - h2n_side_band, depth / 2 + band_wall, radius - thin_mint, wall, height * tan(tilt));
|
|
|
+ conical_rounded_box(height, width / 2 + wall - h2n_side_band, depth / 2 + wall, radius - thin_mint, wall, height * tan(tilt));
|
|
|
for (m = [0, 1]) mirror([m, 0, 0]) {
|
|
|
// cut slots on the sides
|
|
|
- translate([-width / 2, -h2n_side_band_w / 2, 0]) {
|
|
|
+ translate([-width / 2 - wall / 2, -h2n_side_band_w / 2, 0]) {
|
|
|
cube([width / 2, h2n_side_band_w, height + thin_mint]);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
// add TinySpHEAR "branding"
|
|
|
- translate([0, -(h2n_depth_m / 2 + wall), h2n_band_height / 2]) scale(0.5) {
|
|
|
+ translate([0, -(h2n_depth_m / 2 + band_wall), h2n_band_height / 2]) scale(0.5) {
|
|
|
rotate([90 - h2n_col_tilt, 0, 0]) {
|
|
|
- linear_extrude(height = 1.5, center = "true") {
|
|
|
+ linear_extrude(height = 0.2, center = "true") {
|
|
|
text("TinySpHEAR", size = 8.0, spacing = 1.1, halign = "center", valign = "center", font = "Liberation Sans");
|
|
|
}
|
|
|
}
|
|
|
@@ -549,10 +552,10 @@ module h2n_bridge_core(width, base_height, stalk_height, radius, col_wall, wall,
|
|
|
|
|
|
// the bridge that holds the capsule array
|
|
|
|
|
|
-module h2n_bridge(width, base_height, stalk_height, radius, col_wall, wall) {
|
|
|
+module h2n_bridge(width, base_height, stalk_height, radius, col_wall, stalk_wall, wall) {
|
|
|
// capsule array mount with the right orientation (left front top = #1)0
|
|
|
rotate([0, 0, -90]) translate([0, 0, base_height + stalk_height]) {
|
|
|
- tetra_capsule_array_mount([-45, 135], mount_radius, col_wall);
|
|
|
+ tetra_capsule_array_mount([-45, 135], mount_radius, stalk_wall);
|
|
|
}
|
|
|
difference() {
|
|
|
union() {
|
|
|
@@ -560,26 +563,34 @@ module h2n_bridge(width, base_height, stalk_height, radius, col_wall, wall) {
|
|
|
// stalk
|
|
|
translate([0, 0, base_height]) {
|
|
|
difference() {
|
|
|
- tube(radius + col_wall, radius, stalk_height);
|
|
|
+ tube(radius + stalk_wall, radius, stalk_height);
|
|
|
// remove stalk segment that is inside the bridge
|
|
|
translate([width / 2, 0, -1.0]) {
|
|
|
rotate([0, -90, 0]) {
|
|
|
- semi_cylinder(r = radius + col_wall, h = width);
|
|
|
+ semi_cylinder(r = radius + stalk_wall, h = width);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
// add marker for "back of microphone" orientation
|
|
|
rotate([0, 0, 0]) {
|
|
|
- translate([0, radius + col_wall - col_wall * 2 / 3, stalk_height - (radius + col_wall)]) {
|
|
|
+ translate([0, radius + stalk_wall - stalk_wall * 2 / 3, stalk_height - (radius + stalk_wall)]) {
|
|
|
difference() {
|
|
|
- sphere(r = (radius + col_wall) / 3, $fn = 64);
|
|
|
- translate([0, -(radius + col_wall) + (radius + col_wall) / 2, 0]) {
|
|
|
- cube([radius + col_wall, radius + col_wall, radius + col_wall], center = true);
|
|
|
+ sphere(r = (radius + stalk_wall) / 3, $fn = 64);
|
|
|
+ translate([0, -(radius + stalk_wall) + (radius + stalk_wall) / 2, 0]) {
|
|
|
+ cube([radius + stalk_wall, radius + stalk_wall, radius + stalk_wall], center = true);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ // small supports for the screws that attach to the columns
|
|
|
+ for (m = [0, 1]) mirror([m, 0, 0]) {
|
|
|
+ translate([-(width / 2 + radius + 2 * wall), 0, radius]) {
|
|
|
+ rotate([0, 90, 0]) {
|
|
|
+ cylinder(r = 1.5, h = 2 * wall, $fn = facets);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
h2n_bridge_core(width, base_height, stalk_height, radius, col_wall, wall, -wall);
|
|
|
// make a hole in the bridge for the cables
|
|
|
@@ -588,6 +599,12 @@ module h2n_bridge(width, base_height, stalk_height, radius, col_wall, wall) {
|
|
|
translate([0, h2n_bridge_circle_max, 0]) {
|
|
|
rotate([90, 0, 0]) cylinder(r = 2.0, h = h2n_bridge_circle_max * 2, $fn = facets);
|
|
|
}
|
|
|
+ // holes for screws that attach to the columns
|
|
|
+ translate([-(width + 3 * radius + 2 * wall) / 2, 0, radius]) {
|
|
|
+ rotate([0, 90, 0]) {
|
|
|
+ cylinder(r = 0.5, h = width + 4 * radius, $fn = facets);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -597,14 +614,14 @@ difference() {
|
|
|
union() {
|
|
|
|
|
|
*h2n_ring(h2n_width_m, h2n_depth_m, h2n_depth * 0.425, h2n_band_height, h2n_col_tilt,
|
|
|
- h2n_side_band_w, h2n_side_band, h2n_band_wall, wall, mount_radius, h2n_col_wall);
|
|
|
+ h2n_side_band_w, h2n_side_band, h2n_band_wall, h2n_band_wall, mount_radius, h2n_col_wall);
|
|
|
|
|
|
*h2n_columns(h2n_width_m, h2n_column_height, h2n_band_height, h2n_col_tilt,
|
|
|
transition_height, h2n_mount_radius, h2n_col_wall, wall);
|
|
|
|
|
|
*translate([0, 0, h2n_column_height]) {
|
|
|
h2n_bridge((h2n_width_m / 2 + mount_radius - h2n_col_wall - h2n_column_height * tan(h2n_col_tilt)) * 2,
|
|
|
- h2n_bridge_base_height, h2n_bridge_stalk_height, mount_radius, h2n_col_wall, wall);
|
|
|
+ h2n_bridge_base_height, h2n_bridge_stalk_height, mount_radius, h2n_col_wall, h2n_stalk_wall, wall);
|
|
|
}
|
|
|
|
|
|
*rotate([0, 0, 90]) {
|