From 7970fb684860f6aec321d79e7ccf520ec16956a8 Mon Sep 17 00:00:00 2001 From: "Brian S. Stephan" Date: Tue, 20 May 2025 17:42:35 -0500 Subject: [PATCH] rework the OLED mount and add it to a new panel --- src/components.scad | 20 +++++++++++++ ...d-dir_arc-plus-w-30mm-panel-with-oled.scad | 29 +++++++++++++++++++ src/parameters.scad | 7 +++++ 3 files changed, 56 insertions(+) create mode 100644 src/panels/inset/lever-and-dir_arc-plus-w-30mm-panel-with-oled.scad diff --git a/src/components.scad b/src/components.scad index 9976804..33e79ba 100644 --- a/src/components.scad +++ b/src/components.scad @@ -119,6 +119,26 @@ module oled_ssd1306_mount_cutout() { translate([0, 0, -1.0]) cube([35, 35, 4], center=true); } +module adafruit_pid_326_oled_ssd1306_mount_post() { + cylinder(r=2.25/2, h=8, $fn=50, center=true); +} + +// aligned to the cutout below +module adafruit_pid_326_oled_ssd1306_mount() { + translate([12, 13.25, -2]) adafruit_pid_326_oled_ssd1306_mount_post(); + translate([12, -13.25, -2]) adafruit_pid_326_oled_ssd1306_mount_post(); + translate([-12, 13.25, -2]) adafruit_pid_326_oled_ssd1306_mount_post(); + translate([-12, -13.25, -2]) adafruit_pid_326_oled_ssd1306_mount_post(); +} + +module adafruit_pid_326_oled_ssd1306_mount_cutout() { + translate([0, 3.5, 0]) cube([ssd1306_x, ssd1306_y, panel_z+0.1], center=true); + translate([0, 0, -ssd1306_z/2]) cube([adafruit_pid_326_oled_ssd1306_cutout_x, + adafruit_pid_326_oled_ssd1306_cutout_y, panel_z-ssd1306_z+0.1], center=true); + translate([0, 0, -ssd1306_z/2-2]) cube([adafruit_pid_326_oled_ssd1306_cutout_x*3/2, + adafruit_pid_326_oled_ssd1306_cutout_y/2, panel_z/2+0.1], center=true); +} + module m3_mount_post() { difference() { cylinder(r=m3_screw_selftap_radius*4, h=8, $fn=6, center=true); diff --git a/src/panels/inset/lever-and-dir_arc-plus-w-30mm-panel-with-oled.scad b/src/panels/inset/lever-and-dir_arc-plus-w-30mm-panel-with-oled.scad new file mode 100644 index 0000000..bcac77a --- /dev/null +++ b/src/panels/inset/lever-and-dir_arc-plus-w-30mm-panel-with-oled.scad @@ -0,0 +1,29 @@ +/* + * SPDX-FileCopyrightText: © 2023 Brian S. Stephan + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +include +include +use + +module lever_and_dir_arc_w_30mm_panel_with_oled() { + /* // TEMP FOR PRINTING JUST THE SECTION AS A TEST */ + /* intersection() { */ + /* union() { */ + /* difference() { */ + /* lever_and_dir_arc_w_30mm_panel(); */ + /* translate([0, -(panel_y/2 - 30), 0]) adafruit_pid_326_oled_ssd1306_mount_cutout(); */ + /* } */ + /* translate([0, -(panel_y/2 - 30), 0]) adafruit_pid_326_oled_ssd1306_mount(); */ + /* } */ + /* translate([0, -(panel_y/2-30), 0]) cube([50, 40, 10], center=true); */ + /* } */ + difference() { + lever_and_dir_arc_w_30mm_panel(); + translate([0, -(panel_y/2 - 22), 0]) adafruit_pid_326_oled_ssd1306_mount_cutout(); + } + translate([0, -(panel_y/2 - 22), 0]) adafruit_pid_326_oled_ssd1306_mount(); +} + +lever_and_dir_arc_w_30mm_panel_with_oled(); diff --git a/src/parameters.scad b/src/parameters.scad index 4df2b77..99a8bc4 100644 --- a/src/parameters.scad +++ b/src/parameters.scad @@ -134,6 +134,13 @@ stand_x = 5; stand_y = frame_z; stand_z = 15; +// oled cutout stuff +ssd1306_x = 23; +ssd1306_y = 12; +ssd1306_z = 1; +adafruit_pid_326_oled_ssd1306_cutout_x = 30; +adafruit_pid_326_oled_ssd1306_cutout_y = 32; + // LAYOUTS