INTENSIDAD DE LUZ

Objetivo:

Encender y apagar el LED aumentando y disminuyendo la intensidad de la luz de forma progresiva

Circuito:

PRECAUCIÓN: Ten cuidado cuando desconectes los cables de los módulos y no tires de los cables. Sujétalos siempre del conector blanco.

Programación:

En el anterior ejemplo, el LED se utilizó con el PIN 8 configurado como un pin digital. Esto significa que el LED atiende a dos únicos valores: encendido (1) y apagado (0).

En esta ocasión el PIN 8 se utilizará como un pin analógico. Este pin podrá alcanzar valores entre 0 y 1023, donde el 0 apagará el LED y 1023 encenderá el led en su mayor intensidad de luz posible. Los distintos valores entre 0 y 1023 harán que el LED se encienda con diferente intensidad de luz.

El programa que vamos a hacer consta de 2 bucles. El primero aumenta la intensidad de la luz de 0 a 1023 y el segundo disminuye la luz desde su máxima iluminación hasta apagar el led.

Los bloques los introducimos dentro del bloque «para siempre».  

Para poder controlar el cambio de la intensidad de luz, creamos una variable que será la que aumente o disminuya la intensidad de la luz. Pulsa en la sección variables y en «crear una variable».

 

Asigna un nombre a la variable, procura que sea descriptivo en función de su uso. La llamaremos «intensidad». Pulsa en aceptar para crear la variable.

Al iniciar el programa, la variable adquiere el valor 0 (led apagado). En la sección variables, busca el bloque «fijar intensidad a 0» y arrástralo al bloque «al iniciar».

A continuación vamos a crear el primer bucle, que se encargará de encender el led de forma progresiva.

Si accedes a la sección «Bucle» encontrarás el bloque «repetir … ejecutar». Arrastra este bucle dentro del bloque «para siempre»

Cada ejecución del bucle aumentará la intensidad del led 8 puntos. El bucle se repite 128 veces para llegar a 1023 (8 x 128 = 1024 es decir de 0 a 1023). Para cambiar el número de repeticiones, haz clic sobre el número 4 y cámbialo por 128

Dentro del bucle el siguiente paso es aumentar la intensidad de la luz 8 unidades. Para ello pulsa en la sección variables y busca el bloque «cambiar la intensidad por 1». Este bloque aumenta o disminuye el valor de una variable en función del valor que se indique. En este caso cambiamos el valor 1 por 8 para que aumente de 8 en 8 unidades.

Una vez modificada la intensidad de la luz, procedemos a encender la luz del led. Lo hacemos utilizando el bloque «escritura analógica pin P0 a 1023». Recuerda cambiar el pin P0 por P8

El LED debe encenderse con la intensidad que indique la variable «intensidad». Accedemos a la sección variables, y arrastramos el bloque «intensidad» dentro del bloque escritura analógica.

Hacemos una breve pausa para ver la luz encendida antes de cambiar la intensidad de nuevo. El bloque pausa lo encontrarás en la sección básico. Cambia el valor de la pausa por 20.

Una vez hecho el bucle para encender el led, vamos a hacer otro bucle para apagarlo. Este segundo bucle es idéntico al anterior, pero en este caso el bloque «cambiar intensidad» tendrá un valor -8. Así en lugar de aumentar su valor de 8 en 8 unidades, lo disminuirá.

Pulsa con el botón derecho en el bloque repetir y selecciona duplicar.

Aparecerá un bucle idéntico al anterior. Coloca este bucle a continuación del ya existente.

Sólo falta cambiar el signo del bloque «cambiar intensidad». Introducimos el valor -8 para que el valor vaya decreciendo.

Para probar el programa, pulsa en el botón morado «descargar» que encontrarás en la ventana, abajo a la izquierda.

PARPADEO DE UN LED

Objetivo:

Conecta un LED a la placa Micro:bit y prográmalo para que parpadee.

Circuito:

Conecta el led al pin 8 del módulo de conexiones:

  • IN se conecta al conector amarillo del pin 8
  • + se conecta al conector rojo del pin 8
  • – se conecta al conector negro del pin 8

PRECAUCIÓN: Ten cuidado cuando desconectes los cables de los módulos y no tires de los cables. Sujétalos siempre del conector blanco.

Conecta la placa Micro:bit al módulo de conexiones como se muestra en la siguiente imagen, y conecta la placa al puerto USB del ordenador

Programación:

El programa consiste en un bucle infinito donde se repetirá la secuencia: enciende un led, espera unos segundos, apaga el led, espera unos segundos y vuelve a empezar.

Todo el programa se realizará dentro del bloque «para siempre»

Pulsa en la sección Avanzado y se desplegarán nuevos conjuntos de bloques

Baja la barra de scroll central y encontrarás un grupo de bloques llamado PINES. Pulsa sobre él y se mostrarán bloques con lo que podrás activar y desactivar los distintos operadores que conectemos a los pines de la placa.

Busca el bloque «escritura digital pin P0 a 0» y arrástralo dentro del bloque «para siempre«

Este bloque será el encargado de encender el LED. Puesto que el LED lo hemos conectado al pin 8, pulsamos sobre P0 y lo cambiamos por P8. Para que el LED se encienda, debemos cambiar el 0 por un 1, haciendo clic sobre el número.

Una vez encendido el LED, realizamos una pausa en el programa durante la cual el led se mantendrá encendido. Encontrarás el bloque pausa en la sección básico. Arrastra el bloque dentro del bloque «para siempre«

Una vez encendido el LED, pasamos a apagarlo. Para ello utilizamos de nuevo el bloque «escritura pin digital P0 a 0«. Cambiamos P0 por P8 y mantenemos el valor 0. Así el LED se apagará

El último paso es incluir una nueva pausa que mantenga apagado el LED. Encontrarás el bloque en la sección «Básico«.

Pulsa en el botón «Descargar» que localizarás en la parte inferior de la pantalla, en la esquina izquierda. El programa se almacenará en la placa Micro:bit y se ejecutará, haciendo parpadear el LED conectado a la placa.

MÓDULO LED

LED es la abreviatura de diodo emisor de luz. Por lo general está hecho de arseniuro de galio, material semiconductor. El LED tiene dos electrodos, uno positivo (ánodo) y uno negativo (cátodo). Cuando pase la corriente, se encenderá. Puede ser luz roja, azul, verde o amarilla, y el color de la luz depende del material que se utilice.

  • Voltaje de funcionamiento: 3,3 – 5 V
  • Tipo de salida: señal digital valores de (0/1)
  • Para voltajes analógicos valores de 0 a 255
  • Tamaño del módulo: 35 x 26.3 mm

PINES

  • In: Entrada S
  • + VCC
  • – GND

PRIMEROS PASOS

PROGRAMACIÓN POR BLOQUES

MICRO:BIT dispone de una plataforma online con un lenguaje de bloques similar a scratch que facilita programar la placa sin fallos de sintaxis y de forma muy intuitiva

Conecta la placa MICRO:BIT al ordenador utilizando un cable micro USB. El LED de alimentación de la placa quedará encendido.

Accede al sistema de programación a través del enlace https://makecode.microbit.org/  

Pulsando sobre «Nuevo Proyecto» podrás empezar a programar tu placa MICRO:BIT. El sistema de programación está basado en bloques de código, similar a Scratch o Mblock

Cambiar el idioma

Por defecto la web de microbit muestra los bloques de programación en inglés. Podemos cambiar de idioma pulsando en el icono del engrane, arriba a la derecha.

Del menú desplegable, selecciona la opción Languaje

Se desplegará un nuevo menú con todos los idiomas disponibles. Para la realización de esta web hemos seleccionado el idoma Español (España).

A continuación, vamos a elaborar un primer programa de ejemplo para comprender la dinámica de programación con MICRO:BIT .

Primer programa: Hola Microlog

OBJETIVO: La tarjeta MICROBIT mostrará un mensaje en su matriz de LEDS

Para programar la tarjeta, el sistema de programación dispone de una serie de bloques organizados por categorías. Al iniciar un nuevo proyecto vemos que en el escritorio de trabajo se muestran dos bloques: «al iniciar» y «por siempre«

Bloque «al iniciar»

La placa realizará las órdenes de los bloques introducidos en éste bloque 1 sola vez al conectarla

Bloque «por siempre»

La placa realizará la secuencia de órdenes introducidas en este bloque infinitas veces y de forma continuada

Para que la matriz de Leds muestre un mensaje, debemos localizar el bloque mostrar cadena y arrastrarlo dentro del bloque al iniciar. Encontrarás este bloque en la sección básico:

 
 

Modificamos el texto del bloque «mostrar cadena» haciendo click con el ratón sobre la caja blanca, y añadimos el texto que queramos. En nuestro caso ponemos «HOLA MICROLOG».

Al incorporar este bloque dentro de «al iniciar«, comprobamos en el emulador de la izquierda de la pantalla, que la placa muestra el texto una sola vez

Probamos el programa en MICROBIT

La forma más cómoda de trabajar es emparejando la placa con el PC. De esta forma los programas se descargarán en la placa con solo pulsar un botón.

En la pantalla de makecode verás que abajo a la izquierda hay un botón morado llamado «descargar». Al lado tienes un icono con 3 puntos (…). Pulsa sobre los 3 puntos:

 

Aparece un pequeño menú, pulsa sobre «emparejar» o «pair device» y verás la siguiente pantalla. 

Si no tenías conectada la placa al PC a través del cable USB, conéctala y pulsa en «emparejar» o «pair device». Se mostrará la siguiente pantalla:

 

Haz clic con el ratón sobre la placa microbit, y pulsa en conectar. A partir de ahora la placa quedará emparejada al ordenador durante toda la sesión de trabajo.

Para guardar el programa en la placa, pulsa el botón morado descargar, abajo a la izquierda. El programa se descargará directamente a la placa microbit.

Una vez descargado, el mensaje se mostrará una sola vez. Si queremos que se repita indefinidamente, cambiaremos el programa utilizando el bloque «para siempre» en lugar de «al iniciar». ¡Puedes hacer la prueba tú mismo!.

Si quieres que la placa funcione de forma autónoma sin estar conectada al PC, basta con quitar el cable USB y conectar un portapilas específico con conectar para microbit.

 

ENTRENADOR: CARACTERÍSTICAS

El Entrenador para Micro:bit LOG 8112 está compuesto por varios sensores y operadores que puedes controlar con una placa Micro:bit.

Los módulos electrónicos presentan un formato que puede adaptarse a piezas tipo LEGO, por lo tanto, se pueden incorporar a otros productos LEGO.

El entrenador contiene las siguientes piezas:

No incluye placa controladora Micro:bit. Si necesitas adquirir una placa puedes encontrar en www.microlog.es

¿QUÉ ES NEZHA?

Nezha es un pack de proyectos para Lego y Micro:bit.

Pack Nezha – Lego y Micro:bit

El pack contiene motores, sensores, actuadores y piezas compatibles Lego para que puedas realizar tus proyectos de robótica. Además es compatible con Fishertechnik.

CONTENIDO: 

El maletín Nezha incluye los siguientes elementos

– Led verde
– Led rojo
– Led amarillo
– Sensor de humedad
– Sensor de línea
– Sensor ultrasonido
– Sensor de contacto
– Potenciómetro
– 2 motores
– 1 servomotor
– Bloque de conexiones con batería
– Cables de conexión RJ
– Cable USB
– Piezas compatibles LEGO

El bloque de conexiones de Nezha elimina las barreras que puedas encontrar en tus diseños a la hora de elaborar circuitos, ya que el cableado principal se realiza con conectores RJ

Y la programación es muy sencilla, puedes realizarla desde el sistema de bloques de Micro:bit añadiendo las extensiones Nezha y PlanetX.

Accede a https://makecode.microbit.org/ y pulsa en «+ nuevo proyecto«.

Escribe un nombre para tu proyecto y pulsa «Crear«.

Una vez dentro de tu proyecto, pulsa en el icono del engrane, arriba a la derecha …

En el menú que se ha desplegado, selecciona la opción «extensiones«

En el cuadro de búsqueda introduce PlanetX y pulsa la lupa. Encontrarás la siguiente extensión:

Sensores PlanetX

Pulsa sobre la extensión y automáticamente se añadirán nuevos bloques a tu proyecto que podrás utilizar para controlar los sensores de Nezha

Realiza los mismos pasos para añadir la extensión Nezha y tendrás tu espacio listo para empezar a programar tu kit.

MOTORES

OBJETIVO

La plataforma contiene dos motores con ruedas que podemos programar para que el robot se desplace. Vamos a ver cómo programar a microbit para realizar desplazamientos en línea recta y giros.

BLOQUES

Sección Mbit_Robot

Pulsando en esta sección accedemos a los bloques para programar los movimientos del coche.

Bloque CarCtrlSpeed

El coche se mueve a la velocidad indicada.

 

Pulsando en la flecha podemos seleccionar distintos sentidos de giro de los motores:

Forward:

Back:

Turn left:

Turn right:

Stop:

Rotate left:

Rotate right:

Avanza hacia adelante

Retrocede marcha atrás

Gira a la izquierda

Gira a la derecha

Para

Vuelta a la izquierda

Vuelta a la derecha

 

PROGRAMACIÓN

Probamos cada una de las instrucciones relacionadas con el movimiento del vehículo. Para que el coche se mueva no debemos olvidar poner detrás de cada instrucción de movimiento un tiempo de espera que será el tiempo que el vehículo estará realizando cada movimiento antes de cambiar de dirección

SERVOMOTORES

OBJETIVO

Ampliar el coche microbit añadiéndole servomotores tanto de 180º como de rotación continua.

Un servomotor de 180º es un motor cuyo eje se posiciona en un ángulo concreto que le indiquemos por programación.

Identificados con la serigrafía J2, J3 y J4, localizamos en la placa un conjunto de pines que podemos utilizar para la conexión de servomotores tanto de rotación continua como de 180º. Cada salida J tiene asociados 3 pines: GND, V y datos. Conectaremos los servomotores respetando la regla de colores:

 

Conector Coche Microbit

Negro

Rojo

Amarillo

Cable Servomotor

Marrón

Rojo

Naranja

 

GND

5V

DATOS

BLOQUES

Bloque Servo_Car

En la sección Mbit_Robot localizamos el bloque Servo_Car. Este bloque lo utillizaremos para indicar al coche el ángulo en el que queremos posicionar al servomotor.

 

Servomotor contínuo:

  • Si value = 0, el motor girará contínuamente en un sentido
  • Si value = 180, el motor girará contínuamente en sentido contrario
  • Si value = 90, el motor se para

Servomotor 180º:

El servomotor se posiciona en el ángulo que se indique, entre 0 y 180º

  • La salida S1 del bloque Servo_Car se corresponde con el pin J2 del coche
  • La salida S2 del bloque Servo_Car se corresponde con el pin J3 del coche
  • La salida S3 del bloque Servo_Car se corresponde con el pin J4 del coche

Bloque al presionar el botón A / B

Microbit incluye en a propia placa dos pulsadores serigrafiados como A y B. Utilizamos este bloque para indicar a la placa que cuando alguien presione un pulsador concreto qué acciones debe realizar.

PROGRAMACIÓN

1. El pulsador A hace girar el motor en un sentido y el B en sentido contrario

Resultado en un servomotor 180º

Resultado en un servomotor contínuo

SENSOR ULTRASONIDO

OBJETIVO

El coche microbit contiene un sensor ultrasonido cuya finalidad es la detección de obstáculos frente al coche.

Para utilizar el sensor ultrasonido, se recomienda alimentar el coche con una batería externa.

A continuación programaremos microbit para realizar lecturas del sensor ultrasonido.

BLOQUES

Sección Mbit Sensor

En esta sección encontraremos módulos específicos para la lectura de los sensores del coche

Para leer la distancia calculada por el sensor ultrasonido hasta el obstáculo más cercano, utilizaremos el módulo Ultrasonic, indicando en Trig el pin 14 y en Echo el pin 15

PROGRAMACIÓN

1. Micro:bit muestra una cara contenta si detecta un obstáculo cerca

Para crear la estructura lógica del programa utilizamos un bloque condicional que localizaremos en la sección Logic.

El operador de comparación < lo localizarás en la misma sección.

SENSOR DE LÍNEA

OBJETIVO

Programaremos el coche microbit para que circule sobre una línea negra de cinta aislante sin salirse sea cual sea el trazo del recorrido.

En su base, el coche microbit dispone de dos sensores capaces de detectar líneas negras sobre un fondo blanco. Para realizar la lectura del sensor de línea y programar el robot en base a los datos del sensor, utilizaremos los siguientes bloques

BLOQUES

Sección Mbit_Robot

Pulsando en esta sección accedemos a los bloques para programar el coche.

Line_Sensor direct

Este bloque lo utilizamos para comprobar si un sensor está encima de una línea negra o blanca.

Tendremos que indicar cual de los dos sensores estamos leyendo (left o right) y si evaluamos la línea blanca o negra (white o black)

Sección Lógica

Los robots tienen la capacidad de tomar decisiones en función del entorno que les rodea. Para poder crear esa capacidad de decisión disponemos de bloques en la sección de lógica que nos ayudarán a programar la inteligencia del robot

Si ... entonces ...

En el hexágono "verdadero" introducimos una condición.
Si la condición se cumple, se realizarán los bloques que introduzcamos a continuación.
Si posteriormente queremos añadir un grupo de instrucciones "si no", pulsamos en +

Si ... entonces ... si no...

En el hexágono "verdadero" introducimos una condición.
Si la condición se cumple, se realizarán los bloques que introduzcamos a continuación.
Si no se cumple se realizarán los bloques que introduzcamos a continuación del si no

Unión de condiciones

Podemos utilizar operadores lógicos para unir varias condiciones

Y

La evaluación de la unión de las condiciones es verdadera si ambas condiciones lo son

O

Para que la evaluación de la unión de las dos condiciones se verdadera, basta con que una de las dos condiciones que se unen se cumpla


PROGRAMACIÓN

1. Encender los LEDS en color blanco si algún sensor está sobre una línea blanca

Evalúa el estado de los dos sensores de línea

Si el sensor izquierdo está sobre la línea blanca, o el sensor derecho está sobre la línea blanca, entonces mostrará una luz blanca en los leds. 

Si no (es decir, si ningún sensor está sobre una línea blanca) entonces mostrará una luz roja en los leds

2. Programar un coche que siga una línea negra

Mientras que el coche se encuentre sobre una línea negra, avanzará en línea recta. Cuando el coche detecta que uno de los sensores está sobre una zona blanca, rectifica su dirección girando ligeramente hacia el lado contrario al sensor.