Exercici: fer un quadrat

A partir de les instruccions dels moviments bàsics, heu de fer un programa per a que el robot avance i gire 90 graus, de manera de faça una trajectòria quadrada.

L'estratègia és simple: repetiu quatre vegades el codi necessari per a fer avançar el robot un temps, i girar (a l'esquerra o a la dreta).

Abans que res, no oblideu connectar-vos al robot!


In [ ]:
from functions import connect, forward, stop, left, right, disconnect, next_notebook
from time import sleep

connect()  # Executeu, polsant Majúscules + Enter

Programa principal

Substituïu els comentaris per les ordres necessàries:


In [ ]:
# avançar
# girar
# avançar
# girar
# avançar
# girar
# avançar
# girar
# parar

Ha funcionat a la primera? Fer un quadrat perfecte no és fàcil, i el més normal és que calga ajustar un parell de coses:

  • el gir de 90 graus: si el robot gira massa, heu de disminuir el temps del sleep; si gira massa poc, augmentar-lo (podeu posar decimals)

  • si no va recte: és normal que un dels motors gire una mica més ràpid que l'altre; podeu ajustar les velocitats de cada motor individualment entre 0 (mínim) i 100 (màxim), per exemple:

    forward(speed_B=90,speed_C=75)

Canvieu els valors i torneu a provar fins aconseguir un quadrat decent (la perfecció és impossible).


Versió pro

Els llenguatges de programació tenen estructures per a repetir blocs d'instruccions sense haver d'escriure-les tantes vegades. És el que s'anomena bucle o, en anglès, for loop.

En Python, un bucle per a repetir un bloc d'instruccions quatre vegades s'escriu així:


In [ ]:
for i in range(4):
    # avançar
    # girar
# parar

És important que les instruccions de dins del bucle estiguen desplaçades cap a la dreta, és a dir indentades.

Substituïu els comentaris per les instruccions i proveu.


Recapitulem

Per a acabar l'exercici, i abans de passar a la següent pàgina, desconnecteu el robot:


In [ ]:
disconnect()
next_notebook('sensors')