Índice 6 8
1
Conoce tu libro Ciudades inteligentes
24 26 28 32 36
2
38 40 42 46 50
Mantener limpia una ciudad inteligente
3
52 54 56 60 64
4
66 68 70 74 78
Introducción Pensamiento computacional Robótica Programación Proyecto integrador
23
Introducción Pensamiento computacional Robótica Programación Proyecto integrador
37
Introducción Pensamiento computacional Robótica Programación Proyecto integrador
Transitar una ciudad inteligente
Señalizar una ciudad inteligente
Iluminar una ciudad inteligente
51
Introducción Pensamiento computacional Robótica Programación Proyecto integrador
65
5
80
Estacionar en una ciudad inteligente
92
Introducción Pensamiento computacional Robótica Programación Proyecto integrador
93
Cierre del libro
82 84 88
79
Conoce tu libro
Inicio de capítulo
Historieta
Pregunta disparadora
Introducción Introducción
¿Sabías qué? Temas relacionados con lo que se trabaja en el capítulo
Actividad introductoria
Investiga Para investigar
Pensamiento computacional
Presentación de bloques Idea clave
Presenta un proyecto para cargar en la plataforma “Animaciones”
Contenido importante Ejemplo
6
Actividad
Robótica
Video
Presentación de componente
Video para conocer más a fondo el componente presentado
Componentes necesarios y conexión
Ejemplos en lo cotidiano
Bloques de programación
Momento maker Experimentación con el componente
QR para acceder a la guía de armado
Actividad
Programación Presentación del desafío y contenido de programación
Actividades
Presentación de componente secundario
Proyecto integrador
Con el kit
Actividades para programar y cargar en la placa
Para pensar un poco más
Ideas y preguntas para profundizar en un contenido
7
0
Ciudades inteligentes
¡Hola! ¡Bienvenidos a bordo de este proyecto! Mi nombre es Susan. Junto con mis amigos formamos SmartTEAM. Yo soy Tati. Participaremos de un certamen de ciudadanos inteligentes, ¿les gustaría acompañarnos?
Me llamo Eli. ¡Anímense! Nos espera un camino lleno de grandes desafíos que iremos resolviendo... ¡juntos!
8
pero antes... ¿saben qué es una ciudad inteligente? ¿y un ciudadano inteligente? Tendremos que aprender a constr... Ah, perdón, me olvidé de presentarme. Mi nombre es Artur.
¿Están listos? Yo soy Milo... Si los cálculos no me fallan, ahora que nos acompañan, ¡nos divertiremos y aprenderemos el doble! Pero antes de comenzar conoceremos algunos conceptos que serán útiles para todo el camino. ¡Adelante!
9
Ciudades inteligentes ¿Cómo se transforma un dispositivo en “inteligente”?
¿Qué significa agregar “inteligencia”?
En este último tiempo, nos hemos acostumbrado a llamar “inteligentes” a ciertos objetos o sistemas programados que simulan una capacidad muy propia del ser humano: el análisis del contexto y la toma de decisiones.
Ciudades... ¿inteligentes? Cuando hablamos de dispositivos inteligentes, solemos enfocarnos en aquellos que utilizamos individualmente, como por ejemplo celulares, tabletas o televisores. Pero además del uso individual, en el ámbito social las ciudades están incluyendo cada vez más las tecnologías, la robótica y la programación para convertirse en ciudades inteligentes. Bajo esta denominación nos referimos a sociedades que usan dispositivos interconectados, las TIC y la robótica para: ●● ●● ●● ●● ●●
Mejorar la calidad de vida y la eficiencia de los servicios. Sumar seguridad vial y en espacios públicos. Colaborar con el cuidado del medioambiente. Brindar información siempre actualizada. Garantizar la accesibilidad y la autonomía de todas las personas.
Ciudadanos inteligentes Además de dispositivos inteligentes, para transformar nuestro entorno hacen falta ciudadanos inteligentes, que estén dispuestos a promover una cultura de cuidado de nuestra casa común. En este recorrido que comenzamos, aprenderemos a utilizar la robótica y la programación para servir a este gran propósito. 10
Introducción
Sistemas inteligentes Cuando hablamos de sistemas inteligentes, nos referimos a aquellos que pueden leer variables del entorno, tomar decisiones y ejecutar acciones a partir del procesamiento de la información recibida. Para esto, los sistemas utilizan una placa controladora y diversos sensores y actuadores. Para comprender mejor cómo funcionan, podemos compararlos con el mecanismo del cuerpo humano.
Cerebro: placa controladora Ojos y oídos: sensores Alimentación: batería Manos y pies: actuadores
Sensores Son componentes de entrada. Esto quiere decir que detectan variables del entorno y las transforman en señales eléctricas que se envían a la placa para que esta las procese. Funcionan como nuestros cinco sentidos: son capaces de percibir si hay o no luz, si se produce un sonido o a cuánta distancia está un objeto, por ejemplo.
Placa controladora Se encarga de procesar los datos que recibe de los sensores y de tomar decisiones según la interpretación de esa información. Es como el cerebro del dispositivo, ya que da las órdenes a todos los componentes para que funcionen.
Actuadores Son componentes de salida. Esto quiere decir que son capaces de generar un efecto sobre el entorno o, como su nombre lo indica, de actuar sobre él: realizar un movimiento, encender una luz, calefaccionar un espacio, según lo que ordene la placa. En comparación con nuestro cuerpo, serían como las piernas, las manos, la voz.
Batería Es la fuente de energía del sistema. Cuando se agota, hay que recargarla. Es como el alimento para el ser humano.
A lo largo del libro crearemos nuestros propios sistemas inteligentes con un kit de robótica. Conozcamos cuáles son sus componentes.
11
¿Qué contiene el kit?
¿Qué contiene el kit? Placa controladora Aquí es donde se almacenan nuestros programas y desde donde se envían señales a los diferentes actuadores para que ejecuten las acciones previstas. Es también la encargada de interpretar la información del entorno, que llega a través de los sensores. Estas son sus partes:
C13
0
Bluetooth 4.0
1
2 C4
R13
C2 C3 C11
Encendido C8
PQ2 C9
R14
C10
Led
U3
R7
RP2
D16
Rx
P6
R16
R19
PQ3
Q1
C12 R12 R1
U6
R25
Bhoot v 1.0
Tx F1
Y2
Zumbador
C7 PQ1 L1
3
R5
U4
U5 C1 R20
R21
Zumbador
Resetear
Son actuadores integrados que se pueden programar en diversos colores.
R27
Luces LED RGB
R22
U2
Es un actuador integrado capaz de emitir sonidos.
Encender Alimentación
Conexión a la PC La placa se conecta a la PC mediante un cable USB.
Pines
Conector de batería La batería alimenta de energía a la placa a través de esta ficha.
Son los puertos de conexión para sensores y actuadores. Cada pin está identificado por uno o varios colores, que indican qué componentes es posible conectar allí. Cada componente puede conectarse en un pin que incluya su color.
Tipos de señales
12
Señal digital Trabaja en valores binarios (0 y 1). Debido a esto, solo puede tomar dos estados posibles: encendido o apagado.
Señal analógica Trabaja en valores continuos, por lo que permite medir un intervalo de valores. Se utiliza únicamente para los sensores analógicos.
Señal PWM Modifica el ciclo de una señal digital y de este modo posibilita una variación de voltaje. Se utiliza para trabajar una señal analógica de salida.
Señal especial doble Se utiliza para los componentes que requieren dos señales digitales.
Señal especial triple Se utiliza para los componentes que requieren tres señales digitales o analógicas.
Señal IIC Utiliza un protocolo de comunicación serial que permite transferir información entre dos dispositivos digitales.
¿Qué contiene el kit?
Componentes electrónicos Nuestro kit posee diversos sensores y actuadores, que se conectan a la placa mediante cables de conexión. Conozcamos los componentes que utilizaremos en los próximos capítulos.
Sensores Se pueden clasificar en digitales y analógicos, según la forma en que procesan la información y el tipo de señal que entregan a la placa.
Sensores digitales Muchos sensores digitales pueden entregar solo dos valores: 0 (apagado) y 1 (encendido).
Sensor de obstáculos
Sensor pulsador
Utiliza un emisor y un receptor de luz infrarroja para detectar objetos que están delante. Se conecta a un pin digital.
Detecta la presión de un dedo. También se lo llama “botón pulsador”. Se conecta a un pin digital.
Sensor óptico Utiliza un emisor y un receptor de luz infrarroja para detectar a una corta distancia objetos blancos y negros. Se conecta a un pin digital.
Hay algunos sensores digitales que pueden entregar un rango de valores. En este libro, solo utilizaremos el sensor de ultrasonido.
Sensor de ultrasonido Utiliza ondas de ultrasonido para medir la distancia a un objeto en un rango que va de 0 a 200 centímetros. Se conecta a un pin especial doble.
13
¿Qué contiene el kit?
Sensores analógicos Los analógicos pueden entregar un valor dentro de un rango. En este libro, solamente utilizaremos el sensor de luz.
Sensor de luz Posee un elemento fotosensible que le permite al sensor detectar cambios en la intensidad luminosa y generar una señal analógica en un rango de valores que va de 0 a 1023. Se conecta a un pin analógico.
Calibrar sensor El sensor de obstáculo y el sensor óptico poseen un potenciómetro que regula la intensidad de luz emitida. Cuanto mayor es la intensidad de luz emitida, mayor es la sensibilidad del sensor para detectar la presencia de un objeto. Para ajustar el potenciómetro, utilizaremos un destornillador.
Actuadores En la plataforma de programación, se encuentran separados en tres categorías: “Salidas”, “Pantallas” y “Motores”. Los actuadores integrados en la placa (zumbador y luces LED RGB) están incluidos en la categoría “Salidas”.
Motores Servomotor Puede producir un movimiento rotatorio y tomar una posición estable en un ángulo específico. Tiene un rango de apertura que va de 0 a 180 grados. Se conecta a un pin digital.
14
¿Qué contiene el kit?
Salidas LED blanco Está compuesto por un diodo emisor de luz y permite regular la intensidad luminosa con una señal de tipo PWM. Se puede conectar a un pin digital o a un pin PWM.
Módulo LED RGB Está compuesto por seis luces LED RGB que permiten obtener una gran variedad de tonos mediante la combinación de los tres colores primarios de la luz: verde, rojo y azul. Se conecta a un pin digital.
Pantallas Pantalla LCD Es un dispositivo que permite visualizar información en forma de texto. Se conecta a un pin IIC.
Matriz LED 8 x 8 Permite realizar figuras simples sobre una grilla de 8 x 8 LED, encendiendo y apagando cada uno de forma independiente. Se conecta a un pin IIC.
Los sensores y actuadores utilizan distintos tipos de señales para compartir información con la placa controladora. Los pines de la placa pueden tener más de un color, lo cual indica su compatibilidad con diversos tipos de señales.
15
Animaciones Pensamiento Computacional
Plataforma Animaciones Animaciones es una plataforma de programación gráfica que nos permite crear proyectos interactivos. La utilizaremos para programar simulaciones de proyectos vinculados con las temáticas que se abordan en los capítulos. Dentro del entorno, podremos agregar o diseñar distintos fondos u objetos, y programarlos para que se muevan e interactúen entre sí.
Estructura de Animaciones
Sonidos del objeto
Iniciar programa
Detener programa Distibución del escenario
Disfraces del objeto Escenario
Pantalla completa
Código en bloques
Propiedades del objeto
Categorías de bloques Acercar
Entorno de programación del objeto
Fondo
Alejar Tamaño predeterminado
Agregar fondo Objetos
Agregar objetos
Categorías de bloques
16
Movimiento
Bloques que permiten mover y rotar el objeto.
Apariencia
Bloques que permiten cambiar los disfraces del objeto.
Sonido
Bloques que permiten reproducir los sonidos del objeto.
Eventos
Bloques que se disparan según un evento externo.
Control
Bloques que permiten controlar la estructura del programa.
Sensores
Bloques que permiten comunicarse con el entorno.
Operadores
Bloques que permiten realizar operaciones lógicas y matemáticas.
Variables
Bloques para crear y modificar variables.
Mis bloques
Bloques personalizados por el usuario.
Animaciones
Objetos En la plataforma Animaciones podemos incorporar objetos prediseñados desde nuestra biblioteca para programarlos. Podemos agregarlos haciendo clic en el botón “Elegir un objeto”.
Subir objeto Agregar objeto al azar Crear objeto Elegir de la biblioteca
Disfraces Cada objeto posee diferentes disfraces, es decir, imágenes en las que se mantiene el objeto pero con algunos cambios. Para crear un disfraz debemos ir a la pestaña “Disfraces”. Al hacer esto, la pantalla mostrará un nuevo espacio de trabajo con las siguientes herramientas:
Propiedades
Panel de ajuste del disfraz
Disfraces (al hacer clic derecho sobre uno, podemos duplicarlo)
Agregar disfraz
Herramientas gráficas para modificar el disfraz Zoom
Modo de trabajo
Disfraz
En Animaciones vamos a trabajar con proyectos prediseñados, que podremos encontrar en Archivo > Abrir > SmartTEAM. Hay uno para cada capítulo.
17
Animaciones
Explorar Animaciones Conozcamos un poco más en detalle algunas categorías de la plataforma Animaciones que utilizaremos con frecuencia.
Eventos Los bloques de esta categoría se utilizan para programar la ejecución de una serie de acciones a partir de un evento. Al leer los bloques, podemos identificar fácilmente qué evento debe suceder. Algunas opciones podrían ser “al recibir mensaje” o “al presionar la flecha arriba”.
Movimiento Cada objeto se ubica en una determinada posición (x; y) en el escenario. Los valores que pueden tomar estas coordenadas van de +240 a -240 en x, y de +180 a -180 en y. Con los bloques de esta categoría podemos modificar esa posición de diversas maneras.
Control Los bloques aquí incluidos dan estructura al programa. Definen condiciones, tiempos y lazos de repetición para la secuencia de instrucciones.
Apariencia Los bloques de “Apariencia” permiten modificar el disfraz del objeto y aplicarle efectos. Por ejemplo, hacer que diga algo, cambiar su color o el fondo.
Ejemplo En este ejemplo, se pueden ver bloques de todas
al hacer clic en
las categorías explicadas anteriormente.
por siempre mover
10
¿Se animan a agregar un objeto y armar este programa en la plataforma?
pasos
siguiente disfraz decir
18
¡Hola!
durante
2
segundos
Robots
Robots Los componentes del kit se programan en un entorno de programación llamado Bloques , que se encuentra dentro de la plataforma Robots . Este espacio posee las siguientes herramientas:
Opciones
Zoom
Programa principal
Centrar Deshacer Rehacer Código generado Configuración
Categorías de bloques
Cargar el programa
Estado del plugin
Placa conectada
Funciones
Creación de bloques que funcionan como miniprogramas.
Control
Control de tiempos y decisiones en los programas (por ejemplo, condicionales).
Lógica
Realización de operaciones para evaluar condicionales y comparar valores.
Matemáticas
Ejecución de operaciones matemáticas (por ejemplo, sumar, restar, dividir, mapear).
Variables
Creación, declaración y modificación de variables.
Texto
Creación, modificación y combinación de textos.
Comunicación
Comunicación entre la placa con otros dispositivos para enviar o recibir información.
Entradas
Lectura del estado de los sensores. Se clasifican en analógicas y digitales.
Salidas
Activación de los componentes del robot (por ejemplo, luces LED y zumbador).
Pantallas
Activación de pantallas (matriz LED o pantalla LCD).
Motores
Activación y control del funcionamiento de los motores y las ruedas.
19
Programación
Aprender a programar Para programar los componentes, es necesario comprender algunos conceptos centrales.
Estructura “Inicio-Repetir”
Control
Todos los programas parten de una estructura básica que consta de dos partes: “Inicio” y “Repetir”.
Inicio
Se ejecuta una sola vez, al inicio del programa.
Repetir
Se ejecuta una y otra vez luego de las instrucciones indicadas en “Inicio”.
Control
Repetir “n” veces Este bloque permite repetir una o más instrucciones una cantidad de veces determinada. Su uso nos evita tener que escribir varias veces el conjunto de instrucciones que incluimos en “Repetir”. Esto facilita la lectura del programa y nos ahorra tiempo al momento de armarlo.
Inicio
Repetir hacer
10
veces
Matriz 8 x 8
Esperar [ms] Matriz 8 x 8
Al encender la placa, se repetirá diez veces el parpadeo de la imagen. Como el programa está en “Inicio”, luego de las diez repeticiones, la matriz quedará apagada.
Esperar [ms]
Repetir
20
IIC
1000 IIC
1000
Programación
Estructura condicional y sensores El uso de condicionales con sensores nos permite ejecutar instrucciones a partir de eventos que suceden en el entorno: cuando se presiona un botón, cuando hay mayor intensidad de luz o cuando cambia la temperatura. La estructura condicional consta de dos partes: una condición y una o varias acciones. El condicional evalúa las opciones del sensor (en el ejemplo del programa, si el táctil está presionado o no) y, en función de la respuesta, se ejecuta una acción u otra. También es posible contraponer dos o más condiciones. En ese caso, hay que agregar una opción “si no”, como en el ejemplo. Condición: Si el botón táctil está presionado, si
| TÁCTIL en el pin
0
es
=
a
Control
ir
, entonces
1
Acción: acción 1
entonces, realizar acción 1.
si no
Entradas digitales
Si no, realizar acción 2.
acción 2
Comparación de valores Los condicionales pueden incluir múltiples condiciones. Esto significa que, para que se ejecute una acción, se debe cumplir una combinación de estas. Para incluirlas, se debe agregar el bloque de condiciones múltiples ubicado en la categoría “Lógica”. Lógica
Condiciones: Si el nivel de “luz” es mayor a 200 y menor a 500 Inicio
Repetir | LUZ en el pin
0
es
>
a
200
y
Realizar acción 1.
| LUZ en el pin
0
es
<
a
500
, entonces
Entradas analógicas
si
21
Programación
Variable Una variable es una etiqueta que almacena un valor. Para que funcione hay que “declararla”, es decir, asignarle un nombre y tipo. En este libro, por ejemplo, usaremos un tipo especial de variables llamado global. Cada variable recibe un valor inicial (por eso habitualmente se declara en “Inicio”) y luego se utiliza dentro del programa. Durante su ejecución, el valor de la variable puede ir cambiando.
Crear una variable
Variables
Desde la pestaña “Variables”, hacer clic en el botón “Crear variables”, elegir un nombre y presionar “Crear”. Al crear la variable, se desplegarán los bloques asociados a ella.
Declarar variable GLOBAL
Var
Nombre
Nombre
22
Nombre
de tipo
Entero
=
Asociar un valor a la variable.
Utilizar el valor de la variable.
0
Declarar la variable.
Pensamiento Computacional
1
Señalizar una ciudad inteligente
El día antes del certamen Necesito descansar... La jornada ha sido agotadora. Antes podríamos cenar juntos.
STEAM
Unas calles después…
!
¡Piii
¡pi
pii
¡Uhh!
¡pipii!
¡piii!
!
¡piii!
¡Una buena señalización nos habría permitido evitarlo!
¿Qué habrá pasado?
zzz... ¡¿Cómo nadie nos advirtió de este embotellamiento?!
¿Cómo puede ayudarnos la tecnología a mejorar el sistema de señalización de la ciudad? 23
Señalización inteligente
Señalización inteligente, movilidad eficiente Los sistemas de señalización en las ciudades tienen el propósito de brindar información para facilitar la circulación, mejorar la seguridad y favorecer el bienestar de los ciudadanos. A diferencia de las señales estáticas, que muestran una sola información y de manera fija, existen otras señalizaciones llamadas “dinámicas”, que se actualizan todo el tiempo y permiten brindar información más precisa y eficiente. Por medio de sensores, cámaras y otros sistemas de detección, las ciudades recogen grandes cantidades de datos que se utilizan luego para gestionar la movilidad en la ciudad. Esto posibilita, por ejemplo, que: ●● si hay un accidente o una emergencia natural en un camino, se propongan cambios de ruta o cerrar los accesos que conducen allí; ●● si hay demasiada circulación en una calle, se prohíba estacionar en un determinado horario. En este capítulo elaboraremos un proyecto para generar este tipo de señalizaciones.
Barrio inteligente
¿Sabías qué?
En la ciudad de Toronto, Canadá, Google está construyendo un barrio inteligente en el que los bordes de las aceras son dinámicos y lumínicos: permiten cambiar el tamaño de las veredas y las calles según las necesidades del tráfico. Los límites serán marcados con un sistema de iluminación flexible en el suelo.
24
Introducción
1. Entre todos, analicen la siguiente infografía y respondan: a. ¿Qué grupos de personas creen que son los más vulnerables al momento de transitar la ciudad? b. ¿Qué señales de tránsito o modificaciones urbanas benefician la seguridad de los peatones? c. ¿Creen que se tienen en cuenta las condiciones de motricidad o discapacidad de las personas para facilitar sus traslados?
PEATONES PEATONES
Pirámide de la jerarquía de la movilidad urbana Prioriza los modos de transporte que dañan menos al medioambiente y que promueven la equidad y el beneficio social.
CIC CICLIS LISTA TASS
TTRRA AN NSSPPO ORRTTEE PÚ PÚBBLI LICCO O
TTRRA ANNSSP PO ORRTTE E
AU TO S
ARRGGAA DDEE CCA
SS MMOOTTOO
2. Escaneen el QR para ver un video sobre diseño universal en Málaga y respondan: a. ¿Por qué creen que Málaga es una ciudad accesible para todos? b. ¿Qué señalizaciones inteligentes encontraron en el video? c. ¿Qué espacios de su escuela creen que podrían ser más accesibles? logosqr.com/st7p25
Investiga 1. Busca información y responde: a. ¿Qué obstáculos enfrentamos actualmente como peatones en nuestra movilidad urbana? b. ¿Existe alguna calle insegura por falla o falta de señalización vial en tu camino a la escuela? 2. Redacta una propuesta creativa de señalización inteligente que pueda ayudar a resolver algún problema de tu ciudad.
25
Pensamiento computacional
Ciclovías dinámicas Eli diseñó una simulación para analizar el problema de la movilidad de vehículos y bicicletas en la ciudad. Para ponerla en funcionamiento, deberán crear una secuencia de instrucciones y aprender a programar los siguientes bloques.
deslizar en
Control
Apariencia
Movimiento
deslizar en
ir a x: ir a x:
1 1
300 300
por siempre
segs a x:
y: y:
siguiente disfraz
segs a x:
-81 -81
-280 -280
y: y:
Desliza el objeto hasta la posición (x; y) definida en el tiempo indicado
-81 -81
Permite ubicar el objeto en una posición específica del escenario
!
Idea clave
Permite cambiar al siguiente disfraz del personaje
El escenario de Animaciones utiliza un sistema de coordenadas que va de 240 a -240 en el eje horizontal, llamado x, y de 180 a -180 en el eje vertical, cuyo nombre es y. Estructura de control que se repite indefinidamente
Ejemplo
Al comenzar este programa, se mostrará uno de los disfraces del objeto “Ciclista” ubicado en la posición que indica el bloque “ir a ...”, que en este caso es (0; 0). Luego el ciclista se desplazará durante cinco segundos hacia la coordenada (-280; 0). Estas dos últimas operaciones se
al hacer clic en siguiente disfraz
repetirán indefinidamente.
por siempre al hacer clic en
Ciclista
ir a x: 0 y: 0 siguiente disfraz deslizar en 5 segs a x: por siempre
26
ir a x:
0
deslizar en
y: 5
-280
y:
0
Ciclista
0 segs a x:
-280
y:
0
Pensamiento computacional
1. Accede a la plataforma Animaciones y carga el programa “LIBRO 7_CICLOVÍAS DINÁMICAS”. 2. Ejecuta el programa en la plataforma y responde las preguntas. a. ¿Qué sucede en el escenario al ejecutar el programa?
b. ¿Cuántos objetos hay programados? c. Analiza la programación de cada objeto. ¿Qué diferencias encuentras entre ellas? ¿Poseen bloques en común? Menciona los bloques que notes que se repiten en todos objetos.
3. Analiza el programa dentro del objeto “Ciclista” y aplica las siguientes modificaciones. a. La siguiente estructura modifica el funcionamiento del programa del ciclista, para que se al hacer clic en desplace indefinidamente por el escenario alternando los disfraces en cada pasada. Ubica siguiente disfraz
los bloques que faltan en el orden que corresponde. por siempre
ir a x: al hacer clic en
300
y:
-81
siguiente disfraz
por siempre deslizar en
deslizar en
5
5
segs a x:
segs a x:
-280
-280
y:
y: ir -81 a x:
300
y:
-81
-81
Ciclista
Ciclista
b. Modifica la posición y: -81 por y: -64. ¿Qué sucede con el ciclista?
ir a x:
300
deslizar en
y:
-81
5
segs a x:
-280
y:
-81
4. Modifica el tiempo de desplazamiento para que el ciclista circule más rápido. 5. Modifica el fondo para agregar una ciclovía y ajusta la posición y del ciclista para que circule por ella.
27
Robótica
La matriz LED Las matrices LED son, como su nombre lo indica, matrices de diodos LED, disponibles en una gran variedad de formatos y colores. Su diseño permite representar símbolos, letras e íconos. La matriz con la que trabajaremos se compone de una grilla de 8 x 8 LED (en total, 64 LED) de color rojo.
En una matriz, cada LED está ubicado en una intersección entre una fila y una columna, de modo que al darle energía a esa intersección, el LED que ocupa ese espacio se enciende.
Columna
Fila
1
2
3
+ 4
8 LED
8 LED 5
6
7
8
Se conecta a un pin IIC
1 2 3 4 5 6 7
Video Miren el video y respondan: • ¿Cómo funciona? • ¿Para qué sirve? • ¿Dónde se utiliza?
8
Ejemplos en lo cotidiano
28
Señalización vial
Ambientaciones
Se utiliza para realizar señalizaciones dinámicas en la vía pública. Estas permiten actualizar fácilmente indicaciones o señales de alarma según el estado del tránsito y la ruta.
Se utilizan para realizar ambientaciones en diversos eventos. El control independiente de cada LED y la gran variedad de colores que puede utilizarse posibilitan generar diferentes climas en los espacios.
Robótica
Programa de experimentación Armen el siguiente programa en Robots funcionamiento de la matriz.
y realicen los siguientes ejercicios para probar el
Inicio
Repetir
Matriz 8 x 8
IIC
1. Modifiquen la imagen de la matriz utilizando: a. Las formas predeterminadas. b. El editor de imágenes.
Esperar [ms] Matriz 8 x 8
Esperar [ms]
1000 IIC
2. Modifiquen el tiempo de espera de 1000 a 500 milisegundos. ¿Cómo responde la matriz?
1000
3. Eliminen los bloques de espera. ¿Qué sucede? 4. Encierra con un círculo la opción correcta. En este programa, el bloque “Esperar” permite: a.
Controlar la duración de la imagen proyectada en la matriz
b.
Ejecutar el programa más despacio
5. Eliminen el bloque de la matriz vacía (sin dibujo). ¿Qué sucede? ¿Por qué?
6. Agreguen un dibujo en el bloque “Matriz” vacío procurando que combine con la imagen existente. 7. Conversen entre todos sobre las conclusiones de la experimentación. a. ¿Qué aprendieron en esta experiencia? b. ¿Qué dificultades se les presentaron? ¿Cómo las solucionaron? 30
Robótica
Momento maker ¡Es hora de trabajar con el kit! Realizaremos nuestro propio sistema de señalización y avisos dinámicos en dos partes. En primer lugar, utilizaremos la matriz LED para indicar el sentido de circulación en un carril. Luego, agregaremos una pantalla LCD para mostrar la velocidad máxima permitida para circular. 1. Escaneen el QR para ver el paso a paso del armado.
Componentes necesarios PC Placa controladora Cable USB Cables de conexión Matriz LED (pin IIC) Pantalla LCD (pin IIC)
logosqr.com/st7p31
El sustrato puede ser tierra, arena, café, entre otros.
En el segundo desafío, tendremos que agregar el siguiente componente:
Pantalla LCD
PIN IIC
Actuador
Función: mostrar mensajes
Pantallas
31
Programación
Carriles reversibles En este primer desafío construiremos un sistema de carriles reversibles para agilizar el tránsito en las grandes avenidas de la ciudad. Programaremos la matriz LED para que muestre una flecha o una cruz según el sentido que queramos que tenga el carril. Para programarla, tendremos que utilizar una estructura de repetición.
D1
STEA
M
Estructura de repetición Inicio
Repetir
Control
hacer
10
Definir cantidad de veces que se repiten las instrucciones.
veces
acción 1 acción 2
Idea clave Instrucciones que se repiten.
Ejemplo
Inicio
Repetir hacer
10
Matriz 8 x 8
Matriz 8 x 8
Esperar [ms]
32
Con la estructura “Repetir ‘n’ cantidad de veces” es posible optimizar un programa para evitar la escritura sucesiva de varias instrucciones iguales.
veces
Esperar [ms]
Repetir
!
IIC
1000 IIC
1000
Al encender la placa, se repetirá diez veces el parpadeo de la imagen. Como el programa está en “Inicio”, luego de las diez repeticiones la matriz quedará apagada.
Programación
Nuestro sistema funcionará de la siguiente manera: Durante diez segundos, la matriz LED mostrará que el carril está habilitado. Luego, mostrará durante cinco segundos un aviso de cambio de carril. Finalmente, cerrará el carril diez segundos. 1. Completa el siguiente esquema de funcionamiento con los datos de la consigna. Habilitar carril
Esperar
Cambiar de carril
Esperar
[ms]
Cerrar carril
[ms]
Esperar
[ms]
2. Analiza los siguientes programas y describe cómo piensas que funcionará cada uno. a
b
Repetir
a Inicio
Inicio
Matriz 8 x 8
IIC
Repetir
Matriz 8 x 8
IIC
Esperar [ms]
Matriz 8 x 8
10000 IIC
Esperar [ms] Repetir hacer
5
10000 veces
Matriz 8 x 8
IIC
Esperar [ms] Matriz 8 x 8
Esperar [ms]
IIC
Matriz 8 x 8
1000 IIC
Esperar [ms]
b
5000
10000
Esperar [ms]
Matriz 8 x 8
1000
IIC
Esperar [ms]
10000
Con el kit 3. Armen los programas en Robots , cárguenlos en la placa y respondan: a. ¿Se comportan como habían previsto?
sí
no
b. ¿Qué diferencias encuentran entre ambos? 4. Indiquen cuánto tiempo se muestra el cambio de carril en el programa del punto 2b. 5. Modifiquen el tiempo de duración del cambio de carril a siete segundos.
33
Programación
Aviso de velocidad
D2
Hemos logrado optimizar el tránsito creando carriles reversibles en las avenidas de ingreso y egreso de la ciudad. En este desafío incorporaremos una pantalla que nos permita mostrar avisos importantes, como la velocidad máxima permitida o la información sobre el cambio de carril. Para esto, tendremos que incorporar y programar una pantalla LCD. Bloques para programar pantalla LCD | Escribir
“ abc ”
en la fila
0
Pantallas
en la fila 0 | Escribir “ abc ” Texto Número | Borrar textos del LCD
| Borrar textos del LCD
y columna
0
del LCD en el pin IIC
y columna
Número de columna
0
del LCD en el pin IIC
de fila
Borrar mensajes
Idea clave
!
En una pantalla LCD, cada carácter ocupa un casillero (también los espacios), y no se admite el uso de tildes o símbolos especiales. Antes de mostrar un mensaje nuevo, es importante limpiar la pantalla con el bloque “Borrar textos”.
16 columnas 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 filas
Pin de conexión
0 1
Ejemplo La pantalla LCD muestra el mensaje “BIENVENIDO” por tres segundos, luego cambia el mensaje a “PANTALLA ACTIVA”. Inicio
| Borrar textos del LCD
| Escribir
Esperar [ms]
Repetir
en la fila
0
y columna
0
del LCD en el pin IIC
3000
| Borrar textos del LCD
| Escribir
34
BIENVENIDO
PANTALLA ACTIVA
en la fila
0
y columna
0
del LCD en el pin IIC
Programación
1. Analiza los siguientes bloques y escribe los mensajes en la pantalla LCD. | Escribir " VELOCIDAD MAXIMA " | Escribir " 80 km/h "
en la fila
1
| Escribir " CAMBIE AL CARRIL " | Escribir " A SU DERECHA "
en la fila
0
y columna
en la fila
en la fila
1
0
y columna 5
0
del LCD en el pin
del LCD en el pin
y columna y columna
2
0
IIC
IIC
del LCD en el pin del LCD en el pin
IIC
IIC
2. A partir del programa del desafío 1, indica dónde ubicarías los bloques de la pantalla LCD. a
Inicio
| Borrar textos del LCD
Repetir Matriz 8 x 8
A
IIC
| Escribir
" CAMBIE AL CARRIL "
| Escribir
" A SU DERECHA "
en la fila
en la fila
0
1
y columna
y columna
2
0
del LCD en el pin
del LCD en el pin
IIC
IIC
Esperar [ms] Repetir
5
b
10000 veces
| Borrar textos del LCD
hacer Matriz 8 x 8
IIC
| Escribir
" VELOCIDAD MAXIMA "
| Escribir
" 80 km/h "
en la fila
1
en la fila
0
y columna
y columna
5
0
del LCD en el pin
del LCD en el pin
IIC
IIC
Esperar [ms] Matriz 8 x 8
500
¿Cuál de las dos estructuras hay que incluir dos veces?
IIC
Esperar [ms]
Matriz 8 x 8
500
IIC
Esperar [ms]
10000
Con el kit
3. Armen el programa anterior en Robots y cárguenlo a la placa. ¿En qué momento se muestra cada mensaje? 4. Modifiquen el programa para que muestre el mensaje “VELOCIDAD MÁXIMA 80 KM/H” cuando el carril está cerrado. ¿En qué parte del programa deben colocarlo? 5. Expliquen por qué es necesario escribir el mensaje “VELOCIDAD MÁXIMA 80 KM/H” dos veces. 35
Proyecto integrador
Elige tu propio desafío Eli tiene tres ideas para mejorar la señalización de la ciudad. Seleccionen un desafío. Luego, armen una maqueta y programen el sistema para resolverlo.
Configurar el tiempo de habilitación de un carril a un minuto.
Programar el dispositivo para que muestre un mensaje de precaución en la pantalla LCD.
5.000 puntos
7.500 puntos
TIPS DE AYUDA
Incorporar un botón pulsador para cambiar manualmente el sentido del carril.
10.000 puntos
Puntaje obtenido
●● Utilicen los programas desarrollados en el capítulo como base para resolver el desafío elegido. ●● Compartan ideas con sus compañeros de equipo para definir el mejor modo de resolver el desafío. ●● En caso de tener que agregar un nuevo componente, definan el pin al que se conectará y utilicen el pin correspondiente en el programa. ●● Para resolver el desafío de cambio de carril será necesario utilizar una estructura condicional.
36 STEAM