BLE Telesketch

BLE Telesketch

Citilab Edutec tarafından

Boards
Kartlar:

Citilab ED1

Component/s
Bileşenler:

Yok
Aquesta activitat forma part del Curs del Citilab. Fes-li una ullada!

BLE Telesketch

Plaques 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.

Telesketch

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.

Posicionar el cercle

  • 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.

Moure amb la inclinació

Repte 1: completa el moviment del cercle

Challenge 1

Solució al repte 1

Solució 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%.

Ajustar el color

  • Per esborrar la pantalla, farem servir l'acceleròmetre per detectar un sacseig.

Esborrar la pantalla en sacsejar

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.

Bloc identificador BLE

  • Per activar o desactivar aquesta possibilitat, hem d'anar a la icona d'opcions 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.

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ó.

BLE Radio neteja

  • 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.

BLE Radio enviar coordenades

  • Per rebre les coordenades, descomponem el text rebut amb el bloc divideix _ per _ i dibuixem el cercle amb les coordenades rebudes.

BLE Radio rebre coordenades

Repte Final 1: Completa el Telesketch col·laboratiu!

Final challenge

Solució al repte final

Solució repte final 1

  • 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.

Ajustar l'enviament al BLE

  • 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.

BLE Radio grups

Comunicació amb OctoStudio

Plaques 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.

OctoStudio BLE blocs

  • 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!

OctoStudio Figures App

  • 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.

OctoStudio Figures, esperant una senyal

  • 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.

OctoStudio Figures, final

Cursa de figures a MicroBlocks

  • A MicroBlocks cal fer servir la biblioteca OctoStudio de la categoria Xarxa

Bliblioteca OctoStudio

  • 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.

MicroBlocks Figures, enviar BLE

  • 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.

MicroBlocks Figures, rebre BLE

Repte Final 2: Completa la cursa de figures tant a OctoStudio com a MicroBlocks

Final challenge

Solució al repte final

Solució repte final 2

Aquesta activitat forma part del Curs del Citilab. Fes-li una ullada!

⬅️ Activitat anterior

CC-BY-SA

© Citilab Edutec tarafından 2019-2025.
This work is licensed under a CC-BY-SA 4.0 license.