Page 155 - Demo
P. 155

TI Python BootCamp Python VIRTUELE STEM-EXPERIMENTEN OOP
1. Virtuele LEDs
Met de grafische modules en het definiëren van klassen, kunnen we op een vrij makkelijke en gebruiksvriendelijke manier STEM-experimenten simuleren. We bekijken twee voorbeelden: LEDs en een RGB-array.
1.1. Knipperend LED
We starten met het bepalen van de achtergrond. Voor dit voorbeeld een afbeelding van de BB-voorkant van de TI-InnovatorTM hub en een afbeelding van een LED. We gebruiken hiervoor de functie background().
 from ti_draw import * from ti_image import *
def background():
¨¨hub = load_image("hub") ¨¨hub.show_image(0,0) ¨¨led = load_image("led") ¨¨led.show_image(150,160)
De LED definiëren we als een klasse met als attributen:
• de bijhorende figuur
• de x- en y-coördinaat waar de figuur te tonen
class Led():
¨¨def __init__(self): ¨¨¨¨self.img = load_image("led") ¨¨¨¨self.x = 150
¨¨¨¨self.y = 160
 OFF
from vir_led import * ON from ti_system import *
from time import *
use_buffer()
background() paint_buffer()
led = Led()
while get_key() != "esc": ¨¨led.on() ; paint_buffer() ¨¨sleep(0.3)
¨¨led.off() ; paint_buffer() ¨¨sleep(0.3)
Als methodes coderen we de functies on() en off(); functies die ook beschikbaar in de TI Hub-modules.
¨¨def on(self): ¨¨¨¨set_color(255,0,150) ¨¨¨¨fill_rect(self.x+3,self.y+5,13,20) ¨¨¨¨fill_circle(self.x+9,self.y+6,6)
¨¨def off(self): ¨¨¨¨self.img.show_image(self.x,self.y)
Bovenstaande code bewaren we als het programma vir_led.py zodat we de objecten van de klasse Led() kunnen gebruiken in andere programma’s, b.v. voor het knipperen van een LED:
     © 2020 T3 Nederland – T3 Vlaanderen
1 www.t3nederland.nl – www.t3vlaanderen.be







































































   153   154   155   156   157