Page 54 - MATINF Nr. 9-10
P. 54
54 R.D. Albu
from BirdBrain import Finch
Apoi, se declar˘a un obiect care reprezint˘a Finch. Aceast˘a linie de cod ˆıi d˘a lui Finch un
nume, ˆın acest caz ”pasare”, s , i ˆıi spune programului c˘a este Finch.
pasare = Finch()
2 Prezentare
a
a
Dup˘ declararea unui obiect Finch, se pot utiliza metode pentru a-l face pe Finch s˘ fac˘ lucruri
a
a
diferite. De exemplu, metoda setMove() face ca Finch s˘ se deplaseze ˆınainte sau ˆınapoi. Aceast˘
a
metod˘ ia trei parametri, sau buc˘at , i de informat , ii, ˆın interiorul parantezelor.
a
Toate aceste p˘art , i sunt prezentate ˆımpreun˘a ˆın programul de prob˘a de mai jos. Acest
program de prob˘a va muta Finch ˆınainte de 20 cm la 75% din viteza maxim˘a.
a
pasare.setMove(’F’,20,75) # deplasare ˆınainte 20 cm la 75% vitez˘
pasare.setMove(’B’,30,50) # deplasare ˆınapoi 30 cm la 50% vitez˘a
Rotirea robotului este foarte asem˘an˘atoare cu deplasarea robotului ˆınainte sau ˆınapoi. Se
a
utilizeaz˘ metoda setTurn() pentru a roti Finch.
o
pasare.setTurn(’R’,90,50) # rotire la dreapta 90 la 50% vitez˘
a
o
a
pasare.setTurn(’L’,60,30) # rotire la stˆanga 60 la 30% vitez˘
Ies , irile sunt modalit˘at , i prin care Finch poate act , iona asupra lumii sau poate comunica cu
utilizatorul; acestea includ motoarele, luminile s , i soneria. Finch are s , i intr˘ari numite senzori,
care colecteaz˘a date despre mediul din jurul s˘au s , i furnizeaz˘a aceste date programului.
Senzorul de distant , ˘a m˘asoar˘a distant , a dintre Finch s , i cel mai apropiat obstacol. Se poate
a
citi valoarea senzorului de distant , ˘ cu funct , ia getDistance(), care returneaz˘ o valoare numeric˘
a
a
care este distant , a ˆın centimetri. Pentru a vedea valoarea senzorului de distant , ˘a, se poate utiliza
funct , ia print() pentru a afis , a valoarea pe ecran.
print(pasare.getDistance())
print(”Distant , a: ”, pasare.getDistance()) # afis , are valoare senzor de distant , ˘ cu etichet˘
a
a
Afis , area valorilor unora dintre ceilalt , i senzori Finch folosind metodele de mai jos:
getLight(’R’) – returneaz˘ valoarea senzorului de lumin˘a potrivit print(”Right Light: ”, pasare.getLight(’R’))
a
getLight(’L’) – returneaz˘ valoarea senzorului de lumin˘a din stˆanga print(”Left Light: ”, pasare.getLight(’L’))
a
getButton(’A’) - returneaz˘a valoarea butonului A pe micro:bit print(”Button A: ”, pasare.getButton(’A’))
getOrientation() – returneaz˘ orientarea Finch-ului print(”Orientation: ”, pasare.getOrientation())
a
a
getEncoder(’R’) – returneaz˘ num˘arul de rotat , ii pe care roata din print(”Right Encoder: ”, pa-
dreapta le-a rotit sare.getEncoder(’R’))
print(”Right Light: ”, type(pasare.getLight(’R’))) # int
print(”Left Light: ”, type(pasare.getLight(’L’))) # int
print(”Button A: ”, type(pasare.getButton(’A’))) # bool
print(”Orientation: ”, type(pasare.getOrientation()))#string
print(”Right Encoder: ”, type(pasare.getEncoder(’R’))) # float