0% encontró este documento útil (0 votos)
2K vistas25 páginas

Proyectos Microbit

Este apartado presenta 57 proyectos de diferentes niveles de complejidad que pueden realizarse con la tarjeta micro:bit y opcionalmente otros sensores o actuadores. Los proyectos están agrupados en categorías según los componentes utilizados y cada uno incluye el objetivo, nivel de dificultad, pseudocódigo y programa en Makecode.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
2K vistas25 páginas

Proyectos Microbit

Este apartado presenta 57 proyectos de diferentes niveles de complejidad que pueden realizarse con la tarjeta micro:bit y opcionalmente otros sensores o actuadores. Los proyectos están agrupados en categorías según los componentes utilizados y cada uno incluye el objetivo, nivel de dificultad, pseudocódigo y programa en Makecode.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

4.

-Proyectos
Eneste capítulo se proponen un total de 58 proyectos de diferente
complejidad
agrupadosdel siguiente modo:

Apartado Núm.
Utilizandosolo la tarjeta micro:bit 38
Utilizandola tarjeta micro:bit más 1 sensor o actuador 14
Utilizandola tarjeta micro:bit más 2 sensores o actuadores 1
Utilizando2 tarjetas micro:bit conectadas por radio 4
TOTAL 57

Paracadaproyecto se incluye:
• Objetivo
• Nivel de dificultad (en base a la complejidad de los conceptos y
la extensión del programa)
• Pseudocódigo
• Programaen Makecode

En este apartado se abordan


proyectosde dificultad variable que se
llevan a cabo solo con la tarjeta
micro:bit.
Porcuestionesde seguridad y como-
didad,hemosprotegido la tarjeta con
una carcasade plástico y la hemos
dotado de una sencilla estructura
realizada
con piezasde LEGO.

,,,..
,., .
. .'¡;"..••

Objetivo

Cadasegundomostrar en la matriz de LEDS el nombre


quesedesee,en nuestro caso "ANA".

99
m
1se~
(C) EMCH

Pseudoc6digo propuesto
Por siempre
Mostrar "Pon aquí tu nombre"
Esperar 1000 mili segundos

Programadesarrolladocon Makecode

Objetivo

Al pulsar el botón A se mostrará en la matriz de LEOSel


nombre que se desee,en nuestro caso "ANA" .

• • '-'
(C) EMCH

Pseudoc6cligo propuesto
~--------
Por siempre
Si botón A pulsado
Mostrar "Pon aquí tu nombre"
Esperar 0,1 segundos
Limpiar matriz de LEDS

100
desarrollado con Makecode
programa

n-_.· ·. '_Jgar't_aJnatriz
de LEDS
_ _____ Objetivo . ·

1 Alpulsarel botón A se encenderá el LED central de la


Al pulsarel botón B se apagará.
matriz.
1

Pseudocódigo propuesto
Por siempre
Si botón A pulsado
Encender el LEO ( 2 2) de la matriz de LEOS
Si b~:~erar 0, 3 segund~s
on B pulsado
Apagar el LEO ( 2
Esperar , 2 ) de la matriz de LEOS
0 ' 3 segundos

Prog - ·-----·------- -
rama desarrollado con Makecode

101
.,., ,.:~ ?,;>;.:~....._
- .......-
~ ~

Un contador manual es un sencillo dispositivo,


mecánico o electrónico, que sirve para contar
personas, vehículos, pasos, etc. En los laboratorios
se utiliza para contar células.
En nuestro caso vamos a proponer un contador
manual electrónico dotado de dos botones, uno
para sumar una unidad, otro para restar una
unidad y, al pulsar ambos, ponerlo a cero.
Objetivo

Confeccionar un contador manual con la tarjeta micro:bit.


Al pulsar el botón A sumar 1. Al pulsar el botón B restar 1.
Al pulsar A y B a la vez, poner a cero.

-
Contador= 0
+1
-----
Pseudocódigo
+1
(C) EMCH ~ ·

propuesto
-1
·

Por siempre
Si botón A pulsado
Esperar 50 ms

102
Si botón A+B pulsado
Poner a cero Contador
En caso contrario
Contador= Contador+ 1
Destello LEOjunto a botón A
Mostrar Contador en matriz de LEOS
Si botón B pulsado
Esperar 50 ms
Si botón A+B pulsado
Poner a cero contador
En caso contrario
Contador= Contador - 1
Destello LEDjunto a botón B
Mostrar Contador en matriz de LEOS
Enestecaso,para evitar duplicar código de programa, haremos uso de
funciones.Además se hace uso de una variable que hemos llamado
"Contador".
Programa desarrollado con Makecode

103
04
Objetivo

Confeccionar
un fotómetro gráfico que muestre una
gráfica
dealturaproporcional a la luz ambiental en
unaescala
deOa 255.
o
1 1 1

ft.q1l,111,l11,11!111
1~,

l
Pseudocódigo propuesto
Porsiempre
Mostrar gráfica con
valor= sensor de luz
Escala máxima de 255

105
Programa desarrollado con Makecode

- ------------..
Objetivo

Al pasar la mano por encima de la tarjeta micro:bit


alternar el estado de encendido y apagado de la matriz de
LEOS.

Al pasar la mano por delante de la placa micro:bit se produce un cambio


en el valor medido por el sensor de luz.

Pseudoc6d.igo propuesto ~ fi) t-~ ~~ 1, ;J.M


LuzAntes = Valor sensor de luz
LuzOnOff= -1
Por siempre
LuzActual = Valor sensor de luz
LuzDif = Valor absoluto de (LuzActual - LuzAntes)
LuzAntes = LuzActual
Si LuzDif > 10
LuzOnOff= LuzOnOff* (-1)
Si LuzOnOff= 1 Encender todos los LEOSde la matriz
En caso contrario apagar todos los LEOSde la matriz
Esperar 1000 ms

106
programa desarrollado con Makecode

107
Una luz crepuscular dispone de un sensor que mide
la intensidad de luz ambiente y, cuando esta es
inferior a un valor determinado, envía una señal para
que se encienda la bombilla.

Si por ejemplo la luminosidad se ha ajustado a SO
lux, al descender la luz ambiental por debajo de
dicho valor (se hace de noche), activa el sensor y al
volver a ascender por encima (se hace de día), se
apaga.
Es de gran utilidad para automatizar el encendido y apagadode luces,con
la ventaja de que se ajusta de forma automática a la luz externay, porlo
tanto, a las estaciones.
-
__ Objetivo
Confeccionar una luz crepuscular que se encienda cuando
la luz ambiente sea inferior al valor fijado y se apague en
caso contrario. Con los botones A y B el usuario podrá
reducir o aumentar respectivamente dicho valor .


108
~
MWiZAZZ5
' . " : _.t-
~ -~ o;

.....;" -·

pseudocódigo propuesto
. star este valor a cada situación)
00 (aJU
zMin:::2
LU siempre sensor de luz < LuzMin
por si valor Encender todos
los LEDS de la matriz
aso contario
En e Apagar todos los. LEOS de la matriz
. ulsan botón A y LuzM1n > 20
51 P LuzMin = LuzMin - 20
parpadear LED junto a botón A
• pulsan botón B y LuzMin < 1020
51 LuzMin = LuzMin + 20
Parpadear LED junto a botón B

Programa desarrollado con Makecode

--,- .. ,,._ --~-


• 1'
-'
:

. c.-:-~ -
... -.¡;~J2~~--
.... -,,,,,,-,._,_..:•~-- .. -'-=-....:._.:;~

..(>;:;~.
:_~-
'.7)..
, '.' • . ---=-=-
- -- - ,,,~

fif :~{
''.L:L¿_;_/

----------- ----
.O
-

.....,
•.ir....: {. • ••
~.
~--l<~!~i~~.-;
..· : .
Empezaremosusando el sensor de temperatura para
llevara cabo algo tan sencillo como un modesto
termómetro que nos informará de la temperatura
ambiental.
- -- ---------------::--..,.__,--- __ _______
Objetivo
- -----
Hacerquecada segundo se muestre en la matriz de LEOS
el valorde la temperatura reducida en 3 grados para
la temperatura de la propia placa .
corregir

• •124.3].

'
\.•I211.J
~=-=--=---~--=-===~~~~~~~======~__.;--
ste valor d
compa e corrección de -3º se ha obtenido empíricamente
randael v I d ca un
termómet ª or evuelto por la placa con el valor que mar
romanual.

Co""ecc·
p
- :::_ (
ion Pseudocódigo propuesto .t .iffl
0 3
" 5iempre Obtener empíricamente en cada caso)
Temperatu,-.
Temper ª == Valor sensor temperatura. ,
atu,-.a _ T
Mostra - emperatura + Correccion
r Temp
Esperar eratura en matriz de LEDS
1 segundo

111
Programa desarrollado con Makecode

El objetivo de este proyecto es hacer un


termómetro médico que mida la temperatura del
paciente y nos avise en caso de febrícula (por
encima de 37,1º), fiebre (por encima de 38º) o de
hipotermia (por debajo de 35,5º).

Además, al igual que los modelos reales, avisará


cuando haya determinado el valor de la
temperatura corporal.

Objetivo _]
Cuando se pulse el botón A, ir mostrando el valor
corregido del termómetro. Una vez estabilizado el valor
(deja de variar) finalizar la lectura, avisar de ello y mostrar
la temperatura hasta que se vuelva a pulsar el botón A.

El valor de corrección de -3º se ha obtenido empíricamente comparand


el valor devuelto por la placa con el valor que marca un termómetro
manual.

112
Pseudocódigo propuesto
corrección
= -3 (Obtener empíricamente en cada caso)
porsiempre
remp1=0
rempDi
f=999
Esperara que pulsen botón A
MientrasTempDi f >1
Temp2= Valor sensor temperatura + Corrección
Mostrar Temp2en matriz de LEOS
TempDif= Temp2- Templ
Esperar 0, 3 segundos
Mostraren pantalla texto "REAOY"
Mientrasno pulsen botón A
Mostrar Temp2en matriz de LEOS
Esperar 0, 3 segundos

Programa desarrollado con Makecode

113
,... ,. "'"

botón A• presionado

114
J
.. Ma netómetro
.1.10

Inmagnetómetroes un instrumento que


irvePara medir la fuerza del campo
nagnético
en cada uno de los tres ejes, lo
IUe Pe . b ,. 1
11 rrn1te utilizarlo como ruJua
1aut1ca)
:rnado compás en el mundo de la

0 °
nagnétic Para medir los
. , campos
s &eneradospor un 1man. pagar el
%chas
0
ª t b
jisp .. 0 letas Utilizan el imán de la tapa para encender
teclay a
· necesidad de que el usuario. pu se ninguna
s1t1vsin ·
1

115
- ----------,,.._
Objetivo --,----"--
Hacer un magnetómetro que muestre en la matriz de LEDS
la fuerza del campo magnético detectado por el sensor de
la placa micro:bit. '

(CtEMctl~t.

Pseudocódigo propuesto ~
Por siempre
FuerzaCampoMagnético= sensor fuerza magnética
Mostrar en matriz de LEDSel valor de FuerzaCampoMagnético

Programa desarrollado con Makecode

Los interruptores de luz accionados por imán


permiten encender o apagar la luz de una estancia
con solo acercar o insertar una tarjeta o llave dotada
f'Í
~o
de un imán.

Para ello utilizan un sensor magnético similar al que 'I .?..


-...:til-

tiene integrado la tarjeta micro:bit.

Objetivo

Hacer un interruptor que encienda y apague la luz


l alternativamente al acercar un imá_n_.
______ __L ____ __

116
j
pseudoc6digo propuesto .,.. ◄•.:..-

Luzonoff== -1
siempre , .
~r f za sensor magnetice> 1500
si uer
LuzOn0ff = LuzOnOff * ( -1)
Si Luzonoff = 1 encender todos los LEOS de la matriz
En caso contrario apagar matriz de LEOS
Esperar 1 segundo
-
Programa desarrollado con Makecode

117
---

El tacómetro es un dispositivo que mide la velocidad


de giro de un eje, normalmente la velocidad de giro
de un motor. Se mide en revoluciones por minuto
(RPM). Hoy en día los más utilizados son los
tacómetros digitales, por su mayor precisión, aunque
también pueden ser mecánicos, ópticos o magnéticos.
En el caso del mecánico el tacómetro está conectado al eje de giro
mediante engranajes, lo que genera rozamientos, mientras que enlos
tacómetros ópticos y magnéticos no existe contacto con el elemento
rotativo ni, por lo tanto, pérdidas por rozamiento. En el casodel
tacómetro magnético el elemento rotativo dispone de un imán que,al
pasar por delante del sensor, es detectado por este contabilizándoseuna
vuelta.
Objetivo

Hacer un tacómetro magnético provisto de una rueda


dotada de un imán, que muestre cada 10 segundos las
revoluciones por minuto (RPM). El algoritmo ha de evitar
las falsas lecturas: solo dará por válidas las lecturas
cuando previamente no se haya detectado el imán.

118
-- '

hacen cada 10 segundos el valor obtenido so


turas se I h n
ue 1as1ec segundos", el cua se a de transformar en
10
0 adones por_ to utilizando factores de conversión:
oad
,RevolU or n,1nu
ohJciones
P RPS 60 seg
rev =
RPM 10 Seg* 1 min
roponemos una estructura específica, consistente en
rovectoP . ,
paraesteP . libre dotada de un ,man y un contrapeso en la parte
una ruedade gir~l,.brarla.Situando esta rueda junto al lado derecho de la
opuestª para
.
equi . , .
·b·t al hacerla girar el sensor magnet1co detectará el paso
. ta micro.1 , • ,
tarJe, tabilizando una rotac1on.
del¡man, con
servado que el tiempo de reacción del sensor magnético es
Hemos ob .
or lo que en ocasiones no detecta el paso de la rueda cuando
elevado, P .
estagirademasiadorápido. No obstante, sirve para llevar a la práctica
estetacómetrototalmente funcional, aunque solo adecuado para bajas
revoluciones.

Calib p , . - ~--~
Eje rar sensor ma - _seudocodigo propue.sto '~\"'~~!·.::-_;~-;,~
¡· cutar funci - gnetico (brújula) .
_iempoMedic·on Calibrar
,·------- lonseg == 10
Funci. -- - - - - - - -
on Cal. --------
~ st l'ar relbrar --------------------------------------
Espe ROTAR''
"ª"
MagM 1
ax_ 00 ms
MagM·- 0
lr¡ - 9
- 999

119
1/

Durante 10000 veces


Mag = valor fuerza sensor magnético
Si Mag > 0
Si Mag > MagMax,MagMax= Mag
Si Mag < MagMin, MagMin= Mag
MagMax= MagMax- 300
MagMin= MagMax- 500
Mostrar "STOP"en matriz de LEOS
Mostrar MagMinen matriz de LEDS
Mostrar MagMaxen matriz de LEDS
Mostrar "OK" en matriz de LEDS
; -- - - - - - - - - - - -- - - - -- - - - - - - - - - - - - - - - -- - - -- - - --- - -- - ----- ---- ----·
Por siempre
Tiempol = Valor Actual del Reloj
TiempoExe = 0
RPS = 0
Mientras TiempoExe < (TiempoMedicionSeg * 1000)
TiempoExe= Valor Actual del Reloj - Tiempol
Si Valor campo magnético sensor> MagMax
Encender LED2,2
RPS = RPS + 1
Esperar a que campo magnético sensor< MagMin
Apagar LED2,2
RPM= (RPS * 60) / TiempoMedicionSeg
Visualizar en matriz de LEDSel valor de RPM
Si botón A pulsado ejecutar función Calibrar

Programa desarrollado con Makecode

- _.J

120
121
122
~~ •
s una sene de proyectos basados en e 1
acelerómet
. ro que tiene integrada la tarjeta
m1cro:bit.

sensorP .
Este .,
encual . erm,te medir la fuerza de acelerac,on
,____
_
qu,erde los tres ejes.

----------
ElPr' - --
-- _ -~O~b~je:!:ti~vo~~----..:....----:---:-T-
1rnerpr - á un
senc;110 °Yecto basado en el acelerómetro ser
rn1.cro•b·Progra
ma que hará despertar a nues r
t a placa
1
• t cuand 0 1 , d rmir en
cuanto¡ a zarandeemos y se volvera a 0
a dejemostranquila. ,

123

:::-=~
~~~··-
...,. , . .

También podría gustarte