X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=hc-sr04.scad;fp=hc-sr04.scad;h=0000000000000000000000000000000000000000;hb=4fe29561e6b7b4c0726dceb1a46569ed43afa376;hp=d3913559dec5eebd77d78e03c19055dc4273618b;hpb=76115d7cd2998520bce4b65094dd96fb67825c18;p=openparking.git diff --git a/hc-sr04.scad b/hc-sr04.scad deleted file mode 100644 index d391355..0000000 --- a/hc-sr04.scad +++ /dev/null @@ -1,106 +0,0 @@ -eps = 0.01; -infty = 100; - -wall = 1.5; - -cyl_r = 8 + 0.5; -cyl_x = 26.6 / 2; -cyl_h = 8; // above pcb, max 13.8; - -pcb_x = 45.6 + 0.7; -pcb_y = 20.2 + 0.5; -xtal_h = 5; -pcb_supp = 3; // side support thickness -pcb_h = 8; // 1.2 + space for connector etc -pcb_thick = 2.5; - -cyl_base = pcb_x/2 + wall - cyl_x; - -conn_x = 10 + 0.5; -conn_y = 15; - -cable_w = 7; -cable_h = 4; - -screw_head = 7.5; -screw_d = 4; -screw_base = 2*wall; - -clip_r = 1; -clip_h = 8; - -module sensor() { - hull() { - // space above pcb - translate([-pcb_x/2, -pcb_y/2, -eps]) - cube([pcb_x, pcb_y, pcb_h-pcb_thick+eps]); - // connector - translate([-conn_x/2, pcb_y/2-eps, -eps]) - cube([conn_x, conn_y+eps, pcb_h-pcb_thick+eps]); - } - // cable protrusion - translate([-cable_w/2, pcb_y/2+conn_y-eps, -eps]) - cube([cable_w, 2*wall + eps, cable_h]); - - // cylinders - for (x = [-1, 1]) translate([cyl_x*x, 0, pcb_h - eps]) - cylinder(r = cyl_r, h = cyl_h + 2+wall + eps); - // pcb - translate([-pcb_x/2, -pcb_y/2, pcb_h-pcb_thick-eps]) - cube([pcb_x, pcb_y, pcb_thick+eps]); - // space below the pcb (xtal, etc) - translate([-pcb_x/2+pcb_supp, -pcb_y/2, pcb_h-pcb_thick - eps]) - cube([pcb_x - 2*pcb_supp, pcb_y, xtal_h+pcb_thick+eps]); -}; -module case_body() { - hull() { - // pcb - translate([-pcb_x/2-wall, -pcb_y/2-wall, 0]) - cube([pcb_x+2*wall, pcb_y+2*wall, pcb_h+wall]); - - // cylinders - for (x = [-1, 1]) translate([cyl_x*x, 0, pcb_h + cyl_h]) - cylinder(r = cyl_base, h = wall); - - translate([0, 8, pcb_h + cyl_h]) - cylinder(r = cyl_base, h = wall); - - // connector - translate([-conn_x/2-wall, pcb_y/2-wall, 0]) - cube([conn_x+2*wall, conn_y+2*wall, pcb_h-pcb_thick+wall]); - // screw mounts - for (x = [1, -1]) scale([x, 1, 1]) - translate([pcb_x/2+wall, -screw_head/2-wall, 0]) - cube([screw_head, screw_head+2*wall, screw_base]); - } -} - -module case() { - difference() { - case_body(); - difference() { - sensor(); - // pcb clip - translate([-clip_h/2, -pcb_y/2, pcb_h-pcb_thick-clip_r/2]) - rotate([0, 90, 0]) - cylinder(r=clip_r, h = clip_h, $fn = 4); - } - // mount holes - for (x = [-1, 1]) scale([x, 1, 1]) { - translate([pcb_x/2+wall, -screw_head/2, screw_base]) - cube([screw_head+eps, screw_head, infty]); - // screw hole - translate([pcb_x/2+wall+screw_head/2-screw_d/2, -screw_head/2, -eps]) - cube([screw_d, screw_head, infty]); - } - // text - translate([0, 3.5, pcb_h + cyl_h + eps]) - rotate([0, 0, 90]) - linear_extrude(height=wall) - text("CVT FI", font="DejaVu Sans:style=Bold", size=5, - halign="center", valign="center"); - } -} - -rotate([180, 0, 0]) // rotate it for easier print - case();