Page 158 - Demo
P. 158

TI Python BootCamp Python VIRTUELE STEM-EXPERIMENTEN OOP
2. Virtuele RGB-array
Voor de TI-InnovatorTM Hub is een TI-RGB array beschikbaar met 16 programmeerbare LEDs.
In de module TI Hub is een klasse rgb_array() beschikbaar. Voor een object uit deze klasse zijn o.a. de volgende methodes beschikbaar:
o set(led_positie,rood,groen,blauw) o set_all(rood,groen,blauw)
o all_off()
We simuleren deze TI-RGB array als volgt.
Als achtergrond gebruiken we een afbeelding van de TI RGB array.
from ti_image import * from ti_draw import * from time import *
def background(): ¨¨rgb=load_image("rgb") ¨¨rgb.show_image(0,0)
Voor de attributen voor de klasse Array() definiëren we hoofdzakelijk lijsten met de coördinaten van de middelpunten
  van de cirkels die de • toplist
• baselist • leds
• topoff
• baseoff
class Array:
LEDs simuleren:
middelpunten LEDs: 0-7 middelpunten LEDs: 8-15 middelpunten LEDs: 0-15 simulatie off van LEDs 0-7 simulatie off van LEDs 8-15
• dx
• rad
• image
afstand tussen LEDs straal LEDs bijhorende figuur
 ¨¨def __init__(self):
¨¨¨¨self.dx=34
¨¨¨¨self.toplist=[[40+i*self.dx,49] for i in range(8)] ¨¨¨¨self.baselist=[[40+i*self.dx,95] for i in range(8)] ¨¨¨¨self.leds=self.toplist+self.baselist ¨¨¨¨self.topoff=[[41+i*self.dx,48] for i in range(8)] ¨¨¨¨self.baseoff=[[42+i*self.dx,95] for i in range(8)] ¨¨¨¨self.image=load_image("rgb") ¨¨¨¨self.rad=5
Als methodes coderen we de volgende functionaliteit; ook beschikbaar in de module TI Hub.
¨¨def set(self,p,r,g,b):
¨¨¨¨set_color(r,g,b)
¨¨¨¨use_buffer()
¨¨¨¨if p<=7: ¨¨¨¨¨¨fill_circle(self.toplist[7-p][0],self.toplist[7-p][1],self.rad) ¨¨¨¨else: ¨¨¨¨¨¨fill_circle(self.baselist[15-p][0],self.baselist[15-p][1],self.rad) ¨¨¨¨paint_buffer().
strip = Array()
strip.set(4,0,255,0) strip.set(11,255,0,255)
 © 2020 T3 Nederland – T3 Vlaanderen 4 www.t3nederland.nl – www.t3vlaanderen.be


































































   156   157   158   159   160