9 changed files with 27552 additions and 2 deletions
@ -0,0 +1,250 @@
|
||||
litho_height = 100; |
||||
litho_width = 70; |
||||
litho_support = 5; |
||||
middle_width = 15; |
||||
base_height = 35; |
||||
wall_width = 4; |
||||
panel_thick = 2; |
||||
tolerance = 1; |
||||
base_width = litho_width + 2*litho_support + 6*wall_width; |
||||
top_height = 20; |
||||
top_r1 = base_width; |
||||
top_r2 = 2*litho_support; |
||||
top_r3 = 2*litho_support; |
||||
|
||||
|
||||
module base() { |
||||
module baseform(width, height, cylinder_r, cylinder_offset) { |
||||
union() { |
||||
cube([width, width, height]); |
||||
translate([-cylinder_offset, -cylinder_offset, 0]) |
||||
cylinder(r1=cylinder_r, r2=litho_support, h=0.75*height); |
||||
translate([width+cylinder_offset, -cylinder_offset, 0]) |
||||
cylinder(r1=cylinder_r, r2=litho_support, h=0.75*height); |
||||
translate([-cylinder_offset, width+cylinder_offset, 0]) |
||||
cylinder(r1=cylinder_r, r2=litho_support, h=0.75*height); |
||||
translate([width+cylinder_offset, width+cylinder_offset, 0]) |
||||
cylinder(r1=cylinder_r, r2=litho_support, h=0.75*height); |
||||
} |
||||
} |
||||
|
||||
module angle() { |
||||
difference() { |
||||
cube([ |
||||
litho_support+3*wall_width, |
||||
litho_support+3*wall_width, |
||||
litho_height+base_height+wall_width+litho_support]); |
||||
translate([wall_width, 3*wall_width, base_height-litho_support]) |
||||
cube([ |
||||
wall_width, |
||||
litho_support+wall_width, |
||||
litho_height+2*litho_support+2*wall_width]); |
||||
translate([3*wall_width, wall_width, base_height-litho_support]) |
||||
cube([ |
||||
litho_support+2*wall_width, |
||||
wall_width, |
||||
litho_height+2*litho_support+2*wall_width]); |
||||
}; |
||||
} |
||||
|
||||
union() { |
||||
difference() { |
||||
baseform( |
||||
base_width, |
||||
base_height, |
||||
litho_support+2*wall_width, -litho_support); |
||||
|
||||
translate([ |
||||
3*wall_width, |
||||
3*wall_width, |
||||
wall_width] |
||||
) |
||||
cube([ |
||||
base_width-6*wall_width, |
||||
base_width-6*wall_width, |
||||
base_height]); |
||||
|
||||
translate([ |
||||
wall_width, |
||||
wall_width, |
||||
base_height-litho_support-wall_width] |
||||
) |
||||
cube([ |
||||
base_width-2*wall_width, |
||||
base_width-2*wall_width, |
||||
base_height]); |
||||
|
||||
translate([base_width/2-20, 3*wall_width, base_height/2-3]) rotate([90, 0, 0]) |
||||
cylinder(r=10.25, h=4*wall_width, $fn=100); //power button |
||||
|
||||
translate([base_width/2, 3*wall_width, base_height/2-9]) rotate([90, 0, 0]) |
||||
cylinder(r=4, h=4*wall_width, $fn=100); //color button |
||||
|
||||
translate([base_width/2, 3*wall_width, base_height/2+3]) rotate([90, 0, 0]) |
||||
cylinder(r=4, h=4*wall_width, $fn=100); //mode button |
||||
|
||||
translate([base_width/2+20, 3*wall_width, base_height/2]) rotate([90, 0, 0]) |
||||
cylinder(r=4.25, h=4*wall_width, $fn=100); //power jack |
||||
|
||||
translate([base_width/2-35, panel_thick, wall_width]) |
||||
cube([42, 4*wall_width, base_height-litho_support-wall_width]); |
||||
|
||||
translate([base_width/2+15, panel_thick, wall_width]) |
||||
cube([12, 4*wall_width, base_height-litho_support-wall_width]); |
||||
} |
||||
|
||||
// Four angles |
||||
angle(); |
||||
translate([base_width, 0, 0]) rotate([0, 0, 90]) angle(); |
||||
translate([base_width, base_width, 0]) rotate([0, 0, 180]) angle(); |
||||
translate([0, base_width, 0]) rotate([0, 0, -90]) angle(); |
||||
|
||||
translate([0, 0, base_height+litho_height]) |
||||
difference() { |
||||
cube([base_width, base_width, litho_support+wall_width]); |
||||
translate([wall_width, wall_width, -wall_width]) |
||||
cube([ |
||||
base_width-2*wall_width, |
||||
base_width-2*wall_width, |
||||
litho_support+3*wall_width]); |
||||
|
||||
} |
||||
|
||||
translate([ |
||||
base_width/2-middle_width/2, |
||||
base_width/2-middle_width/2, |
||||
wall_width |
||||
]) cube([middle_width, middle_width, base_height+litho_height]); |
||||
|
||||
// card supports |
||||
|
||||
translate([18, base_width-45, wall_width]) |
||||
difference() { |
||||
cube([35+2*panel_thick, 26+2*panel_thick, 3*wall_width]); |
||||
translate([panel_thick, panel_thick, wall_width]) |
||||
cube([35, 26, 4*wall_width]); |
||||
translate([35-panel_thick, panel_thick+5, wall_width]) |
||||
cube([4*panel_thick, 16, 4*wall_width]); |
||||
}; |
||||
|
||||
|
||||
translate([18, base_width-60, wall_width]) |
||||
difference() { |
||||
cube([16+2*panel_thick, 13+2*panel_thick, 3*wall_width]); |
||||
translate([panel_thick, panel_thick, wall_width]) |
||||
cube([16, 13, 4*wall_width]); |
||||
}; |
||||
|
||||
} |
||||
} |
||||
|
||||
module inside_plate(height) { |
||||
difference() { |
||||
cube([ |
||||
base_width-2*wall_width-2*tolerance, |
||||
base_width-2*wall_width-2*tolerance, |
||||
height]); |
||||
|
||||
translate([-wall_width, -wall_width, -height]) cube([ |
||||
litho_support+4*wall_width, |
||||
litho_support+4*wall_width, |
||||
3*height |
||||
]); |
||||
translate([ |
||||
base_width-litho_support-5*wall_width, |
||||
-wall_width, |
||||
-height]) |
||||
cube([ |
||||
litho_support+4*wall_width, |
||||
litho_support+4*wall_width, |
||||
3*height |
||||
]); |
||||
translate([ |
||||
-wall_width, |
||||
base_width-litho_support-5*wall_width, |
||||
-height |
||||
]) cube([ |
||||
litho_support+4*wall_width, |
||||
litho_support+4*wall_width, |
||||
3*height |
||||
]); |
||||
translate([ |
||||
base_width-litho_support-5*wall_width, |
||||
base_width-litho_support-5*wall_width, |
||||
-height |
||||
]) cube([ |
||||
litho_support+4*wall_width, |
||||
litho_support+4*wall_width, |
||||
3*height |
||||
]); |
||||
} |
||||
} |
||||
|
||||
module separator() { |
||||
translate([wall_width+tolerance, wall_width+tolerance, base_height-litho_support-wall_width]) |
||||
difference() { |
||||
inside_plate(wall_width); |
||||
translate([ |
||||
base_width/2-wall_width, |
||||
base_width/2-wall_width, |
||||
-wall_width |
||||
]) cylinder(r=middle_width, h=3*wall_width); |
||||
}; |
||||
} |
||||
|
||||
module top() { |
||||
translate([0, 0, base_height+litho_height+2*wall_width]) |
||||
union() { |
||||
translate([ |
||||
wall_width+tolerance, |
||||
wall_width+tolerance, 0]) |
||||
inside_plate(2*(litho_support-wall_width)); |
||||
translate([0, 0, 2*(litho_support-wall_width)]) |
||||
difference() { |
||||
translate([ |
||||
base_width/2, |
||||
base_width/2, |
||||
top_height/2 |
||||
]) cylinder( |
||||
h=top_height, |
||||
r1=top_r1, |
||||
r2=top_r2, |
||||
center=true, |
||||
$fn=100); |
||||
|
||||
translate([ |
||||
base_width/2, |
||||
-1.7*top_r1, |
||||
5.25*top_r1 |
||||
]) sphere(r=5.5*top_r1, $fn=100); |
||||
|
||||
translate([ |
||||
-1.7*top_r1, |
||||
base_width/2, |
||||
5.25*top_r1 |
||||
]) sphere(r=5.5*top_r1, $fn=100); |
||||
|
||||
translate([ |
||||
base_width/2, |
||||
base_width+1.7*top_r1, |
||||
5.25*top_r1 |
||||
]) sphere(r=5.5*top_r1, $fn=100); |
||||
|
||||
translate([ |
||||
base_width+1.7*top_r1, |
||||
base_width/2, |
||||
5.25*top_r1 |
||||
]) sphere(r=5.5*top_r1, $fn=100); |
||||
|
||||
}; |
||||
translate([ |
||||
base_width/2, |
||||
base_width/2, |
||||
top_r3/2+top_height |
||||
]) sphere(r=top_r3); |
||||
}; |
||||
} |
||||
|
||||
base(); |
||||
//separator(); |
||||
//top(); |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,25 @@
|
||||
Lithophane Lantern |
||||
================== |
||||
|
||||
These files are under EUPL-1.2 license. You can use them as is, without |
||||
any guarantee. |
||||
|
||||
The 100Ω resistor must be adapted in function of your WS2812 strip |
||||
and your level shifter board. |
||||
|
||||
Each lithophane panel is 108x78mm including 4mm border and 3mm thickness. |
||||
Do not forget to create positive images, not negative ones. |
||||
|
||||
You need : |
||||
|
||||
- `2 push buttons <https://www.reichelt.de/de/en/miniature-push-button-on-0-5-a-24-vac-black-t-250a-sw-p19987.html>`_; |
||||
- `1 power button <https://www.reichelt.de/de/en/rocker-switch-round-1x-on-off-ws-r13-112-aaaa-p105442.html>`_; |
||||
- `1 WS2812 strip <https://www.reichelt.de/de/en/led-strip-digital-rgb-150-leds-5-m-ws2812b-opt-st4491-p260970.html>`_ |
||||
(cut four strips of three leds for each lantern); |
||||
- `1 D1 Mini <https://www.reichelt.de/de/en/d1-mini-esp8266-v3-0-d1-mini-p253978.html>`_; |
||||
- 1 level shifter (sorry, I lost the link...); |
||||
- 2 resistors of 1kΩ; |
||||
- 1 resistor of 100Ω (must be changed in function of strip and level shifter); |
||||
- 1 capacitor of 1000µF. |
||||
|
||||
Install ESP8266 boards in your Arduino software and WS2812FX library. |
@ -0,0 +1,139 @@
|
||||
#include <WS2812FX.h> |
||||
|
||||
#define BRIGHTNESS 150 |
||||
#define SPEED 1000 |
||||
#define LED_COUNT 12 |
||||
#define LED_SEGMENTS 4 |
||||
#define LED_PIN D1 |
||||
#define MODE_PIN D6 |
||||
#define COLOR_PIN D7 |
||||
#define TIMER_COLOR 60000 |
||||
#define TIMER_MODE 480000 |
||||
|
||||
unsigned long now = 0; |
||||
unsigned long last_mode = 0; |
||||
unsigned long last_color = 0; |
||||
volatile unsigned short current_mode = 0; |
||||
volatile unsigned short current_color = 0; |
||||
volatile unsigned short increment_mode = 0; |
||||
volatile unsigned short increment_color = 0; |
||||
|
||||
volatile bool auto_mode = true; |
||||
volatile bool auto_color = true; |
||||
|
||||
const uint32_t colors_cycle [8] = { |
||||
0x777777, |
||||
0xFF0000, |
||||
0xFF6900, |
||||
0xFFF900, |
||||
0x05B600, |
||||
0x10F8FA, |
||||
0x002AFF, |
||||
0xFFD0B9 |
||||
}; |
||||
|
||||
const unsigned int modes_cycle [7] = { |
||||
FX_MODE_STATIC, |
||||
FX_MODE_COMET, |
||||
FX_MODE_BREATH, |
||||
FX_MODE_FIRE_FLICKER, |
||||
FX_MODE_FIRE_FLICKER_INTENSE, |
||||
FX_MODE_FIRE_FLICKER_SOFT, |
||||
FX_MODE_SCAN |
||||
}; |
||||
|
||||
const unsigned int speed_cycle [7] = { |
||||
1000, |
||||
200, |
||||
200, |
||||
200, |
||||
200, |
||||
200, |
||||
1000 |
||||
}; |
||||
|
||||
WS2812FX ws2812fx = WS2812FX(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); |
||||
|
||||
void ICACHE_RAM_ATTR changeModeInterrupt() { |
||||
bool color_state = digitalRead(COLOR_PIN); |
||||
if(color_state) { |
||||
auto_mode = true; |
||||
auto_color = true; |
||||
} else { |
||||
auto_mode = false; |
||||
} |
||||
increment_mode++; |
||||
} |
||||
|
||||
void ICACHE_RAM_ATTR changeColorInterrupt() { |
||||
bool mode_state = digitalRead(MODE_PIN); |
||||
if(mode_state) { |
||||
auto_mode = true; |
||||
auto_color = true; |
||||
} else { |
||||
auto_color = false; |
||||
} |
||||
increment_color++; |
||||
} |
||||
|
||||
void setup() { |
||||
int size = LED_COUNT/LED_SEGMENTS; |
||||
int seg=0; |
||||
|
||||
pinMode(MODE_PIN, INPUT_PULLUP); |
||||
pinMode(COLOR_PIN, INPUT_PULLUP); |
||||
attachInterrupt( |
||||
digitalPinToInterrupt(MODE_PIN), |
||||
changeModeInterrupt, RISING); |
||||
attachInterrupt( |
||||
digitalPinToInterrupt(COLOR_PIN), |
||||
changeColorInterrupt, RISING); |
||||
|
||||
ws2812fx.init(); |
||||
ws2812fx.setBrightness(BRIGHTNESS); |
||||
for(seg=0; seg<LED_SEGMENTS; seg++) { |
||||
ws2812fx.setSegment( |
||||
seg, |
||||
seg*size, (seg+1)*size-1, |
||||
modes_cycle[current_mode], colors_cycle[current_color], |
||||
speed_cycle[current_mode], seg%2==1); |
||||
} |
||||
ws2812fx.start(); |
||||
} |
||||
|
||||
void loop() { |
||||
int size = LED_COUNT/LED_SEGMENTS; |
||||
int seg = 0; |
||||
now = millis(); |
||||
ws2812fx.service(); |
||||
|
||||
if(auto_mode && now-last_mode>TIMER_MODE) { |
||||
increment_mode++; |
||||
} |
||||
if(auto_color && now-last_color>TIMER_COLOR) { |
||||
increment_color++; |
||||
} |
||||
|
||||
|
||||
if(increment_mode>0 || increment_color>0) { |
||||
if(increment_mode>0) { |
||||
last_mode = now; |
||||
} |
||||
if(increment_color>0) { |
||||
last_color = now; |
||||
} |
||||
current_mode = (current_mode + increment_mode) % (sizeof(modes_cycle)/sizeof(modes_cycle[0])); |
||||
increment_mode = 0; |
||||
current_color = (current_color + increment_color) % (sizeof(colors_cycle)/sizeof(colors_cycle[0])); |
||||
increment_color = 0; |
||||
ws2812fx.resetSegmentRuntimes(); |
||||
ws2812fx.setBrightness(BRIGHTNESS); |
||||
for(seg=0; seg<LED_SEGMENTS; seg++) { |
||||
ws2812fx.setSegment( |
||||
seg, |
||||
seg*size, (seg+1)*size-1, |
||||
modes_cycle[current_mode], colors_cycle[current_color], |
||||
speed_cycle[current_mode], seg%2==1); |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,33 @@
|
||||
update=22/05/2015 07:44:53 |
||||
version=1 |
||||
last_client=kicad |
||||
[general] |
||||
version=1 |
||||
RootSch= |
||||
BoardNm= |
||||
[pcbnew] |
||||
version=1 |
||||
LastNetListRead= |
||||
UseCmpFile=1 |
||||
PadDrill=0.600000000000 |
||||
PadDrillOvalY=0.600000000000 |
||||
PadSizeH=1.500000000000 |
||||
PadSizeV=1.500000000000 |
||||
PcbTextSizeV=1.500000000000 |
||||
PcbTextSizeH=1.500000000000 |
||||
PcbTextThickness=0.300000000000 |
||||
ModuleTextSizeV=1.000000000000 |
||||
ModuleTextSizeH=1.000000000000 |
||||
ModuleTextSizeThickness=0.150000000000 |
||||
SolderMaskClearance=0.000000000000 |
||||
SolderMaskMinWidth=0.000000000000 |
||||
DrawSegmentWidth=0.200000000000 |
||||
BoardOutlineThickness=0.100000000000 |
||||
ModuleOutlineThickness=0.150000000000 |
||||
[cvpcb] |
||||
version=1 |
||||
NetIExt=net |
||||
[eeschema] |
||||
version=1 |
||||
LibDir= |
||||
[eeschema/libraries] |
@ -0,0 +1,261 @@
|
||||
EESchema Schematic File Version 4 |
||||
EELAYER 30 0 |
||||
EELAYER END |
||||
$Descr A4 11693 8268 |
||||
encoding utf-8 |
||||
Sheet 1 1 |
||||
Title "Lithophane" |
||||
Date "2020-12-16" |
||||
Rev "1.0" |
||||
Comp "" |
||||
Comment1 "" |
||||
Comment2 "" |
||||
Comment3 "" |
||||
Comment4 "" |
||||
$EndDescr |
||||
$Comp |
||||
L MCU_Module:WeMos_D1_mini U1 |
||||
U 1 1 5FDA6103 |
||||
P 2300 2550 |
||||
F 0 "U1" H 2300 1661 50 0000 C CNN |
||||
F 1 "WeMos_D1_mini" H 2300 1570 50 0000 C CNN |
||||
F 2 "Module:WEMOS_D1_mini_light" H 2300 1400 50 0001 C CNN |
||||
F 3 "https://wiki.wemos.cc/products:d1:d1_mini#documentation" H 450 1400 50 0001 C CNN |
||||
1 2300 2550 |
||||
1 0 0 -1 |
||||
$EndComp |
||||
$Comp |
||||
L Logic_LevelTranslator:TXB0104D U2 |
||||
U 1 1 5FDA7E52 |
||||
P 5450 2450 |
||||
F 0 "U2" H 5450 1661 50 0000 C CNN |
||||
F 1 "TXB0104D" H 5450 1570 50 0000 C CNN |
||||
F 2 "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" H 5450 1700 50 0001 C CNN |
||||
F 3 "http://www.ti.com/lit/ds/symlink/txb0104.pdf" H 5560 2545 50 0001 C CNN |
||||
1 5450 2450 |
||||
1 0 0 -1 |
||||
$EndComp |
||||
$Comp |
||||
L Connector:Jack-DC JPW1 |
||||
U 1 1 5FDABB24 |
||||
P 900 950 |
||||
F 0 "JPW1" H 957 1275 50 0000 C CNN |
||||
F 1 "Jack-DC" H 957 1184 50 0000 C CNN |
||||
F 2 "" H 950 910 50 0001 C CNN |
||||
F 3 "~" H 950 910 50 0001 C CNN |
||||
1 900 950 |
||||
1 0 0 -1 |
||||
$EndComp |
||||
$Comp |
||||
L Switch:SW_Push SWCOLOR1 |
||||
U 1 1 5FDB160A |
||||
P 3250 3450 |
||||
F 0 "SWCOLOR1" H 3250 3735 50 0000 C CNN |
||||
F 1 "SW_Push" H 3250 3644 50 0000 C CNN |
||||
F 2 "" H 3250 3650 50 0001 C CNN |
||||
F 3 "~" H 3250 3650 50 0001 C CNN |
||||
1 3250 3450 |
||||
1 0 0 -1 |
||||
$EndComp |
||||
$Comp |
||||
L Switch:SW_Push SWMODE1 |
||||
U 1 1 5FDB2C4A |
||||
P 4200 3450 |
||||
F 0 "SWMODE1" H 4200 3735 50 0000 C CNN |
||||
F 1 "SW_Push" H 4200 3644 50 0000 C CNN |
||||
F 2 "" H 4200 3650 50 0001 C CNN |
||||
F 3 "~" H 4200 3650 50 0001 C CNN |
||||
1 4200 3450 |
||||
1 0 0 -1 |
||||
$EndComp |
||||
$Comp |
||||
L Device:R RCOLOR1 |
||||
U 1 1 5FDB35C6 |
||||
P 3050 4000 |
||||
F 0 "RCOLOR1" H 3120 4046 50 0000 L CNN |
||||
F 1 "1000" H 3120 3955 50 0000 L CNN |
||||
F 2 "" V 2980 4000 50 0001 C CNN |
||||
F 3 "~" H 3050 4000 50 0001 C CNN |
||||
1 3050 4000 |
||||
1 0 0 -1 |
||||
$EndComp |
||||
$Comp |
||||
L Device:R RMODE1 |
||||
U 1 1 5FDB3E44 |
||||
P 4000 4000 |
||||
F 0 "RMODE1" H 4070 4046 50 0000 L CNN |
||||
F 1 "1000" H 4070 3955 50 0000 L CNN |
||||
F 2 "" V 3930 4000 50 0001 C CNN |
||||
F 3 "~" H 4000 4000 50 0001 C CNN |
||||
1 4000 4000 |
||||
1 0 0 -1 |
||||
$EndComp |
||||
$Comp |
||||
L Device:R RLED1 |
||||
U 1 1 5FDB41CF |
||||
P 6700 1850 |
||||
F 0 "RLED1" H 6770 1896 50 0000 L CNN |
||||
F 1 "100" H 6770 1805 50 0000 L CNN |
||||
F 2 "" V 6630 1850 50 0001 C CNN |
||||
F 3 "~" H 6700 1850 50 0001 C CNN |
||||
1 6700 1850 |
||||
1 0 0 -1 |
||||
$EndComp |
||||
$Comp |
||||
L Device:CP CPW1 |
||||
U 1 1 5FDB4901 |
||||
P 2450 1000 |
||||
F 0 "CPW1" H 2568 1046 50 0000 L CNN |
||||
F 1 "1000µF" H 2568 955 50 0000 L CNN |
||||
F 2 "" H 2488 850 50 0001 C CNN |
||||
F 3 "~" H 2450 1000 50 0001 C CNN |
||||
1 2450 1000 |
||||
1 0 0 -1 |
||||
$EndComp |
||||
$Comp |
||||
L power:+5V #PWR0101 |
||||
U 1 1 5FDDDA9E |
||||
P 1400 850 |
||||
F 0 "#PWR0101" H 1400 700 50 0001 C CNN |
||||
F 1 "+5V" H 1415 1023 50 0000 C CNN |
||||
F 2 "" H 1400 850 50 0001 C CNN |
||||
F 3 "" H 1400 850 50 0001 C CNN |
||||
1 1400 850 |
||||
1 0 0 -1 |
||||
$EndComp |
||||
$Comp |
||||
L power:GND #PWR0102 |
||||
U 1 1 5FDDE2EA |
||||
P 1000 4150 |
||||
F 0 "#PWR0102" H 1000 3900 50 0001 C CNN |
||||
F 1 "GND" H 1005 3977 50 0000 C CNN |
||||
F 2 "" H 1000 4150 50 0001 C CNN |
||||
F 3 "" H 1000 4150 50 0001 C CNN |
||||
1 1000 4150 |
||||
1 0 0 -1 |
||||
$EndComp |
||||
$Comp |
||||
L Switch:SW_DPST_x2 SWPW1 |
||||
U 1 1 5FDB0C50 |
||||
P 1950 850 |
||||
F 0 "SWPW1" H 1950 1085 50 0000 C CNN |
||||
F 1 "SW_DPST_x2" H 1950 994 50 0000 C CNN |
||||
F 2 "" H 1950 850 50 0001 C CNN |
||||
F 3 "~" H 1950 850 50 0001 C CNN |
||||
1 1950 850 |
||||
1 0 0 -1 |
||||
$EndComp |
||||
Wire Wire Line |
||||
1200 850 1400 850 |
||||
Connection ~ 1400 850 |
||||
Wire Wire Line |
||||
1400 850 1750 850 |
||||
Wire Wire Line |
||||
2150 850 2450 850 |
||||
Wire Wire Line |
||||
6700 2000 6700 2150 |
||||
Wire Wire Line |
||||
6700 2150 5850 2150 |
||||
Wire Wire Line |
||||
1000 4150 1200 4150 |
||||
Connection ~ 1200 4150 |
||||
Wire Wire Line |
||||
5450 4150 5450 3150 |
||||
Connection ~ 5450 4150 |
||||
Wire Wire Line |
||||
5350 1650 5350 1750 |
||||
Wire Wire Line |
||||
5550 850 5550 1750 |
||||
Connection ~ 5550 850 |
||||
Wire Wire Line |
||||
2450 1150 1200 1150 |
||||
Wire Wire Line |
||||
1200 1050 1200 1150 |
||||
Connection ~ 1200 1150 |
||||
Wire Wire Line |
||||
1200 1150 1200 4150 |
||||
Connection ~ 2450 850 |
||||
Wire Wire Line |
||||
2450 850 2950 850 |
||||
Wire Wire Line |
||||
1200 4150 2300 4150 |
||||
Connection ~ 3050 4150 |
||||
Wire Wire Line |
||||
3050 4150 4000 4150 |
||||
Connection ~ 4000 4150 |
||||
Wire Wire Line |
||||
4000 4150 5450 4150 |
||||
Wire Wire Line |
||||
5450 4150 7650 4150 |
||||
Wire Wire Line |
||||
2300 3350 2300 4150 |
||||
Connection ~ 2300 4150 |
||||
Wire Wire Line |
||||
2300 4150 3050 4150 |
||||
Wire Wire Line |
||||
2200 1750 2200 1250 |
||||
Wire Wire Line |
||||
2200 1250 2950 1250 |
||||
Wire Wire Line |
||||
2950 1250 2950 850 |
||||
Connection ~ 2950 850 |
||||
Wire Wire Line |
||||
2950 850 5550 850 |
||||
Wire Wire Line |
||||
2400 1750 2400 1650 |
||||
Wire Wire Line |
||||
2400 1650 3650 1650 |
||||
Wire Wire Line |
||||
2700 2250 5050 2250 |
||||
Wire Wire Line |
||||
5050 2250 5050 2150 |
||||
Wire Wire Line |
||||
2700 2750 4000 2750 |
||||
Wire Wire Line |
||||
4000 2750 4000 3450 |
||||
Connection ~ 4000 3450 |
||||
Wire Wire Line |
||||
4000 3450 4000 3850 |
||||
Wire Wire Line |
||||
4400 3450 4700 3450 |
||||
Wire Wire Line |
||||
4700 3450 4700 1650 |
||||
Wire Wire Line |
||||
3450 3450 3650 3450 |
||||
Wire Wire Line |
||||
3650 3450 3650 1650 |
||||
Connection ~ 3650 1650 |
||||
Wire Wire Line |
||||
2700 2850 3050 2850 |
||||
Wire Wire Line |
||||
3050 2850 3050 3450 |
||||
Connection ~ 3050 3450 |
||||
Wire Wire Line |
||||
3050 3450 3050 3850 |
||||
Wire Wire Line |
||||
3650 1650 4700 1650 |
||||
Connection ~ 4700 1650 |
||||
Wire Wire Line |
||||
4700 1650 5350 1650 |
||||
$Comp |
||||
L Connector_Generic:Conn_01x03 JSTLED1 |
||||
U 1 1 5FEEAD87 |
||||
P 8250 950 |
||||
F 0 "JSTLED1" H 8330 992 50 0000 L CNN |
||||
F 1 "JST-SM 3 Pins" H 8330 901 50 0000 L CNN |
||||
F 2 "" H 8250 950 50 0001 C CNN |
||||
F 3 "~" H 8250 950 50 0001 C CNN |
||||
1 8250 950 |
||||
1 0 0 -1 |
||||
$EndComp |
||||
Wire Wire Line |
||||
5550 850 8050 850 |
||||
Wire Wire Line |
||||
6700 950 8050 950 |
||||
Wire Wire Line |
||||
6700 950 6700 1700 |
||||
Wire Wire Line |
||||
7650 1050 8050 1050 |
||||
Wire Wire Line |
||||
7650 1050 7650 4150 |
||||
$EndSCHEMATC |
Loading…
Reference in new issue