'program to test RGB LEDs
#picaxe 14M2
Setfreq M8
symbol infracnt = b3 'IR variable
symbol RedLevel = b4
symbol GreenLevel = b5
symbol BlueLevel = b6
symbol MaxLevelRed = b8 'Set maximum brightness level for Red Led
symbol MaxLevelGreen = b9 'Set maximum brightness level for Green Led
symbol MaxLevelBlue = b10 'Set maximum brightness level for Blue Led
pwmout b.2,150,0
pwmout b.4,150,0
pwmout c.0,150,0
MaxLevelRed= 100
MaxLevelGreen= 100
MaxLevelBlue = 100
do
irin c.4,infracnt ' get input from IR receiver
select case infracnt
case 1
RedLevel = redLevel + 1
pwmduty b.2,redLevel
if RedLevel > MaxLevelRed then
redlevel = 0
endif
case 2
RedLevel = redLevel - 1
pwmduty b.2,redLevel
if RedLevel < 0 then
redlevel = MaxLevelRed
endif
case 4
GreenLevel = GreenLevel + 1
pwmduty b.4,GreenLevel
if GreenLevel > MaxLevelGreen then
GreenLevel = 0
endif
case 5
GreenLevel = GreenLevel - 1
pwmduty b.4,GreenLevel
if GreenLevel < 0 then
GreenLevel = MaxLevelGreen
endif
case 7
BlueLevel = BlueLevel + 1
pwmduty c.0,BlueLevel
if BlueLevel > MaxLevelBlue then
BlueLevel = 0
endif
case 8
BlueLevel = BlueLevel - 1
pwmduty c.0,BlueLevel
if BlueLevel < 0 then
BlueLevel = MaxLevelBlue
endif
case 9
redLevel = 0
GreenLevel = 0
BlueLevel = 0
pwmduty b.4,redLevel
pwmduty b.2, GreenLevel
pwmduty c.0,BlueLevel
end select
loop