Aquesta activitat forma part del Curs del Citilab. Fes-li una ullada!
Nivell de bombolla
Acceleròmetre
- Un altre sensor que disposa la placa és l’acceleròmetre. Amb aquest sensor podem conèixer la inclinació que té la placa en qualsevol dels tres eixos (X,** Y** i Z).
- El rang de valors en aquests és de -100 a 100, donant 0 en els eixos X i Y si la placa està totalment plana respecte al terra.
X | Y |
---|---|
Repte 1: prova de fer el mateix però amb l’eix Y, és a dir, dibuixant un punt cap al costat on estigui inclinada la placa
Solució al repte 1
Mapeig de valors
- Si ara volguèssim fer que s’encenguès qualsevol punt de la pantalla depenent de la inclinació X i Y, necessitaríem 25 blocs semblants als que acabem de fer!
- Podem pensar una solució més eficient mirant de mapejar (convertir des d’un rang a un altre) el valor de la inclinació en X i Y amb el número de fila i columna del LED a encendre.
X | Y |
---|---|
-100 | 1 |
0 | 3 |
100 | 5 |
D’aquesta manera només ens caldrien els blocs d’encèn x _ y _ i apaga x _ y _ per control·lar els LEDs.
Repte 2: troba la fòrmula per transformar el valor d’inclinació X o Y (-100 a 100) a un valor de fila o columna de la pantalla (1 a 5)
Solució al repte 2
Encendre i apagar LEDs
- Ara que ja tenim la fòrmula, podem fer-la servir per encendre un LED i també apagar-lo inmediatament (ja que si no es quedarien tots encesos!).
- Si ho provem, veurem que de totes maneres tenim aquest problema, ja que és possible que no s’encengui i s’apagui el mateix LED (el valor d’inclinació entre un bloc i l’altre pot variar!).
- Per aquesta raó haurien de guardar en algun lloc el valor resultant de la fòrmula, i per això estàn les variables.
Variables
- Serveixen per guardar temporalment un valor durant l’execució d’un programa.
- Primer crearem una variable per guardar el valor x, tot anant a la categoria Variables i prement el botó Crea una variable. Repetirem el mateix procés per crear la variable per guardar la y.
- Finalment només caldrà fer servir el bloc assigna _ a _ per guardar les fòrmules corresponents a les variables.
Llibreria TFT
- Podem anar més enllà millorant la visualització de la bombolla, fent servir la llibreria TFT disponible a la carpeta Graphics.
- Aquesta llibreria ofereix diferents blocs per representar formes geomètriques, a més de text.
- En el nostre cas podem fer servir el rectangle o el cercle per representar la bombolla, amb els que podem configurar la seva mida i color.
Mapeig de valors (II)
- Ara ja no ens serveix la fòrmula que hem fet servir abans, ja que ara podem fer servir qualsevol píxel de la pantalla.
- Tot i que la pantalla de la ED1 fa 128x128 píxels, podem fer servir els blocs amplada de la pantalla TFT i alçada de la pantalla TFT en cas de que no sàpiguessim quina mida té o també si fem servir una altra placa diferent.
Repte 3: troba la fòrmula per transformar el valor d’inclinació X o Y (-100 a 100) a un valor de fila o columna de la pantalla (1 a 5)
Solució al repte 3
Dibuixar bombolla
- Com en el cas anterior, haurem de guardar cada fòrmula a la variable corresponent.
- Si fem servir el bloc de cercle, només cal especificar-li el radi i el color. Una vegada dibuixat, podem “esborrar-lo” dibuixant-lo de nou però de color negre.
- És recomanable netejar la pantalla abans de tot, ja que així ens assegurem de que no hi haurà res que s’hagi pogut dibuixar abans.
Reescalar
Aquesta operació és habitual quan es vol passar d’un rang de valors a un altre.
Arrossegant la imatge d'aquesta definició tindrem un nou bloc per fer-lo servir al nostre programa.
Aquesta activitat forma part del Curs del Citilab. Fes-li una ullada!
⬅️ Activitat anterior | Activitat següent ➡️ |
---|
© von Citilab Edutec 2019-2022.
This work is licensed under a CC-BY-SA 4.0 license.