-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathleds.ato
81 lines (65 loc) · 1.71 KB
/
leds.ato
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
import Resistor from "resistors.ato"
import Power from "interfaces.ato"
component LED:
signal anode
signal cathode
designator_prefix = "LED"
# current = 0 to 20mA
module LEDIndicator:
power = new Power
signal input
signal gnd
resistor = new Resistor
led = new LED
resistor.package = "0402"
current: current
v_in: voltage
# Default value
current = 1mA to 5mA
# assert (v_in - led.v_f) / resistor.value within current
# assert current < led.i_max
# Connect power
power.vcc ~ input
power.gnd ~ gnd
# Connect up
input ~ led.anode; led.cathode ~ resistor.p1; resistor.p2 ~ gnd
module LEDIndicatorRed from LEDIndicator:
led -> _KT_0603R
#Assuming 3.3v input, 2V forward voltage, 5mA current
# resistor.value = 270ohms +/- 20%
module LEDIndicatorGreen from LEDIndicator:
led -> _KT_0603G
#Assuming 3.3v input, 2.75V forward voltage, 5mA current
# resistor.value = 110ohms +/- 20%
module LEDIndicatorBlue from LEDIndicator:
led -> _KT_0603B
v_in = 3.5V +/- 10%
#Assuming 3.3v input, 2.9V forward voltage, 5mA current
# resistor.value = 82ohms +/- 20%
component _KT_0603B from LED:
# component Blue light 0603
footprint = "LED0603-RD"
mpn = "C2288"
v_f = 2.9V
i_max = 20mA
# pins
cathode ~ pin 1
anode ~ pin 2
component _KT_0603G from LED:
# component 0603 Green 509-620mcd
footprint = "LED0603-RD"
mpn = "C12624"
v_f = 2.75V
i_max = 20mA
# pins
anode ~ pin 2
cathode ~ pin 1
component _KT_0603R from LED:
# component KT-0603R
footprint = "LED0603-RD"
mpn = "C2286"
v_f = 2V
i_max = 20mA
# pins
cathode ~ pin 1
anode ~ pin 2