Compare commits

...

3 Commits

Author SHA1 Message Date
d9d1183488
remove old unsupported OLED mount/cutout/panel
the mount/cutout wasn't in a sensible place in the only panel it
appeared in for a while, so removing it for now until/unless there's a
reason to do it better, but in all likelihood, I'll just keep reusing
the adafruit one

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2025-05-28 17:01:09 -05:00
fe8826d86f
rework the OLED mount and add it to a new panel
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2025-05-28 17:01:04 -05:00
8b96f60f37
add more color options to the demo
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2025-05-28 17:00:59 -05:00
5 changed files with 62 additions and 35 deletions

View File

@ -14,20 +14,21 @@ use <misc/decorative-plate-24mm-button.scad>
use <misc/decorative-plate-dir_arc-plus-w-30mm-and-sega-2p-nine.scad>
use <misc/dustwasher-lsx-nobi.scad>
top_panel_color = "#5B6579";
bottom_panel_color = "#8E9089";
frame_top_bottom_color = "#8E9089";
frame_side_color = "#8E9089";
top_deco_color = "#8E9089";
top_panel_color = "purple";
bottom_panel_color = "black";
frame_front_color = "black";
frame_back_color = "black";
frame_side_color = "red";
top_deco_color = "white";
color(top_panel_color) translate([-panel_x/2, 0, frame_z/2-panel_z+0.01]) lever_and_dir_arc_w_30mm_panel();
color(top_panel_color) translate([panel_x/2, 0, frame_z/2-panel_z+0.01]) sega_2p_nine_plus_control_panel_with_mount();
color(frame_side_color) translate([-frame_x/2+4, 0, -2.5]) side_trapezoid_extended_to_front_frame_piece();
color(frame_side_color) translate([frame_x/2-4, 0, -2.5]) mirror([1, 0, 0]) side_trapezoid_extended_to_front_frame_piece();
color(frame_top_bottom_color) translate([-frame_x/2+4, 0, -2.5]) front_or_back_trapezoid_frame_piece();
color(frame_top_bottom_color) translate([frame_x/2-4, 0, -2.5]) front_or_back_trapezoid_frame_piece();
color(frame_top_bottom_color) translate([-frame_x/2+4, 0, -2.5]) rotate([180, 0, 0]) front_or_back_aux_and_neutrik_frame_piece();
color(frame_top_bottom_color) translate([frame_x/2-4, 0, -2.5]) rotate([180, 180, 0]) front_or_back_aux_and_neutrik_frame_piece();
color(frame_front_color) translate([-frame_x/2+4, 0, -2.5]) front_or_back_trapezoid_frame_piece();
color(frame_front_color) translate([frame_x/2-4, 0, -2.5]) front_or_back_trapezoid_frame_piece();
color(frame_back_color) translate([-frame_x/2+4, 0, -2.5]) rotate([180, 0, 0]) front_or_back_aux_and_neutrik_frame_piece();
color(frame_back_color) translate([frame_x/2-4, 0, -2.5]) rotate([180, 180, 0]) front_or_back_aux_and_neutrik_frame_piece();
color(bottom_panel_color) translate([-panel_x/2, 0, -5-frame_z/2+5]) panel();
color(bottom_panel_color) translate([panel_x/2, 0, -5-frame_z/2+5]) panel();

View File

@ -107,16 +107,24 @@ module m2_mount_post() {
}
}
module oled_ssd1306_mount() {
translate([11.5, 12, 0]) m2_mount_post();
translate([11.5, -12, 0]) m2_mount_post();
translate([-11.5, 12, 0]) m2_mount_post();
translate([-11.5, -12, 0]) m2_mount_post();
module adafruit_pid_326_oled_ssd1306_mount_post() {
cylinder(r=2.25/2, h=8, $fn=50, center=true);
}
module oled_ssd1306_mount_cutout() {
translate([0, 1.9, 0]) cube([25, 14, 5], center=true);
translate([0, 0, -1.0]) cube([35, 35, 4], 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() {

View File

@ -0,0 +1,29 @@
/*
* SPDX-FileCopyrightText: © 2023 Brian S. Stephan <bss@incorporeal.org>
* SPDX-License-Identifier: GPL-3.0-or-later
*/
include <parameters.scad>
include <components.scad>
use <lever-and-dir_arc-plus-w-30mm-panel.scad>
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();

View File

@ -1,18 +0,0 @@
/*
* SPDX-FileCopyrightText: © 2023 Brian S. Stephan <bss@incorporeal.org>
* SPDX-License-Identifier: GPL-3.0-or-later
*/
include <parameters.scad>
include <components.scad>
use <right-sega-2p-nine-plus-control-panel-with-mount.scad>
module sega_2p_nine_plus_control_right_overhang_panel_with_mount_with_oled() {
difference() {
sega_2p_nine_plus_control_right_overhang_panel_with_mount();
translate([75, 77.5, 0]) oled_ssd1306_mount_cutout();
}
translate([75, 77.5, 0.5]) oled_ssd1306_mount();
}
sega_2p_nine_plus_control_right_overhang_panel_with_mount_with_oled();

View File

@ -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