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
   49   50   51   52   53   54   55   56   57   58   59