BLE Telesketch
Només per a plaques amb Bluetooth BLE, pantalla TFT i acceleròmetre, com ara l'ED1, M5Stack-Core, Co-Cube i d’altres. També es pot fer una versió més simple per a plaques amb pantalla LED, com la micro:bit o la micro:STEAMakers.
- El Telesketch, o Etch A Sketch, és una joguina que es va popularitzar als anys 60 i que permetia dibuixar sobre una pantalla que simulava una televisió. Tenia dues rodetes que controlaven el moviment horitzontal i vertical del cursor. Per esborrar el dibuix, s’utilitzava un botó que netejava tota la pantalla.
CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=623459
- En aquesta activitat construirem una versió col·laborativa del Telesketch aprofitant la possibilitat de connectar diverses plaques mitjançant BLE (Bluetooth Low Energy).
Construcció del joc sense connexió
Començarem construint el joc sense la connexió BLE.
El primer pas és definir dues variables, x i y, per guardar les coordenades d'un cercle que posicionarem de manera aleatòria a la pantalla TFT.
Amb l'acceleròmetre, farem que, en inclinar la placa, el cercle es desplaci per la pantalla.
Per exemple, quan la
inclinació x
sigui inferior a un cert valor, ens mourem cap a l'esquerra, disminuint la coordenada x.
Repte 1: completa el moviment del cercle
Solució al repte 1
Com que serà un Telesktech col·laboratiu, cada participant tindrà el seu color. Per això definim una variable color amb un valor a l'atzar.
Per evitar que el color sigui fosc i no es vegi a la pantalla, fem servir el bloc
_ amb brillantor _ %
de la biblioteca Color ajustant-lo amb una brillantor del 90%.
- Per esborrar la pantalla, farem servir l'acceleròmetre per detectar un sacseig.
BLE Radio
- Per comunicar les plaques entre si, utilitzarem la biblioteca BLE Radio. Cal tenir activat el suport per BLE a la placa. Si la placa té pantalla LCD, en arrencar, sortiran tres lletres que són el seu identificador BLE. També podem fer servir el bloc
identificador BLE
de la categoria Entrada per comprovar aquest valor.
Per activar o desactivar aquesta possibilitat, hem d'anar a la icona d'opcions
i escollir l'opció activa o desactiva BLE.
La comunicació per BLE és molt senzilla, no necessita emparellar els dispositius. L'abast està a limitat a uns 10 metres.
Per continuar, importem la biblioteca BLE Radio.
Per enviar un text, fem servir el bloc
envia text _ per BLE
.Per rebre, necessitem dos blocs;
missatge BLE rebut?
iúltim text rebut per BLE
, dintre d'un bloc de repetició.
- El text enviat el reben totes les plaques connectades per BLE Radio, excepte la placa que emet el missatge.
Enviar i rebre les coordenades del cercle
- Per enviar les coordenades, construïm un text que contingui tota la informació, fent servir el bloc
uneix _ _
de la categoria Dades.
- Per rebre les coordenades, descomponem el text rebut amb el bloc
divideix _ per _
i dibuixem el cercle amb les coordenades rebudes.
Repte Final 1: Completa el Telesketch col·laboratiu!
Solució al repte final
S'ha modificat una mica la forma de mostrar el cercle, fent un lleuger parpelleig, per distingir quin és el nostre dibuix.
L'enviament de dades per BLE és lent i de tant en tant es pot perdre algun missatge, especialment si hi ha molts dispositius connectats. Es pot canviar l'espera al final del bloc
envia parella _=_ per BLE
per fer que els dibuixos rebuts siguin més continus.
- Com s'ha comentat abans, els missatges BLE els reben totes les plaques. És possible enviar missatges a un grup de plaques fent servir el bloc
fitxa grup de BLE a _ (0-255)
. Només les plaques del mateix grup es comunicaran entre si.
Comunicació amb OctoStudio
Per a plaques amb Bluetooth BLE, pantalla LED i acceleròmetre, com ara l'ED1, M5Stack-Core, micro:bit, micro:STEAMakers, Co-Cube i d’altres.
OctoStudio és una aplicació mòbil gratuïta per programar mitjançant blocs, desenvolupada pels creadors de Scratch al MIT Media Lab.
Està especialment dissenyada per a infants a partir de 7 anys. Hi ha versions per a Android i iPhone, i a diferència de l’App Inventor, no genera aplicacions independents.
Un dels aspectes interessants d'OctoStudio és que inclou un mètode de comunicació entre dispositius, molt semblant al BLE Radio, que hem vist anteriorment.
- Només es poden enviar vuit figures diferents, més que suficient per a moltes aplicacions senzilles. Igual que amb BLE Radio, també hi ha suport per a canals.
Cursa de figures a OctoStudio
- Per mostrar com funciona la comunicació entre OctoStudio i MicroBlocks, farem una cursa per a un màxim de 4 jugadors que mouran la seva figura sacsejant una placa. A veure qui arriba abans!
Per començar, cal col·locar la figura al punt de sortida i ajustar-ne la mida si cal.
Després, només cal esperar que arribi un senyal BLE corresponent a la seva figura per avançar uns quants passos.
- Finalment, cal detectar quan una figura toca la meta i evitar que la resta continuïn avançant. Aprofitarem per emetre un cercle perquè les plaques rebin un senyal a MicroBlocks que indiqui que la cursa ha finalitzat.
Cursa de figures a MicroBlocks
- A MicroBlocks cal fer servir la biblioteca OctoStudio de la categoria Xarxa
Per enviar, fem servir el bloc
envia _ a telèfons via Octo
.La figura l'escollim a l'atzar dels elements d'una llista amb els noms de les figures (en anglès). Aprofitem el nom per mostrar la figura per pantalla amb el bloc
mostra imatge _
de Pantalla LED.
- Per rebre, fem servir els blocs
missatge Octo rebut?
iúltim missatge Octo
. En aquest cas crearem una variable acabat que s'activarà quan es rebi un cercle de l'aplicació OctoStudio.
Repte Final 2: Completa la cursa de figures tant a OctoStudio com a MicroBlocks
Solució al repte final
⬅️ Activitat anterior |
---|
© Citilab Edutec tarafından 2019-2025.
This work is licensed under a CC-BY-SA 4.0 license.