# Analog (PWM) out demo
# pin assign
# D8 -> R (180 ohm) -> RGB LED (Red)
# D9 -> R (100 ohm) -> RGB LED (Green)
# D10 -> R (100 ohm) -> RGB LED (Blue)
# GND -> RGB LED cathode
# PWM port
ao = [D8,D9,D10].map { |pin|
AnalogIO.new(pin, OUTPUT)
}
# initial values
v = [255,127,0]
# acceleration values
d = [-1,-1,1]
while true
ao.each_with_index {|a, i|
a.write(v[i])
v[i] += d[i]
d[i] = -d[i] if v[i] == 0 || v[i] == 255
}
delay 10
end