Popurri 2.0

Estem arribant al final del curs i, per això, avui us volem mostrar els nostres coneixements adquirits durant aquest període. Així que dissenyarem i implementarem un petit projecte TIC, anomenat el POPURRÍ 2.0.

Per iniciar el projecte, hem treballat en equip de 4 persones per dissenyar i programar una versió d’una consola de videojocs en què el nostre telèfon mòbil s’utilitzarà com a comandament per controlar un joc al nostre ordinador. En aquest cas, el programa que s’executa és l’Scratch, que hem treballat en sessions anteriors.

Per programar la comunicació de l’ordinador i el mòbil es realitzarà a través d’una placa d’Arduino que, a través del Bluetooth, enviarà la informació a l’ordinador, que executarà un script Python encarregant els senyals en pulsacions de tecles.

Així que ens arromenguem les mànigues i us detallem, a continuació, tot el procés.

El material que necessitem:

La guia del procés pas a pas ha estat la següent:

  1. Dissenyem i programem un joc senzill en Scratch en què un personatge ha de desplaçar-se per un laberint fins a arribar a la sortida. Aquest personatge s’ha de controlar des de les fletxes de direcció i, alhora, des de la tecles de l’ordinador “w” (per pujar), “a” (per anar cap a l’esquerra), “d” (per anar a la dreta) i “s” (per baixar).

  1. Dissenyem i programem una app que simuli el comandament de la consola a través de l’aplicació App inventor, on es visualitzin 4 botons per moure’s en les direccions respectives i un botó per vincular el Blueetooth del mòbil amb el mòdul Bluetooth de l’Arduino. A continuació, programem amb els blocs.

  1. Programem i construïm el circuit amb Arduino, tenint en compte l’esquema del circuit i la programació.

#include char c; SoftwareSerial BT1(10, 11); void setup(){ Serial.begin(9600); BT1.begin(9600); } void loop(){ if (BT1.available()){ c = (char)BT1.read(); if ( c == ‘w’ ){ Serial.println(c); } else if ( c == ‘s’ ){ Serial.println(c); } else if ( c == ‘a’ ){ Serial.println(c); } 4 else if ( c == ‘d’ ){ Serial.println(c); } } }

  1. Implementem el programa Python per capturar les dades de l’ordinador i que generi una pulsació de teclat concreta.

Abans, cal instal·lar dues llibreries addicionals per Python 3 per tal de crear pulsacions de teclat (pynput) i comunicar-se amb el port de l’ordinador (pyserial). Així per a instal·lar-les, s’ha d’escriure la següent demanda al terminal de l’ordinador:  pip3 install pynput pyserial

És el moment en què s’executa l’script de Python i cal verificar quants paràmetres s’han afegit en l’execució. Si ens en falten, es mostrarà un missatge de com executar l’script i de quins ports sèrie s’han detectat a l’equip. En el cas dels ports sèrie, s’ha definit una funció auxiliar per detectar-los.

Tot seguit l’script prova d’obrir una connexió al port passat com a paràmetre, però si no pot es queixa i s’acaba. En cas contrari, el programa espera rebre informació pel canal sèrie i cada cop que rep alguna dada es codifica en ASCII i s’eliminen els espais que hi hagin després del caràcter rebut. Finalment, es genera una pulsació de teclat que correspon a una fletxa de direcció.

I heus ací el resultat final del projecte TIC “Popurrí 2.0” en què hi hem hagut de treballar de valent:

https://drive.google.com/file/d/1RhJfhs0QsOrfiWgrJVoI8CfCNz7ZGTyM/view?usp=sharing