Bladeren bron

updates to housing prototype

* larger speaker
* capacitive waveshare screen
* common values for both
clementinecomputing 5 jaren geleden
bovenliggende
commit
f490ef2842

+ 11 - 2
experiment/production/housing/v-acorn-squash/PopufareHousingCommon.scad

@@ -132,9 +132,18 @@ POPUFARE_INNER_PLATE_HEIGHT = 70;
 POPUFARE_INNER_PLATE_HOLE_WIDTH = 114;
 POPUFARE_INNER_PLATE_HOLE_HEIGHT = 84;
 
+//POPUFARE_SPEAKER_HOLE_R = 2.5/2;
+//POPUFARE_SPEAKER_HOLE_WIDTH = 34.5 + ((39.5 - 34.5) / 2);
 
-POPUFARE_SPEAKER_HOLE_R = 2.5/2;
-POPUFARE_SPEAKER_HOLE_WIDTH = 34.5 + ((39.5 - 34.5) / 2);
+
+// diagonal inner: 59.5
+// diagonal outer: 65.5
+// diagonal screw: 62.5
+// length/width = sqrt(2)*62.5/2
+//
+POPUFARE_SPEAKER_HOLE_R = 4.5/2;
+POPUFARE_SPEAKER_HOLE_WIDTH = sqrt(2)*62.5/2;
+POPUFARE_SPEAKER_HOLE_HEIGHT = sqrt(2)*62.5/2;
 
 // hinge
 //

+ 61 - 6
experiment/production/housing/v-acorn-squash/PopufareHousingFrontAngle.scad

@@ -58,9 +58,9 @@ module PopufareHousingFrontAnglePlate_resistive() {
 
 module PopufareHousingFrontAnglePlate_resistive_waveshare() {
   dh = POPUFARE_HOUSING_HEIGHT - POPUFARE_FRONT_HEIGHT;
-  
+
   lip = _MATERIAL_THICKNESS;
-  
+
   w = POPUFARE_HOUSING_WIDTH;
   h = sqrt(2.0)*dh ;
 
@@ -109,11 +109,65 @@ module PopufareHousingFrontAnglePlate_resistive_waveshare() {
 
 }
 
+module PopufareHousingFrontAnglePlate_capacitive_waveshare() {
+  dh = POPUFARE_HOUSING_HEIGHT - POPUFARE_FRONT_HEIGHT;
+
+  lip = _MATERIAL_THICKNESS;
+
+  w = POPUFARE_HOUSING_WIDTH;
+  h = sqrt(2.0)*dh ;
+
+  bx = POPUFARE_BRACKET_CX;
+  br = POPUFARE_BRACKET_D/2.0;
+  de = POPUFARE_BRACKET_DE;
+  //des = POPUFARE_BRACKET_DE_SHORT;
+  des = POPUFARE_BRACKET_DE_MEDIUM;
+
+  lip = _MATERIAL_THICKNESS;
+
+  screen_w = POPUFARE_SCREEN_WIDTH_CAPACITIVE;
+  screen_h = POPUFARE_SCREEN_HEIGHT_CAPACITIVE;
+  screen_cx = 0;
+  screen_cy = 0;
+  screen_attach_dw = POPUFARE_INNER_PLATE_HOLE_WIDTH;
+  screen_attach_dh = POPUFARE_INNER_PLATE_HOLE_HEIGHT;
+
+  bottom_extra = 4.25;
+  top_extra = 1.25;
+  left_extra = 2.25;
+  right_extra = 2.25;
+
+  difference() {
+    union() {
+      square([w + 2*lip,h + 4*lip], center=true);
+    }
+
+    // attach to side plate brackets
+    //
+    translate([ -(w/2 - bx), -(h/2-des) ]) circle(br);
+    translate([ -(w/2 - bx),  (h/2-des) ]) circle(br);
+    translate([  (w/2 - bx), -(h/2-des) ]) circle(br);
+    translate([  (w/2 - bx),  (h/2-des) ]) circle(br);
+
+    // screen center
+    //
+    //translate([screen_cx, screen_cy]) square([screen_w - (left_extra + right_extra), screen_h - (top_extra + top_extra) ], center=true);
+    translate([screen_cx, screen_cy]) square([screen_w, screen_h], center=true);
+
+    translate([screen_cx, screen_cy]) translate([ screen_attach_dw/2, screen_attach_dh/2]) circle(_M3r);
+    translate([screen_cx, screen_cy]) translate([ screen_attach_dw/2,-screen_attach_dh/2]) circle(_M3r);
+    translate([screen_cx, screen_cy]) translate([-screen_attach_dw/2,-screen_attach_dh/2]) circle(_M3r);
+    translate([screen_cx, screen_cy]) translate([-screen_attach_dw/2, screen_attach_dh/2]) circle(_M3r);
+
+  }
+
+}
+
 module PopufareHousingFrontAnglePlate_capacitive() {
   dh = POPUFARE_HOUSING_HEIGHT - POPUFARE_FRONT_HEIGHT;
-  
+
   lip = _MATERIAL_THICKNESS;
-  
+
   w = POPUFARE_HOUSING_WIDTH;
   h = sqrt(2.0)*dh ;
 
@@ -159,7 +213,8 @@ module PopufareHousingFrontAnglePlate_capacitive() {
 module PopufareHousingFrontAnglePlate() {
   //PopufareHousingFrontAnglePlate_resistive();
   //PopufareHousingFrontAnglePlate_capacitive();
-  PopufareHousingFrontAnglePlate_resistive_waveshare();
+  //PopufareHousingFrontAnglePlate_resistive_waveshare();
+  PopufareHousingFrontAnglePlate_capacitive_waveshare();
 }
 
-//PopufareHousingFrontAnglePlate();
+PopufareHousingFrontAnglePlate();

+ 10 - 4
experiment/production/housing/v-acorn-squash/PopufareHousingSideRight.scad

@@ -25,6 +25,7 @@ module PopufareHousingSideRightPlate() {
   w_right = w - dh;
 
   spkr_dw = POPUFARE_SPEAKER_HOLE_WIDTH;
+  spkr_dh = POPUFARE_SPEAKER_HOLE_HEIGHT;
 
   lip = _MATERIAL_THICKNESS + 0.125;
 
@@ -97,20 +98,25 @@ module PopufareHousingSideRightPlate() {
 
     // speaker access and mounting screw holes
     //
-    spkr_cx = -30;
+    spkr_cx = -20;
     spkr_cy = 0;
-    spkr_r = 2*spkr_dw/6;
+    spkr_r = 2*spkr_dw/5;
     offset_x = 4.5;
     _w = 2.5;
     translate([spkr_cx,spkr_cy]) rotate(45, [0,0,1]) rounded_rect(_w,2*spkr_r, _w/2);
     translate([spkr_cx,spkr_cy]) rotate(45, [0,0,1]) translate([offset_x,0]) rounded_rect(_w,2*sqrt(spkr_r*spkr_r - offset_x*offset_x), _w/2);
     translate([spkr_cx,spkr_cy]) rotate(45, [0,0,1]) translate([2*offset_x,0]) rounded_rect(_w,2*sqrt(spkr_r*spkr_r - (2*2*offset_x*offset_x)), _w/2);
+    translate([spkr_cx,spkr_cy]) rotate(45, [0,0,1]) translate([3*offset_x,0]) rounded_rect(_w,2*sqrt(spkr_r*spkr_r - (3*3*offset_x*offset_x)), _w/2);
 
     translate([spkr_cx,spkr_cy]) rotate(45, [0,0,1]) translate([-offset_x,0]) rounded_rect(_w,2*sqrt(spkr_r*spkr_r - offset_x*offset_x), _w/2);
     translate([spkr_cx,spkr_cy]) rotate(45, [0,0,1]) translate([-2*offset_x,0]) rounded_rect(_w,2*sqrt(spkr_r*spkr_r - (2*2*offset_x*offset_x)), _w/2);
+    translate([spkr_cx,spkr_cy]) rotate(45, [0,0,1]) translate([-3*offset_x,0]) rounded_rect(_w,2*sqrt(spkr_r*spkr_r - (3*3*offset_x*offset_x)), _w/2);
 
-    translate([spkr_cx - spkr_dw/2,spkr_cy]) circle(POPUFARE_SPEAKER_HOLE_R);
-    translate([spkr_cx + spkr_dw/2,spkr_cy]) circle(POPUFARE_SPEAKER_HOLE_R);
+    translate([spkr_cx - spkr_dw/2,spkr_cy - spkr_dh/2]) circle(POPUFARE_SPEAKER_HOLE_R);
+    translate([spkr_cx + spkr_dw/2,spkr_cy - spkr_dh/2]) circle(POPUFARE_SPEAKER_HOLE_R);
+
+    translate([spkr_cx - spkr_dw/2,spkr_cy + spkr_dh/2]) circle(POPUFARE_SPEAKER_HOLE_R);
+    translate([spkr_cx + spkr_dw/2,spkr_cy + spkr_dh/2]) circle(POPUFARE_SPEAKER_HOLE_R);
 
   }
 }