Cuaderno de prácticas Guía para el profesor education 1 2 ÍNDICE 1. Introducción........................................................................................................ 3 2. Comunicación Smart City – Scratch........................................................... 4 Comandos............................................................................................................... 5 Sensores.................................................................................................................. 6 3. Iluminación y Barrera..................................................................................... 8 Introducción........................................................................................................... 8 Farolas LED............................................................................................................. 8 Barrera................................................................................................................... 11 Ejercicio 3.1. Telecontrol.................................................................................... 11 Ejercicio 3.2. Farola decorativa.......................................................................... 13 Qué hemos aprendido......................................................................................... 15 4. Sensor de luz.....................................................................................................16 Ejercicio 4.1. Farola activada por sensor de luz.............................................. 17 Ejercicio 4.2. Farola controlada por sensor de luz.......................................... 19 Ejercicio 4.3. Ahorro de energía en el alumbrado........................................... 22 Ejercicio 4.4. Representación del sensor en pantalla..................................... 25 Qué hemos aprendido......................................................................................... 27 5. Sensores de Presencia..................................................................................28 Ejercicio 5.1. Sensores de Presencia................................................................. 30 Ejercicio 5.2. Iluminación automática.............................................................. 32 Ejercicio 5.3. Barrera automática...................................................................... 34 Ejercicio 5.4. Radar de velocidad....................................................................... 36 Qué hemos aprendido......................................................................................... 40 6. Sensor de temperatura.................................................................................41 Ejercicio 6.1. Sensor de temperatura................................................................ 42 Ejercicio 6.2. Panel informativo......................................................................... 44 Qué hemos aprendido......................................................................................... 50 7. Proyecto final....................................................................................................51 8. Anexo I: mOway Smart City Scratch. Paso a paso............................57 Montaje de mOway Smart City.......................................................................... 57 Smart City Scratch............................................................................................... 65 9. Anexo II: listado de comandos..................................................................69 3 1. Introducción Scratch es un entorno de programación desarrollado por el MIT (Massachusetts Institute of Tecnology) basado en símbolos iconográficos denominados “bloques” que permiten crear historias interactivas, animaciones y juegos, así como compartir nuestras creaciones con otros usuarios en la web. Scratch facilita el aprendizaje autónomo y permite a los principiantes obtener resultados inmediatos sin necesidad de saber escribir código. Para empezar a crear programas (scripts) hay que encajar bloques gráficos unos con otros formando pilas. Se utiliza en todo el mundo y está destinado especialmente para introducir en la programación a jóvenes aunque lo utilizan personas de todas las edades en entornos diferentes como escuelas, museos o en los propios hogares. Además se puede instalar y redistribuir gratuitamente en cualquier ordenador con Windows, Mac OSX o Linux. Puedes descargarte el Manual de Inicio de Scratch directamente aquí y encontrar más información sobre Scratch en la propia página Web del MIT. El programa es gratuito y su código fuente está disponible para la comunidad propiciando la creación de desarrollos que permitan interactuar con nuestro entorno y programar diferentes elementos externos, como mOway Smart City La ciudad inteligente mOway Smart City es un recurso educativo que, junto con el robot mOway, favorece la comprensión del concepto de “ciudad inteligente”. Es una forma estimulante de aprender nociones de electrónica y programación, ya que los resultados pueden verse de inmediato. Además, trabajar con ejemplos de la vida real (activación automática de luces y de barreras, sistemas de seguridad en los vehículos, etc.) facilita la comprensión y retención de estos conceptos. Trabajar con Smart City, el robot mOway y Scratch multiplica las posibilidades de estos objetos generando un entorno que combina ejercicios que mezclan la programación en un ordenador, con el mundo real y la programación de objetos. • Una ciudad inteligente es aquella que, gracias a las tecnologías de la información y la comunicación, funciona de manera más eficiente, consume menos energía e incluso es capaz de gestionarse de forma autónoma. • Los sensores y actuadores de mOway Smart City son programables desde Scratch y pueden ser leídos y controlados en todo momento. • mOway Smart City permite al alumno simular y comprender de manera práctica ejemplos de la vida real, y comprobar cómo funcionan elementos de nuestra vida cotidiana como el alumbrado, la gestión energética, la monitorización de una ciudad inteligente,… • mOway Smart City da vida a todo aquello que el alumno programa en su PC, y le ayuda a comprender y asimilar los conceptos. 4 2. Comunicación Smart City – Scratch Introducción mOway Smart City se controla desde el entorno Scratch por medio de comandos. Un comando es una orden que escribimos en Scratch y que enviamos a la ciudad. Cuando el robot recibe esta orden, realiza la acción ordenada. Por ejemplo, si queremos encender una farola, tenemos que escribir el comando “farolaon” en Scratch. Dentro de los comandos existen parámetros que en Scratch identificamos como variables. Cuando queremos encender una farola, tenemos 7 niveles distintos de intensidad de luz. Para que la farola sepa con qué intensidad de luz debe encenderse, tenemos que indicárselo a través de una variable. Por eso, antes de enviar un comando, debemos actualizar la variable. Cuando ejecutemos este comando, la farola se encenderá con el nivel de luz que hayamos fijado en la variable. Por otra parte, mOway Smart City cuenta con diferentes sensores. Un sensor es un dispositivo electrónico que sirve para medir las condiciones del lugar donde se encuentra. Por ejemplo, sensores de presencia para detectar objetos que pasan, sensor de luz para detectar si es de día o de noche, sensor de temperatura, etc. mOway Smart City está continuamente enviando el valor de sus sensores al entorno Scratch. Variables Comandos Sensores 5 Tanto el envío de comandos y variables como el envío de los valores de los sensores se realizan por medio de la conexión. La gestión de estos mensajes se realiza por medio de la aplicación “mOway Smart City Scratch”, que hace de conexión entre Scratch y la Smart City. Variables Comandos Sensores Comandos Dentro del entorno Scratch, los comandos se envían con el bloque “enviar a todos…”. Este bloque envía el comando correspondiente a la aplicación “mOway Smart City Scratch”, la cual se encarga de enviar este comando a la Smart City por la conexión USB. Movimiento Control Apariencia Sensores Sonido Operadores Lápiz Variables Antes del envío de comandos es necesario establecer el valor de las variables asociadas al comando, como son el valor de intensidad de luz y el estado de la barrera. 6 La imagen siguiente muestra el funcionamiento de los comandos: 1. Scratch envía un comando, como por ejemplo, encender las farolas. 2. La aplicación “mOway Smart City Scratch” recibe este comando y lo envía a la Smart City por la conexión USB. Comandos Sensores mOway Smart City está continuamente enviando por la conexión USB el valor de sus sensores. Estos valores enviados son recibidos por la aplicación “mOway Smart City Scratch”, que a su vez, los reenvía al entorno Scratch. Una vez que esta información ha llegado a Scratch, podemos ver los valores de los sensores gracias al bloque “valor del sensor…”. Sensores 7 Para activar la comunicación entre la aplicación “mOway Smart City Scratch” y el entorno Scratch es necesario habilitar las conexiones de sensores remotos en Scratch. Para ello, hay que seguir los siguientes pasos: 1. Seleccionar el grupo de bloques “Sensores”. Movimiento Control Apariencia Sensores Sonido Operadores Lápiz Variables 2. Hacer clic (con el botón derecho del ratón) sobre el bloque “valor del sensor” y elegir “permita las conexiones del sensor alejado”. Una vez hecho esto, el entorno Scratch está preparado tanto para enviar comandos como para recibir los valores de los sensores. Para que la comunicación entre Scratch y mOway Smart City comience, es necesario programar el robot y activar la aplicación “mOway Smart City Scratch”. Para ello, consultar el capítulo: “Anexo I: Conectar aplicación “mOway Smart City Scratch”. Paso a paso”. 8 3. Iluminación y Barrera Introducción mOway Smart City dispone de dos grupos de elementos controlables a través de Scratch: iluminación y barrera. En la ciudad existen hasta cuatro farolas diferentes controlables individualmente. Cada farola dispone de un LED Blanco en la parte superior y tres LEDs azules decorativos en el poste. Farolas LED Un LED es un dispositivo electrónico parecido a una bombilla: cuando pasa una corriente eléctrica a través de un LED, éste se enciende. La gran diferencia entre un LED y una bombilla normal es que los LEDs consumen mucha menos energía que una bombilla. Además los LEDs tienen una mayor duración y aguantan mejor las vibraciones. Existen LEDs de diferentes colores: blanco, azul, rojo, verde, etc. Actualmente los podemos ver en todas partes: bobillas, lámparas, linternas, televisiones, faros de coche, etc. 9 Una bombilla normal es poco eficiente debido a que gran parte de la energía eléctrica que le llega (un 90%) se transforma en calor. Tan sólo el 10% de la energía se transforma en luz. En cambio, un LED no se calienta, aprovechando mejor la energía que le llega para transformarla en luz. Como hemos visto anteriormente para actuar sobre los elementos de la ciudad, tenemos que indicar el valor de una variable y a continuación enviar un comando para que la orden se ejecute. En la tabla siguiente se detallan las variables asociadas a los comandos de las farolas. Cada farola (de la 1 a la 4) tiene una variable para el nivel de luz del LED blanco y otra variable para los LEDs azules del poste. 10 Variable Descripción Valores farola1 Nivel de luz de la farola 1 0-7 farola2 Nivel de luz de la farola 2 0-7 farola3 Nivel de luz de la farola 3 0-7 farola4 Nivel de luz de la farola 4 0-7 poste1 Activación (en código binario) de los LEDs del poste de la farola 1 0-7 poste2 Activación (en código binario) de los LEDs del poste de la farola 2 0-7 poste3 Activación (en código binario) de los LEDs del poste de la farola 3 0-7 poste4 Activación (en código binario) de los LEDs del poste de la farola 4 0-7 Los LEDs del poste utilizan una codificación binaria para encender los LEDs en función del valor que toma la variable poste. A continuación se muestra la codificación de esta variable. Valor 0 1 2 3 4 5 6 7 LEDs del poste Comando Descripción Las farolas actualizan su estado en función de las variables farola y poste Las farolas se apagan independientemente del estado de las variables 11 Barrera Para el control de la barrera la variable de estado que utilizaremos es: Variable barrera Descripción Posición de la barrera Valores arriba-abajo La barrera tiene un comando: Comando Descripción La barrera se mueva a la posición indicada por la variable barrera Ejercicio 3.1. Telecontrol En esta primera práctica vamos a actuar sobre los controles de la ciudad. Con las flechas de dirección arriba y abajo subiremos y bajaremos la barrera y con las flechas izquierda y derecha subiremos y bajaremos el nivel de luz de la farola 1. Con la tecla espacio apagaremos la farola. 12 Para ello utilizaremos la herramienta de Scratch “al presionar tecla”. En la imagen inferior se muestra el objeto Barrera con su programa asociado. Cuando pulsamos “flecha arriba”. El control de la farola lo haremos con las teclas de dirección. Con la tecla derecha incrementaremos el nivel de luz hasta llegar a 7 y con la flecha izquierda lo reduciremos hasta llegar a cero. En el caso de que el nivel de luz se sitúe en cero el disfraz de la farola cambiará a farola OFF para indicar que la farola está apagada. 13 Ejercicio 3.2. Farola decorativa En la siguiente práctica utilizaremos el poste de la farola como elemento decorativo. Iremos incrementando el valor de la variable farola para ver cómo se van modificando los LEDs según la tabla presentada en apartados anteriores. Valor LEDs del poste 0 1 2 3 4 5 6 7 14 Si queremos generar una secuencia que solo encienda un LED a la vez debemos repetir la secuencia 1,2,4 en los valores de la variable poste. Para ello configuramos el programa de la siguiente manera. Vamos multiplicando la variable poste por 2 para generar la secuencia 1, 2, 4 ya que 1 es el valor inicial, 2*1 = 2 y 2*2 = 4. Cuando el valor supera 4 volvemos a colocar el valor inicial. El programa de los LEDs azules es el siguiente: 15 Qué hemos aprendido Cómo enviar comandos desde Scratch para controlar mOway Smart City. Cómo configurar las farolas y las barreras en mOway Smart City. Cómo representar en Scratch el cambio de estado de farolas y barrera. Nuevos retos • Puedes añadir el control de más farolas en ambas prácticas. • Puedes cambiar la secuencia de la variable poste de diferentes formas. • Puedes configurar las farolas “decorativas” para que vayan con un ritmo sincronizado o que cada farola lleve su “ritmo propio”. Comprueba lo que sabes 1. ¿Qué ventajas tienen los LEDs frente a las bombillas convencionales? a) Dan más luz b) Consumen menos energía c) Son más baratos 2. ¿Cuál es el bloque para enviar comandos a mOway Smart City? a) Enviar a todos b) Esperar 1 segundo c) Al presionar tecla 3. ¿Qué variable controla la intensidad de luz de la farola 1? a) farola1 b) poste1 c) farolaon 16 4. Sensor de luz A continuación vamos a introducir el concepto de “sensor” y vamos a centrarnos en la aplicación y uso de uno de ellos: el sensor de luz. Un sensor es un elemento que permite a mOway Smart City conocer el mundo que le rodea. Es algo parecido a nuestros sentidos. Gracias a los sensores, la ciudad puede conocer su entorno. Esto le permite encender las farolas cuando hay poca luz, bajar la barrera cuando un vehículo ha atravesado una zona y hay riesgo de colisión, etc… Un sensor de luz es un dispositivo que mide la cantidad de luz que hay en un lugar. Por ejemplo, en los coches puede usarse para encender las luces automáticamente en túneles o al anochecer. En una ciudad se puede utilizar para distinguir el día y la noche y saber cuándo encender o apagar el alumbrado de una ciudad. Un sensor es un dispositivo capaz de detectar magnitudes físicas o químicas y transformarlas en señales eléctricas. Estas señales eléctricas son leídas por el microprocesador de mOway Smart City y son transformadas y enviadas a Scratch como magnitudes numéricas para su uso en nuestros programas. Los sensores de luz tienen un montón de aplicaciones en nuestro alrededor. Por ejemplo, ¿os habéis fijado que la pantalla de un teléfono móvil baja el brillo cuando apagamos las luces? De esta forma ahorra batería y lo hace gracias a un sensor de luz igual al que lleva mOway Smart City. Para leer el valor de los sensores en el entorno Scratch, utilizaremos el bloque de sensores de Scratch. En este caso para emplear el sensor de luz debemos seleccionar la caja “valor de sensor Luz”. Movimiento Control Apariencia Sensores Sonido Operadores Lápiz Variables Estos son algunos de los nuevos comandos que usaremos en estos ejercicios: Comando Descripción Equivale a un valor numérico entre el 0% y el 100% del nivel de luz detectado 17 Ejercicio 4.1. Farola activada por sensor de luz En esta práctica vamos a implementar un control de la farola simple basado en el sensor de luz. Cuando el valor de la farola descienda de un 30%, la farola y el poste se encenderán. La farola a máxima potencia (nivel 7) y los postes con sus tres LEDs encendidos (nivel 7). Si por el contrario el sensor de luz se sitúa por encima del 30% las farolas se apagarán. En ambas condiciones se modificarán los disfraces de las farolas para indicar en Scratch que ambas farolas están encendidas o apagadas. Cuando detectemos un nivel de luz inferior al 30% también cambiaremos el escenario por uno de “noche”. Como hemos comentado estos eventos ocurrirán cuando el sensor de luz detecte un nivel de luz inferior al 30%. Cuando esto ocurra enviará a todos la señal de “noche” para que las farolas se enciendan y el escenario cambie. Si en cambio la señal es superior al 30% se enviará la señal día para las farolas permanezcan apagadas y el escenario sea “día”. 18 NOTA: En ambas condiciones se ha añadido una espera de 1 segundo para evitar parpadeos en el encendido y apagado de la farola cuando el nivel de luz está muy próximo al 30%. 19 Ejercicio 4.2. Farola controlada por sensor de luz En este ejercicio vamos a programar mOway Smart City para que controle el nivel de intensidad de luz de la farola en función del valor medido en el sensor de Luz de mOway Smart City. ¿Con qué objetivo? Principalmente el ahorro energético. Con este programa conseguiremos que las farolas se enciendan con poca luz cuando empieza a anochecer y vayan aumentando su nivel de luz hasta que se pongan al máximo nivel una vez ha anochecido completamente. Cuando la luz baje del umbral del 35% encenderemos las farolas 1 y 2 con una intensidad proporcional al nivel de luz ambiente. Si el nivel de luz está entre un 30-35% la farola se encenderá con un nivel 1, si está entre un 30 y un 25% se encenderá en nivel dos y así progresivamente hasta nivel 7 en un porcentaje de luz entre 0-5%. Para ello debemos crear una regla matemática que asigne esos valores de intensidad de luz en función del nivel de luz ambiente. Luz ambiente Intensidad de LED >=35% 0 - apagado 34-30% 1 29-25% 2 24-20% 3 19-15% 4 14-10% 5 9-5% 6 4-0% 7 Para obtener el valor de luz adecuado necesitaremos asignar a la variable farola el valor: Cuando el sensor de luz está en un nivel de iluminación superior al 35% la farola va cambiando sus LEDs azules como en la práctica de “Farola decorativa”. Cuando el nivel de luz está entre un 0 y un 34% las farolas se encienden con el nivel de luz apropiado y la señal de poste se fija con todos los LEDs encendidos. 20 21 En el programa de escenario cuando se pulsa la bandera verde, las variables del programa se inician a los valores adecuados y al igual que en la práctica anterior, el escenario se modifica al recibir la señal día o noche desde el sensor de luz. 22 Ejercicio 4.3. Ahorro de energía en el alumbrado Una de las posibilidades con la que se puede ahorrar energía en el ámbito de una ciudad es por supuesto en el alumbrado. Una aplicación que nos permite lograr un importante ahorro de energía es la iluminación LED. Además de ser una fuente de luz más eficiente, la iluminación LED tiene una ventaja adicional y es que podemos controlar el nivel de intensidad de luz, como hemos hecho en la práctica anterior, y por lo tanto, ajustar a nuestras necesidades el consumo de energía. Por ejemplo en una ciudad, el tráfico, tanto de peatones y personas, se reduce mucho a partir de una determinada hora. Sobre las 12:00 de la noche es normal que el tránsito de personas y vehículos se reduzca. En estos casos utilizando farolas LED podemos reducir el nivel de luz de la farola a la mitad. De esta forma mantenemos la iluminación pero a un nivel más bajo logrando un importante ahorro de energía. En esta práctica haremos uso del cronómetro de Scratch para reducir la iluminación de las farolas un tiempo después de que se haya hecho de noche. En la realidad este tiempo sería de unas horas pero para que podamos ver su funcionamiento en el entorno de la clase reducimos ese tiempo a 60 segundos. Comando Descripción Equivale al valor del cronómetro en segundos que empieza a funcionar una vez arrancado Scratch. Para medir el tiempo podemos ponerlo a cero Pone a cero el cronómetro de Scratch El programa al arrancar espera a que el valor del sensor de luz sea inferior a 30. Cuando se hace de noche (el valor inferior a 30) se reinicia el cronómetro para contar los 60 segundos de espera y se encienden las farolas a máxima intensidad. Cuando han pasado los 60 segundos se reduce la intensidad de la farola y se espera a que vuelva a ser de día con un valor del sensor mayor a 30. 23 24 25 Ejercicio 4.4. Representación del sensor en pantalla En esta práctica vamos a utilizar el sensor de luz de mOway Smart City como un registrador de la luz detectada y pintaremos en nuestro escenario la magnitud de luz recibida. También implementaremos una aguja que indica el nivel de luz recibido. En primer lugar programaremos el funcionamiento de la aguja. Para ellos hemos creado un objeto con forma de flecha que apunta hacia la izquierda cuando su orientación es 0º. Como el valor de volumen del sensor de luz va de 0 a 100, si queremos que la flecha cubra todo el semicírculo debemos multiplicar su valor por 1,8 para que con una intensidad de luz máxima (100%) la flecha apunte a 180º. El programa de este objeto con forma de flecha simplemente variará la dirección de la flecha según el valor del sensor Luz (con el factor de corrección de 1,8 comentado anteriormente). Para mostrar en pantalla el nivel de luz utilizaremos la función de Scratch de lápiz. El objeto Luz se irá desplazando por la pantalla con el lápiz bajado y registrando el nivel de luz recibido. 26 Al presionar la bandera verde fijamos el color y el tamaño del lápiz. A continuación entramos en un bucle en el que en primer lugar borramos los restos de lápiz anteriores y movemos el objeto Luz a la posición inicial (x=-235, y=0) con el lápiz subido. Una vez en la posición inicial bajamos el lápiz y vamos desplazando el objeto Luz con el lápiz bajado sobre el eje X con los valores de sensor de Luz en el eje Y hasta alcanzar el borde derecho. En ese momento borramos la pantalla y comenzamos de nuevo en el punto inicial. El resultado sería el de la imagen derecha. Cada vez que actualizamos el valor del sensor de luz también modificaremos el color del lápiz con el mismo valor quedando tonos rojos con poca luz y tonos verdes según la luz va subiendo. 27 Qué hemos aprendido Qué es un sensor de luz y cómo funciona. Cómo leer el valor de sensores de mOway Smart City. Cómo usar el sensor de luz para ahorrar energía en una ciudad. Nuevos retos • Puedes añadir el control de más farolas en las prácticas. • Podemos combinar las prácticas 4.2 y 4.3 para lograr un ahorro de energía máximo en la ciudad. Controlando las farolas proporcionalmente al nivel de luz y cambiando el máximo de luz (7 para las primeras horas de la noche y nivel 4 para las de menos tráfico). • Se puede plantear que el programa de Scratch calcule cuánta energía se está ahorrando y por tanto cuánto CO2 se evita arrojar a la atmósfera. Comprueba lo que sabes 1. ¿Qué ventaja además del menor consumo de energía tienen los LED? a) Se puede controlar la intensidad de luz b) Son más grandes c) Son más baratos 2. ¿Qué bloque colocarías para que Scratch espere un minuto? a) b) c) 28 5.Sensores de Presencia En este nuevo capítulo vamos a centrarnos en los sensores de presencia de mOway Smart City. Son sensores infrarrojos compuestos por un emisor LED (como los vistos anteriormente) y un receptor. Estos emisores LED a diferencia de los anteriores emiten una luz no visible, luz infrarroja. Los emisores y receptores de luz infrarroja tienen múltiples aplicaciones en el mundo que nos rodea. Un uso muy común es el que hacen los mandos a distancia del televisor. Los infrarrojos también se utilizan para comunicar a corta distancia los ordenadores con sus periféricos. Los infrarrojos también se utilizan en los equipos de visión nocturna, video vigilancia o por ejemplo en equipos de rescate en ausencia de luz. Otro de los usos muy comunes de estos sensores es la detección de obstáculos. Por ejemplo en las puertas de los ascensores o de garajes se utilizan estos sensores para detectar que una persona o coche está pasando y no cerrar las puertas. Los dos sensores de presencia de mOway Smart City están formados por un emisor LED infrarrojo y un receptor infrarrojo. Utilizan la reflexión de luz infrarroja para la detección de presencia de objetos que están cerca. 29 Como hemos comentado antes, los sensores convierten magnitudes físicas en señales eléctricas. En este caso la cantidad de luz infrarroja recibida, que depende de la distancia y tamaño del obstáculo, se convierte en una señal eléctrica que es leída por el microprocesador de mOway Smart City y enviada a Scratch. La luz emitida por los LEDs choca contra los objetos delante del sensor y se refleja hacia los receptores. Si los receptores detectan rayos infrarrojos de retorno significará que el sensor tiene un obstáculo delante. En este caso, la cantidad de luz infrarroja recibida se convierte en una señal eléctrica que es leída por el microprocesador de mOway Smart City y enviada a Scratch en función de la cercanía y tamaño del objeto, representando con un valor cercano a 0 la ausencia de obstáculos y un número creciente hasta 100 en presencia de obstáculos. Para leer el valor de los sensores en el entorno Scratch, utilizaremos el bloque de sensores de Scratch. En este caso tenemos dos sensores de presencia, uno conectado en el CON2 y otro en el CON4 de mOway Smart Board. Movimiento Control Apariencia Sensores Sonido Operadores Lápiz Variables Estos son algunos de los nuevos comandos que usaremos en estos ejercicios: Comando Descripción Equivale a un valor numérico entre 0 y 100 siendo 0 la ausencia de obstáculo y 100 el umbral máximo de obstáculo detectado en el sensor de presencia del CON2 Equivale a un valor numérico entre 0 y 100 siendo 0 la ausencia de obstáculo y 100 el umbral máximo de obstáculo detectado en el sensor de presencia del CON4 30 Ejercicio 5.1. Sensores de Presencia En esta práctica vamos a representar el valor de los sensores de presencia en pantalla como hicimos con el sensor de luz en la práctica anterior. En este caso tenemos dos magnitudes a representar en la pantalla (dos sensores de obstáculos). El valor de estos sensores se representa en dos gráficas, cada una de ellas de un color: amarillo y verde. Para ello, será necesario crear dos puntos (amarillo y verde) que se desplacen por la pantalla, mientras que “pintan” su desplazamiento con el lápiz de Scratch (bloque “bajar lápiz”). La variable “posición_X” es compartida por todos los objetos de manera que las dos gráficas se representan a la vez. A continuación presentamos los 2 programas de los 2 objetos que son muy similares entre sí. Tan sólo se modifica la posición “cero” de cada sensor en el eje Y, el color del lápiz y que sólo incrementamos la variable “posición_X” en el primero de los objetos. 31 32 Ejercicio 5.2. Iluminación automática En la siguiente práctica vamos a utilizar el sensor de presencia para detectar el tráfico de coches o personas y de este modo activar la iluminación de la vía solo cuando sea necesario. De este modo lograremos un importante ahorro de energía en nuestra ciudad. Para el desarrollo de este programa hemos creado cuatro objetos: Coche, Farola, Sensor y Rayo. El objeto principal que hará que el resto se ponga en acción es el sensor. Cuando el sensor de presencia detecte un objeto pasando por delante enviará a todos la señal de “detectado” y en ese momento el coche aparecerá al lado del sensor y comenzará a alejarse. Cuando el coche reciba la señal de detectado aparecerá enfrente del sensor y comenzará a alejarse en el horizonte mientras suena el sonido de un automóvil alejándose. 33 Los valores de “repetir 85”, “cambiar y por 3” y “cambiar tamaño por -1” se han obtenido mediante prueba y error hasta que el resultado ha sido parecido al de un coche alejándose a la vez que el sonido reproducido. Las farolas 1 y 2, cuando reciben la señal de detectado, se encienden durante tres segundos reproduciendo un sonido y cambiando su disfraz. 34 El destello de luz (Rayo) aparece durante tres segundos mientras la farola está encendida. Ejercicio 5.3. Barrera automática En esta práctica vamos a utilizar la barrera de la ciudad para controlar el tráfico y evitar colisiones entre vehículos. Al llegar a la rotonda de la ciudad daremos preferencia al vehículo que viene por la derecha. De este modo cuando el sensor de presencia 2 detecte el paso de un vehículo bajará la barrera para evitar que otros vehículos entren en la rotonda por el lado izquierdo. 35 En esta práctica contamos con dos objetos, el sensor de presencia 2 y la barrera. Cuando el sensor de presencia detecte un objeto a punto de llegar a la rotonda enviará la señal detectado para que la barrera baje y no permita la entrada de otro vehículo. En el caso de la barrera, al iniciar el programa verificamos que la barrera se encuentra levantada. Cuando recibe la señal “detectado” generada por el sensor, baja la barrera durante dos segundos y la vuelve a subir. 36 Ejercicio 5.4. Radar de velocidad En esta práctica vamos a implementar uno de los nuevos “radares de tramo” que se están instalando en las carreteras. Estos radares funcionan midiendo el tiempo que tarda un coche en pasar entre dos puntos determinados. Para calcular la velocidad de un coche se utiliza la siguiente fórmula: velocidad = espacio ⁄ tiempo Por ejemplo, si los dos puntos del radar están separados por 15 km y un coche tarda en cubrir esa distancia 15 min: velocidad = (15 km) ⁄ (1/4 hora) La velocidad del vehículo sería 60 km/hora. Si la velocidad media de la vía es inferior a la velocidad obtenida en el vehículo, el conductor sería sancionado con una multa y para ello, se haría una fotografía al vehículo. En esta práctica haremos uso del robot mOway y Smart City a la vez (el robot mOway no es imprescindible). Para ello deberemos tener arrancados los dos programas de control: mOway Scratch y mOway Smart City Scratch. La práctica cuenta con 5 objetos. Los dos sensores de presencia que contarán el tiempo de paso de mOway entre un punto y otro. La cámara que emitirá el sonido de la foto cuando se supere la velocidad máxima permitida, el flash que aparecerá cuando se realice la foto y el robot mOway sobre el que podremos controlar su velocidad utilizando la variable “velocidad” y aparecerá en pantalla cuando se detecte su paso por el primero de los sensores. 37 El objeto Sensor será el que dé comienzo a la práctica. Cuando detecte un objeto pasando delante de él enviará la señal “detectado” y esperará a que el resto de objetos la procesen. El Sensor2, cuando recibe la señal “detectado”, reinicia el cronómetro y espera hasta que el vehículo pase por delante del sensor. Cuando esto ocurre, el valor del cronómetro se almacena en la variable tiempo y se compara contra el tiempo que fijemos como mínimo para no ser multado. Si el tiempo es menor se envía la señal foto a la cámara y al flash y se cambia de disfraz a “sensorvelocidad”. 38 Cuando recibe la señal foto la cámara emite el sonido de una cámara de fotos y dice “click!!” durante dos segundos. En el caso del flash, éste se muestra durante los dos segundos de la foto. En el caso de mOway por un lado, al empezar a ejecutar el programa comenzamos a seguir la línea con una velocidad inicial de 30. Variando el deslizador de la variable velocidad en el escenario iremos actualizando la velocidad de mOway entre 0 y 100 una vez por segundo. Por otro lado, cuando el sensor 1 detecta la presencia de mOway lo muestra en el escenario a su altura y lo va desplazando en la carretera mientras reduce su tamaño y reproduce el sonido de un coche alejándose. Finalmente mOway se esconde cuando se sitúa más a la derecha de la cámara (en el eje X). 39 NOTA: Observar que hacemos que mOway apunte en dirección 75. Esto es necesario para que al desplazarse con el movimiento de “mover 2 pasos” lo haga en la orientación de la carretera. 40 Qué hemos aprendido Cómo funcionan los sensores infrarrojos. En qué aplicaciones reales se utilizan. Cómo utilizar los sensores infrarrojos para detectar presencia. Cómo medir la velocidad de un vehículo utilizando los sensores de presencia. Nuevos retos • En la práctica de iluminación automática puedes también añadir la condición de que la farola sólo se encienda cuando hay presencia y es de noche. • En el radar de velocidad puedes añadir señales de tráfico que indiquen la velocidad. Cambiando la velocidad puedes avisar a mOway de que reduzca la velocidad para no ser sancionado. Comprueba lo que sabes 1. ¿En qué aplicación se utilizan sensores infrarrojos? a) En la puerta de un hotel b) En la puerta de un ascensor c) En un concierto de música 2. ¿Cuántos sensores de presencia son necesarios para medir la velocidad de un vehículo? a) 1 b) 2 c) 3 3. ¿Qué tiempo debería tardar como mínimo en recorrer 10 km un coche en un tramo con velocidad limitada a 100km/hora? a) 10 minutos b) 6 minutos c) Un cuarto de hora 41 6. Sensor de temperatura En este nuevo capítulo vamos a centrarnos en el sensor de temperatura de mOway Smart City. El sensor de temperatura está basado en un termistor. Un termistor es un sensor resistivo de temperatura. Su funcionamiento se basa en la variación de la resistividad que presenta un semiconductor con la temperatura. El término termistor proviene de Thermally Sensitive Resistor. Su aplicación principal es la de medir la temperatura ambiente o de algunos elementos. Además de medir la temperatura ambiente la medición de temperatura es un elemento crítico en muchos procesos industriales o en productos de nuestro día a día. Los coches por ejemplo tienen multitud de sensores de temperatura para controlar la temperatura del motor, del aceite, del depósito de gasolina, … 90 50 130 ºC También nuestros teléfonos móviles por ejemplo tienen este tipo de sensores que controlan la temperatura del terminal para que no se sobrecaliente demasiado y se produzcan daños en el teléfono. Para leer el valor de los sensores en el entorno Scratch, utilizaremos el bloque de sensores de Scratch. En este caso tenemos un sensor de temperatura conectado en el CON5. En este conector también se conecta el sensor de luz por lo que no podremos conectar ambos sensores al mismo tiempo. Movimiento Control Apariencia Sensores Sonido Operadores Lápiz Variables Comando Descripción Devuelve la temperatura en grados Celsius medida por el sensor 42 Ejercicio 6.1. Sensor de temperatura En esta práctica vamos a programar un panel que nos informará de la temperatura. Además iremos variando el escenario en función de la temperatura desde un día soleado a uno de nieve. El escenario cambiará de programa según los grados: Escenario Grados Soleado 25 ºC Nublado 20-25 ºC Lluvioso 15-20 ºC Nieve < 15 ºC 43 Por otro lado colocaremos un punto en el centro del display de temperatura con el comando “decir” de Scratch y la temperatura en grados Celsius. 44 Ejercicio 6.2. Panel informativo En esta práctica vamos a programar un panel informativo presente en las ciudades que nos muestra alternativamente la hora o la temperatura. Previamente será necesario “poner en hora” el reloj. Para ello al empezar, el programa nos preguntará la hora actual. Para preguntarnos la hora Scratch utiliza el comando “preguntar y esperar”. El valor que contestamos a Scratch se guarda en el sensor “respuesta”. Comando Descripción Scratch nos pregunta la información detallada en el campo de texto y guarda el dato en el sensor “respuesta” Dato que el usuario escribe cuando se le realiza una pregunta En este programa contaremos con 7 objetos: los cuatro caracteres, los dos puntos para la hora, el símbolo para los grados y el botón de cambio de modo. 45 Dentro del programa del escenario incluiremos la pregunta de la puesta en hora del reloj y la programación del reloj. El reloj básicamente cuenta grupos de 60 segundos y añade un minuto cada vez que esto ocurre. Si el número de minutos llega a 60 se incrementa una hora y cuando las horas llegan a 24 vuelven a ponerse a cero. Cuando se obtiene la respuesta de la hora se envía la señal “comienzo” para que el relojtermómetro empiece a funcionar. El termómetro mostrará durante 5 segundos la hora y durante 5 segundos la temperatura alternativamente. Para mostrar la hora enviaremos a todos los caracteres el mensaje “mostrarhora” y para mostrar la temperatura enviaremos el mensaje “mostrartemp”. Con el botón de modo podemos seleccionar si la temperatura queremos verla en grados Celsius o Fahrenheit. La conversión de grados Celsius a Fahrenheit es: Fahrenheit = Celsius * 1,8+32 46 En el segundo dígito mostraremos el segundo dígito de la hora o el primer dígito de la temperatura siempre que la temperatura sea menor de 100. Para mostrar el segundo dígito de la hora utilizaremos el comando mod. Comando Descripción Este comando de “Operadores” devuelve el resto de la división entre el primer parámetro y el segundo Por ejemplo devolverá un valor de 4 ya que 34 /10 = 3 con resto 4. Utilizaremos este comando para quedarnos con el segundo dígito de la hora y de este modo mostrar el disfraz correspondiente. Si la hora es 16 la operación “16 mod 10” nos devolverá 6 que es el valor del disfraz que equivale al número 6. 47 En el caso de la temperatura, por ejemplo, para una temperatura de 25 ºC, el número a representar sería 2 que lo obtendríamos de: temp - elprimerdigito(temp) = temp-temp mod 10 10 10 En el primer número, en caso de mostrar la temperatura mostraremos un uno si la temperatura es mayor que 100 lo cual solo podría ocurrir para grados Fahrenheit ya que el sensor de temperatura devuelve valores entre 0 y 100ºC Celsius. Para mostrar el primer número de la hora aplicaremos la misma lógica que en el caso del segundo dígito de la temperatura. 48 El número 3 mostrará el último dígito de la temperatura o el primer dígito de los minutos. Finalmente el número 4 mostrará alternativamente el último dígito de los minutos o en el caso de la temperatura una C cuando el modo sea “celsius” o una F si fuese “fahrenheit”. 49 Los dos puntos se mostrarán cuando se muestre la hora y el símbolo de grados cuando se muestre la temperatura. El resultado es que el panel cambiará alternativamente cada 5 segundos mostrando la temperatura y la hora. 50 Qué hemos aprendido Cómo funciona un sensor de temperatura (termistor). En qué aplicaciones reales se utiliza. Cómo representar valores numéricos cambiando de disfraz en Scratch. Cómo programar un reloj digital. Nuevos retos • Prueba a cambiar el escenario no sólo con la temperatura sino también con la hora del día cambiando entre día y noche. • Puedes programar mensajes en función de la temperatura como “Recuerde beber líquidos” en los días de mucho calor o “Atención al estado de la carretera” en los días de frío. Comprueba lo que sabes 1. ¿Qué característica varía en un termistor con la temperatura? a) El color b) La resistencia c) El peso 2. ¿A cuántos grados Fahrenheit equivale una temperatura de 20ºC? a) 72 b) 68 c) 62 3. ¿Qué resultado nos devolvería esta operación? a) 3 b) 1 c) 0 51 7. Proyecto final Como proyecto final se puede desarrollar una práctica con todos los elementos funcionando a la vez. Un ejemplo de aplicación podría ser: • Las farolas 1 y 2 activándose por presencia detectada en el sensor 1 siempre y cuando el sensor de luz detecte que ha oscurecido. • Los sensores de presencia 1 y 2 funcionando como radar. • La barrera activada por el sensor de presencia 2 para evitar colisiones. • La farola 3 funcionando con un nivel de luz proporcional al nivel de oscuridad detectada. En esta práctica final contamos con 9 objetos programables listados en el siguiente gráfico: 52 Todos los programas son combinación de las prácticas anteriores, en algunos casos con ligeras modificaciones. La barrera comienza el programa subida y desciende cuando recibe la señal detectado generada en el sensor de Presencia 2. 53 El programa del sensor de Presencia 2 genera la señal “detectado2” cuando detecta un objeto y ejecuta el programa visto en el radar cuando recibe la señal “detectado” generada en el sensor de Presencia 1. 54 El sensor de Presencia 1 genera la señal “detectado” cuando observa un obstáculo. Esa señal “detectado” es utilizada por las farolas 1 y 2 para encenderse de manera automática y proporcional al sensor de luz. Los valores del poste de farola se van modificando continuamente como farola decorativa como se muestra en la práctica 3.2. 55 El sensor de luz modifica su apariencia en función de la cantidad de luz recibida y la farola 3 se enciende con un valor de luz y de poste proporcional al nivel de luz. Si el nivel de luz es superior al 35% la farola permanece apagada. 56 El robot mOway sigue la línea a la velocidad determinada por la variable “velocidad” y los elementos cámara y flash son controlados de la misma manera que en la aplicación del radar. 57 8. Anexo I: mOway Smart City Scratch. Paso a paso Montaje de mOway Smart City La ciudad inteligente está formada por los siguientes conjuntos de elementos principales (los elementos incluidos varían según el pack): • Tarjeta controladora • Tablero o 4 piezas • Dispositivos con cableado o Sensores o Barrera o Farolas • Dispositivos sin cableado o Túnel o Estrechamiento o Señales de tráfico El montaje de la ciudad se realiza en el siguiente orden: 1. Tablero 2. Montaje de los dispositivos con cableado 3. Montaje de los dispositivos sin cableado 4. Conexión de la tarjeta controladora al ordenador Tablero El tablero sirve de base para la ciudad inteligente. Se monta sobre los soportes circulares (en cada una de las 4 partes del tablero): 58 Cada elemento de la ciudad inteligente ha de ocupar una posición específica para que funcione correctamente. A continuación, se indican las posiciones correspondientes a los elementos sobre el tablero. Sensores y barrera Tanto los sensores como la barrera deben estar conectados a los cables USB – miniUSB. Una vez montado el tablero sobre los soportes, el proceso es el siguiente: 1. Inserción del dispositivo (sensor o barrera): 2. Conexión del extremo miniUSB del cable al dispositivo (por la parte inferior del tablero): 3. Conexión del extremo USB del cable a la tarjeta controladora: 59 El sensor de presencia 1 se conectará en el CON2 de mOway Board, el sensor de presencia 2 se conectará en el CON3 y la barrera se conectará en el CON1. La barrera se colocará en el orificio marcado en rojo y los sensores de presencia en los orificios marcados en azul y verde. Los sensores son iguales pero Scracth identificará el que conectemos en el CON2 como sensor de presencia 1 y el que vaya conectado en el CON4 como sensor de presencia 2. El sensor de presencia 1 que controla el encendido de las farolas se ubica en el orificio indicado en verde, de modo que queda situado entre ellas. 60 El sensor de luz se coloca en la posición indicada en rojo, alejado de las farolas, de modo que la luz de estas no interfiera en su funcionamiento. El sensor de luz se puede distinguir por el componente electrónico marrón. Ver imagen inferior: El sensor de temperatura se coloca en la posición indicada en verde. El sensor de temperatura se puede distinguir por el componente electrónico negro. Ver imagen inferior: 61 Farolas Las farolas pueden ubicarse en cualquiera de los orificios indicados en la imagen. El proceso de montaje de las farolas es el siguiente: 1. Insertar la primera farola. 62 2. Conectar del extremo miniUSB del cable a la farola (por la parte inferior del tablero). 3. Conexión del cable por el extremo USB a la tarjeta controladora. IMPORTANTE: la farola solo puede ir conectada al conector CON3/I2C de la tarjeta. 4. Conexión del conector USB de la primera farola al conector miniUSB de la segunda farola. 2º 1º 5. La conexión de la tercera farola se realiza de forma análoga a lo explicado anteriormente. Se enchufa al conector USB de la base de la segunda farola. De forma parecida, la cuarta farola se conectaría al conector USB de la base de la tercera farola. 63 Las conexiones de sensores y actuadores quedarían de la siguiente forma: Elemento Puerto de la tarjeta controladora Barrera CON1 Sensor de presencia 1 (farolas) CON2 Farolas CON3 / I2C Sensor de presencia 2 (cruce) CON4 Sensor de luz / Sensor de temperatura CON5 Túnel El túnel se coloca sobre los orificios correspondientes indicados en la siguiente imagen. 64 Estrechamiento Las barreras del estrechamiento se pueden colocar en cualquier zona a lo largo del circuito. No obstante, la detección del estrechamiento es mejor en la zona indicada en la siguiente imagen: Señales de tráfico Las señales de tráfico pueden situarse en cualquier parte del circuito. Sin embargo, conviene colocarlas en zonas concretas (la señal de “Encender las luces” a la entrada del túnel, la señal de “Estrechamiento” antes del estrechamiento, etc.). 65 mOway Board Una vez conectados todos los dispositivos a los puertos de entrada de la tarjeta controladora (CON1, CON2, CON3, etc.), la tarjeta se conecta al ordenador por medio de un cable USB – miniUSB. En algunas ocasiones y dependiendo del PC conectado puede ser necesario conectar adicionalmente el segundo puerto USB /tipo B al PC especialmente si observamos que la barrera no se mueve como debería. Smart City Scratch Para comunicar mOway Smart City y Scratch es necesario lanzar la aplicación “SmartCity Scratch” que hace de intérprete entre ambos programas. 66 Es importante asegurarse de que la aplicación está en el mismo idioma que se va a programar el Scratch (en este caso, español). Language – Spanish(Español) Seleccionar el puerto COM correspondiente a la tarjeta controladora. Normalmente, solo aparece el conectado a la tarjeta. 67 Pulsar el botón “Programar” y esperar unos segundos hasta que aparezca el mensaje “Descarga completada”. A continuación abrir la carpeta de proyectos de Scratch para mOway Smart City. 68 Abrir la carpeta “Spanish” y abrir el programa “control_es.sb”. Volver a la ventana de la aplicación “SmartCity Scratch” y pulsar el botón “Conectar”. Si la conexión entre mOway Smart City y Scratch es correcta las flecha se unirán en color verde. 69 9. Anexo II: listado de comandos Comando Descripción Las farolas actualizan su estado en función de las variables farola y poste Las farolas se apagan independientemente del estado de las variables La barrera se mueva a la posición indicada por la variable barrera