Introducció a la robòtica en trenta-una classes/Dinovè dia: app per al mòbil per a controlar cotxe

Ja tenim els cotxes en marxa. Avui hem vist el resultat dels dies anteriors: gestió de motors de contínua, i control des del telèfon mòbil, en bluetooth.

cotxe amb arduino controlat per bluetooth

Durant els dies anteriors, vèiem que podíem controlar el cotxe des de l’ordinador, però no ens anava des del telèfon. això era degut a que en el programa del telèfon enviavem números i a l’arduino li fèiem vetllar tecles numèriques, i no és el mateix. Sense voler fer una classe teòrica de sistemes de numeració, un 1 número s’envia 00000001, mentre que la tecla 1 s’envia 00110001. En el programa arduino, si volem vetllar el número 1, l’escrivim directament, mentre que quan voliem veure si es premia la tecla 1, ho posàvem entre cometa senzilla ‘1’. Com que volem que el programa sigui el mateix, per teclat i per bluetooth, canviarem el programa del telèfon, per tal que ell també transmeti el codi de la tecla 1 en lloc del número 1. Això es fa canviant el send 1 byte number per send text “1”.

Per tant, els blocs del programa del telèfon han quedat:

programa per al app inventor per a les tecles que controlen un cotxe per bluetooth
programa per al app inventor per a les tecles que controlen un cotxe per bluetooth

Com ja recordeu, una vegada canviat el programa en el app inventor, hem d’anar a build, crear QR, escanejar-lo amb el mòbil i acceptar la instal.lació.

El programa de l’arduino, ja l’hem arreglat del dia passat, i seria el que hi ha penjat al divuitè dia de classe. Allà vam afegir que el 5 activava un disparador amb el servo. Si el volem fer servir des del telèfon, també hauriem de dibuixar una tecla per a aquesta tasca, i fer que enviés un texte “5”. Queda com a exercici per qui ho vulgui fer.

Una vegada enviat el programa a la placa arduino, ho provem amb el monitor sèrie, i veiem que compleix les ordres 1, 2, 3, 4, 0, i si li hem afegit, la 5. Si va tot com volem, l’hi connectarem el mòdul bluetooth. Recordem: el pin GND del bluetooth, al GND de la placa arduino; el VCC a 5V; el TXD a RX, i el RXD a TX. Com ja es va dir, ara no deixarem connectat l’arduino a l’ordinador sino que l’alimentarem amb alguna pila, bateria, o carregador de mòbil.

Si hem de canviar programa d’arduino, desconnectarem el mòdul bluetooth abans, o ens donarà un error en passar programa.

Una altra millora: poder escollir en cada moment a quin mòdul bluetooth ens volem connectar. Per a fer això, farem una tecla nova, que no serà a partir de button com fins ara, sino que haurem d’inserir un ListPicker. Primer esborrem el botó connectar, i després inserim un ListPicker, al qual li posem el texte connectar. Tot i que ens queda un aspecte molt semblant al d’abans, tindrem la possibilitat d’escollir entre tots els dispositius que tinguem emparellats amb el mòbil. Anem a blocks, i el programa ens ha de quedar: