var lum=32 var touche var couleur var r var led var aff_leds # On détecte la télécommande onevent rc5 touche = rc5.command if touche!=13 then timer.period[0]=0 timer.period[1]=0 end # Changement de couleur if touche==32 then couleur=(couleur+1)%8 end if touche==33 then couleur=(couleur-1)%8 end # Changement de luminosité if touche==16 then lum=(lum+4)%36 end if touche==17 then lum=(32+lum)%36 end #Variation automatique de la luminosité if touche==56 then timer.period[0]=1000 end #Mode disco if touche==21 then timer.period[1]=100 end #Affichage des leds ou non if touche==13 then aff_leds=1-aff_leds call leds.prox.h(aff_leds,aff_leds,aff_leds,aff_leds,aff_leds,aff_leds,aff_leds,aff_leds) call leds.circle(aff_leds, aff_leds, aff_leds, aff_leds, aff_leds, aff_leds, aff_leds, aff_leds) end callsub afficher onevent timer0 lum=(lum+1)%32 callsub afficher onevent timer1 # Lumiere aléatoire entre 8 et 31 call math.rand(r) lum=8+abs(r)%24 # Couleur aléatoire entre 1 et 8 call math.rand(r) couleur=1+abs(r)%8 # Affichage aléatoire des leds call math.rand(r) if aff_leds==1 then led=abs(r)%256 call leds.prox.h(led>>7, (led&64)>>6, (led&32)>>5, (led&16)>>4, (led&8)>>3, (led&4)>>2, (led&2)>>1, led&1) call leds.circle(led>>7, (led&64)>>6, (led&32)>>5, (led&16)>>4, (led&8)>>3, (led&4)>>2, (led&2)>>1, led&1) else call leds.prox.h(0,0,0,0,0,0,0,0) end callsub afficher sub afficher # Lumière du dessus call leds.top(lum*couleur>>2,lum*(couleur&2)>>1,lum*(couleur&1))