Tema 1. Móvete !!!

Introdución

Ao longo destes temas tentarei darlle o meu enfoque personal á hora de traballar cos robots na aula. Plantexaremos proxectos e aprenderemos os compoñentes e as estruturas de programación en base a cada reto, avanzando de xeito paseniño en cada proxecto, pero de xeito autónomo.

A programar !

Empezaremos con unha programación moi básica co fin de coñecer algúns dos bloques esenciais para o traballo co robot. A programación que imos a usar non terá en conta a contorna do robot, e dicir, que realizará as mesmas accións independentemente do seu estado.

Neste primeiro reto temos que localizar o bloque de robots que trae o mBlock Ranger, para eso na sección de programas prememos en Robots e debería aparecer algo como o seguinte. (De non aparecer Auriga "o nome da placa" será porque está se conectar ou sen configurar, podes volver atrás e configurar o robot seguindo os pasos da seguinte entrada do blog).

Bloques de programación de robots do mBot

Podemos ver unha morea de bloques que nos permitirán configurar as accións que vai facer o noso mBot Ranger. Se observamos este bloque de programación de robot, podemos ver que hai tres tipos de "ordes":

Ordes de inicio de programa

As accións de inicio de programas pódense distinguir de xeito moi sinxelo xa que na súa parte superior presenta unha liña curva,e na parte inferior e como case tódalas pezas, un encaixe que nos permitirá situar outro bloque a continuación do primeiro. No caso do bloque de robots na versión 3.4.1, tan só existe unha.

Bloque de inicio de programa para robot mBot Ranger
Nesta orde de inicio de programa podemos ver que na parte inferior desa "orde" aparece un encaixe para engadir a continuación as ordes que consideremos oportunas para desenrolar o noso programa.

Ordes de realización de accións

Serán as ordes propiamente ditas que realizarán os actuadores do mBot, no caso básico do kit serán os leds, os motores ou o altofalante.

Ainda que a priori parezan moitas, en realidade imos a traballar con só algunhas delas, xa que moitas son para posibles extensións de motores/sensores en bancos/portos. Polo que de momento non nos imos a meter nesas.

Bloque de programación para un motor engadido no porto 1
Polo tanto as sentencias de orde coas que quedaremos serán as seguintes:

Bloque de orde de avanzar a velocidade 0 sobre os motores (velocidades negativas indican un movemento en sentido contrario)

Bloque de orde de virar 1000 grados o motor a unha velocidade de 100 voltas por minuto

Bloque de orde para apagar tódolos leds do anel de leds.

Bloque de orde para emitir a nota C4 un tempo de "medio"

Recollida de valores de sensores/encoders

Neste caso, e como veremos en temas posteriores, poderemos recoller algún valor que nos devolva algún sensor, ou ben algún encoder dos motores. Como non e o obxectivo deste primeiro tema, deixámolos para o futuro. Polo momento tan só nos interesa saber en que teñen un formato redondeado.
Bloque de recollida de valores do estado do sensor segueliñas

Recollida de valores de sensores/botóns

O outro tipo de recollida de valores serán os que teñan as veiras en forma de frecha, neste caso os valores que devolven os sensores ou botóns serán de verdadeiro ou falso (1/0).

Bloque de recollida do valor do estado do botón

Cámara, luces... e sóns !!

Vai sendo horas de comezar a programar, e aínda que o corpo nos pide que movamos o robot, de momento imos a comezar por unhas serie de sentenzas simples de programación xerando luces e sons. A ver cómo conseguimos este reto... (lembra que ó pe desta entrada tes unha ligazón para descargar todos os retos en formato dixital).

Reto 1.1
Agora e co fin de familiarizarnos co bloque de sons, e tendo en conta que os tonos máis graves están na parte superior da lista (e decir C2) e os máis agudos os da parte inferior (D8), imos tentar de facer este reto. 


Reto 1.2


Seguramente a programación que estamos a facer non sexa a máis eficiente no tocante a número de instrucións que estamos a utilizar, xa veremos no futuro cómo arranxamos eso, polo que non esquenzas estos retos xa que os reformularemos en vindeiros temas.

Interactuando cos motores

Movemos o robot? Crees que co que coñecemos ata o de agora será posible?? probemos por un reto moi sinxelo... funcionará?

Reto 1.3

Si, vale, co que sabemos o robot avanza.. pero non para, e todo e porque segundo se lle di que avance, o programa remata, co cal o robot queda cargado coa última instrucción e ahí queda movémdose... Bueno, hai outra solución, decirlle que pare (que avance con velocidade 0), pero neste caso o robot non avanzará nada xa que avanza con velocidade 100 e o momento decímoslle que pare, polo que ó final non fai nada. Polo que parece precisaremos de novos bloques de control ou de novas estruturas de control, pero todo iso no tema 2.


No hay comentarios:

Publicar un comentario