
REMòT v·1.0 amb Bitbloq + App inventor
REMòT és el nostre Robot Educatiu Mòbil Teleoperat des d’un smartphone, utilitzant el hardware Zum BQ i el software Bitbloq i App Inventor.
REMòT v.1 és el robot que treballem a 1r d’ESO. La versió 0 només respon a les dades enviades des de l’smartphone, no és capaç de detectar si aquesta resposta és convenient o no (si pot xocar o caure, per exemple) i actuar en conseqüència. Aquest problema es pretén solucionar en una versió posterior.
El programa amb Bitbloq:
Un cop aconseguit controlar un Led via bluetooth amb Bitbloq >>, controlar els comportaments referents a la navegació d’un robot és fàcil.
La idea és associar cada comportament del robot a una lletra que arriba pel port sèrie via bluetooth:
Components utilitzats:
Els servos i el brunzidor són els actuadors a controlar.
El bluetooth i el port sèrie són els components de comunicació. La seva velocitat ha de ser 19200 bps.
Funcions i variables:
Al llarg del curs hem anat creant una funció per a cada comportament del robot. Això ens permet racionalitzar el codi del programa i fer-lo més comprensible.
A més, hem creat una variable que hem anomenat dada. El valor d’aquesta variable serà el de la dada que entri pel port sèrie via bluetooth. El tipus de dades que contindrà seran caràcters (text):
Definició de l’execució:
L’execució comença assignant com a valor de la variable dada la lletra que es rebi pel port sèrie procedent del mòbil. Aquest valor pot ser A, B, C, D, E o P.
En funció del valor de dada s’executarà una o altra de les funcions definides. Per no saturar l’execució convé que això només es realitzi si hi ha dades entrants al port sèrie (si la longitud del valor de dada és > 0):
L’aplicació amb App Inventor:
És la mateixa que treballem sempre per al control de robots via bluetooth:
Referent a la connexió:
En iniciar-se l’aplicació es crea dins el component ListPicker la llista amb les dades dels dispositius amb els quals el mòbil es pot connectar via BluetoothClient.
En clicar el botó ListPicker (Connectar), si la connexió amb el dispositiu seleccionat s’estableix, el component TextToSpeech ens ho indicarà amb un missatge de veu.
En clicar el Botó Desconnectar, es tancarà la connexió bluetooth amb un altre missatge de veu:
Referent a l’enviament de dades:
Utilitzem un Botó per a l’enviament de cada dada. Per qüestions estètiques tots els botons estan agrupats dins d’una Taula.
En prémer cada botó (opció TouchDown) s’envia la lletra corresponent a l’acció associada segons el programa Bitbloq (A, B, C, D o E). En deixar de prèmer qualsevol dels botons (opció TouchUp) s’envia una P, que és la lletra corresponent a la funció Stop del robot:
Il·luminació automàtica:
Aprofitant que els nostres robots tenen “fars” i que durant el trimestre hem anat muntant i aprenent a fer respondre el robot segons les lectures de diferents sensors, hem afegit dos Leds i dos sensors de llum:
Per aconseguir l’encesa automàtica dels fars, si qualsevol dels dos sensors detecta un nivell de llum inferior al llindar establert, els dos Leds s’han d’encendre, i si no, s’han d’apagar perquè hi ha suficient llum ambiental.
Aquest nou comportament és independent del control de la navegació des del mòbil. Per tant no afecta l’aplicació App Inventor, només cal afegir-lo al programa Bitbloq:
Clicant sobre la imatge podreu veure el programa complert