Páxinas

martes, 10 de marzo de 2020

mBot / mBlock - Actividade 3: Detección ultrasónica de obstáculos

Programa con mBlock un control de movemento automático do robot mBot iniciado pola tecla "flecha arriba" do teclado do ordenador. Para eso deberás conectar o robot por medio da conexión inalámbrica 2.4G proporconada polo "lapis" USB propio do teu robot.
 
Unha vez comprobada a conexión programa o seguinte:
1ª PARTE: (Pedir sello de comprobación)

1. Ó pulsar co rato a  Bandeira verde  deberán acenderse en branco os LEDs do robot.

2. Crea a variable "Distancia" onde se recollerá o valor da distancia á que o sensor ultrasónico detecte un obstáculo. Comproba en qué porto está conectado o sensor (normalmente no porto 3).


Esta instrución devolve o valor da distancia detectada polo sensor de ultrasóns.

    NOTA: Visualiza a variable "Distancia" no escenario de mBlock.

3. Tecla "frecha arriba: O robót avanzará a unha velocidade de 100 en liña recta.
    (Os LEDs do robót encenderanse en cor verde).
    Tecla "barra espaciadora: O robót deterase.
    (Os LEDs do robót apagaranse).

4. Se o robot detecta un obstáculo a unha distancia inferior a 15cm, este deterase, xirará 180º e avanzará de novo a unha velocidade de 150. (Os LESs do robót encenderanse en cor vermella).


2ª PARTE: (Pedir sello de comprobación)

Modifica o programa anterior para que cada vez que o robot atope un obstáculo a unha distancia menor que 10cm faga o seguinte:

5. O robot dará marcha atrás uns 5cm, xirará á dereita 90º e continuará recto ata topar un novo obstáculo. Cando se atope cun novo obstáculo fará o mesmo pero xirando en sentido contrário, desta vea á esquerda, no seguinte á dereita, e así sempre...


    NOTA: Para conseguir a alternancia NON DOBLES O CÓDIGO!! deberás usar unha nunha nova variable chamada "DereitaEsquerda", cun valor inicial de 1. Cada vez que detecte un obstáculo a varible cambiará de 1 a -1 mediante a operación matemática:

DereitaEsquerda == DereitaEsquerda x (-1)

    Deste xeito, en función do valor da variable "DereitaEsquerda" determinaremos o sentido de xiro en cada ciclo de detección de obstáculos. É dicir:

Si DereitaEsquerda =  1  >>>  Xiro  á   Dereita  90º
Si DereitaEsquerda = -1  >>>  Xiro á Esquerda 90º


3ª PARTE: (Pedir sello de comprobación)

6. Modifica o programa anterior para que cada vez que o robot atope un obstáculo se manteña a alternancia entre xiro á Dereita e Esquerda pero o angulo de xiro sea un valor aleatorio entre 90º e 270º.

7. Crea unha variable "Velocidade", inicializa o seu valor a 100, e sustitue os valores numéricos introducidos manualmente nas instrucións de programa pola variable. Comproba que funciona exactamente igual que antes.

8. Agora programa as teclas "frecha dereita" e "frecha esquerda" para aumentar ou disminuir a velocidade en pasos de 20 cando sean pulsadas. O valor máximo da velocidade é 255 e o valor mínimo queremos que sexa de 80.


Ningún comentario:

Publicar un comentario