From 5e0c44899c48c7bc2030035873ffd4eec99b4f2a Mon Sep 17 00:00:00 2001 From: Kyle Isom Date: Sun, 3 Apr 2022 17:42:05 -0700 Subject: [PATCH] Initial import. --- Hardware/SmartCarBasePlate.scad | 76 ++++++++++++++++++++++++++++++++ Hardware/SmartCarBasePlate.stl | Bin 0 -> 49484 bytes 2 files changed, 76 insertions(+) create mode 100644 Hardware/SmartCarBasePlate.scad create mode 100644 Hardware/SmartCarBasePlate.stl diff --git a/Hardware/SmartCarBasePlate.scad b/Hardware/SmartCarBasePlate.scad new file mode 100644 index 0000000..4501507 --- /dev/null +++ b/Hardware/SmartCarBasePlate.scad @@ -0,0 +1,76 @@ +M2 = 1; +M25 = 1.25; +M3 = 1.75; +M4 = 2.1; +PlateHeight = 2.5; + + +module screw_hole(size, x, y, height=PlateHeight+1) { + union() { + translate([x, y, -1]) + cylinder(h=5, r=size, $fn=60); + }; +} + +// x and y are the center point for the battery mount. +module battery_mount(x, y, size=M3, rotation=0) { + offset = 19.5 / 2; + union() { + screw_hole(size, x-offset, y); + screw_hole(size, x+offset, y); + } +} + +module arduino_uno(x, y, size=M3, rotation=0) { + union() { + screw_hole(size, x, y); + screw_hole(size, x+50.8, y-15.2); + screw_hole(size, x+50.8, y-43.1); + screw_hole(size, x, y-48.3); + } +} + +module robot_power_board(x, y, size=M3, rotation=0) { + union() { + screw_hole(size, x, y); + screw_hole(size, x+31.5, y); + screw_hole(size, x, y+18.5); + screw_hole(size, x+31.5, y+18.5); + } +} + +module raspberry_pi_zero(x, y, size=M3, rotation=0) { + union () { + screw_hole(size, x, y); + screw_hole(size, x+58, y); + screw_hole(size, x, y+23); + screw_hole(size, x+58, y+23); + } +} + +module raspberry_pi_3(x, y, size=M3, rotation=0) { + union () { + screw_hole(size, x, y); + screw_hole(size, x+58, y); + screw_hole(size, x, y+49); + screw_hole(size, x+58, y+49); + } +} + +module ultrasonic_mount(x, y, size=M3, rotation=undef) { + //rotate(rotation?rotation:[0,0,0]) + union() { + screw_hole(size, x, y); + screw_hole(size, x+13, y); + } +} + + +difference () { + cube([100, 100, 2.5]); + raspberry_pi_3(21, 25.5); + screw_hole(M3, 92.5, 83.5); + screw_hole(M3, 92.5, 9.5); + screw_hole(M3, 37, 94.5); + screw_hole(M3, 13.5, 35.5); +} \ No newline at end of file diff --git a/Hardware/SmartCarBasePlate.stl b/Hardware/SmartCarBasePlate.stl new file mode 100644 index 0000000000000000000000000000000000000000..f65e1e722d02b7ab0528022b6a27e3dd2e5c99f3 GIT binary patch literal 49484 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 YTN^IzaToIY4TZqDrIf1YnGVDM2b6rZAOHXW literal 0 HcmV?d00001