From 8f34b7a7afc9b92ac4101d79b49fc84359bf00b4 Mon Sep 17 00:00:00 2001 From: sasza Date: Mon, 14 Jul 2025 11:18:27 +0200 Subject: [PATCH] Oliwka - palik; dom - pod monitory --- Dom/pod_monitory.scad | 74 ++++++++++++++++++++++++++++++++++++++++ Oliwka/palik2.scad | 78 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 152 insertions(+) create mode 100644 Dom/pod_monitory.scad create mode 100644 Oliwka/palik2.scad diff --git a/Dom/pod_monitory.scad b/Dom/pod_monitory.scad new file mode 100644 index 0000000..ea8133e --- /dev/null +++ b/Dom/pod_monitory.scad @@ -0,0 +1,74 @@ +// Moduły PWM do LEDów +module pwm_board() { + // PCB board + translate([0,-31,0]) union() { + cube([33,37,1.5], center=true); + translate([0,33-2,7.5]) rotate([90,0,0]) cylinder(d=8, h=20, $fn=50); + } +} + +// guzik +module switch() { + rotate([90,0,0]) union() { + cylinder(d=20, h=100); + rotate([0,0,0]) translate([-2.5,0,0]) cube([5,11,100]); + rotate([0,0,180]) translate([-2.5,0,0]) cube([5,11,100]); + rotate([0,0,90]) translate([-1,0,0]) cube([2,11,100]); + } +} + +// wzkacniacz 2.1 z 3 potencjometrami +module amp1() { + translate([0,0,14.25]) rotate([90,0,0]) + for (i = [0,22.25, 44.5]) { + translate([i,0,0]) cylinder(d=8, h=15, $fn=50); + } + translate([-25,-70-15,5.5]) cube([101,70,1.5]); +} + +// wzmacniacz 1 potencjometr +module amp2() { + translate([0,0,15.75]) rotate([90,0,0]) cylinder(d=8, h=15, $fn=50); + translate([-18,-95-15,5]) cube([64,95,1.5]); +} + +t = 1.5; // wall thickness + +h1 = 40; // wysokość +w1 = 215; // szerokość +d1 = 120; // głębokość + +difference() { + translate([0,-12,-t]) union() { + cube([w1,t,h1]); + rotate([90,0,0]) difference() { + translate([0,0,0]) cube([w1,h1,d1]); + translate([t,t,0]) cube([w1-2*t, h1-2*t, d1+5]); + } + } + union() { + translate([25,0,0]) amp2(); + translate([107,0,0]) amp1(); + translate([200,0,20]) switch(); + } +} + +h2 = 22; // wysokość +w2 = 90; // szerokość +d2 = 35; // głębokość + +translate([(w1-w2)/2,0,h1 + 5]) difference() { + translate([0,-12,-1.5]) union() { + cube([w2,t,h2]); + rotate([90,0,0]) difference() { + translate([0,0,0]) cube([w2,h2,d2]); + translate([t,t,0]) cube([w2-2*t, h2-2*t, d2+5]); + } + + } + translate([20,0,0]) union() { + translate([0,5,5]) pwm_board(); + translate([50,5,5]) pwm_board(); + + } +} \ No newline at end of file diff --git a/Oliwka/palik2.scad b/Oliwka/palik2.scad new file mode 100644 index 0000000..b638fb2 --- /dev/null +++ b/Oliwka/palik2.scad @@ -0,0 +1,78 @@ +include +// model 1 - palik +palik_d = 50; +palik_h = 170; +t=2; + +conn_clear=0.3; // clearance +connect_h=15; + +// model 2 - podstawka +nozki_l = 30; +nozki_t = 3; +nozki_ile = 3; + +noga_h = 50; +noga_d = 5; + +gora_h = 15; + +dz_ile_kw = 3; +dz_ile_kol = 3; + +module column_hex(ile_h, ile_d, size, h, angle) { + for(i=[0:ile_h]) { + translate([0,0,i*h]) rotate([0,0,i*(360/ile_d/2)]) union() { + for (j=[0:360/ile_d:360]) { + rotate([angle,30,j]) cylinder(d=size, $fn=6, h=100); + } + } + } +} + +union() { + // palik z dziurami + difference() { + cylinder(d=palik_d, h=palik_h, $fn=360); + down(0.1) cylinder(d=palik_d-2*t, h=palik_h+0.2, $fn=360); + up(8) column_hex(11, 10, 15, 13, 90); + } + // cienszy element do łączenia + rotate([0,180,0]) difference() { + union() { + cylinder(d=palik_d, h=5, $fn=360); + cylinder(d=palik_d-2*t-2*conn_clear, h=connect_h, $fn=360); + } + down(1) cylinder(d=palik_d-4*t-2*conn_clear, h=connect_h+3, $fn=360/2); + } +} + +// podstawka +right(2*palik_d) union() { + // nóżki + for (i=[0:360/nozki_ile: 360]) { + rotate([0,0,i]) translate([0,-nozki_t/2,0]) + cube([nozki_l, nozki_t, nozki_t]); + } + // noga + cylinder(h=noga_h, d=noga_d, $fn=20); + // góra + up(noga_h - t) union() { + up (gora_h/2) difference() { + cyl(d=palik_d, h=gora_h, $fn=360, rounding1=3); + down(t) cyl(d=palik_d-2*t, h=gora_h+3*t, $fn=360, rounding2=-5); + } + // dziury + podstawka + up(t/2 + 0.2) union() { + for(i=[0:360/dz_ile_kw:360]) { + rotate([0,0,i]) cube([palik_d-2*t,t,t], center=true); + } + for(i=[0:(palik_d-2*t)/dz_ile_kol: (palik_d-2*t)]) { + down(t/2) difference() { + cylinder(d=i+0.1, h=t, $fn=360); + down(0.1) cylinder(d=i-2*t, h=t+0.2, $fn=360); + } + } + } + } +} \ No newline at end of file