icono mBlock centro




CURSO DE ARDUINO

con mBlock e IDE

Microlog+mBLock3+IDE3-8-9

PRÁCTICAS 2

AUTOMATISMOS, MOVIMIENTO Y LEDS ESPECIALES


9. ENCENDIDO NOCTURNO


ORIGINAL


https://arduino.microlog.es/encendido-nocturno/
Material necesario:

1 Arduino UNO LOG 8431

1 Cable USB LOG 7509

1 Protoboard LOG 886

1 Diodo LED 5mm Rojo LOG 724

1 Resistencia de 220 Ohmios (rojo – rojo – marrón) LOG 748 220

1 Resistencia de 10K Ohmios (marrón – negro – naranja) LOG 748 10K

1 LDR LOG 731

1 Kit mando + Receptor infrarrojos TSOP LOG 8401

5 Latiguillos board macho–macho LOG 7519

Circuito revisado:
Encendido nocturno
(pincha para verlo más grande)

Programa en mBlock:
Encendido Nocturno mB

Programa en IDE de Arduino:
Encendido Nocturno IDE

RETOS:

9-B- Detector de luz: Usando el mismo circuito, modifica el programa para que funcione de forma inversa:

  • Si hay luz ambiental, debe encenderse el LED.
  • En caso contrario, el LED estará apagado.




10. MOVIMIENTO DE UN MOTOR


ORIGINAL


https://arduino.microlog.es/movimiento-de-un-motor/
Material necesario:

1 Arduino UNO LOG 8431

1 Cable USB LOG 7509

1 Protoboard LOG 886

1 Resistencia de 1K Ohmios (marrón – negro – rojo) LOG 748 1K

1 Diodo de silicio 1N4007 LOG 760

1 Transistor NPN BC547 LOG 751

1 Motor de CC de 1,5-4,5V y eje de 2mm LOG 00

3 Latiguillos board macho–macho LOG 7519

Circuito revisado:
Movimiento de un motor
(pincha para verlo más grande)

Programa en mBlock:
Movimiento de un motor mB

Programa en IDE de Arduino:
Movimiento de un motor IDE

RETOS:

10-B- Variación progresiva de velocidad de un motor: Usa el mismo circuito pero modifica el programa para que funcione de la forma siguiente:

  • El motor empezará parado e irá aumentando su velocidad por escalones entre 0 y 255 (señal ~PWM).
  • Al menos debe haber 6 escalones, por ejemplo 0, 50,100,150, 200, 255
  • En cada escalón se mantendrá 1 segundo.
  • Posteriormente, decrecerá repitiendo los mismos escalones en orden inverso.
  • También se mantendrá 1 segundo en cada escalón.
  • El ciclo se repetirá continuamente.




11. VENTILADOR AUTOMÁTICO


ORIGINAL


https://arduino.microlog.es/ventilador-automatico/
Material necesario:

1 Arduino UNO LOG 8431

1 Cable USB LOG 7509

1 Protoboard LOG 886

1 LDR LOG 731

2 Resistencias de 1K Ohmios (marrón – negro – rojo) LOG 748 1K

1 Diodo de silicio 1N4007 LOG 760

1 Transistor NPN BC547 LOG 751

1 Hélice de 4 aspas para ejes de 2mm LOG 22

1 Motor de CC de 1,5-4,5V y eje de 2mm LOG 00

6 Latiguillos board macho–macho LOG 7519

Circuito revisado:
Ventilador automático
(pincha para verlo más grande)

Programa en mBlock:
Ventilador Automático mB

Programa en IDE de Arduino:
Ventilador Automático IDE

RETOS:

11-B- Otro circuito de ventilador automático: El circuito ha cambiado. Modifica ahora el programa para que el funcionamiento sea el mismo, es decir: que cuando se detecta luz se ponga en marcha el motor del ventilador.


Ventilador automático
(pincha para verlo más grande)




12. LED RGB


ORIGINAL


https://arduino.microlog.es/led-rgb/
Material necesario:

1 Arduino UNO LOG 8431

1 Cable USB LOG 7509

1 Protoboard LOG 886

3 Resistencias de 470 Ohmios (amarillo – morado – marrón) LOG 748 470

1 Led RGB ánodo común LOG 730

4 Latiguillos board macho–macho LOG 7519

Circuito revisado:
Se utiliza un LED RGB de Ánodo común. Es decir:
  • el ánodo, es decir el polo positivo, se conecta a +5V (nivel ALTO).
  • para encender cada uno de los colores hay que poner a 0V (nivel BAJO) la patilla correspondiente.
En la imagen siguiente se muestra los pines de Arduino escogidos para cada una de las patillas del LED RGB:
CIRCUITO CORRESPONDIENTE A DICHO MODELO DE LED RGB DE ÁNODO COMÚN:

Circuito LED RGB ánodo común
(pincha para ver más grande)


Programa en mBlock:
LED RGB mB
Programa en IDE de Arduino:
LED RGB IDE

RETOS:

12-B- Más colores con el LED RGB: Amplía el programa para obtener, además de los colores básicos, al menos otros 3 que sean mezcla de los anteriores.

  • En la web w3chools puedes experimentar mezclas de colores variando los niveles RGB y haciendo mezclas aditivas.
  • En todo caso, recuerda que:
    • El Cyan es la mezcla aditiva de verde y azul.
    • El Magenta es la mezcla aditiva de rojo y azul.
    • El Amarillo es la mezcla aditiva de rojo y verde.
    • El Blanco es la mezcla aditiva de rojo verde y azul.
  • No confundas mezcla aditiva (de luces de colores) con mezcla sustractiva (de pigmentos de colores).




13. DISPLAY 7 SEGMENTOS


ORIGINAL


https://arduino.microlog.es/display-7-segmentos/
Material necesario:

1 Arduino UNO LOG 8431

1 Cable USB LOG 7509

1 Protoboard LOG 886

1 Display de 7 segmentos Cátodo Común de 1 dígito SC39-11 LOG 831-CC11

7 Resistencias de 220 Ohmios (rojo – rojo – marrón) LOG 748 220

8 Latiguillos board macho–macho LOG 7519

Circuito revisado:
El circuito se basa en el display SC39-11 que está compuesto de 7 LED (más otro para el símbolo de "punto decimal"). Pincha en el enlace siguiente para acceder a sus características: SC39-11 (PDF)

Las patillas del display SC39-11 (que corresponde a la referencia de Microlog LOG 831CC) son las siguientes:

Patillas del SC39-11
(basado en arduino.microlog.es/display-7-segmentos/)


Cada LED se denomina usando una letra:
abcdef  y  g de modo que, según la combinación de LEDs que estén activos, se forma un dígito:
Digitos formados con el Display de 7 segmentos


La tabla siguiente representa los valores de cada segmento para cada uno de los dígitos del 0 al 9:

Segmentos display 7 segmentos


Cada uno de los segmentos se conecta a un PIN de Arduino a través de una resistencia de protección de 220 Ω
.
No vamos a utilizar el LED que sirve para iluminar el "punto" decimal, de modo que necesitamos sólo 7 resistencias de protección correspondientes a los segmentos abcdef  y  g.

PINES Arduino SC39-11



Basado en todo lo anterior, el circuito de conexión de la placa Arduino al Display SC39-11 podría ser como el siguiente:

Arduino+Display 7 seg SC39-11
(pincha para verlo más grande)

Programa en mBlock:
Para que el programa resulte más simple y claro, en el apartado de "Datos y Bloques" vamos a crear un bloque para cada dígito "CERO, UNO, DOS, TRES, CUATRO, CINCO, SEIS, SIETE, OCHO, NUEVE"
13 Definición de bloques


Se define cada uno de los bloques indicando qué PINES se deben encender o apagar en cada caso (PINES 7, 8, 9, 10, 11, 12 y 13 que están conectados respectivamente a cada uno de los segmentos a, b, c, d, e, f y g):

13 definición de los bloques


A continuación se desarrolla el programa de Arduino. Para mostrar un dígito cada segundo sería como el siguiente:

13 programa Display 7 segmentos


La imagen siguiente presenta un vistazo general del programa y todos los bloques:

Bloques y programa del Display de 7 segmentos
(pincha en la imagen para verla más grande)

Programa en IDE de Arduino:
El programa se basa en lo siguiente:
  • Inicialmente se establece qué PINES corresponden a cada segmento a, b, c, d, e, f, g. (en nuestro caso se trata de los PINES 7, 8, 9, 10, 11, 12 y 13).
  • Se define una función denominada display (a, b, c, d, e, f, g) que envía a los correspondientes segmentos los valores que se indiquen en ella.
  • Una vez definida, para representar cada dígito basta escribir la orden display incluyendo entre paréntesis los valores 0 ó 1 que correspondan a cada segmento de ese dígito.
13 Display 7 segmentos IDE


RETOS:

13-B- Display con Pulsador: Vamos a incluir un pulsador en el circuito. Modifica el programa para obtener lo siguiente:
  • Al principio no aparece nada en el Display (está apagado).
  • Al pulsar el botón, se inicia una cuenta atrás desde el 9 hasta el 0.
  • Cuando termina, vuelve a quedarse apagado el Display.
Arduino+Display 7 seg SC39-11 + Boton
(pincha para verlo más grande)


RETOS:

13-C- Display completo y botón: Al circuito se le añade la posibilidad de controlar el PIN 6 del display de 7 segmentos (segmento "h") que corresponde al PUNTO decimal.
Modifica el programa para obtener lo siguiente:
  • Al principio no aparece nada en el Display (está apagado).
  • Al pulsar el botón, se inicia una cuenta atrás desde el 9 hasta el 0.
  • Cada número está encendido 0,5 segundos.
  • Entre número y número aparece el punto decimal otros 0,5 segundos.
  • Cuando termina, vuelve a quedarse apagado el Display.
Arduino+Display 7 seg SC39-11 + Boton + PUNTO
(pincha para verlo más grande)




14. LECTURA DE NÚMEROS POR TECLADO


ORIGINAL


https://arduino.microlog.es/lectura-de-numeros-por-teclado/
Material necesario:

1 Arduino UNO LOG 8431

1 Cable USB LOG 7509

1 Protoboard LOG 886

1 Display de 7 segmentos Cátodo Común de 1 dígito SC39-11 LOG 831-CC11

7 Resistencias de 220 Ohmios (rojo – rojo – marrón) LOG 748 220

8 Latiguillos board macho–macho LOG 7519

Circuito revisado:
El circuito es el mismo que el anterior. La diferencia es que vamos a utilizar el teclado del ordenador para escoger el dígito que se va a representar.
Arduino+Display 7 seg SC39-11
(pincha para verlo más grande)

Programa en mBlock:
El programa utiliza los mismos bloques creados en el caso anterior para representar los dígitos "CERO, UNO, DOS, TRES, CUATRO, CINCO, SEIS, SIETE, OCHO, NUEVE".
Además de estos bloques se usará una variable que llamaremos CODIGO (es preferible no usar tildes ni caracteres especiales para los nombres de las variables)
Variables y bloques

Se usa el puerto serie de Arduino para comunicarse con el ordenador de modo que desde el teclado podemos escoger un número del 0 al 9 y que éste se represente en el display de 7 segmentos.

Como el puerto serie usa las mismas conexiones que los PINES digitales 0 y 1 de Arduino, no se debe conectar nada en esos PINES porque se mezclaría una información con otra. Para indicar esta circunstancia, se rotula los PINES 0 y 1 como Rx ◄ (Recibir datos) y Tx ► Transmitir datos)

Al escribir con el teclado en el puerto serie y enviarlo, el programa lee el carácter, que se envía como un código ASCII. Los códigos ASCII correspondientes a las cifras 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9 corresponden a los valores ASCII decimales 48, 49, 50, 51, 52, 53, 54, 55, 56 y 57 respectivamente, como puede verse en la tabla siguiente:
Código ASCII básico
(Imagen obtenida de elcodigoascii.com.ar)

Basándonos en todo ello, el programa sería el siguiente:
14 ML Lectura de números por teclado

En la imagen siguiente se ve todos los bloques que ha sido necesario programar:
14ML Lectura de números por teclado completo



Instrucciones de uso del PROGRAMA de mBlock y su Monitor Serie: Para mantener la comunicación de Arduino con el ordenador, es necesario que esté conectado el cable USB. Por tanto, una vez transmitido el programa a la placa Arduino, hay que volver a conectar mBlock a la placa de Arduino.

Sigue estas instrucciones para el uso de este programa:
  1. Crea el programa con mBlock.
  2. Genera el código pulsando en "Programa de Arduino"
Programa de Arduino + Click

  1. Carga el programa en la placa el programa pinchando en "Subir a Arduino".
Subir a Arduino

  1. Si te aparece un mensaje del Firewall de Windows solicitando acceso de Java a la red, pulsa en Permitir acceso.
Permitir acceso JAVA Firewall

  1. Vuelve a conectar mBlock con el Puerto Serie usando la toma COM adecuada . Al conectarlo se vuelve a iluminar en verde el piloto.
Conectar Puerto Serie

  1. Cambia las opciones de envío (send) y recepción (recv) de mBlock a "modo de caracteres" y escribe algún carácter en el espacio que aparece abajo, pulsando "Enviar" a continuación.
Opciones del Monitor Serie



Programa en IDE de Arduino:
Igual que en el caso anterior, el programa define la función display para representar los dígitos del 0 al 9.

Se realiza la lectura del Puerto Serie constantemente hasta que encuentra un código ASCII correspondiente a uno de los dígitos del 0 al 9 (aquéllos cuyo valor está entre 48 y 57).
En ese momento se representa dicho dígito en el display de 7 segmentos.

Se usa la variable llamada "dato" para almacenar el valor ASCII encontrado en el Puerto Serie. Cuando se ha encontrado y representado un dígito se le asigna a la variable "dato" un valor que no corresponda a ningún dígito (por ejemplo dato=11) para que vuelva a iniciarse el proceso de lectura del Puerto Serie.

Lectura de números por teclado
Instrucciones de uso del PROGRAMA en IDE y su Monitor Serie: Sigue estas instrucciones para el uso de este programa:
  1. Crea el programa con IDE.
  2. Conecta la placa Arduino al puerto correspondiente.
Conectar puerto COM

  1. Selecciona el tipo de placa: en nuestro caso es Arduino UNO (o Genuino UNO)
Selección Arduino UNO

  1. Verifica la ortografía y sintaxis del programa y, si es correcta, sube el programa a la placa Arduino.
Verificar y Subir programa

  1. Si te aparece un mensaje del Firewall de Windows solicitando acceso de Java a la red, pulsa en Permitir acceso.
Permitir acceso JAVA Firewall

  1. Abre la ventana del Monitor Serie desde el IDE
Activar Monitor Serie


  1. Escribe algún dígito en el recuadro y pulsa "Enviar" a continuación.
Enviar Dato Monitor Serie


RETOS:

14-B- Pulsador y su carácter asociado: Añade un pulsador al circuito y realiza un programa que muestre en el display de 7 segmentos una "P" cuando se pulse dicho pulsador.









arriba

icono mBlock centro