// fork from System:シンプル
// ライブラリを作る
!breadboard =\()
//ブレッドボードを描く
scale(1.05)
rect()
fs("black")
scale(0.05)
shift(-10,0)
grid(1,20)
scale(0.2)
rect()
shift(-6,0)
grid(5,20)
scale(0.2)
rect()
shift(0,0)
grid(5,20)
scale(0.2)
rect()
shift(6,0)
grid(5,20)
scale(0.2)
rect()
shift(10,0)
grid(1,20)
scale(0.2)
rect()
!atmega168p = \(x,y)
!label = \(x,y,v)
shift(x,y)
lw(100)
scale(0.3)
text(v)
shift(x,y)
lw(4)
shift(2,6.5)
fs("black")
ss("gray")
grid(1,14)
fig()
xy(1,0)
xy(2,0)
fig()
xy(-1,0)
xy(-2,0)
scale(2,14)
rect()
fs("gray")
shift(0,-6.9)
ss("transparent")
scale(0.5)
rect()
fs("white")
rotate(1/2)
scale(0.5)
text("Atmega168p")
fs("black")
shift(-0.2,-6.75)
label(-2,0,"RESET")
label(-2,1,"RXD")
label(-2,2,"TXD")
label(-2,6,"VCC")
label(-2,7,"GND")
label(-2,8,"XTAL1")
label(-2,9,"XTAL2")
!vwire = \(col,x,y0,y1)
lw(5)
ss(col)
fig(0)
xy(x, y0)
xy(x, y1)
!hwire = \(col,y,x0,x1)
lw(5)
ss(col)
fig(0)
xy(x0, y)
xy(x1, y)
!label = \(s,x,y)
shift(x,y)
fs("black")
ss("black")
lw(200)
scale(0.5)
text(s)
!register = \(x,y,v)
// == REGISTER ===
shift(x,y)
lw(1)
ss("gray")
fig(0)
xy(0, 0)
xy(4, 0)
fs("#aa6")
ss("transparent")
shift(2,0)
scale(2,0.9)
rect()
col("black")
scale(0.4)
lw(200)
text(v +"Ω")
!capacitor = \(x,y,v)
// == capacitor ===
shift(x,y)
lw(1)
ss("gray")
fig(0)
xy(0, 0)
xy(4, 0)
fs("#6af")
ss("transparent")
shift(2,0-0.3)
scale(4,1.5)
rotate(1/4)
apoly(4,0.3)
col("black")
scale(0.4)
lw(200)
text(v + "F")
!ecapacitor = \(x,y,v)
// == capacitor + ===
shift(x,y)
lw(1)
ss("gray")
fig(0)
xy(0, 0)
xy(4, 0)
fs("#009")
ss("transparent")
shift(2,-0.8)
scale(3,3)
rotate(1/4)
apoly(4,0.2)
fs("#aaf")
shift(0,-0.8)
scale(1.7,0.3)
circle()
col("white")
scale(0.3)
lw(200)
text(v + "F")
!led = \(x,y)
// == LED ===
shift(x,y)
lw(1)
ss("gray")
fig(0)
xy(0, 0)
xy(4, 0)
fs("#f00")
ss("transparent")
shift(2,0)
shift(0,-0.3)
shift(0,-0.5)
circle()
rect()
col("white")
shift(0,-0.3)
scale(0.2)
lw(200)
text("LED")
!speaker = \(x,y)
shift(x,y)
// == SPEAKER ===
shift(-5,0)
ss("#0aa")
fs("white")
shift(4,-4)
lw(2)
fig(1)
xy(0,0)
xy(4,0)
xy(3,1)
xy(3,2)
xy(1,2)
xy(1,1)
ss("black")
lw(2)
fig()
xy(5,-2)
xy(5,0)
ss("red")
lw(2)
fig()
xy(7,-2)
xy(7,0)
// ライブラリ ここまで
scale(2)
fs("#ddf")
rect()
scale(1.6)
shift(0,0.1)
breadboard()
scale(1/200)
shift(-100,-95)
scale(10)
// Arduinoの電源
vwire("red",0,-3,0)
hwire("red",10,0,2)
vwire("black",20,-3,0)
vwire("black",2,11,19)
hwire("black",19,6,20)
// CPU
atmega168p(5,4)
led(10,4)
register(16,4,"460")
led(11,5)
register(16,5,"460")
led(10,6)
register(16,6,"460")
led(11,7)
register(16,7,"460")
led(10,8)
register(16,8,"460")
led(11,9)
register(16,9,"460")
tw:ina_ani
mce2
1404576193