Práctica 2: Sensor noche/día





Para esta práctica se necesita:

  1. 1. Placa Arduino UNO
  2. 2. Módulo sensor LDR KY-018
  3. 3. Módulo LED KY-011
  4. 4. Cables para realizar las conexiones

  5. sensorNocheDia

Introducción


Midiendo la cantidad de luz de una estancia podemos activar una lámpara común o lámpara led, o controlar cortinas y persianas.
En esta práctica se conectará la salida (S) del módulo KY-018 a la entrada analógica 0 (A0) de la placa Arduino. El valor medido por esta entrada se compara con un valor de referencia de 500. Si el valor de iluminación es menor (poca luz) se activa el LED (PIN 10). En caso contrario (suficiente iluminación) el LED se apaga.

Montaje


En una primera parte de la práctica habrá que calibrar las condiciones de la iluminación. Conectaremos el módulo como se muestra en la figura. La información de la luz nos la dará la lectura de A0: valores cercanos a 1023 significan mucha luz y valores cercanos a 0 muy poca luz.

tablas
arduino


Programación


Primeramente, vamos a capturar las medidas para la iluminación del lugar en el que se encuentra el sensor. Para ello realizaremos un programa de lectura del pin A0 y enviaremos por comunicación serial los valores medidos.

  1. 1. Definir el pin 13 como salida
  2. 2. Colocar el pin 13 en estado alto (5V=ON=encendido).
  3. 3. Realizar una pausa de 1s - segundo (delay=1000 ms - milisegundos)
  4. 4. Colocar el pin 13 en estado bajo (0V=OFF=apagado).
  5. 5. Realizar una pausa de 1s - segundo (delay=1000 ms - milisegundos)
  6. 6. Repetir los pasos anteriores (bucle indefinido para que el LED este encendiendo y apagando).


diagrama 1

Piezas Ardublock


  1. 1. Quitar el bloque.

    Figura 3 - 55


  2. 2. Ir a la sección “Control” y seleccionar el bloque “program”:.

    Figura 3 - 56


  3. 3. En la sección “Communication” seleccionamos el bloque “SoftwareSerial : Initialize”.

    Figura 3 - 57

    Ubicar el bloque en la sección del “setup” y asignar a “RX” el pin “D0”, a “TX” el pin “D1” y en “Speed” asignar el valor de 9600.
    Figura 3 - 58


  4. 4. En la sección “Communication” seleccionamos el bloque “SoftwareSerial : print”.

    Figura 3 - 59

    Lo ubicamos en la sección del “loop”, luego quitamos el bloque “message”.
    Figura 3 - 60

  5. 5. El paso siguiente es convertir el valor medido en el pin “A0” en tipo texto. Para ello nos dirigimos a la sección “Communication” y seleccionamos el bloque “glue” con sección en ángulo. Este bloque permite convertir un valor numérico a tipo texto.

    Figura 3 - 61

    Este bloque lo colocamos en la sección “message” del bloque “SoftwareSerial : print” Nota: Para enviar un valor numérico por comunicación serial hay que convertirlo en tipo texto.
  6. 6. En la sección “Pins” seleccionamos el bloque “analog pin #”.

    Figura 3 - 62

    Lo ubicamos en el bloque “glue” y revisamos que esté asignado el pin “A0”.

    Figura 3 - 63

  7. 7. Vamos a realizar medidas en intervalos de un segundo. Para ello incluiremos un bloque de retardo o pausa. Vamos a la sección “Control” y seleccionamos el bloque “delay MILLIS milliseconds” y lo ubicamos en la sección “loop”

    Figura 3 - 64



    Figura 3 - 65

  8. 8. Damos clic en “Upload to Arduino” y esperamos que el programa se cargue en nuestra placa Arduino.

    Figura 3 - 66


  9. 9. Luego de cargar el programa en nuestra placa Arduino, abrimos el monitor serial para ver por pantalla las medidas.

    Figura 3 - 67


    Tomaremos nota de los valores con el sensor descubierto y luego tapándolo con algún objeto o con la mano.

    Figura 3 - 68


    Con los valores obtenidos con iluminación y sin iluminación (cubriendo el sensor) procederemos a realizar nuestro programa de sensor noche-día.
  10. 1. En la ventana de Ardublock, daremos en el botón “New”.

    Figura 3 - 69


  11. 2. En la sección “Control” seleccionamos el bloque “if/else” y lo ubicamos dentro del “loop”.

    Figura 3 - 70


  12. 3. Del grupo “Tests” seleccionamos el bloque mayor-igual (>=) y lo ubicamos en la sección “test” del bloque “if/else”.

    Figura 3 - 71


  13. 4. En la sección “Pins” seleccionamos el bloque “analog pin #”.

    Figura 3 - 72


    Lo ubicamos en el bloque de comparación (>=) y verificamos que esté asignado el pin “A0”.

    Figura 3 - 73


  14. 5. En el grupo “Variables/Constants” seleccionamos el bloque “1”

    Figura 3 - 74


    Lo ubicamos en el bloque de comparación y le colocamos un valor de 200.

    Figura 3 - 75


  15. 6. Del grupo “Pins” seleccionamos el bloque “set digital pin”

    Figura 3 - 76


    Lo ubicamos en la sección “then”, asignamos el pin “D10” y en “value” seleccionamos el campo “HIGH”.

    Figura 3 - 77


  16. 7. Clonamos el bloque “set digital pin”. Lo ubicamos en la sección “else” y cambiamos el campo value a “LOW”

    Figura 3 - 78


    Figura 3 - 79


    El código final en Ardublock para nuestro sensor nche-día queda como se muestra a continuación:

    Figura 3 - 80