Saltar la navegación

4.4.4. Programando nuestro cohete

Diccionario

Potenciómetro

Imagen de un potenciómetro

Definición:

Un potenciómetro es una resistencia cuyo valor podemos variar a voluntad.

Ejemplo:

Seguro que habrás visto alguna vez un botón para subir o bajar el volumen de un aparato antiguo. Eso es un potenciómetro.

Retor dice Imagen que representa a Makecode Hola chicos/as, me alegro volver a veros por aquí.

Ha llegado el momento de darle vida a la placa micro:bit y los sensores que vamos a conectarle.

He preparado un material muy interesante y muy sencillo de utilizar.

Te adelanto lo que vamos a ver:

  • Entorno de programación MakeCode.
  • Programa para la pantalla LCD.
  • Programa para el sensor de temperatura y humedad.
  • Programa para el sensor de inclinación.
  • Programa para controlar el servo motor.
  • Recogida de datos.

Como ves, tenemos mucho trabajo por delante.

Si te parece bien, ¡empecemos sin más dilación!

1. Programamos nuestra pantalla LCD 1602

Imagen de la pantalla LCD 1602 La pantalla LCD te va a permitir mostrar en pantalla información.

Vas a disponer de dos líneas de 16 caracteres por lo que podrás mostrar casi toda la información que desees.

Recuerda que en el apartado 4.4.2. El cerebro de nuestro cohete, puedes ver los datos técnicos de este componente.

A continuación, tienes toda la información que puedes necesitar:

11

11

Montaje

En la imagen de la izquierda puedes ver el montaje que debe hacerse para conectar la pantalla LCD a la placa de expansión.

Detalles:

  • Puedes ver la imagen más grande haciendo clic sobre ella.
  • Conexión de pines de la pantalla LCD:
    • Pin SCL, al pin 19 de la placa de expansión.
    • Pin SDA, al pin 20 de la placa de expansión.
    • Pin Vcc, a un pin rojo que tenga 5v. Revisa el conector marcado con el recuadro blanco 1.
    • Pin GND, a cualquier pin negro de la placa de expansión.
  • Conector 1, lo tienes marcado en la imagen con el recuadro blanco 1. Debe estar configurado para tener en V2 5v. Yo te recomiendo poner V1 a 3,3v.
  • Pines 2, lo tienes marcado en la imagen con el recuadro blanco 2. Aquí debes conectar los pines de la pantalla LCD como se ha explicado anteriormente.
  • Potenciómetro, lo tienes marcado en la imagen con el recuadro blanco 3. Es una resistencia variable que permite regular el brillo de la pantalla.
  • Conector 4, lo tienes marcado en la imagen con el recuadro blanco 4. Si quitas el clip, deberás alimentar de forma externa la pantalla LCD, si lo dejas puesto se alimentará de la placa de expansión.

Programa

Imagen de programa de ejemplo para la pantalla LCD

Aquí te enseño todo lo que necesitas saber para programar este componente de forma sencilla.

  • Debes abrir la página de makecode.
  • Pon un nombre a tu proyecto. Por ejemplo, Pantalla LCD 1602.
  • Debes cargar la extensión makerbit-lcd1602.
  • La secuencia del programa es el siguiente:
    1. Usaremos la dirección 39 para la comunicación con la placa micro:bit.
    2. Mostramos el mensaje "Hola Mundo" desde la posición 1 a la 16.
    3. Espera 1 segundo.
    4. Limpiamos la pantalla.
    5. Mostramos el mensaje "De mi Tierra a la Luna" desde la posición 1 a la 32.

Imagen de un potenciómetro Definición:

Un potenciómetro es una resistencia cuyo valor podemos variar a voluntad.

Ejemplo:

Seguro que habrás visto alguna vez un botón para subir o bajar el volumen de un aparato antiguo. Eso es un potenciómetro.

2. Mostramos en pantalla nuestro "Hola Mundo"

Ahora te toca a tí mostrar el mensaje Hola Mundo.

Para ello deberás:

  1. Abrir MakeCode.
  2. Pon el nombre al proyecto.
  3. El mensaje Hola Mundo deberá aparecer de la siguiente forma:
    • En la primera línea deberá aparecer: Hola.
    • En la segunda línea aparecerá: Mundo.
  4. Tras tres segundo, la pantalla deberá limpiarse.

La actividad podrás hacerla en pareja para que te sea más sencillo.

Lumen dice ¿Necesitáis ayuda?

Si necesitáis ayuda, no os preocupéis os puedo ayudar.

Es muy sencillo, os recomiendo que volváis a ver el apartado anterior 1. Programamos nuestra pantalla LCD 1602.

Seguro que ahora ya sabéis cómo hacerlo. Pero si tenéis  alguna duda, lo mejor es buscar ayuda en tu profesora o profesor.

3. Programando el sensor de temperatura y humedad

Imagen del sensor de humedad y temperatura DHT22 Este sensor te va a permitir leer la temperatura y humedad del lugar dónde se encuentre.

El sensor viene sobre una plaquita junto a otros componentes, como resistencias eléctricas, que facilitan su uso.

Recuerda que en el apartado 4.4.2. El cerebro de nuestro cohete, puedes ver los datos técnicos de este componente.

A continuación, tienes toda la información que puedes necesitar:

11

11

Montaje

Imagen del montaje del sensor DHT22 con la placa de expansión de la micro:bit

En la imagen de la izquierda puedes ver el montaje que debe hacerse para conectar el sensor DHT22 a la placa de expansión.

Detalles:

  • Puedes ver la imagen más grande haciendo clic sobre ella.
  • Conexión de pines del sensor DHT:
    • Pin S, pin de datos. Debes conectarlo a un pin amarillo de la placa de expansión.
    • Pin Vcc, puedes alimentarlo a 3,3v o a 5v.
    • Pin GND, a cualquier pin negro de la placa de expansión.
  • Tiempo de muestreo, es de 2 segundos. Es decir, sólo podremos obtener mediciones de temperatura y humedad cada 2 segundo.
  • Resistencia 5 KΩ, esta resistencia tiene un efecto pull-up. Esta resistencia asegura un valor alto lógico "1" cuando sea necesario.
  • Condensador de 100 nF, su misión es filtrar (eliminar) ruido que pueda entrar por la alimentación.
Si haces clic sobre la imagen de la izquierda podrás ver las hojas de características (Data sheet).

Programa

En la imagen de la izquierda tienes el programa necesario para utilizar el sensor DHT22 y la pantalla LCD. Es una solución posible,  tu puedes cambiarlo a tu gusto.

Descripción de los bloques del programa marcados con números:

    1. Asignar la dirección 39 para comunicarnos con la pantalla LCD.
    2. Limpiar la pantalla al inicio.
    3. Repetir cada 500 ms.
    4. Configurar el sensor DHL22.
    5. Asignar a la variable Humedad/Temperatura la lectura de la humedad/temperatura.
    6. Condicional que se debe cumplir:
      • Si el valor de la humedad es mayor o igual de 0 y el valor de la temperatura es mayor o igual de -40 ºC.
      • De esta forma evitamos lecturas erróneas.
    7. Mostrar en la pantalla LCD en la posición 1 el valor de la temperatura. Además, se añade texto para hacer más agradable la información.
    8. Mostrar en la pantalla LCD en la posición 17 el valor de la humedad. Además, se  añade texto para hacer más agradable la información.
Si haces clic sobre la imagen de la izquierda podrás ver y descargar el programa.

4. Medimos la temperatura

Esta tarea es para hacerla en pareja.

Vamos a practicar con el sensor DHT22 y la pantalla LCD.

La tarea consiste en lo siguiente:

  • Debes conectar el sensor DHT22 y la pantalla LCD a la placa de expansión de la micro:bit.
  • Configurar el sensor de forma adecuada.
  • La pantalla deberá mostrar:
    • En la primera línea la temperatura en grados celsius.
    • En la segunda línea la temperatura absoluta.
  • Deberás añadir texto para que la lectura sea más amigable. Por ejemplo:
    • Tem. = 23 C (no ponemos el símbolo º para evitar errores de visualización).
    • Tem. = 300 K.

Lumen dice ¿Tienes problemas con la temperatura absoluta?

No te preocupes, yo te puedo ayudar.

Para pasar de grados celsius a kelvin es muy sencillo. Fíjate en la siguiente fórmula:

Tª absoluta (kelvin) = Tª celsius (grados celsius) + 273

5. Probamos el sensor de inclinación

Imagen del sensor de inclinación KS0025 Este sensor te va a permitir detectar cuando el cohete llegue al punto más alto y se incline para bajar.

El sensor viene sobre una plaquita junto a otros componentes, como dos resistencias eléctricas y un led rojo que te indicará el estado del sensor.

Recuerda que en el apartado 4.4.2. El cerebro de nuestro cohete, puedes ver los datos técnicos de este componente.

A continuación, tienes toda la información que puedes necesitar:

11

11

Montaje

En la imagen de la izquierda puedes ver el montaje que debe hacerse para conectar el sensor DHT22 a la placa de expansión.

Detalles:

  • El sensor viene montado sobre una placa junto a otros componentes que facilitan su uso.
  • Los componentes forman el KS0025 son:
    • El sensor de inclinación.
    • Un led rojo.
    • Una resistencia de 1KΩ, su misión es proteger el diodo LED.
    • Una resistencia de 10 KΩ, es una resistencia pull-up.
  • Si haces clic sobre la imagen de la izquierda puedes ver el esquema eléctrico del sensor KS0025.
  • Conexión de pines del sensor DHT:
    • Pin S, pin de datos. Debes conectarlo a un pin amarillo de la placa de expansión.
    • Pin Vcc, puedes alimentarlo a 3,3v o a 5v.
    • Pin GND, a cualquier pin negro de la placa de expansión.
Si haces clic sobre la imagen de la izquierda podrás ver las hojas de características (Data sheet).

Programa

En la imagen de la izquierda tienes el programa necesario para utilizar el sensor DHT22 y la pantalla LCD. Es una solución posible,  tu puedes cambiarlo a tu gusto.

Descripción de los bloques del programa marcados con números:

    1. Asignar la dirección 39 para comunicarnos con la pantalla LCD.
    2. Limpiar la pantalla al inicio.
    3. Repetir cada 500 ms.
    4. Configurar el sensor DHL22.
    5. Asignar a la variable Humedad/Temperatura la lectura de la humedad/temperatura.
    6. Condicional que se debe cumplir:
      • Si el valor de la humedad es mayor o igual de 0 y el valor de la temperatura es mayor o igual de -40 ºC.
      • De esta forma evitamos lecturas erróneas.
    7. Mostrar en la pantalla LCD en la posición 1 el valor de la temperatura. Además, se añade texto para hacer más agradable la información.
    8. Mostrar en la pantalla LCD en la posición 17 el valor de la humedad. Además, se  añade texto para hacer más agradable la información.
Si haces clic sobre la imagen de la izquierda podrás ver y descargar el programa.

6. Practicamos con el KS0025

Esta tarea deberás hacerla de forma individual.

No te preocupes, por que es muy sencillo.

Se trata de que realices el mismo programa del apartado anterior, 5. Probamos el sensor de inclinación.

Si tienes alguna duda, siempre puedes preguntarle a tu profesor/a.

¡Ánimo y comenzamos!

7. Todo sobre el servo motor.

Imagen del servo motor 9g El servomotor te permite mediante un giro del brazo de 90º liberar la ventana de expulsión del paracaídas.

Este componente debe ir sujeto mediante tornillos para asegurar un funcionamiento estable.

Recuerda que en el apartado 4.4.2. El cerebro de nuestro cohete, puedes ver los datos técnicos de este componente.

A continuación, tienes toda la información que puedes necesitar:

11

11

Montaje

Imagen del montaje del servomotor a la placa de expansión de la micro:bit

En la imagen de la izquierda puedes ver el montaje que debe hacerse para conectar el sevomotor a la placa de expansión de la micro:bit.

Detalles:

  • La tensión de alimentación debe estar comprendida entre 4,8v y 6v. En nuestro caso, usaremos 5v.
  • El brazo puede girar hasta 180º.
  • Conexión de pines del sensor servomotor:
    • Cable marrón.. Debes conectarlo a un pin negro GND.
    • Cable rojo. Debes conectarlo a un pin rojo, a 5v.
    • Cable naranja. Debe conectarse a un pin amarillo que sea una salida analógica.
  • En su interior puedes encontrar:
    • Un pequeño motor eléctrico.
    • Una etapa reductora. Tiene la finalidad de reducir la velocidad de salida y también de aumentar la fuerza de giro (par).
    • Potenciómetro o resistencia variable. Sirve para saber en qué posición se encuentra el brazo de giro.
    • Placa electrónica. Permite el control del servomotor.
Imagen del logo de video

A continuación te invito a ver un vídeo cómo es un servomotor por dentro. Es muy interesante, no te lo pierdas.

Programa

Imagen del programa que permite controlar el servomotor

En la imagen de la izquierda puedes ver un programa sencillo.

A continuación, se explica cada punto:

    1. Este bloque aunque no es obligatorio, es interesante ya que podemos establecer el máximo ángulo de giro del brazo del servo.
    2. Los pines que puedes elegir son: P0, P1 y P2. Por lo tanto los tendrás que configurar a 5v.
    3. Al pulsar el pulsador A, el brazo irá a la posición 0º.
    4. Al pulsar el pulsador B, el brazo irá a la posición 180º.

Como puedes ver es muy sencillo controlar el servomotor.

Si haces clic sobre la imagen de la izquierda podrás ver y descargar el programa.

8. Controla el servomotor con el sensor de inclinación

En esta tarea vas a utilizar los siguientes componentes:

  • Placa de expansión de la micro:bit.
  • Placa micro:bit.
  • Sensor de inclinación KS0025.
  • Servomotor.
  • Pantalla LCD.

¿Qué debes hacer?

  • Debes trabajar en pareja.
  • El sensor de inclinación debe hacer girar el servomotor. Vosotros decidís cómo queréis que se mueva el servo.
  • Debéis indicar en la pantalla LCD algún tipo de información.

Antes de empezar, os recomiendo que volváis a repasar los apartados anteriores.

¡Seguro que se os ocurren muchas ideas!

Lumen dice ¿Necesitáis ayuda?

Es un placer poder ayudarte.

Si habéis tenido dudas de cómo realizar la tarea, os he preparado una imagen que seguro os podrá ayudar.

En la siguiente imagen podéis ver los dos programas que habéis visto anteriormente:

  • En el de la izquierda se ve el programa del sensor de inclinación.
  • En el de la derecha, está el programa del sevomotor.

Tal como te indican las flechas rojas, debéis introducir los bloques de la derecha en el programa de la izquierda.

¡Ya tenéis la solución!

Imagen de ayuda para solucionar la tarea 8. Controla el servomotor con el sensor de inclinación

Pero lo importante, es que lo intentéis vosotros/as.

9. Registrando los datos

Imagen que representa los datos En los apartados anteriores has aprendido a medir diferentes magnitudes como presión, humedad, inclinación y aceleración.

Bien, ¿pero qué podemos hacer con toda esa información que hemos medido?

Los datos obtenidos de los diferentes sensores, debemos almacenarlos para luego poder recuperarlos y trabajar con ellos.

Los datos tienen un valor muy importante, es la mejor forma de analizar qué ha ocurrido en el lanzamiento  y poder sacar conclusiones que nos ayuden a comprender el comportamiento del cohete.

A continuación te enseño, una forma muy sencilla de guardar todos los  datos obtenidos de los sensores.

Necesitamos una extensión

Cuando abras la aplicación makecode, deberás cargar la extensión datalogger.

En la imagen de la izquierda puedes ver es aspecto que tiene. Así te será más fácil identificarla.

Si haces clic sobre la imagen, podrás ver el nuevo bloque de opciones de programación que se te añade en makecode.

Configurar columnas


Este bloque te permite crear las columnas donde irán los datos de cada sensor. Haciendo clic en el + puedes añadir más columnas.

Por ejemplo: temperatura, luz, aceleración, ...

Si hace clic sobre la imagen podrás ver cómo quedaría en el programa.

Muy importante, no pongas tildes a las palabras.

Este bloque lo puedes poner en el bloque al iniciar.

Grabar datos en las columnas

Una vez configuradas las columnas, ya puedes grabar datos en ellas.

En la imagen de la izquierda puedes ver el bloque que debes utilizar.

Si haces clic sobre la imagen, podrás ver cómo quedaría en el programa.

Eliminar datos

Si tienes la necesidad de borrar datos almacenados, el bloque de la izquierda te permitirá hacerlo.

Si haces clic sobre la imagen, podrás ver cómo quedaría en el programa.

Debes tener cuidado con este bloque, puedes perder toda la información.

Registro lleno

Puede ocurrir que la memoria se llene y el registro no pueda almacenar más datos.

Aunque es poco probable que esto pueda ocurrir, debemos tenerlo en cuenta en nuestro programa.

En la imagen de la izquierda puedes ver el bloque que te permite programar su comportamiento.

Si haces clic sobre la imagen, puedes ver cómo quedaría su programación.

Descargamos los datos

Imagen del archivo MY_DATA

Imagen del archivo microbit.csv

Te voy a explicar paso a paso todo el proceso para que no tengas ningún problema.

Cada punto del proceso corresponde con una imagen de la izquierda.

Proceso:

  1. Al conectar la placa micro:bit a tu ordenador deberá aparecer la unidad MICROBIT (D:). Dentro de la unidad encontrarás el archivo MY_DATA.
  2. Abrimos el archivo MYDATA veremos algo parecido a la imagen (2). Si haces clic sobre la imagen puedes verla más grande. Ya puedes descargar tus datos, solo tienes que hacer clic en Download.
  3. Ahora debes localizar el archivo que te has descargado. Lo podrás encontrar en la carpeta Descargas, el nombre el archivo es Microbit.csv.
  4. Para terminar, ya sólo te toca abrir el archivo. Como ya hemos visto anteriormente, te recomiendo que lo abras desde Drive. Sigue los siguientes pasos:
    • Entra en tu Drive.
    • Haz clic en + Nuevo.
    • Selecciona Hojas de cálculo de Google y espera a que se abra.
    • En la pestaña Archivo, selecciona la opción Importar.
    • Elige la opción Subir, y haz clic en Examinar.
    • Busca el archivo Microbit.csv en Descargas y haz clic sobre él.
    • Haz clic sobre Importar datos.
    • Ya tienes tu hoja de cálculo con los datos que han recogido tus sensores. ¡Ahora ya puedes trabajar con ellos!

10. Hacemos ingeniería inversa

Esta actividad es para realizarla en grupo.

Se trata de hacer ingeniería inversa a un código que os voy a compartir.

Aquí os presento el código, si haces clic sobre él podrás verlo más grande.

Vuestro grupo deberá:

  • Realizar el análisis del circuito de la imagen y anotar en el cuaderno lo que pesáis que realiza cada bloque.
  • Cuando terminéis, el profesor o profesora os dar el turno de palabra para que entre todos/as aportemos nuestras ideas y consigamos descifrar, ¿qué es lo que hace el programa?

¡Seguro que entre todos/as lo conseguimos!

Lumen dice ¿No sabéis cómo empezar?

Claro que puedo ayudarte.

Te aconsejo que dividas el programa en bloques. Por ejemplo:

  • Bloque 1: al iniciar.
  • Bloque 2: al presionar el botón A.
  • Bloque 3: al presionar el botón B.
  • Bloque 4: al presionar los botones A+B.
  • Bloque 5: cada 500 ms.
  • Bloque 6: en registro lleno.

Si tenéis alguna duda con algún bloque, seguro que vuestra profesora o profesor os podrá ayudar.

Kardia dice ¿Quieres saber cómo medir la aceleración?

Imagen de los ejes del acelerómetro de la placa micro:bitEs normal que tengas interés en saber cómo medir la aceleración del cohete.

La propia placa dispone de un acelerómetro, que será el sensor que te permitirá medir las aceleraciones en los tres ejes: X, Y y Z.

En nuestro caso, al estár la placa en posición vertical, nos interesará medir las aceleraciones en el eje Y.

Este es el bloque que debes utilizar, pero recuerda cambiar el eje X por el eje Y.

Imagen del bloque aceleración de la micro:bit

Ya sabes todo lo necesario para programar tu cohete.

¡Enhorabuena!

Motus dice ¿Cómo te sientes al llegar al final?

Cuando empezaste este apartado, seguro que tenías dudas e incluso miedo de no ser capaz de alcanzar los objetivos.

Pero una vez llegado a este punto, has podido comprobar que no era tan difícil y eso seguro que te ha dado confianza para seguir aprendiendo.

Por todo esto, me gustaría felicitarte por el gran esfuerzo que has realizado. 

Pero antes de irme, creo que Clavis tiene algo que decirte. Seguro que es importante, no te lo pierdas.

Clavis dice Las claves del éxito

Gracias Motus, por decirle a las chicas y chicos que no se olviden de mí.

Es cierto, lo que os tengo que contar es muy importante.

Tal como dice el titular, os voy a comentar cuáles son las claves del éxito cuando queremos aprender algo nuevo.

Igual que en cualquier tarea de nuestra vida,  para tener éxito es fundamental  disponer de la herramientas adecuadas.

En nuestro caso, estas herramientas son:

  • Disponer de un material de calidad. En tu caso lo tienes, se trata de este material que estás leyendo.
  • Debes leer despacio, intentando comprender lo que se expone.
  • Intenta trabajar, siempre que te sea posible, con algún compañero/a.
  • Es importante anotar en tu cuaderno aquellos aspectos que sean importantes.
  • Realizar las actividades que se proponen, es la mejor forma de consolidar lo recién aprendido.
  • Utiliza la ayuda de tu profesor/a siempre que lo necesites.

Si utilizas estas herramientas, te aseguro el éxito en tus futuras tareas.

Creado con eXeLearning (Ventana nueva)