Parte 2: Movimiento de motor y sensor de luz

Descripción

Se va a continuar el montaje del sistema incluyendo el motor del ventilador y un sensor de luz que nos permita configurar el climatizador en modo día y modo noche. Esto se debe a que la temperatura aconsejada para dormir debe ser inferior a 21º, mientras que la temperatura recomendada durante la actividad normal diaria debe ser inferior a 25º. La programación del ventilador se realizará en 2 fases:

  • Inicialmente se encenderá el motor al llegar o superar la variable temperatura el valor de 25 grados (luz roja) y en caso contrario (luz verde) se detendrá el motor.
  • Posteriormente se añadirá la variable iluminación, de forma que si el valor de luz es superior a 5 (modo día) el ventilador funcionará a partir de 25 grados. Si el valor de luz es menor a 5 (modo noche) entonces el ventilador funcionará a partir de 21 grados.

Componentes

Se va a incluir un motor que hará las veces de movimiento del ventilador

Componente motor
Tinkercad (CC0)

Y se incluye también un sensor de luz llamado fotorresistencia

Componente fotorresistencia
Tinkercad (CC0)

Para conectar la fotorresistencia, será necesario incluir una resistencia.

Componente resistencia
Tinkercad (CC0)

Diseño del circuito

  1. Añade el motor al diseño del circuito. Si es posible, colócalo en el lado de la derecha.
    Circuito del ejercicio anterior con motor añadido en el lado derecho
    Tinkercad (CC0)
  2. Conecta el puerto negativo del motor a un puerto digital (por ejemplo 3) y el puerto positivo del motor a otro puerto digital (por ejemplo 2).
    Motor conectado a la placa a través del puerto 3 (negativo) y al puerto 2 (positivo)
    Tinkercad (CC0)
  3. Incluye la fotorresistencia en la placa de montaje.
    Placa de montaje con una fotorresitencia entre los leds y el sensor de temperatura
    Tinkercad (CC0)
  4. Conecta la fotorresistencia con la toma "terminal 1" a la toma '+' de la placa de montaje, y la "terminal 2" a una resistencia y a la toma "-" de la placa de montaje.
    Toma 1 de la fotorresistencia conectada a la toma '+' de la placa de montaje, y 'Terminal 2' de la fotorresistencia conectada a una resistencia y a la toma '-' de la placa de montaje.
    Tinkercad (CC0)
  5. En el espacio entre la "Terminal 2" de la fotorresistencia y la resistencia, crea un cable conectado con una entrada analógica (por ejemplo A1).
    Cable entre la terminal 2 de la fotorresistencia y la entrada analógica A1
    Tinkercad (CC0)

Desarrollo del programa

  1. Incluye las nuevas variables globales LUZ para la entrada A1, MOTOR_NEG al puerto digital 3 y MOTOR_POS al puerto digital 2.
    Definición de las variables LUZ (puerto analógico A1), MOTOR_NEG (puerto digital 3), MOTOR_POS (puerto digital 2)
    Visualino (CC0)
  2. El motor va a comenzar a girar cuando el led rojo esté encendido (la temperatura sea mayor o igual que 25º). El valor de MOTOR_NEG será "bajo" y el de MOTOR_POS será "alto", de esta forma circulará la electricidad y el motor entrará en funcionamiento girando a 30 rpm.
    Dentro de la condición "En caso contrario", se escribe en el puerto MOTOR_NEG el valor bajo y en el puerto MOTOR_POS el valor alto.
    Visualino (CC0)
  3. Para que el motor se detenga cuando se enciende el led verde (temperatura menor que 25º), cambiamos el valor de MOTOR_POS a bajo. De esta manera las dos tomas del motor están al mismo valor y la electricidad deja de circular por el motor, haciendo que se detenga (0 rpm).
    Dentro de la condición "Si temperatura<25", se escribe en el puerto MOTOR_NEG el valor bajo y en el puerto MOTOR_POS el valor bajo.
    Visualino (CC0)
  4. Los valores de luz que proporciona la fotorresistencia son 6 a 679. Por ello vamos a hacer una conversión de escala del valor que proporciona el sensor a una escala entre 0 y 10. El resultado lo almacenaremos en la variable "iluminación".
    Mapeo de la lectura analógica del puerto LUZ de 6 a 679 a los valores de 0 a 10
    Visualino (CC0)
  5. Para que sea más sencillo ver el funcionamiento del sistema, vamos a añadir el valor de iluminación al texto que se muestra por el puerto serie. Se va a utilizar el bloque "crear texto" e incluiremos un texto vacío entre las variables "temperatura" e "iluminación" para que los valores se muestren separados.
    Se imprime por el puerto serie el texto formado por la variable "temperatura", un texto vacío y la variable "iluminación"
    Visualino (CC0)
  6. Para incluir la condición determinante del modo día (luz > 5) y modo noche (luz <= 5), se va a añadir una nueva condición "Si luz>5 - De lo contrario". El código actual del motor (modo día con temp>25) irá dentro de la condición SI.
    Se incluye una nueva condición "Si iluminacion>5", y dentro se mueve todo el código actual de funcionamiento del motor. Se añade una opción "De lo contrario".
    Visualino (CC0)
  7. Se duplica el código de funcionamiento del motor y se coloca dentro de la opción "De lo contrario". En esta ocasión se cambia el valor de la condición "Si temperatura<21", ya que en el modo noche el valor umbral de funcionamiento del motor es más fresco que en el modo día.
    Se duplica el código de funcionamiento del motor en la opción "de lo contrario", cambiando el valor de la condición de la temperatura a 21, ya que se corresponde con el modo noche.
    Visualino (CC0)
  8. Para evitar repetir el código de luz verde (motor detenido) vamos a agrupar las condiciones haciendo un único bloque "SI - EN CAMBIO SI - DE LO CONTRARIO". En el bloque de condición de la iluminación vamos a añadir una condición "En cambio si".
    Se añade al bloque "Si luz>5" la opción "EN CAMBIO SI"
    Visualino (CC0)
  9. Se añade un agrupamiento de condiciones "y", de forma que las condiciones pasan a ser "iluminacion>5 y temperatura>=25" (modo día y hace calor) , "iluminacion<=5 y temperatura>=21" (modo noche y hace calor).
    Se crea el bloque con la condición "SI iluminacion>5 y temperatura<=25", En cambio si "iluminacion<=5 y temperatura>=21"
    Visualino (CC0)
  10. En los casos que se cumplan las condiciones "Si" y "En cambio si" se añade el código correspondiente a encender el led rojo y activar el motor. En el caso "De lo contrario" se enciende el led verde y se detiene el motor.
    Se añade el código de encender led rojo y activar el motor dentro de las opciones "Si" y "En cambio si". Se añade el código de encender el led verde y detener el motor para la opción "De lo contrario"
    Visualino (CC0)
  11. Se va a realizar una nueva mejora para evitar repetir el código de encendido del led rojo y motor en movimiento. En esta ocasión se va a utilizar la agrupación de condiciones "O". Esto permite agrupar ambas condiciones y eliminar la opción "En cambio si".
    Se agrupan las condiciones con el bloque "O". Se elimina la opción "En cambio si"
    Visualino (CC0)
  12. Finalmente el código del sistema queda de la siguiente forma:
    Codigo completo del sistema
    Visualino (CC0)

Simulación

Copia el código fuente obtenido en Visualino.

Relación entre código de bloques y código fuente
Visualino (CC0)

Pega el código fuente en la ventana de simulación de Tinkercad.

Codigo fuente pegado en el editor de código de Tinkercad
Tinkercad (CC0)

Pulsa en el botón de simulación y prueba a modificar el valor de iluminación y temperatura de los sensores.

Tinkercad (CC0)

Realiza el ejercicio (Parte 2)

Duración:
45 minutos
Agrupamiento:
1-2 alumnos

Realiza el ejercicio siguiendo los pasos indicados en el diseño del circuito (Tinkercad) y el desarrollo del programa (Visualino).

Copia el código fuente generado y pégalo en el simulador Tinkercad. Inicia la simulación y comprueba el correcto funcionamiento.

Entrega:

  • El enlace del proyecto Tinkercad, o en su defecto una captura de pantalla del diseño Tinkercad.
    1. Pulsa en el botón "Compartir" en la esquina derecha en Tinkercad.
      Botón "Compartir" en la esquina superior derecha de Tinkercad
      Tinkercad (CC0)
    2. En la ventana emergente, pulsa la opción "Invitar a personas".
      Botón "Invitar personas" en la ventana emergente
      Tinkercad (CC0)
    3. Copia el enlace que se genera. Este enlace está disponible durante 355 horas (15 días aproximadamente).
      Copia el enlace del proyecto para ser compartido
      Tinkercad (CC0)
    4. Como opción alternativa, en el paso 2, puedes descargar una imagen del diseño del circuito.
      Botón con flecha para descargar imagen del diseño.
      Tinkercad (CC0)
  • El código desarrollado con Visualino.
    1. Pulsa en "Archivo > Guardar como" y guarda el archivo en formato "bly".
      Pulsar en Archivo > Guardar como
      Visualino (CC0)

Obra publicada con Licencia Creative Commons Reconocimiento Compartir igual 4.0