5
1 ACTIVIDAD ELECTRÓNICA 1102 SEMANA DEL 18 AL 22 DE MAYO Con base en la lectura de la guía Uso de la Instrucción if ( ) , junto con las guías de las semanas anteriores Uso de la pantalla LCD y Uso de Sensor de Temperatura con Arduino, realice de forma individual el ejercicio de programación planteado, de alguna de las siguientes dos formas posibles: - Haciendo uso de la plataforma TinkerCad www.tinkercad.com (solución ideal), o - Escribiendo en su cuaderno de Modalidad el código que usaría para la programación (alternativa en caso de no contar con acceso a computador con internet). EJERCICIO. Los invernaderos para el cultivo de rosas que existen de la sabana de Bogotá son una de las industrias de exportación más fuertes del país. Para el crecimiento adecuado de este tipo de flores, los cultivadores de rosas requieren mantener un rango de temperatura óptimo en sus invernaderos, el cual es de entre 17ºC a 25ºC, con una mínima de 15ºC durante la noche y una máxima de 28ºC en el día. Una temperatura nocturna continuamente por debajo de 15ºC retrasa el crecimiento de la planta y produce flores con pétalos deformes, en el caso de que abran, pues en ocasiones no terminan su desarrollo. Temperaturas excesivamente elevadas de 28ºC también dañan la producción, apareciendo flores más pequeñas de lo normal, con escasos pétalos y de color más oscuro con apariencia quemada, lo que les resta su especial atractivo y belleza. Elaborar un programa en TinkerCad que utilice en conjunto la placa Arduino, la pantalla LCD y el sensor de Temperatura TMP36: - Al variar el sensor en cualquier momento, la temperatura deberá aparecer en el primer renglón de la LCD. - En caso que la temperatura del sensor sea menor que la temperatura que soportan las flores, en el segundo renglón de la pantalla debe salir una advertencia de Temperatura Baja. - En caso que la temperatura del sensor sea mayor que la temperatura que soportan las flores, en el segundo renglón de la pantalla debe salir una advertencia de Temperatura Alta. - Mientras la temperatura del sensor se mantenga en el rango mínimo y máximo que soportan las flores, en el segundo renglón de la pantalla debe aparecer el mensaje Temperatura OKIMPORTANTE: Con el fin que en la pantalla LCD aparezca el símbolo de la unidad °C junto al valor de la temperatura, es indispensable que se empleen las siguientes instrucciones: lcd.print((char)176); lcd.print("C"); PLAZO ENTREGA OPORTUNA DE LA ACTIVIDAD: SÁBADO 23 DE MAYO 2020, 11:59 PM. COLEGIO BRASILIA BOSA IED “FORMACIÓN INTEGRAL HACIA LA EXCELENCIA HUMANA Y LABORAL” GUÍA DE APOYO ACADÉMICO ASIGNATURA: ELECTRÓNICA DOCENTE: CRISTIAN QUIMBAYO YANQUÉN E-MAIL: [email protected] CURSO: 1102 PERIODO: SEGUNDO TRIMESTRE 2020 TEMA: ELECTRÓNICA CON ARDUINO

brasiliabosajt.weebly.com€¦ · Author: Yesika Created Date: 5/7/2020 3:34:30 PM

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: brasiliabosajt.weebly.com€¦ · Author: Yesika Created Date: 5/7/2020 3:34:30 PM

1

ACTIVIDAD ELECTRÓNICA 1102 – SEMANA DEL 18 AL 22 DE MAYO

Con base en la lectura de la guía Uso de la Instrucción if ( ) , junto con las guías de las semanas anteriores Uso de la pantalla LCD y Uso de Sensor de Temperatura con Arduino, realice de forma individual el ejercicio de programación planteado, de alguna de las siguientes dos formas posibles:

- Haciendo uso de la plataforma TinkerCad www.tinkercad.com (solución ideal), o - Escribiendo en su cuaderno de Modalidad el código que usaría para la programación (alternativa en caso de no

contar con acceso a computador con internet). EJERCICIO.

Los invernaderos para el cultivo de rosas que existen de la sabana de Bogotá son una de las industrias de exportación más fuertes del país. Para el crecimiento adecuado de este tipo de flores, los cultivadores de rosas requieren mantener un rango de temperatura óptimo en sus invernaderos, el cual es de entre 17ºC a 25ºC, con una mínima de 15ºC durante la noche y una máxima de 28ºC en el día. Una temperatura nocturna continuamente por debajo de 15ºC retrasa el crecimiento de la planta y produce flores con pétalos deformes, en el caso de que abran, pues en ocasiones no terminan su desarrollo. Temperaturas excesivamente elevadas de 28ºC también dañan la producción, apareciendo flores más pequeñas de lo normal, con escasos pétalos y de color más oscuro con apariencia quemada, lo que les resta su especial atractivo y belleza. Elaborar un programa en TinkerCad que utilice en conjunto la placa Arduino, la pantalla LCD y el sensor de Temperatura TMP36:

- Al variar el sensor en cualquier momento, la temperatura deberá aparecer en el primer renglón de la LCD. - En caso que la temperatura del sensor sea menor que la temperatura que soportan las flores, en el segundo

renglón de la pantalla debe salir una advertencia de “Temperatura Baja”. - En caso que la temperatura del sensor sea mayor que la temperatura que soportan las flores, en el segundo

renglón de la pantalla debe salir una advertencia de “Temperatura Alta”. - Mientras la temperatura del sensor se mantenga en el rango mínimo y máximo que soportan las flores, en

el segundo renglón de la pantalla debe aparecer el mensaje “Temperatura OK” IMPORTANTE: Con el fin que en la pantalla LCD aparezca el símbolo de la unidad °C junto al valor de la temperatura, es indispensable que se empleen las siguientes instrucciones:

lcd.print((char)176); lcd.print("C");

PLAZO ENTREGA OPORTUNA DE LA ACTIVIDAD: SÁBADO 23 DE MAYO 2020, 11:59 PM.

COLEGIO BRASILIA BOSA IED “FORMACIÓN INTEGRAL HACIA LA EXCELENCIA HUMANA Y LABORAL”

GUÍA DE APOYO ACADÉMICO

ASIGNATURA: ELECTRÓNICA DOCENTE: CRISTIAN QUIMBAYO YANQUÉN E-MAIL: [email protected]

CURSO: 1102 PERIODO: SEGUNDO TRIMESTRE 2020 TEMA: ELECTRÓNICA CON ARDUINO

Page 2: brasiliabosajt.weebly.com€¦ · Author: Yesika Created Date: 5/7/2020 3:34:30 PM

2

Para entregar la actividad, cada estudiante con ayuda de su acudiente debe:

Elaborar y guardar el ejercicio en su perfil de TinkerCad, con el nombre SensorCultivoFlores.

Si no puede acceder a computador para hacer el ejercicio, escriba en el cuaderno de modalidad el punto anterior junto con el dibujo de la imagen, y escriba el código que usaría en la placa Arduino para la solución.

Tomar PANTALLAZOS al circuito y al código, o Tomar FOTOS al punto y el código escrito en el cuaderno de modalidad, y guardar las imágenes con los nombres Circuito1 y Programa1. Esas imágenes serán las que se deben adjuntar en la asignación.

En un navegador de Internet, acceder a su cuenta de Edmodo e ingresar a la clase Electrónica 1102.

Código Edmodo Modalidad 1102: 2sytz8

Ubicar la publicación de la Actividad para la semana 18-22 Mayo, y allí deberá adjuntar las imágenes de los pantallazos. Asegurarse de finalizar haciendo clic en el botón Entregar Asignación.

USO DE LA INSTRUCCIÓN IF ( ) PARA DETERMINAR RANGOS EN PROGRAMACIÓN

Cuando se hace uso de la placa Arduino, en especial si a esta placa se ha conectado algún tipo de

sensor, resulta importante saber cómo llevar a cabo distintas acciones dependiendo del resultado que entrega tal sensor. Para esto entran en funcionamiento una serie de instrucciones de decisión, entre las cuales tal vez la más utilizada es la instrucción if(), que veremos a continuación.

Para entender la esencia de esta parte de la programación en Arduino, utilicemos un ejemplo. El siguiente es un circuito que cuenta con un sensor de Luz tipo Fotocelda, con el cual se realiza la lectura

de la cantidad de luz que hay en un lugar. Igualmente, está el código que permite leer el valor analógico de ese sensor (con la instrucción analogRead(A0)) y luego mostrar el resultado en el monitor serie.

Información importante En caso que el (la) estudiante no pueda inscribirse al curso de Edmodo por alguna razón, deberá enviar las fotografías de los trabajos realizados en el cuaderno al correo electrónico del docente de clase:

[email protected] Con el asunto: Curso 1102 - Actividad Electrónica 22 Mayo En el mensaje, por favor escribir claramente sus nombres, apellidos y curso para poder calificar el trabajo.

Page 3: brasiliabosajt.weebly.com€¦ · Author: Yesika Created Date: 5/7/2020 3:34:30 PM

3

Es importante tener en mente que al conectar el sensor de luz al Arduino, utilizando una resistencia hacia el negativo para evitar que se dañe dicho sensor, los datos que entrega la señal analógica A0 tienen los siguientes límites:

Quiere decir que idealmente, cuando el sensor está en completa oscuridad, el valor analógico debería ser

CERO, y cuando el sensor se está iluminando totalmente (si se le pone la luz directa, por ejemplo con una linterna) el valor analógico máximo sería 1023.

Sin embargo, como ya han podido ver en los ejercicios de las clases anteriores (claro, si es que los han hecho), el valor analógico del sensor de luz no alcanza a llegar hasta cero cuando se pone en oscuras, y tampoco sube hasta 1023 si se le aplica mucha iluminación. Entonces, vamos a trabajar con el rango de 6 – 679, que son los valores mínimo y máximo que nos entrega el ejemplo, si conectamos la fotocelda junto con una resistencia de 1 kOhm

Valor analógico es 6 cuando sensor está a oscuras Valor analógico es 679 cuando sensor se ilumina

Para complementar el ejemplo, ahora supongamos que con este circuito se va a implementar un sistema

de iluminación nocturna, que va a tener los siguientes elementos adicionales, los cuales se conectan junto con una batería de 9 voltios.

Page 4: brasiliabosajt.weebly.com€¦ · Author: Yesika Created Date: 5/7/2020 3:34:30 PM

4

Los elementos que se adicionan al circuito nos permitirán recrear el siguiente funcionamiento:

Cuando el sensor de luz tenga un valor analógico menor a 400, significa que dicho sensor está detectando poca iluminación o se encuentra en oscuridad, por lo que deberá encender el bombillo.

Cuando el sensor de luz tenga un valor analógico mayor o igual a 400, significa que el sensor detecta buena iluminación, entonces deberá apagar el bombillo.

¿Cómo va a hacer el Arduino para encender o apagar un bombillo, si lo único que se ha visto en clase es cómo prender y apagar Leds?

Pues con el fin de controlar muchas más cosas con Arduino que unos simples Leds, es necesario aprender a utilizar los transistores, que son unos componentes electrónicos que pueden funcionar como interruptores controlados por energía.

El esquema que se muestra al lado corresponde a la parte

que se ha añadido al circuito, en la cual encontramos:

- Una batería de 9 voltios que entregará la energía al bombillo. Debido a que los componentes electrónicos como bombillos y motores consumen mucha más energía que un Led o una pantalla LCD, es necesario utilizar baterías adicionales para que puedan funcionar correctamente y no dañen la placa Arduino.

- El bombillo. - El transistor, que servirá como interruptor para encender y

apagar el bombillo. - Una resistencia, que se conecta entre el pin 13 de Arduino

y la base que controla el transistor.

Y funcionará de la siguiente manera:

Cuando el sensor de luz tenga un valor analógico menor a 400 (oscuridad), el código deberá encender la salida 13 del Arduino. Esta energía que sale por el pin 13 con la instrucción digitalWrite(13, HIGH); llega a la resistencia y al transistor, el cual la detecta y con ello cierra su interruptor interno, con lo que la energía de la batería de 9V podrá pasar y encender el bombillo.

En el otro caso, cuando el sensor de luz tenga un valor analógico mayor o igual a 400 (iluminación), el código deberá apagar la salida 13 del Arduino con la instrucción digitalWrite(13, LOW); como ya no habrá energía que llegue al transistor, no se podrá cerrar su interruptor interno, con lo que la energía de la batería de 9V no puede pasar, y por tanto se apaga el bombillo.

Entonces, es momento de ver como entra a funcionar la instrucción if() en este ejemplo, para conseguir encender o apagar ese bombillo dependiendo de la iluminación que detecta el sensor de luz.

BOMBILLO ON

BOMBILLO OFF

Page 5: brasiliabosajt.weebly.com€¦ · Author: Yesika Created Date: 5/7/2020 3:34:30 PM

5

Estructura de la instrucción if() La palabra if, que en español significa Si, funciona como una especie de pregunta, que en programación

permite revisar y comparar valores y tomar decisiones con base en el resultado. La forma como se escribe en Arduino es la siguiente:

if (condición) { // Escribir todas las instrucciones si la condición se cumple }

Como analogía (analogía = semejanza), veamos la instrucción if ( ) en nuestro lenguaje cotidiano sobre lo

que haría una persona respecto al uso del bombillo en caso de entrar a una habitación, y al frente cómo sería la comparación que se deberá efectuar en el programa de Arduino.

Si (habitación = oscura) {

// Enciendo el bombillo } Si (habitación = iluminada) {

// Apago el bombillo }

if (valorSensor < 400) {

digitalWrite (13, HIGH); // Enciendo el bombillo } if (valorSensor >= 400) {

digitalWrite (13, LOW); // Apago el bombillo }

Como se puede ver, en la parte condición que va dentro del paréntesis del if ( ), se debe escribir el aspecto clave que nos va a llevar a decidir si hacer o no hacer las tareas que están en las llaves { }. Si la condición se cumple, (por ejemplo, si la habitación está oscura) se realizan todas las acciones que estén dentro de las llaves de esa condición (encender el bombillo), pero si la condición no se cumple (en el mismo ejemplo, se pregunta si la habitación está oscura pero la respuesta es que no lo está), entonces el programa simplemente se salta o ignora esas instrucciones y no las realiza, continuando con el resto del programa.

De tal forma, el programa

completo para el ejemplo que se planteó sería el que se muestra a continuación.

Observemos cómo en las líneas

15 a 23 se insertaron las instrucciones if ( ), con las cuales se compara el resultado del valor analógico del sensor de luz conectado al pin A0, y de acuerdo con los rangos definidos:

- Si valor del sensor menor que

400 encender el bombillo. - Si valor del sensor mayor o

igual a 400 apagar el bombillo.

Se sugiere construir y

comprobar el funcionamiento de este circuito en TinkerCad, y realizar cambios en los valores dentro de las instrucciones if ( ) para comprender mejor el tema.