Descripció de l’activitat
Aquesta és una activitat amb un caràcter lúdic, però amb un repte de programació estimulant. Per equips, l’alumnat haurà de programar un robot Smart Cutebot per tal que puguin controlar els seus moviments mitjançant la placa micro:bit com a comandament a distància. Per fer-ho, programaran una placa micro:bit perquè capti el moviment i enviï, a través d’ones de ràdio, l’ordre de moviment a la placa micro:bit que controla l’Smart Cutebot. Al final poden fer una cursa per saber qui ha aconseguit controlar el Cutebot amb més precisió. Qui guanyarà aquesta cursa boja?
Material necessari
- Placa micro:bit
- Robot Smart Cutebot
Orientacions pedagògiques
L’activitat requereix dues plaques micro:bit: una placa que actua de comandament, i l’altra que executa les ordres per fer possible el moviment del robot.
Cada parella de comandament+robot s’ha de programar en un canal diferent, per tant, cal tenir en compte que caldrà canviar el número de canal de l’exemple (és a dir, cada parella ha de tenir un número de canal únic, diferent de les altres parelles).
Es poden crear diferents contextos per fer moure el robot per uns punts determinats d’un escenari: un itinerari sobre un mapa, executar un rescat, explorar un planeta, etc.
Elements de programació
Eix | Àrea | Matèria
SEC – Tecnologia i Digitalització
Competències específiques
CE05 – Desenvolupar algorismes i aplicacions informàtiques en diferents entorns, tot aplicant els principis del pensament computacional i incorporant les tecnologies emergents, per resoldre problemes concrets, automatitzar processos i aplicar-los en sistemes de control o robòtica.
Sabers
Iniciació a la robòtica. Muntatge i control programat de robots o dispositius programables de manera física o mitjançant simuladors.
1. En aquesta activitat programarem dues plaques micro:bit per separat. La primera controlarà el moviment del Cutebot, i se situarà en el seu xassís. La segona, actuarà com a comandament a distància, fent avançar, parar o girar el robot amb els nostres gestos, és a dir, en funció de la inclinació de la placa.
2. Anar a l’entorn de programació de micro:bit makecode per programar la placa que fa de comandament a distància (en endavant s’anomenarà placa 1). Programarem la funció de ràdio perquè la placa enviï per ràdio un missatge a la placa que està situada al Cutebot (en endavant, placa 2). Per fer això, utilitzarem el bloc “estableix grup 1 de ràdio” que es troba a la categoria de ràdio.
Cal tenir en compte que, si cada alumne programa un robot, haurà d’establir un nombre diferent en aquest canal de ràdio per cada robot.
3. Programació de les accions de moviment. Cal programar cada esdeveniment de la placa com un comandament a distància. Per fer això, programarem un bloc condicional “Si…llavors” on farem servir, d’una banda, els polsadors de la placa (A per girar a l’esquerra, B per girar a la dreta) i el sensor “acceleròmetre” de la placa per detectar la inclinació d’aquesta en l’eix y i provocar el moviment endavant i endarrere del robot (cal fer servir els blocs “rotació (°) balanceig en y” i fer servir el bloc de lògica “major que” per indicar la inclinació mínima que ha de detectar la placa (en l’exemple, 10° positius per avançar, 10° negatius per retrocedir).
4. Programació de la placa 2: Cal crear un nou projecte a l’entorn MakeCode per aquesta placa. A continuació, carregar l’extensió per poder treballar amb el Cutebot. Anar a l’apartat “+ Extensions” i al cercador que s’obre escriure “Cutebot” i triar “Cutebot” o “Cutebot-Pro”, en funció del robot que es tingui:
Apareixerà una categoria nova de blocs amb el nom “CuteBot”. Amb aquests blocs es configuraran els moviments del robot, condicionats a la cadena que es rebi per ràdio des de la placa 1. En primer lloc, farem que el programa s’inicialitzi establint el mateix canal de ràdio de la placa anterior (en l’exemple, el canal nombre 1).
Tot seguit fem servir els blocs de la categoria “ràdio” “en rebre per ràdio una cadena “receivedString” que crea automàticament una variable (anomenada receivedString) a la qual s’assignarà la cadena de text que arriba des de la placa 1. Aquí s’ha de fer coincidir exactament els textos que s’han fet servir a la programació de la placa 1 (en aquest exemple esquerra, dreta, endavant, endarrere i parar) i posar un condicional de manera que, quan la variable contingui un text determinat, activi els motors de les rodes per executar els moviments:
5. Per configurar el moviment del robot, des dels blocs de moviment de Cutebot fer que vagi endavant, giri a la dreta o a l’esquerra o s’aturi en funció de la cadena que rebi per ràdio des de la placa 1. Dins del bloc “en rebre per ràdio una cadena “receivedString” cal establir un condicional per cadascun dels moviments del robot en funció de la cadena de text rebuda per ràdio de la placa 1. Aquesta programació s’ha de transferir a la placa 2.
6. En l’exemple, també s’il·luminen els LEDs en funció de l’acció que es fa. Es pot variar aquest programa i configurar sons, o també fer servir el sensor d’ultrasons per evitar que el robot xoqui amb algun obstacle.

