3R y
Inteligencia artificial Internet de las cosas Desarrollo móvil
MUESTRA
omputación obótica
Computación física Programación textual Robótica
y, además,
Desarrollo web Datos masivos Seguridad
os que den mputación y robótic co de as m ste si r crea do real. idear, planificar y nexión con el mun Retos y tareas para as a problem en co
solución
Sumario 8
CREACIÓN DE CONTENIDOS
DESCUBRE…
BQ Educación (Educación y Robótica, S.L.)
1
Empresa experta en el desarrollo de contenidos, productos (físicos y digitales) y soluciones de educación tecnológica, especialmente relacionados con el STEAM, las competencias digitales y el pensamiento computacional.
INTELIGENCIA AR
INTELIGENCIA ARTIFICIAL E INTERNET DE LAS COSAS
1.1. Introducción
1.2. Aprendizaje a
1.3. Ética y respo de IA
1.4. Ejemplos de a
1.5. Teachable Ma
1.6. Machine learn
2
INTERNET DE LAS 2.1. Definición
2.2. Protocolos de
Vivimos en una era donde la tecnología no para de evolucionar y sorprendernos, consiguiendo grandes avances que hacen más fácil la vida cotidiana. Dos de estas tecnologías que parecen estar destinadas a cambiar el mundo tal y como lo conocemos, y que en los últimos años han dado pasos de gigante, son la inteligencia artificial y el Internet de las cosas.
2.3. Qué es la nub
2.4. Sensores IoT
2.5. Placa micro:b
2.6. Elementos pr
La IA impulsa la automatización de tareas repetitivas y el análisis de datos a una velocidad y precisión nunca antes vista. Por otro lado, el IoT conecta dispositivos y sensores en una red inteligente, optimizando muchos procesos y haciéndolos más sencillos y controlables, mejorando la calidad de vida, impulsando la sostenibilidad y transformando la sociedad en una más interconectada y avanzada.
3
DESARROLLO MÓ
Dentro de esta evolución, el desarrollo móvil juega un gran papel, por ejemplo con el uso de aplicaciones para controlar el IoT.
3.1. Introducción a
Sigue leyendo y descubre el mundo de la IA, el IoT y el desarrollo móvil para explorar y descubrir todo lo que pueden ofrecer estas tecnologías.
3.2. Programar co 3.3. Aplicaciones
8
12 INTELIGENCIA ARTIFICIAL
¿QUÉ HAS APRENDIDO?
30 INTERNET DE LAS COSAS
52
41 DESARROLLO MÓVIL
PRODUCTO FINAL
54-61
HERRAMIENTAS
DE APRENDIZAJE
EN
NUESTRA
WEB
ODS Compromiso ODS, actividades y vídeos que te ayudarán a conocer cuáles son las metas para alcanzar los Objetivos de Desarrollo Sostenible trabajadas en el proyecto.
Desarrollo del pensamiento, donde se incorporan explicaciones sobre cómo aplicar las distintas estrategias de pensamiento planteadas en el proyecto.
LOS BLOQUES
AL FINALIZAR
Con este libro te adentrarás en algunos de los grandes temas de la computación y la robótica, los ocho temas tratados están agrupados en tres grandes bloques.
Al finalizar cada bloque, encontrarás una serie de actividades y tareas dirigidas e integradas para poner en práctica los contenidos y completar con éxito el producto final.
Los textos van acompañados de numerosas actividades, ejemplos resueltos y prácticas guiadas que te guiarán para conocer y practicar lo que necesitas de cada tema.
Realizando estas tareas, ya sea en grupo o de forma individual, podrás trabajar el pensamiento crítico, la resolución de problemas, el debate en el aula y las competencias específicas del área.
62
98
…
DESCUBRE…
RTIFICIAL
automático
onsabilidad en el uso
aplicaciones
achine
ning for kids
COMPUTACIÓN FÍSICA, N Ó I C A M A R G O R P TEXTUAL Y ROBÓTICA APLICA...
1
DE
3
, B E W O L L O R R A S DE Y S O V I S A M S O T A D D A D I R U G E S R E B I C
COMPUTACIÓN FÍSICA
ROBÓTICA
1
3.1. Introducción
D
3.2. Robots industriales
1.1. Introducción
3.3. Robótica con Python
1.2. Sistemas de computación
1.1
1.2
1.3. Los microcontroladores
1.3
1.4. Hardware
1.4
1.5. Software
1.5
1.6. Seguridad eléctrica
1.6
¿QUÉ HAS APRENDIDO? PROYECTO ODS
Y además, en anayaeducacion.es…
• ENLACE AL DOCUMENTO DIRECTRICES ÉTICAS PARA UNA IA FIABLE • ENLACE A CHATGPT
El valor de los datos y la seguridad
• ENLACES DE QUICK, DRAW!
• ENLACES A EMOJI SCAVENGER HUNT
S COSAS
• VIDEOJUEGO MAKECODE JUEGO DE EJEMPLO
2
• ENLACES A SECCIÓN DE JUEGOS DE MAKECODE • VIDEOTUTORIAL PRIMEROS PASOS CON MAKECODE
e comunicación
• ENLACES A PÁGINAS WEB CON BANCOS DE IMÁGENES, SONIDOS Y VÍDEO GRATUITOS
be
T
bit V2
rogramables
ÓVIL
a Bitbloq Apps
on Bitbloq Apps móviles IoT
• VIDEOTUTORIAL PRIMEROS PASOS CON BITBLOQ APPS Cada vez tenemos más sistemas informáticos nuestro alrededor que nos permiten unir • VIDEOTUTORIAL IOT CON BITBLOQ a APPS nuestro mundo con elAdigital. importancia en la sociedad actual es innegable, ya que • ENLACE MORALSu MACHINE hay muchas •cosas que no podríamos hacer sin su ayuda o nos llevaría más tiempo y esENLACES A THINGS TRANSLATOR fuerzo. Desde la administración y la educación hasta la medicina y el entretenimiento, Recursos para realizar el proyecto ODS: estos sistemas transforman la manera en que interactuamos con nuestro entorno. • ENLACES A PÁGINAS WEB DE REFERENCIA La programación desempeña un papel fundamental en la computación física, ya que es • ENLACES A HERRAMIENTAS PARA ORGANIZAR la herramientaLLUVIAS que permite la creación del software que controla los componentes elecDE IDEAS trónicos y mecánicos sistemas. A través de la programación, se define cómo • ENLACESde A estos HERRAMIENTAS PARA CREAR capturan datos del mundoDE real los dispositivos, cómo procesan información y ejecutan DIAGRAMAS FLUJO las acciones•que necesitamos. EJEMPLO DE MEJORA DE SISTEMA DE ENERGÍA RENOVABLE Da un paso más en la programación de estos sistemas iniciándote en el mundo de la • ENLACES A HERRAMIENTAS PARA CREAR programación textual y descubre sus diferentes aplicaciones. PRESENTACIONES
62
Cada vez que visitamos una página web, descargamos una imagen o indicamos que nos gusta una publicación de una red social, estamos generando datos. En el mundo en el que vivimos, la cantidad de datos que se generan diariamente es impresionante y no para de ¿QUÉ HAS APRENDIDO? crecer.
2
APLICA...
D
PROYECTO ODS La necesidad de almacenar y analizar esta gran cantidad de datos PROGRAMACIÓN TEXTUAL
2.
2.1. Introducción a los lenguajes de organizaciones y empresas. texto con MakeCode
2.
2.
para obtener información valiosa es cada vez más importante para
Y además, en anayaeducacion.es… Conocer qué le gusta a los clientes, modificar sus páginas y sitios
2.2. Introducción a Python SITIO WEBde OFICIAL PYTHON web acorde a esos gustos para llamar la •atención todo elDE públi-
co y personalizar su contenido, son algunas de las razones por las Recursos para realizar que el big data cada vez es más importante, a la vez que aumenta el proyecto ODS: la importancia de la ciberseguridad para• mantenernos a salvo WEB del DE REFERENCIA ENLACES A PÁGINAS robo de datos, malwares, robo de identidad y otros peligros del uso • ENLACES A HERRAMIENTAS PARA ORGANIZAR inseguro de Internet. LLUVIAS DE IDEAS
3
S
• ENLACES A HERRAMIENTAS PARA CREAR ¿Y tú? ¿Sabes cuántos datos generas usando Internet? ¿Los mantieDIAGRAMAS DE FLUJO nes a salvo? ¿Te gustaría aprender a personalizar una web? • EJEMPLO ROBOT EDUCATIVO Sigue leyendo y descubre cómo hacerlo. • ENLACES A HERRAMIENTAS PARA EDITAR VÍDEOS ONLINE
9
98
63
66 COMPUTACIÓN FÍSICA
¿QUÉ HAS APRENDIDO?
102 DESARROLLO WEB
¿QUÉ HAS APRENDIDO?
69 PROGRAMACIÓN TEXTUAL
86
118 DATOS MASIVOS
138
83 ROBÓTICA
PRODUCTO FINAL
136 SEGURIDAD
PRODUCTO FINAL
88-97
140-146 Mundo app 148
Plan Lingüístico, con infografías que te darán las pautas para abordar el trabajo por medio de distintos tipos de textos (descriptivo, narrativo, expositivo, etc.).
Orientación académica y profesional, con información sobre diferentes profesiones vinculadas a los contenidos tratados en la asignatura.
TIC, mediante fichas que reforzarán tu uso saludable, correcto y seguro de las tecnologías de la información y la comunicación.
3
3
3
A I C N E G I INTEL E L A I C I F ARTI E D T E N INTER S A S O C S LA Vivimos en una era donde la tecnología no para de evolucionar y sorprendernos, consiguiendo grandes avances que hacen más fácil la vida cotidiana. Dos de estas tecnologías que parecen estar destinadas a cambiar el mundo tal y como lo conocemos, y que en los últimos años han dado pasos de gigante, son la inteligencia artificial y el Internet de las cosas. La IA impulsa la automatización de tareas repetitivas y el análisis de datos a una velocidad y precisión nunca antes vista. Por otro lado, el IoT conecta dispositivos y sensores en una red inteligente, optimizando muchos procesos y haciéndolos más sencillos y controlables, mejorando la calidad de vida, impulsando la sostenibilidad y transformando la sociedad en una más interconectada y avanzada. Dentro de esta evolución, el desarrollo móvil juega un gran papel, por ejemplo con el uso de aplicaciones para controlar el IoT. Sigue leyendo y descubre el mundo de la IA, el IoT y el desarrollo móvil para explorar y descubrir todo lo que pueden ofrecer estas tecnologías.
8
DESCUBRE…
1 INTELIGENCIA ARTIFICIAL 1.1. Introducción 1.2. Aprendizaje automático 1.3. Ética y responsabilidad en el uso de IA 1.4. Ejemplos de aplicaciones 1.5. Teachable Machine 1.6. Machine learning for kids
APLICA... ¿QUÉ HAS APRENDIDO? PROYECTO ODS
Y además, en anayaeducacion.es…
2 INTERNET DE LAS COSAS 2.1. Definición 2.2. Protocolos de comunicación 2.3. Qué es la nube
• ENLACE AL DOCUMENTO DIRECTRICES ÉTICAS PARA UNA IA FIABLE • ENLACE A CHATGPT • ENLACES DE QUICK, DRAW! • ENLACES A EMOJI SCAVENGER HUNT • VIDEOJUEGO MAKECODE JUEGO DE EJEMPLO • ENLACES A SECCIÓN DE JUEGOS DE MAKECODE • VIDEOTUTORIAL PRIMEROS PASOS CON MAKECODE • ENLACES A PÁGINAS WEB CON BANCOS DE IMÁGENES, SONIDOS Y VÍDEO GRATUITOS
2.4. Sensores IoT
• VIDEOTUTORIAL PRIMEROS PASOS CON BITBLOQ APPS
2.5. Placa micro:bit V2
• VIDEOTUTORIAL IOT CON BITBLOQ APPS
2.6. Elementos programables
• ENLACE A MORAL MACHINE • ENLACES A THINGS TRANSLATOR
Recursos para realizar el proyecto ODS:
3 DESARROLLO MÓVIL
• ENLACES A PÁGINAS WEB DE REFERENCIA • ENLACES A HERRAMIENTAS PARA ORGANIZAR LLUVIAS DE IDEAS • ENLACES A HERRAMIENTAS PARA CREAR DIAGRAMAS DE FLUJO
3.1. Introducción a Bitbloq Apps
• EJEMPLO DE MEJORA DE SISTEMA DE ENERGÍA RENOVABLE
3.2. Programar con Bitbloq Apps
• ENLACES A HERRAMIENTAS PARA CREAR PRESENTACIONES
3.3. Aplicaciones móviles IoT
9
SITUACIÓN DE APRENDIZAJE
TECNOLOGÍA Y PRODUCCIÓN AGRÍCOLA INTRODUCCIÓN Hoy en día es difícil imaginar ir al mercado y no encontrar naranjas, tomates, cebollas, etc. Las grandes empresas alimentarias proveen al mundo desarrollado de todo lo que necesitamos (y más) con una gran seguridad, gracias en gran parte a la tecnología de la que dispone.
Sin embargo, muchos de los alimentos que consumimos provienen de pequeñas granjas con muy pocos medios tecnológicos y a su vez, con muchos problemas derivados del cambio climático. Invertir en pequeños agricultores hombres y mujeres es una forma importante de aumentar la seguridad alimentaria, así como la producción de alimentos para los mercados locales y mundiales. La ONG Electrocultura, que trabaja para el cumplimiento de los Objetivos de Desarrollo Sostenible, nos ha pedido que les ayudemos a crear un proyecto que incluya Internet de las cosas e inteligencia artificial para ayudar a estas personas a mejorar su producción agrícola.
Los Objetivos de Desarrollo Sostenible (ODS) son 17 objetivos establecidos en 2015 por la Organización de Naciones Unidas, diseñados para conseguir un futuro sostenible para todas las personas.
10
S D O
Los requisitos que nos piden son:
· Que ayude a cumplir alguna de las metas vinculadas a la agricultura del objetivo de desarrollo sostenible número 2, Hambre cero.
· Que les muestre información sobre el estado de sus
A continuación, puedes encontrar todos los conocimientos necesarios para resolver este problema, además de aprender a utilizar herramientas que podrás aplicar para ello.
cultivos y les permita interactuar de alguna forma desde sus dispositivos móviles.
· Que sea capaz de analizar imágenes mediante IA. · Que incluya una maqueta o ejemplo lo más real posible de su funcionamiento.
Según las Naciones Unidas, desde el año 1900, alrededor del 75% de la diversidad agrícola ha desaparecido de los campos de los agricultores y agricultoras.
11
1 INTELIGENCIA ARTIFICIAL 1.1. INTRODUCCIÓN
La inteligencia artificial (IA) es un área de la computación que trata de crear sistemas capaces de imitar los procesos cognitivos realizados por las personas y poder llevar a cabo tareas que, sin estas técnicas, las máquinas no podrían hacer, como por ejemplo, razonar y tomar decisiones «inteligentes». Estos sistemas también pueden denominarse agentes inteligentes. En los últimos años, la IA ha experimentado un rápido desarrollo, con aplicaciones en diversas áreas, como la medicina, la industria, el transporte y los servicios. En la actualidad, se encuentra en una fase de madurez, con sistemas que son capaces de realizar tareas complejas con un alto grado de precisión. Por ejemplo, los sistemas de IA se utilizan para diagnosticar enfermedades, dirigir vehículos autónomos y crear imágenes. Sin embargo, aún existen retos que deben ser superados para que alcance su pleno potencial. Uno de los principales retos es el desarrollo de sistemas capaces de entender el contexto y la intención detrás de las decisiones que toman. Otro reto es el desarrollo de sistemas que sean fiables y seguros. A pesar de los retos, la IA tiene el potencial de transformar la sociedad de forma significativa. También puede ayudarnos a resolver problemas complejos, mejorar nuestra productividad y crear nuevas oportunidades. En los próximos años, es probable que siga desarrollándose a un ritmo acelerado, con un impacto cada vez mayor en nuestras vidas.
1.2. APRENDIZAJE AUTOMÁTICO Las inteligencias artificiales basadas en el aprendizaje automático, también conocido como machine learning, están diseñadas para adquirir conocimiento a través de una fase de entrenamiento en la que se presentan ejemplos de la tarea que deben realizar. Estos sistemas se pueden categorizar en tres tipos según su método de aprendizaje: aprendizaje supervisado, no supervisado y aprendizaje reforzado. En concreto, el aprendizaje por refuerzo es un sistema en el que un agente aprende a tomar decisiones en un entorno a través de la experiencia. A medida que el agente interactúa con el entorno, aprende a tomar decisiones. Los dos principales retos de este sistema radican en la dificultad de diseñar agentes que aprendan a tomar decisiones en entornos complejos y en la lentitud del proceso, ya que el agente necesita interactuar con el entorno muchas veces para aprender a tomar decisiones óptimas. Se utiliza en una amplia gama de aplicaciones, como juegos, robótica, finanzas y logística. 12
1.3. ÉTICA Y RESPONSABILIDAD EN EL USO DE IA
COMPRENDE, PIENSA, INVESTIGA…
1. ¿Cuáles son los benefi-
cios y desafíos de la IA en la sociedad actual?
«Un gran poder conlleva una gran responsabilidad». Esta frase tiene más sentido que nunca, refiriéndose a una herramienta con un potencial tan alto para cambiar el mundo en el que vivimos actualmente.
2. ¿Qué papel desempeña
Aunque están creadas y diseñadas para ayudar a las personas con sus tareas, un uso incorrecto o poco ético de esta tecnología podría tener consecuencias, como por ejemplo:
3. ¿Cómo pueden los go-
· Robo de identidad: los sistemas de IA pueden utilizarse para robar informa-
ción personal, para realizar compras fraudulentas, acceder a cuentas bancarias y suplantar la identidad de las víctimas.
· Fraude: estos sistemas pueden utilizarse para cometer fraudes, como el envío de correos electrónicos de phishing o la creación de sitios web falsos.
· Discriminación: los sistemas de IA sesgados pueden discriminar a los usua-
rios en función de su raza, género, religión u otros factores. Por ejemplo, un sistema utilizado para aprobar préstamos podría discriminar a solicitantes de ciertas minorías.
· Manipulación: estos sistemas pueden utilizarse para manipular a las personas,
como a través de la propaganda o la creación de noticias falsas. Esta manipulación puede utilizarse para influir en las opiniones políticas o las decisiones de compra.
· Pérdida de privacidad: los sistemas de IA pueden recopilar y utilizar grandes cantidades de datos personales. Estos datos pueden utilizarse para rastrear a los usuarios y usuarias, crear perfiles detallados sobre ellos o incluso predecir su comportamiento.
Por ello, la Comisión Europea publicó en 2019 el documento Directrices éticas para una IA fiable, basado en la Carta de los Derechos Fundamentales de la Unión Europea, que recoge los derechos de los que disponemos los ciudadanos y las ciudadanas de la Unión Europea y que deben ser respetados por todas las personas y entidades.
la transparencia en el desarrollo de sistemas de IA éticos? biernos y las entidades regular el uso de la IA de manera ética? Investiga si ha habido algún caso.
4. ¿Cómo crees que la IA podría transformar la investigación médica en el futuro y cuáles son los desafíos éticos asociados?
5. Busca un ejemplo de una aplicación real del aprendizaje por refuerzo en la vida cotidiana.
6. ¿Cómo actuarías si fue-
ras un coche autónomo? Visita anayaeducacion.es para encontrar el enlace a Moral Machine y responde a las preguntas que plantea sobre ciertas situaciones en las que una inteligencia artificial tendría que decidir cómo producir el menor daño.
Algunos de los puntos clave que establece este documento respecto al comportamiento de las inteligencias artificiales y los derechos humanos son:
· Que deben respetar la dignidad humana sin menospreciar a las personas y evitar que estas sean objeto de represión.
· Que no deben entrometerse en las decisiones de las personas ni intentar
ENCUENTRA EL ENLACE AL DOCUMENTO DIRECTRICES ÉTICAS PARA UNA IA FIABLE EN anayaeducacion.es.
alterarlas. Las personas deben ser libres en su toma de decisiones.
· Los procesos que llevan a cabo deben ser lo más transparentes posibles para que las personas que los usan puedan entenderlos y confiar en ellos.
· Deben asegurar la igualdad y la no discriminación entre personas.
13
1.4. EJEMPLOS DE APLICACIONES CHATBOTS Los chatbots son programas informáticos diseñados para interactuar con humanos mediante texto o voz. Son programados o entrenados para contestar preguntas específicas con determinadas respuestas o para realizar pequeñas tareas en función de las instrucciones que les demos. Los chatbots se pueden clasificar en dos tipos:
· Los basados en reglas, que siguen un conjunto de instrucciones predefinidas, por lo que no hay aprendizaje (no generan nuevas respuestas ni llevan a cabo funciones que no hayan sido programadas previamente).
La tecnología de los chatbots se remonta a los años 60. ELIZA, un programa diseñado por el MIT, es considerado el primer bot conversacional, ya que interpretaba el lenguaje natural y respondía a palabras clave introducidas por el usuario o usuaria.
· Los basados en aprendizaje automático, capaces de aprender y mejorar con el tiempo.
Es posible encontrar chatbots integrados en numerosas páginas web y aplicaciones, por ejemplo, para hacer ciertas consultas, reservar una mesa en un restaurante, una habitación de hotel, etc. Son una herramienta efectiva para ahorrar tiempo y costes (ya que, al automatizar estos servicios, puede suplir con ciertas limitaciones, a una persona).
COMPRENDE, PIENSA, INVESTIGA…
7. Los dispositivos móviles suelen tener incorporado un asistente virtual que actúa como un chatbot con numerosas capas de inteligencia artificial. Investiga sobre cada uno de ellos y rellena la tabla: Empresa
Nombre del asistente Siri
Amazon Bixby Microsoft
8. Busca en Internet alguna página web que disponga de un chatbot de ayuda y pruébalo.
14
CHATGPT ChatGPT es un sistema de chatbot con inteligencia artificial muy desarrollado, capaz de responder a casi cualquier pregunta. Está basado en una inteligencia artificial modelada para el lenguaje, entrenada con una gran cantidad de datos y orientada a poder mantener una conversación de forma natural.
¿Sabías que el código de ChatGPT está escrito usando el lenguaje Python?
ChatGPT emplea para su aprendizaje técnicas tanto supervisadas como de refuerzo y la compañía que la ha desarrollado se llama OpenAI. La lista de cosas que se le puede pedir a ChatGPT es inmensa, y muchas personas creativas descubren cada semana más usos. Es posible pedirle que te recomiende una película parecida a otra, que te diga recetas que usen los ingredientes que tienes en la nevera, que te planifique un viaje, etc. Sin embargo, hay que tener en cuenta que detrás del chatbot hay una inteligencia artificial en constante aprendizaje, lo que significa que muchas veces cometerá errores y, por tanto, se debe contrastar toda la información que ofrece.
Uno de los usos más potentes de ChatGPT es su capacidad de encontrar errores en el código de un programa que estés diseñando o incluso sugerir mejoras y ayudarte a programar.
RECONOCIMIENTO DE IMÁGENES El reconocimiento de imágenes es una aplicación común de la inteligencia artificial que permite a las computadoras analizar imágenes y extraer información útil a partir de ellas. Su funcionamiento en este campo se basa en algoritmos de aprendizaje automático, en particular en las técnicas de aprendizaje profundo, que utilizan redes neuronales para aprender a reconocer patrones en las imágenes. Esta tecnología aplicada al reconocimiento de imágenes tiene numerosos usos en la vida cotidiana, como la identificación de rostros en fotos y vídeos, el reconocimiento de placas de matrícula de automóviles, el análisis de imágenes médicas para detectar enfermedades, la detección de objetos en imágenes de vigilancia, etc. En el ámbito industrial, el reconocimiento de imágenes se emplea para inspeccionar productos y mejorar la calidad de la producción. Las empresas pueden usar algoritmos de reconocimiento de imágenes para identificar problemas en los productos o en la línea de producción y corregirlas rápidamente.
ENCUENTRA EL ENLACE A CHATGPT EN anayaeducacion.es.
COMPRENDE, PIENSA, INVESTIGA…
9.
Diseña, junto a ChatGPT, el guion de una película cuanto más extravagante mejor. Puedes pedirle que añada personajes conocidos dentro de la trama, escenarios, objetos, etc.
10. Pide a ChatGPT que te redacte algunas pre-
guntas y respuestas de tipo «Trivial», comprueba si las respuestas son correctas y organiza un juego de preguntas con tus compañeros y compañeras.
11. Entra en anayaeducacion.es, busca el enlace
de Quick, Draw! y pruébalo. Se trata de un minijuego en el que una inteligencia artificial de reconocimiento de imagen tratará de adivinar tu dibujo.
12. Entra en anayaeducacion.es, busca el enlace
de Emoji Scavenger Hunt y pruébalo. En este juego, tendrás que buscar un objeto que se parezca al emoji que te aparece en pantalla y enseñarlo a la cámara. Se trata de un divertido uso del reconocimiento de imágenes.
15
Alicia Asín es una experta española en inteligencia artificial, IoT y big data. Es directora y cofundadora de Libelium, una empresa que tiene como objetivo crear ciudades inteligentes y proyectos de IoT que se puedan poner en funcionamiento en un corto periodo de tiempo tras la ideación. Libelium integra la inteligencia artificial con sus sistemas para conseguir el objetivo de crear sistemas inteligentes que sirvan para construir una sociedad sostenible y en la que se toman decisiones basadas en datos.
INTELIGENCIA ARTIFICIAL EN VIDEOJUEGOS En el mundo de los videojuegos hay multitud de ejemplos de programaciones, generalmente de lo que se denominan personajes no jugadores, cuya ejecución depende de cómo se comporte la persona que esté jugando. El equipo contrario en un partido de fútbol defenderá su portería o tratará de marcar gol, el ejército enemigo te atacará o defenderá su posición, los fantasmas del Pac-Man te perseguirán o huirán de ti… Pero para que haya verdadera inteligencia artificial detrás, estos personajes deben ser capaces de tomar decisiones por su cuenta, interpretar lo que está pasando o incluso improvisar. La inteligencia artificial es un aspecto muy importante en el mundo de los videojuegos, llegando incluso a ser el motivo principal por el que unos pueden resultar aburridos o divertidos, pero a día de hoy, son pocos los que implementan verdadero aprendizaje automático que les haga capaces de aprender en cada partida de la forma de actuar de su contrincante; este tipo de aprendizaje les permite ajustar el nivel de dificultad o escenario en cada partida haciéndolas mucho más interesantes.. Por otra parte, desde el punto de vista del diseño de videojuegos, los desarrolladores también emplean inteligencia artificial para, por ejemplo:
· Reconocimiento de imágenes para crear animaciones realistas para los personajes.
· Detección de voz para que la persona jugadora interactúe con el videojuego mediante el lenguaje oral.
· Generación de imágenes para la creación de entornos y escenarios realistas.
PONTE A PRUEBA
El ayuntamiento de tu localidad organiza un interesante evento sobre inteligencia artificial y videojuegos. Dado que estáis trabajando sobre este tema, tu profesora os anima a participar con un póster que muestre cómo se implementa la inteligencia artificial en los videojuegos. Estas son las condiciones para presentarlo en el evento:
COMPRENDE, PIENSA, INVESTIGA…
13. Investiga y explica en qué consiste el videojuego AI Dungeon.
16
· Que tenga un título motivador. · Debe incluir el nombre de los autores y autoras, así como del centro. · Que muestre, al menos, un análisis de la implementación de esta tecnología en un videojuego.
· Debe contener esquemas o figuras que expliquen brevemente su funcionamiento.
1.5. TEACHEABLE MACHINE INTRODUCCIÓN Y TIPOS DE PROYECTOS Teachable Machine es una herramienta web creada por Google, que permite entrenar modelos de inteligencia artificial de una forma sencilla: recopilando ejemplos de lo que queremos que aprenda, realizando un entrenamiento y probando su funcionamiento. Desde su página web https://teachablemachine.withgoogle.com, es posible crear un nuevo proyecto sin necesidad de crear una cuenta. Para ello, hay que pulsar el botón de Primeros pasos.
Teachable Machine funciona sin cuentas de usuario por lo que el proyecto no se guarda si cierras la página. Para evitar perder tu proyecto, asegúrate de guardarlo en tu ordenador o en Google Drive. Esto también significa que todas las imágenes, sonidos o posturas que utilizas para crear tus proyectos no salen de tu dispositivo, salvo que compartas el archivo, lo cual ayuda enormemente a mejorar tu privacidad en la red.
Tras ello, hay que elegir uno de los tres tipos de proyectos:
· Proyecto de imágenes: el cual permite reconocer elementos en una ima-
gen. Para ello, es necesario efectuar un entrenamiento previo con muchas imágenes del elemento en cuestión.
· Proyecto de audio: con el que es posible reconocer diferentes sonidos y categorizarlos. Para llevar a cabo el entrenamiento, es necesario grabar varias muestras del sonido específico, así como muestras del ruido ambiente.
En inteligencia artificial, un modelo es un algoritmo o conjunto de ecuaciones, diseñado para realizar una tarea concreta.
· Proyecto de posturas: puede reconocer diferentes posturas de una persona
y categorizarlas. Para el entrenamiento, es posible usar imágenes de personas o grabar las posturas con una cámara web.
Si un modelo no ha sido entrenado, este se compone de ecuaciones que no están completas. Tienen forma pero aún no se conocen los valores de sus coeficientes y términos independientes, por lo tanto, aún no es capaz de hacer nada. Si un modelo ya ha sido entrenado, se puede considerar que está completo y, por lo tanto, se conocen todos los coeficientes y términos independientes. Esto quiere decir que puede realizar la tarea para la que ha sido creado.
17
Independientemente del tipo de proyecto que se seleccione, la siguiente pantalla muestra estas tres partes: 1. Clases: donde se definen las categorías que va a reconocer y se añaden muestras representativas, ya sean imágenes, sonidos o posturas. Por defecto aparecen dos, pero se pueden añadir las que se deseen. 2. Preparación: donde se lleva a cabo el entrenamiento y se obtiene el modelo capaz de reconocer las categorías. 3. Vista previa: donde, una vez efectuado el entrenamiento, se puede probar el modelo y, si se desea, compartirlo. Cuando se elige el tipo de proyecto, se pueden ver en pantalla tres secciones que corresponden a los tres pasos antes mencionados. 1
2
Puedes guardar y abrir un proyecto pulsando sobre las tres rayas horizontales de la esquina. También podrás ver más información sobre la web e incluso ver unos vídeos explicativos de los pasos para modelar una inteligencia artificial.
3
Como la dinámica es muy similar en los tres tipos, tomamos de ejemplo cómo realizar un proyecto de imagen.
PROYECTO DE IMAGEN Los proyectos de imagen permiten entrenar modelos capaces de distinguir si una imagen pertenece a una u otra categoría. Por ejemplo, se puede crear un modelo que diga de qué raza es un perro, qué tipo de árbol es el de una imagen o casi cualquier categoría que se te ocurra. Cuando se selecciona un proyecto de imagen, Teachable Machine pregunta qué tipo de proyecto de imagen se quiere crear, un Modelo de imagen estándar o un Modelo de imagen insertada. Hay que elegir el primero, puesto que el segundo está orientado a proyectos más avanzados que usan una placa controladora.
18
El siguiente paso es definir las categorías o clases que va a reconocer. Para ello, hay que pulsar sobre el lápiz que aparece al lado de Class 1 y Class 2 (los nombres por defecto de las categorías) y asignarles el nombre que se quiera. Si se necesita una categoría más, hay que pulsar sobre Añadir una clase y renombrarla como se deseé. Ahora viene la parte más importante del proyecto: el entrenamiento. Para cada clase creada hay que aportar imágenes representativas de forma que la inteligencia artificial sea capaz de asociar la categoría con esas imágenes (y con futuras imágenes parecidas que se le enseñen). Como mínimo, Teachable Machine pide una única imagen, pero no es posible llevar a cabo un buen entrenamiento con un solo ejemplo. Es recomendable utilizar como mínimo veinte, pero, cuantas más se usen, mejores resultados se obtendrán.
Usando la cámara web puedes obtener muchas imágenes en poco tiempo, pero solo es útil si quieres que identifique un objeto que tengas físicamente disponible.
Desde los botones que aparecen dentro de cada clase, se pueden añadir imágenes de dos formas:
Para que la obtención de imágenes de esta forma sea más representativa, mueve el objeto por la pantalla, aléjalo, acércalo o dale la vuelta. De esta forma la inteligencia artificial tendrá más diversidad de imágenes de ese objeto.
· Webcam: mediante la cámara web se muestran al dispositivo las imágenes a identificar pulsando en Mantén pulsado para grabar. Teachable Machine empezará a grabar y tomará muestras de vídeo. De esta forma, se obtienen muchas imágenes rápidamente.
· Subir: de esta forma, se pueden seleccionar imágenes desde el dispositivo o importarlas desde una cuenta de Google Drive. Para ello, primero hay que recopilar las imágenes, por ejemplo, haciendo una búsqueda en Internet.
Para borrar una imagen, hay que seleccionarla y pulsar sobre el icono de papelera. Cuando se hayan añadido suficientes imágenes a todas las clases, hay que pulsar sobre Preparar modelo. Es muy importante que, durante la preparación no se cambie de pestaña, ya que se interrumpiría el proceso.
Si lo prefieres, es posible cambiar los ajustes del método de obtención de imágenes por Webcam para que, por ejemplo, empiece a grabar unos segundos después de pulsar el botón. Para ello, hay que pulsar en el engranaje que aparece al lado de Mantén pulsado para grabar.
Cuando Teachable Machine termine de preparar el modelo, se mostrará a la derecha la Vista previa. En ella, es posible probar el funcionamiento en tiempo real del modelo recién entrenado desde la cámara web o cargando imágenes desde nuestro dispositivo. Para seleccionar el método de entrada hay que pulsar sobre el desplegable debajo de la palabra Entrada y seleccionar Webcam o Archivo. 19
Finalmente, debajo de la vista previa, está la sección Salida, donde muestra el resultado de la clasificación. Se pueden ver todas las clases que han sido creadas y un valor de porcentaje que significa cómo de segura está la inteligencia artificial de que la imagen pertenece a esa categoría.
Cuando estés buscando imágenes representativas en Internet, ten en cuenta las siguientes observaciones: · Teachable Machine también analiza el fondo de la imagen así que las imágenes sin fondo serán más representativas. · Busca imágenes cuyo elemento a identificar esté a diferentes tamaños y posiciones. · Teachable Machine va a recortar la imagen para darle forma cuadrada, así que los márgenes de la imagen no son importantes.
Es posible añadir más imágenes y volver a entrenar el modelo si se quiere. Cuando se considere que está bien entrenado, es posible compartirlo fácilmente pulsando Exportar modelo. Dentro de la ventana que aparece, hay que pulsar Subir mi modelo para obtener, un poco más abajo, un enlace para compartir.
· Recuerda que algunas imágenes cuentan con derechos de autor. Utiliza repositorios de imágenes como, por ejemplo, Pixabay para buscar imágenes con una licencia adecuada.
PRÁCTICA GUIADA A la hora de clasificar una imagen, la inteligencia artificial siempre va a intentar reconocerla como una de las clases con que la has entrenado, así que si le enseñas a distinguir entre perros y gatos y le muestras un caballo, tratará de buscar patrones de esas dos clases diciendo, por ejemplo, que la imagen es un 70% perro y 30% gato dado que no conoce otras clasificaciones.
COMPRENDE, PIENSA, INVESTIGA…
14. Analiza las siguientes afirmaciones. ¿Son verdaderas o falsas? ¿Por qué?
· Si entreno una inteligencia artificial capaz
de reconocer a mi gato empleando 200 imágenes suyas, cuando lo comparta por Internet, la gente podrá usarla para reconocer a sus gatos.
· Cuantas más imágenes utilice del mismo objeto, mejor; sobre todo si aparece desde diferentes puntos de vista y tamaños.
· Si creo un proyecto capaz de identificar
¡Hora de cerrar este libro y entrenar tu primera inteligencia artificial! Esta va a ser capaz de reconocer la portada, la contraportada o el libro abierto así que sí, ciérralo, pero antes, lee los siguientes pasos:
1 Elegir Proyecto de imagen y Modelo
de imagen estándar al crear el nuevo proyecto.
2 Crear una clase más y cambiarles de
nombre a «Portada», «Contraportada» y «Libro abierto».
3 Usar la cámara web para tomar fotos de cada una de las clases. Recuerda acercar, alejar y girar cada elemento. Para el libro abierto, usa siempre las mismas páginas del interior.
cuadrados y círculos, y le muestro un triángulo, es posible que Teachable Machine muestre un error de «Clase no encontrada».
4 Pulsar en Preparar modelo cuando
imágenes desde una cámara web, en la vista previa tengo que usar la opción Webcam obligatoriamente para ver qué tal funciona.
5 Comprobar qué tal funciona tu modelo
· Si entreno a una inteligencia artificial con
15. Crea una inteligencia artificial capaz de reco-
nocer cuándo tienes cara alegre o cara triste. ¿Qué tal funciona? ¿Puede detectar la cara alegre o triste de otra persona?
20
Cierra el libro
tengas más de 200 imágenes en cada clase y esperar hasta que termine, sin cambiar de pestaña. en la Vista previa y, en caso de que no funcione bien, aportar más muestras a las clases que no se comporten correctamente.
1.6. MACHINE LEARNING FOR KIDS INTRODUCCIÓN Y TIPOS DE PROYECTO Machine Learning for Kids es una herramienta que permite introducirse en el mundo de la inteligencia artificial a través de experiencias prácticas para entrenar sistemas de aprendizaje automático capaces de identificar:
· Palabras, oraciones o párrafos. · Fotos, diagramas o imágenes. · Conjuntos de números u opciones múltiples. · Voces y sonidos. Además cuenta con un entorno de programación similar a Scratch con el cual es posible crear aplicaciones y juegos que usen los modelos entrenados. Esta plataforma web se puede usar con o sin registro. Al usar la herramienta sin registro solo es posible crear un proyecto y este es temporal. Al registrarte, te permite guardar tantos proyectos como quieras y de manera indefinida, además puedes acceder a ellos desde cualquier ordenador. El registro gratuito solo está disponible para docentes que apunten a su alumnado como parte de colegios, institutos o clubs de programación. Para comenzar a crear proyectos hay que acceder a su página web https:// machinelearningforkids.co.uk/, pulsar en Empezar.
A continuación, elegir si se quiere acceder con o sin registro y pulsar el botón Añadir un nuevo proyecto. Escribir un nombre y seleccionar el tipo de proyecto en el desplegable Reconociendo (texto, imágenes, números o sonidos).
21
PROYECTO DE TEXTO Machine Learning for Kids permite crear proyectos en los que entrenar una inteligencia artificial para clasificar palabras en distintos grupos, por ejemplo, puede identificar si un nombre que le demos, es de persona o de ciudad. Para entrenar a la inteligencia artificial es necesario, primero decidir las categorías en las cuales se van a clasificar las palabras y luego aportar la mayor cantidad de ejemplos posible de cada una de dichas categorías.
PRÁCTICA GUIADA Llamando a cada color por su nombre Entrena tu primera inteligencia artificial con Machine Learning for Kids para que sea capaz de distinguir el nombre de un color del nombre de una persona siguiendo estos pasos:
1 Acceder a Machine Learning for Kids y pulsar el botón Empezar.
2 Pulsar el botón Pruébalo ahora. 3 Usar el botón Añadir un nuevo pro-
Machine Learning for Kids requiere un mínimo de cinco palabras de cada categoría o etiqueta para poder llevar a cabo el proceso de aprendizaje. Sin embargo, como norma general son necesarias más de cinco para que la inteligencia artificial sea capaz de clasificar las palabras correctamente.
yecto para crear un proyecto vacío.
4 Escribir un nombre para el proyecto. 5 Seleccionar texto pulsando sobre la lista desplegable Reconociendo.
6 Pulsar el botón CREAR. 7 En la lista que se muestra, seleccionar el proyecto creado.
8 Comenzar la fase de entrenamiento pulsando el botón Entrenar.
9 Pulsar el botón Añadir etiqueta para
crear la primera categoría de palabras a clasificar: Colores.
10 Repetir el paso anterior para crear la categoría: Nombres.
11 Pulsar el botón Añade un ejemplo de
la categoría Colores y agregar el nombre del primer color.
12 Repetir el paso anterior para añadir,
al menos, 5 ejemplos de nombres de colores.
13 Añadir, al menos, cinco ejemplos de nombres de persona.
14 Pulsar sobre el enlace Volver al pro-
yecto que se encuentra en la esquina superior izquierda.
15 Seleccionar la opción Aprender & Probar pulsando el botón con el mismo nombre.
16 Pulsar el botón Entrena un nuevo modelo para comenzar el entrenamiento. Este proceso puede tardar unos minutos.
Una vez finalizado el proceso de entrenamiento puedes escribir una palabra y probarlo. El modelo va a indicar la etiqueta a la que cree que pertenece y el porcentaje de confianza. 22
COMPRENDE, PIENSA, INVESTIGA…
16. Experimenta con el mo-
delo entrenado en la práctica guiada. a) ¿Qué pasa si introduces una palabra que ha sido usada en el entrenamiento? b) ¿Qué pasa si introduces una palabra de alguna de las categorías pero completamente nueva para el modelo? c) ¿Qué ocurre si introduces una palabra que no es ni un color ni un nombre de persona?
17. Incluye más ejemplos en
ambas categorías y comprueba si mejora su funcionamiento.
18. Añade una nueva cate-
goría al proyecto de la práctica guiada e incluye en ella nombres de ciudades. Luego completa el entrenamiento y prueba su funcionamiento.
23
PRÁCTICA GUIADA Un chatbot con Scratch Usando Machine Learning for Kids puedes crear un chatbot que responda a preguntas sencillas. Sigue estos pasos para crear un chatbot que responda a preguntas sobre ti:
1 Crear un nuevo proyecto de texto y
comenzar la fase de entrenamiento.
2 Pulsar el botón Añadir etiqueta para
crear la primera categoría de frases a clasificar: Numero_favorito.
3 Usar el botón Añade un ejemplo de
la categoría Numero_favorito para añadir formas en la que una persona podría preguntar por tu número favorito: «¿cuál es tu número favorito?» o «¿tienes un número favorito?».
4 Repetir los pasos anteriores para añadir una nueva categoría, por ejemplo, para Hobby preferido.
5 Terminar el proyecto y comenzar el entrenamiento.
Una vez finalizado el proceso de entrenamiento puedes escribir una pregunta y probarlo. Tras probarlo, sigue estos pasos para crear un chatbot en Scratch que use este modelo.
1 Pulsar sobre el enlace Volver al pro-
yecto que se encuentra en la esquina superior izquierda.
2 Seleccionar la opción Crea pulsando el botón con el mismo nombre.
3 Elegir la opción Scratch 3. 4 Pulsar el botón Abrir en Scratch 3. 5 Programar el código adjunto que pida
una pregunta y tras esto evalúe la respuesta usando la inteligencia artificial entrenada.
Pulsa la bandera verde del área de previsualización de Scratch y hazle una pregunta al chatbot.
24
En proyectos sencillos de este tipo, si el porcentaje de confianza es menor que el 40%, el resultado no es representativo, así que es normal que diga cualquier etiqueta. Esto sucede cuando se escribe algo que no tiene que ver con nada de lo anterior. Si al escribir algo relacionado con la etiqueta sigue mostrando un porcentaje menor al 40%, puedes volver atrás y añadir más palabras a esa etiqueta.
PROYECTO DE IMAGEN Con un proyecto de tipo imagen, la inteligencia artificial será capaz de clasificar imágenes en una de las categorías utilizadas durante el entrenamiento.
6 Pulsar el botón Añadir etiqueta para
crear la primera categoría de frutas a clasificar: Manzana.
Tanto al crear las categorías como al probar el proyecto puedes usar imágenes de Internet, dibujos o fotos capturadas con la cámara de tu dispositivo.
PRÁCTICA GUIADA Reconocimiento ¡de frutas!
7 Usa uno de los botones para añadir ejemplos:
a El botón www permite añadir una
imagen encontrada en Internet por medio de su enlace.
b El botón webcam sirve para hacer una foto con la cámara del dispositivo.
c El botón Dibujo ofrece la opción de
realizar un dibujo y adjuntarlo como muestra.
11 Repetir los pasos anteriores para añadir otra categoría: Naranja.
12 Pulsar sobre el enlace Volver al proUna inteligencia artificial entrenada con Machine Learning for Kids puede reconocer frutas si la entrenas utilizando etiquetas para cada fruta e imágenes de ejemplo de ellas. Sigue estos pasos para entrenarla.
yecto que se encuentra en la esquina superior izquierda.
13 Seleccionar la opción Aprender & Probar pulsando el botón con el mismo nombre.
14 Pulsar el botón Entrena un nuevo mode-
1 Pulsar sobre Añadir un nuevo proyec-
lo para comenzar el entrenamiento. Este proceso puede tardar unos minutos.
2 Seleccionar imágenes pulsando sobre
Una vez finalizado el proceso de entrenamiento puedes probar el resultado usando el enlace a una imagen, haciendo una foto con la cámara o dibujando.
to y escribir un nombre.
la lista desplegable Reconociendo.
3 Pulsar el botón CREAR. 4 En la lista que se muestra, seleccionar el proyecto creado.
5 Comenzar la fase de entrenamiento pulsando el botón Entrenar.
Es importante que consideres qué tipo de imagen, foto o dibujo quieres que identifique tu inteligencia artificial y entrenarla siempre con el mismo tipo.
25
Tras probarlo, sigue los siguientes pasos para crear un proyecto en Scratch que use este modelo.
1 Pulsar sobre el enlace Volver al proyecto que se encuentra en la esquina superior izquierda.
2 Seleccionar la opción Crea pulsando el botón con el mismo nombre.
3 Elegir la opción Scratch 3. 4 Pulsar el botón Abrir en Scratch 3. 5 Pulsar el botón Añadir extensión. 6 Buscar la extensión Sensor de vídeo y pulsar sobre ella. 7 Programar que al pulsar el objeto se haga una foto, se guarde como disfraz del objeto y se evalúe qué tipo de fruta es usando el modelo entrenado.
Pulsa la bandera verde del área de previsualización de Scratch y prueba a mostrarle las frutas. Si no dispones de ellas, puedes buscarla en Internet usando otro dispositivo como un smartphone y mostrar la pantalla de este a la cámara.
COMPRENDE, PIENSA, INVESTIGA…
19. Mejora la inteligencia
artificial de la práctica guiada entrenándola para ser capaz de identificar, al menos, tres tipos de frutas diferentes.
20. Usa el modelo del ejer-
cicio anterior para crear un juego en Scratch en el que se le pide al jugador o jugadora que muestre a cámara una de las frutas. Tras mostrarla el juego indica si ha mostrado la correcta o no.
26
PROYECTO DE NÚMEROS Con un proyecto de tipo números es posible predecir resultados a una pregunta, por ejemplo, evaluando la edad de una persona y la distancia desde su casa al instituto, la inteligencia artificial puede predecir si la persona irá andando o en coche. Para que esto sea posible, durante el entrenamiento se le muestran, por ejemplo, datos obtenidos a partir de encuestas a varias personas con: sus edades, las distancias y su elección. Las edades y distancias a sus casas se denominan valores y son los datos numéricos que proporcionamos al modelo para cada una de las personas. La elección, es decir, coche o andando, son las categorías o etiquetas con las que cuenta el modelo.
PRÁCTICA GUIADA ¿Es posible ganar la partida? Puedes entrenar una inteligencia artificial para saber si en un videojuego vas a poder ganar a un oponente. Para poder predecir el resultado, usa ejemplos de combates pasados y entrena la inteligencia artificial usando el nivel de vida y de habilidades que tenían los jugadores o jugadoras antes de comenzar el combate.
1 Pulsar sobre Añadir un nuevo proyecto y escribir un nombre.
2 Seleccionar números pulsando sobre la lista desplegable Reconociendo.
3 Pulsar el botón ADD A VALUE y añadir un valor que la inteligencia artificial deberá tener en cuenta, por ejemplo, el número de vidas. Para ello hay que escribir «Vidas» en el cuadro de texto Value 1* y seleccionar número en la lista Tipo de valor.
4 Pulsar el botón ADD ANOTHER VALUE y añadir:
a «Vidas_malo» para las vidas del oponente.
b «Nivel» para el nivel de habilidad de tu personaje.
c «Nivel_malo» para el nivel de habilidad del oponente.
En el momento de predecir si una persona irá andando o en coche al instituto tendremos que proporcionar al modelo los valores de esa persona.
27
5 Pulsar el botón CREAR. 6 En la lista que se muestra, seleccionar el proyecto creado. 7 Comenzar la fase de entrenamiento pulsando el botón Entrenar.
8 Pulsar el botón Añadir etiqueta para crear la primera categoría de frases a clasificar: Gano.
9 Usar el botón Añade un ejemplo de la categoría Gano para añadir datos de combates en los que has ganado.
10 Repetir los pasos anteriores para añadir una categoría: Pierdo. 11 Pulsar sobre el enlace Volver al proyecto que se encuentra en la esquina superior izquierda.
12 Seleccionar la opción Aprender & Probar pulsando el botón con el mismo nombre.
13 Pulsar el botón Entrena un nuevo modelo para comenzar el entrenamiento. Este proceso puede tardar unos minutos.
Una vez finalizado el proceso de entrenamiento puedes escribir los valores de un nuevo combate y ver la predicción del modelo.
COMPRENDE, PIENSA, INVESTIGA…
21. Usa el modelo entrena-
do en la práctica guiada y programa con Scratch un chatbot que te pregunte por los cuatro valores y muestre la predicción.
22. Entrena un modelo me-
Los valores usados por el modelo pueden ser de tipo numérico o de tipo opción múltiple. La opción múltiple permite usar palabras para introducir datos en el modelo, tanto durante el entrenamiento como al hacer una predicción. Es útil en situaciones en las que hay un número limitado de opciones entre las que elegir, por ejemplo, en el modelo que predice si una persona irá al instituto en coche o andando, puedes introducir un valor llamado cielo que deje elegir entre: nublado, soleado, lloviendo, etc.
28
teorológico que indique si va a llover. Usa como valores el nivel de humedad del ambiente, si está nublado o soleado y la temperatura.
PROYECTO DE SONIDO
PRÁCTICA GUIADA
Los proyectos de sonido permiten clasificar voces y sonidos
¿Chasquido o palmada?
Puedes crear un proyecto de sonido en el cual la inteligencia artificial clasifique, por ejemplo, ruidos de animales, voces de distintas personas, palabras, etc., entrenándola mediante grabaciones de sonido.
Crear una inteligencia artificial capaz de distinguir sonidos con Machine Learning for Kids es muy sencillo. En este ejemplo, vamos a entrenar una que identifique cuándo hacemos un chasquido y cuándo damos una palmada. Sigue estos pasos:
1 Crear un nuevo proyecto de sonidos y comenzar la fase de entrenamiento.
2 Pulsar el botón Añadir etiqueta para crear las categorías de sonido: Chasquido y Palmada.
3 En este tipo de proyecto, aparece por PONTE A PRUEBA
Hay un centro de educación infantil cercano en el que han decidido ofrecer fruta de forma gratuita para todo el alumnado. Aprovechando que los niños y niñas están aprendiendo los nombres de las frutas, han pensado en integrar un sistema inteligente al que el alumnado pueda mostrar la fruta que ha elegido y este reproduzca una locución en la que se escuche el nombre y una melodía divertida. Necesitamos crear un sistema que:
· Reconozca plátanos, manzanas y naranjas. · Muestre en pantalla el nombre de la fruta que se muestra a la cámara.
· Reproduzca una locución en la que se escuche
defecto una etiqueta denominada background noise, que debes completar también con ejemplos de ruido de fondo para que el reconocimiento de sonido funcione correctamente.
4 Usar el botón Añade un ejemplo de la primera categoría, background noise y grabar, al menos, ocho ejemplos de sonido de fondo, pulsando el botón azul con el icono de micrófono.
5 Repetir los pasos anteriores para aña-
dir, al menos, ocho ejemplos de sonido de chasquidos y ocho de palmadas.
6 Terminar el proyecto y comenzar el entrenamiento.
Una vez finalizado el proceso de entrenamiento puedes hacer chasquidos o palmadas y probar su funcionamiento.
el nombre de la fruta mostrada a cámara, seguida de una melodía divertida.
Diseña una solución usando Machine Learning for Kids y su versión de Scratch.
29
2 INTERNET DE LAS COSAS 2.1. DEFINICIÓN
El Internet de las cosas (IoT) se refiere a un conjunto de objetos que están interconectados y tienen la capacidad de intercambiar datos y llevar a cabo procesos utilizando esa información. Por ejemplo, podemos utilizar una aplicación creada con Bitbloq Apps para conectar nuestro dispositivo móvil a la placa micro:bit y realizar multitud de proyectos uniendo estas dos tecnologías.
2.2. PROTOCOLOS DE COMUNICACIÓN Durante la segunda guerra mundial, la actriz de Hollywood Hedy Lamarr, que estudió ingeniería antes de empezar su carrera en el mundo del cine, participó en el departamento de tecnología militar de Estados Unidos creando una tecnología que permitía interceptar las frecuencias de los misiles enemigos. A día de hoy este método se emplea para los sistemas de posicionamiento por satélite, como el GPS, y fue el precursor del wifi.
Los protocolos de comunicación son un conjunto de reglas que definen la forma en que los dispositivos se comunican entre sí. Estos protocolos establecen cómo se formatean, se envían y se reciben los datos. Son esenciales para el funcionamiento de Internet y de las redes informáticas en general. Sin ellos, sería imposible que los dispositivos se comuniquen entre sí y compartan información. Algunos ejemplos de estos protocolos son los siguientes:
· Bluetooth LE (BLE): tecnología de comunicación inalámbrica que permi-
te conectar uno o más dispositivos entre sí para realizar envíos de datos. Se utiliza, también, para controlar o configurar un dispositivo desde un smartphone sin necesidad de que haya una conexión a Internet.
· NFC: es un tipo de conexión de corto alcance creada para intercambiar
datos entre dos dispositivos cercanos. Su radio de acción es de máximo 15 cm, por lo que ambos dispositivos tienen que estar muy próximos. Este tipo de tecnología es la que permite, por ejemplo, pagar con el móvil, detectar la tarjeta de transporte para abrir los tornos, etc.
· Zigbee: se utiliza para interconectar dispositivos inteligentes de bajo consu-
mo. Por ejemplo, son usados en termostatos, bombillas o interruptores que pueden estar en modo inactivo mientras no se necesiten.
· Z-Wave: es un protocolo de comunicación inalámbrica diseñado específica-
mente para la interconexión de dispositivos inteligentes de bajo consumo. Es similar a Zigbee pero con la ventaja de que es capaz de crear una red de malla que puede extenderse fácilmente para cubrir áreas más grandes.
· TCP/IP: este protocolo (Protocolo de Control de Transmisión/Protocolo de
Internet) es el fundamento de Internet y se utiliza para la comunicación de datos en redes de área amplia y local. Permite la transmisión de datos de manera eficiente y confiable, dividiendo la información en paquetes y asegurando su entrega correcta a través de la red.
30
· Wi-Fi: tecnología de transmisión de datos de forma inalámbrica. Su finali-
dad principal es conectar los dispositivos a Internet, pero también puede utilizarse para intercambiar datos entre dispositivos que están conectados a una misma red. La principal ventaja frente a BLE es que permite enviar información a mayor velocidad. Los dispositivos wifi consumen más energía que los BLE por esto solo se usa en dispositivos que están conectados a un enchufe o dispositivos que se tienen que cargar con frecuencia.
COMPRENDE, PIENSA, INVESTIGA…
1. Revisa tu smartphone e
investiga cuáles de los protocolos de conexión vistos tiene. ¿Has utilizado todos? ¿Conocías su uso?
2.3. QUÉ ES LA NUBE La computación en la nube, o simplemente «la nube», se refiere a la tecnología que permite el acceso a servidores a través de Internet, donde se ejecutan aplicaciones y se almacenan datos. Esto es una gran ventaja sobre los servidores tradicionales donde solamente se puede realizar un intercambio de datos. En lugar de gestionar servidores físicos y ejecutar software en dispositivos locales, las personas que los usan y las empresas pueden acceder a recursos informáticos remotos a través de la web. Esto les permite utilizar aplicaciones y acceder a datos desde prácticamente cualquier dispositivo con conexión a Internet. La computación en la nube ofrece ciertas ventajas, como por ejemplo la posibilidad de ejecutar un programa sin tener los requisitos físicos que exige en tu ordenador. A esto se le llama virtualización. Los servicios en la nube se pueden clasificar en varios modelos principales:
· Software como Servicio (SaaS): las aplicaciones se ejecutan en servidores en la nube y los usuarios acceden a ellas a través de Internet. Algunos ejemplos incluyen Salesforce, Gmail y Microsoft Office 365.
· Plataforma como Servicio (PaaS): las empresas utilizan herramientas de de-
sarrollo y recursos de infraestructura en la nube para construir sus propias aplicaciones. Un ejemplo es Microsoft Azure.
Ya existen plataformas que permiten ejecutar videojuegos en la nube. Algunos ejemplos son los servicios de PlayStation Now de Sony o el Game Pass de Microsoft.
· Infraestructura como Servicio (IaaS): las empresas alquilan servidores y almacenamiento en la nube para desarrollar y ejecutar aplicaciones.
· Función como Servicio (FaaS): también conocida como informática sin servidor, descompone las aplicaciones en componentes más pequeños que se ejecutan sólo cuando son necesarios. Esto reduce la carga de gestión de servidores para las empresas.
31
2.4. SENSORES EN IOT Los sensores son una parte fundamental en IoT porque permiten recopilar datos del mundo real. Estos datos pueden utilizarse para una amplia gama de aplicaciones, como la monitorización de la salud, la gestión de la energía o el control de la producción. Algunos ejemplos de sensores más comunes con los que podemos realizar proyectos de IoT son los siguientes:
· Sensores de movimiento o acelerómetro: detectan el movimiento de un objeto.
· Sensores de sonido: miden la intensidad del sonido.
· Sensores de temperatura: miden la temperatura del entorno.
· Sensores de luz: miden la intensidad de la luz. · Sensores magnéticos o brújula: detectan campos magnéticos próximos a un objeto.
· Sensor de humedad: miden el nivel de humedad. · Sensor de proximidad: miden la distancia a la que se
encuentra el objeto o elemento más próximo al sensor.
· Sensor de presión: mide el nivel de presión que se ejerce sobre el sensor.
COMPRENDE, PIENSA, INVESTIGA…
2. Piensa en diferentes sensores con los que te cruzas a diario. Anótalos en tu cuaderno indicando qué tipo de sensor es y dónde se encuentra ubicado.
2.5. PLACA MICRO:BIT V2 PRESENTACIÓN DE LA PLACA MICRO:BIT V2 micro:bit es una placa programable que cuenta con múltiples sensores y actuadores con los cuales interactuar con su entorno como: sensor de temperatura, sensor de luz, botones, matriz LED, micrófono o altavoz.
Botón táctil
Conector micro USB
Matriz LED Antena Bluetooth
Botón reset y encendido Conector para el portapilas
Micrófono
Botón A
Pines de conexión
32
Botón B
Procesador
Sensor de aceleración y campo magnético
Altavoz
INTERFAZ DE MAKECODE Para programar la placa micro:bit vamos a utilizar MakeCode, una herramienta desarrollada por Microsoft que permite programar utilizando lenguaje visual (bloques) pero también de texto (Python o JavaScript). Para crear un proyecto con MakeCode debes acceder a su página web: https://makecode.microbit.org. Con esta herramienta, vas a poder crear proyectos sin necesidad de registrarte, pero con la desventaja de que solo se guardan en el navegador del ordenador que estés usando. Para empezar a crear un programa tienes que hacer clic en Nuevo proyecto, escribir un nombre y pulsar en Crear. La interfaz de MakeCode tiene las siguientes partes: 1. Área de previsualización: zona donde se comprueba el funcionamiento de la programación creada. En la parte inferior de esta pantalla, se encuentran distintos botones que permiten comenzar el programa, resetearlo, ajustar el volumen, ponerlo en pantalla completa, etc.
2. Modos de programación: para seleccionar el lenguaje de programación que se va a utilizar para programar la placa micro:bit: por bloques, Python o JavaScript. 3. Barra de herramientas: para ir a la página principal, compartir o publicar el proyecto, obtener ayuda o configurar el proyecto (cambiar el idioma, eliminarlo, etc.). 4. Bloques de programación: zona en la que se encuentran todos los bloques divididos en categorías. 5. Zona de programación: espacio donde se arrastran los bloques o se escribe el código para crear la programación. Por defecto, aparecen los bloques al iniciar y para siempre de la categoría Básico. 6. Espacio de descarga: tiene el botón Descargar que permite guardar el archivo (.hex) en el ordenador. Se puede descargar en una carpeta del ordenador o bien, conectar la placa y cargarlo directamente. 7. Nombre y opciones de guardado: para modificar el nombre del proyecto y guardar el proyecto en el ordenador o en Github.
2
3
4 1 5
6
7
33
PROGRAMACIÓN CON MAKECODE Para programar en MakeCode, hay que arrastrar los bloques con las instrucciones al espacio de programación y encajarlos entre sí haciendo las combinaciones necesarias para conseguir la programación que queremos. La programación en esta herramienta es por eventos, es decir, la estructura y la ejecución del código se determina por una acción que la desencadena. Pueden ser acciones externas (por ejemplo, pulsar un botón o agitar la placa) o internas (un temporizador, un contador de puntos, etc.). Por lo tanto, para programar vas a necesitar: 1. Programar los eventos que van a iniciar las programaciones. 2. Programar lo que quieres que ocurra cuando tenga lugar cada uno de los eventos.
CARGAR UN PROGRAMA EN LA PLACA El primer paso para cargar un programa en la placa micro:bit es conectarla al ordenador con el cable micro USB. Después, ir a MakeCode, abrir el proyecto creado y utilizar una de las siguientes opciones: 1. Sincronizar la placa con el ordenador: a) Pulsar en los tres puntos situados a la derecha del botón Descargar. b) Seleccionar Connect device y seguir los pasos que van apareciendo en pantalla. c) Hacer clic en Descargar para cargar automáticamente el programa en la placa micro:bit. 2. Guardar el archivo en el ordenador: a) Pulsar en el botón Descargar. b) Seleccionar la carpeta del ordenador donde se quiere descargar y guardarlo. El archivo se descarga en formato .hex. c) Mover o pegar el programa en la carpeta MICROBIT.
34
2.6. ELEMENTOS PROGRAMABLES INTRODUCCIÓN Desde MakeCode podemos programar los elementos principales que están integrados en la placa micro:bit.
MATRIZ LED Es una pantalla compuesta por 25 ledes, que permiten mostrar números, textos o iconos. Dentro de la categoría Básico se encuentran bloques que permiten programar lo que se muestra:
COMPRENDE, PIENSA, INVESTIGA…
3. Entra en anayaeducacion.es
Para mostrar iconos se puede utilizar tanto el bloque mostrar icono, que permite seleccionar uno ya predefinido, o el bloque mostrar LEDs, que da la opción de personalizar el dibujo seleccionando cuáles deben encenderse.
y abre el Juego de ejemplo de MakeCode. Explora su programación para descubrir qué hace y luego carga el proyecto en la micro:bit para comprobar su funcionamiento.
También se pueden mostrar números o cadenas de texto con los bloques mostrar número y mostrar cadena.
4. En anayaeducacion.es bus-
ca el enlace a la sección de juegos de la página web de MakeCode y prueba a seguir los pasos de alguno de los tutoriales.
35
BOTONES La placa micro:bit dispone de tres botones:
· Los botones A y B que pueden programarse para que al pulsarlos se ejecuten distintas acciones.
· El logotipo de la placa, que puede programarse para que se ejecuten acciones cuando se pulse, se toque, se suelte o se mantenga presionado.
Estos elementos suelen funcionar como eventos para que se ejecute una parte del código, por ello sus bloques se pueden encontrar en la categoría Entrada. al presionarse el botón Es posible elegir entre el botón A, el B o los dos a la vez en el desplegable del bloque.
al pulsar el logotipo En el desplegable del bloque es posible seleccionar si se quiere que la acción se ejecute al pulsarlo, tocarlo, soltarlo o mantenerlo pulsado.
SONIDOS La placa micro:bit tiene un altavoz situado en la parte trasera que permite reproducir notas, sonidos y melodías. Para programar el altavoz, se utilizan los bloques de la categoría Música. Algunos ejemplos son el bloque reproducir sonido que sirve para seleccionar el sonido que se debe reproducir entre distintas opciones predefinidas por el programa o el bloque reproducir melodía … a tempo de … (bpm) que dispone de un editor y una serie de melodías predefinidas en su Galería.
36
PRÁCTICA GUIADA Piedra, papel o tijera Crea una versión digital de este archiconocido juego usando el sensor de aceleración de la placa micro:bit. Cuando agites la placa, esta elegirá por ti y lo mostrará en su matriz LED. Sigue estos pasos para programarlo:
1 Colocar en el espacio de programación el evento que va a iniciar el programa, en este caso, el bloque al pulsar el logotipo de la categoría Entrada.
2 Programar las acciones que tienen que ejecutarse cuando suceda el evento. Para ello, hay que crear una variable llamada jugada y colocar, dentro del bloque anterior, un bloque fijar jugada a 0 de la categoría Variables. Esta variable sirve para guardar qué jugada se va a mostrar por pantalla.
3 Sustituir el 0 del bloque anterior por
un bloque escoger al azar de 0 a 10 de la categoría Matemáticas, y modificar sus valores por 1 y 3. Así, cada vez que agites la placa micro:bit, la variable contendrá una valor aleatorio entre estos números.
4 Usar los condicionales para mostrar
por pantalla las imágenes de piedra, papel y tijera. Para ello, hay que programar los tres posibles valores de la jugada colocando en la condición, el valor de la variable igual a 1, 2 y 3, respectivamente.
5 Cargar el programa en la placa micro:bit y probar su funcionamiento.
COMPRENDE, PIENSA, INVESTIGA…
5. Mejora el proyecto de la práctica guiada para añadirle un sonido diferente a cada icono y hacerlo más inclusivo.
6. Añádele también un contador de puntos que se ejecute con los botones y haz que el juego termine al mejor de 3.
ENCUENTRA EL VIDEOTUTORIAL DE PRIMEROS PASOS CON MAKECODE EN anayaeducacion.es.
37
PINES La placa micro:bit tiene 25 pines en su parte inferior que permiten conectar componentes externos a la placa. Estos pines pueden configurarse para que sean de entrada o de salida. En los pines de entrada se pueden conectar, por ejemplo, sensores externos, mientras que en los de salida se suelen conectar actuadores, como motores DC o servomotores. Los pines principales son los 5 que se encuentran en los orificios de la parte inferior delantera de la placa:
· Los pines 0, 1 y 2 son de entrada y salida. · El pin 3V sirve para dar energía a los componentes externos que se conecten a los pines. No debe unirse directamente al pin GND.
· El pin GND es un pin común que todos los componentes conectados deben
compartir con la placa. Junto con el pin 3V sirve para dar energía y además para simular la función de un pulsador al cerrar el circuito entre este y uno de los pines de entrada y salida.
Los pines secundarios son 20 situados en la barra dorada de la parte inferior. Para poder utilizarlos con comodidad es necesario conectar una placa de expansión. Algunos de los bloques necesarios para programar los pines de la placa son los siguientes:
al presionarse pin y pin ... está presionado de la categoría Entrada. Con estos bloques se puede detectar cuándo uno de los pines 0, 1 o 2 está conectado al pin GND a través del propio cuerpo, de cables o de otros materiales conductores como papel de aluminio, plastilina conductora, etc.
Los bloques lectura digital pin y lectura analógica pin de la categoría Pines leen el valor de tensión en el pin cuando se usan como entrada.
Los bloques escritura digital pin … a, escritura analógica pin … a y escribir servo pin … a, permiten controlar el pin cuando se usa como salida para, por ejemplo, encender un componente, programar la velocidad de un motor DC o indicar el ángulo al que debe rotar un servomotor.
38
Los pines digitales solo permiten enviar o recibir los valores 1 y 0, que se suelen asociar a encendido y apagado, mientras que los pines analógicos permiten enviar o recibir una cantidad mayor de valores por lo que son mejores para conectar sensores o si necesitamos regular el componente, por ejemplo señalando la velocidad de movimiento de un motor DC.
SENSORES La placa micro:bit cuenta con algunos sensores que también se pueden programar desde MakeCode.
Sensor de sonido
Acelerómetro
El evento al detectar el sonido permite ejecutar un código cuando el micrófono captura un sonido muy fuerte o cuando, por el contrario, detecta el silencio.
En la categoría Entrada se encuentra el bloque si, que permite seleccionar la acción del acelerómetro que inicie la programación.
El bloque nivel de sonido es una variable que se usa para obtener el nivel de ruido detectado por el sensor.
El bloque aceleración (mg) es una variable que se usa para obtener el nivel de movimiento en uno de los ejes seleccionados en el desplegable o en la placa en general.
Sensor de luz
Sensor de temperatura
Al igual que el sensor de temperatura, este sensor no dispone de un bloque de evento. Para programarlo hay que utilizar la variable nivel de luz de la categoría Entrada junto a otros bloques de programación.
El bloque temperatura (oC) de la categoría Entrada es una variable capaz de detectar los grados centígrados que hay en el ambiente.
39
PRÁCTICA GUIADA Simulador de energía solar Crea un simulador de energía solar donde un ventilador gire más deprisa o más despacio en función de la luz que reciba el sensor.
Sigue estos pasos para programarlo:
1 Aprovechamos el bloque para siempre que aparece por defecto al iniciar un programa.
2 Programar la escritura del pin P1. Para ello, hay que utilizar
el bloque escritura analógica del pin … a … de la categoría Pines y elegir P1 en el desplegable.
3 Para que el pin tome el valor del sensor de luz, hay que aña-
COMPRENDE, PIENSA, INVESTIGA…
7. Añade las siguientes me-
joras al programa de la práctica guiada: a) Que muestre el nivel de luz que está recibiendo el sensor al pulsar uno de los botones. b) Un sistema de seguridad de temperatura donde si hace mucho calor el motor se detenga.
8. Crea un indicador de so-
nido ambiente utilizando el sensor de sonido y un servomotor.
dir el bloque nivel de luz de la categoría Entrada y colocarlo dentro del bloque anterior.
4 Cargar el programa en la placa micro:bit y probar su funcionamiento.
1 5 6
4 2 3
7
40
3 DESARROLLO MÓVIL 3.1. INTRODUCCIÓN A BITBLOQ APPS INTRODUCCIÓN Bitbloq Apps es una de las múltiples herramientas de Bitbloq, creada por BQ Educación, que permite crear aplicaciones móviles para iOS y Android. Para crear un proyecto puedes acceder a su página web https://bitbloq.cc, pulsar el botón Nuevo documento y seleccionar la opción Bitbloq Apps. Si quieres guardar tus proyectos y poder modificarlos o visualizarlos cuando quieras, debes registrarte pulsando en el botón Entrar a Bitbloq y después, en Crear una cuenta.
INTERFAZ Bitbloq Apps tiene tres pestañas (Diseño, Bloques e Información del proyecto) que permiten diseñar la interfaz de la aplicación, programar su funcionalidad y añadir información al documento creado (ponerle un nombre, una descripción y una imagen). Las pestañas Diseño y Bloques tienen las siguientes partes: 1. Barra de herramientas: para cambiar el nombre del documento, realizar distintas tareas (descargar el archivo, crear un nuevo proyecto, etc.) y cambiar entre modo básico o avanzado. La diferencia entre el modo básico y el modo avanzado es que, en este último, se pueden configurar más propiedades de los componentes. 2. Pantallas: permite añadir más pantallas a la aplicación y seleccionar la que se quiera programar. Se les puede cambiar el nombre haciendo clic sobre los tres puntos. 3. Visor: espacio en el que diseñar la interfaz de la aplicación. 4. Componentes: listado de elementos que se pueden añadir a la aplicación. Se encuentran divididos en categorías. 5. Propiedades: permite modificar las propiedades de los componentes añadidos a la aplicación (color, texto, tamaño, etc.). 6. Componentes añadidos: muestra un listado con todos los componentes que se han incluido en la aplicación. 7. Recursos multimedia: para añadir al proyecto elementos multimedia como imágenes, vídeos, sonidos, etc.
41
8. Espacio de programación: zona en la que crear la programación de la aplicación. Está dividida en varias pestañas: pantallas, variables y listas, y funciones. 9. Bloques de programación: listado de bloques de programación disponibles para programar la aplicación. Se encuentran divididos en categorías. 10. Botón Prueba la app: permite previsualizar la aplicación en tu dispositivo móvil o desde la propia web.
10
9
8
3.2. PROGRAMAR CON BITBLOQ APPS INTRODUCCIÓN Para desarrollar una aplicación con Bitbloq Apps, hay que seguir estos pasos:
· Diseñar la interfaz arrastrando y colocando los componentes necesarios para la aplicación.
· Programar el funcionamiento añadiendo los bloques
correspondientes en el espacio de programación de la pestaña Bloques.
En Bitbloq Apps las programaciones se ordenan en columnas o filas.
Algunos componentes de Bitbloq Apps tienen la capacidad de servir como eventos al interactuar con ellos. Varios de esos componentes son:
· Botón: permite configurar varias opciones para iniciar una programación: clic, clic largo, presionar o soltar.
· Imagen: puede funcionar como un botón que inicia una programación cuando se pulsa sobre ella.
· Deslizador: da la posibilidad de funcionar como evento cuando el programa detecta que el deslizador ha cambiado de posición.
EVENTOS EN BITBLOQ APPS
· Desplegable: permite varias opciones de evento: an-
La programación en Bitbloq Apps está basada en eventos. Esto quiere decir que para que se ejecute la programación, o una parte de ella, debe ir precedido por alguna acción que el programa sea capaz de detectar.
· Interruptor: al igual que el deslizador, permite iniciar
Por lo tanto, para crear una aplicación con Bitbloq Apps primero hay que definir qué eventos van a iniciar las programaciones y después las acciones que se van a ejecutar cuando ocurra cada uno de ellos.
tes de selección, después de selección, presionar o soltar.
una programación cuando cambia de posición.
ENCUENTRA ENLACES A PÁGINAS WEB CON BANCOS DE IMÁGENES, SONIDOS Y VÍDEO GRATUITOS EN anayaeducacion.es.
ENCUENTRA EL VIDEOTUTORIAL MI PRIMERA APLICACIÓN CON BITBLOQ APPS EN anayaeducacion.es.
42
PRÁCTICA GUIADA Mini editor de texto Crea un pequeño editor de texto donde se pueda cambiar el contenido del mensaje, el tamaño y si está en negrita o no utilizando eventos de diferentes componentes. Sigue estos pasos para programarlo:
1 De la categoría Básicos, añade
a tu aplicación un componente Texto y un componente Botón. De la categoría Formulario, un componente Entrada de texto, un Selector desplegable y un componente Interruptor.
2 Programa que al pulsar el botón,
el texto del componente Texto cambie a lo que haya escrito en el componente Entrada de texto.
3 Programa usando un condicional
Si_Ejecutar y de lo contrario, ejecutar de la categoría Control, que el texto pase a estar en negrita o no en función de la posición del interruptor.
4 Usa de nuevo los condicionales
para programar que se pueda elegir el tamaño del texto en el desplegable. Para ello es necesario definir antes las opciones en la configuración del propio componente.
5 Prueba la aplicación en tu dispositivo usando Bitbloq Pocket.
Recuerda que los recursos que se encuentran en Internet tienen derechos de autor y una licencia que indica qué puedes hacer y qué no con ellos. Al descargar música para las actividades o prácticas guiadas hazlo desde sitios web adecuados como los que puedes encontrar en anayaeducacion.es.
COMPRENDE, PIENSA, INVESTIGA…
1. Crea una aplicación que tenga algún tipo de utilidad y use, al menos tres eventos diferentes.
43
COMPONENTES DE SENSORES Los componentes de la categoría Sensores permiten acceder a la información aportada por los distintos sensores del dispositivo, como su orientación, movimiento, temperatura, etc. Algunos además permiten iniciar la programación como eventos.
N
ALABEO AZIMUT
· Acelerómetro: accede a los valores de aceleración a
la que se ve sometido el dispositivo para así poder detectar el movimiento de este y su orientación.
· Lector de códigos de barras: con él se abre la cáma-
CABECEO
ra del dispositivo y se pueden escanear códigos de barras, QR, etc.
· Sonido: detecta variaciones en el nivel de ruido ambiente usando para ello el micrófono del dispositivo.
· El componente Giroscopio mide la velocidad angular
del dispositivo en los tres ejes (X, Y, Z). Con él, puedes detectar si el dispositivo gira y exactamente a qué velocidad.
· El componente Orientación permite obtener la orien-
tación que tiene nuestro dispositivo respecto a los tres ejes. Los valores, medidos en ángulos, toman como referencia tres conceptos de navegación: el azimut, cabeceo y alabeo.
El componente Orientación de Bitbloq Apps usa como referencia tres ángulos usados frecuentemente en navegación:
· Con el componente Reloj se puede obtener la hora,
Alabeo: el ángulo entre el eje más largo del dispositivo (el Y en este caso) y la superficie terrestre.
día, mes y año actuales.
· El componente Localización da información sobre
nuestras coordenadas y altitud. También es posible usarlo para detectar cambios en nuestra ubicación.
COMPRENDE, PIENSA, INVESTIGA…
2. Diseña y programa una alarma antirrobo para tu dispositivo, de forma que si se separa de ti más de 5 metros, suene una alarma.
3. Diseña una aplicación de brújula usando el ángulo azimut del componente Orientación.
44
Azimut: el ángulo entre el eje Y del dispositivo y el norte magnético. Cabeceo: el ángulo entre la parte superior del dispositivo y la superficie terrestre.
PRÁCTICA GUIADA Mareando los sensores ¿Te mareas cuando vas en barco o avión? ¿Será quizás por el ángulo de cabeceo? Probablemente no, pero sí vamos a marear a nuestro dispositivo móvil por su culpa. Crea un videojuego en el que hay que colocar el dispositivo en diferentes posturas rápidamente. Para la interfaz vas a necesitar los siguientes componentes: • Dos componentes Texto, uno para la palabra «Puntos» y otro para el valor de estos. • Un Texto a voz para que te narre las pruebas. • El componente Orientación para que reconozca la posición del dispositivo. Tras esto, ve a la pestaña Bloques y, en el apartado Variables y listas, crea las variables del programa: prueba para recordar qué prueba se va a realizar, puntos para almacenar estos y prueba_superada para indicar cuándo se completa una prueba. Para programar el bucle principal del juego sigue los siguientes pasos:
1 Colocar dentro de un bloque Ejecutar constantemente una
espera de 1000 ms. Después, con el bloque aleatorio, elige una prueba al azar. En este ejemplo solo se harán dos: «Tumbado» (colocar el dispositivo plano con la pantalla hacia arriba) y «Boca abajo» (colocarlo verticalmente de manera que la parte superior del dispositivo apunte al suelo).
2 A continuación, añadir el Texto a voz para comunicar cada prueba.
3 Después, hacer que el programa espere hasta que la prueba haya sido superada usando un bucle Mientras con una pequeña espera dentro.
4 Cuando la prueba se supere, sumar un punto, actualizar
el texto de la pantalla y reiniciar el juego para la siguiente ronda volviendo a poner las variables prueba a cero y prueba_superada a falso.
Ahora tienes que programar cuándo se supera cada prueba. Para ello, hay que utilizar los bloques del componente Orientación:
5 Dentro del bloque Cuando orientación … Orientación cambiada, añadir la condición de la primera prueba («Tumbado»), que el ángulo de cabeceo esté entre -5 y 5.
6 Después, añadir la segunda prueba («Boca abajo»), cuya
condición es que el ángulo de cabeceo sea menor que -70.
Por último, prueba el funcionamiento de la aplicación utilizando Bitbloq Pocket.
45
1
2
3
4
5
6
46
3.3. APLICACIONES MÓVILES IOT INTRODUCCIÓN La placa micro:bit puede conectarse con otros dispositivos de forma inalámbrica a través de la radio o el Bluetooth. La radio se utiliza para conectar dos o más placas entre ellas, pero lo que realmente es interesante de cara a Internet de las cosas es su conexión mediante Bluetooth, ya que es lo que permite a la placa micro:bit conectarse con otros dispositivos e intercambiar información, como por ejemplo un dispositivo móvil.
IOT EN BITBLOQ APPS Es posible programar aplicaciones con Bitbloq Apps que te permitan interactuar con la placa micro:bit o recibir información sobre su entorno. Esta herramienta tiene en su categoría Conectividad un componente llamado micro:bit v2 que hace que la conexión entre la placa y el dispositivo sea muy sencilla. Una vez añadido, pasa a ser un componente no visible, y en la pestaña de bloques se pueden encontrar los bloques que permitirán intercambiar información con la placa micro:bit.
47
IOT EN MAKECODE Para establecer la conexión usando Bluetooth LE entre la placa micro:bit y otro dispositivo, debes añadir previamente la extensión Bluetooth a MakeCode. Sigue estos pasos para conseguirlo: 1. Hacer clic sobre la categoría Extensiones. 2. Utilizar el buscador para encontrar la extensión Bluetooth fácilmente y añadirla. Al seleccionar esta extensión, aparece una nueva categoría llamada Bluetooth con nuevos bloques de programación que permiten programar qué debe hacer la placa micro:bit cuando se conecte con otro dispositivo. Puesto que las extensiones Radio y Bluetooth son incompatibles, al añadir una de ellas se elimina la otra. Algo fundamental a tener en cuenta al programar el Bluetooth es que, para que los diferentes elementos de la placa respondan a los mensajes recibidos es necesario programarlo. Para ello hay que utilizar los bloques de servicio de la categoría Bluetooth.
PRÁCTICA GUIADA Atención al botón Ahora que sabes como intercambiar información entre el dispositivo y la micro:bit, ¿qué tal si haces un juego que ponga a prueba tu atención? Por ejemplo, puedes programar un juego en el que una aplicación te proponga diferentes retos que tengas que hacer con la micro:bit, y se compruebe si se ha realizado correctamente o no. Al equivocarte debe aparecer un mensaje o icono tanto en la aplicación como en la micro:bit indicando que has perdido. Para programar la micro:bit con MakeCode, tienes que seguir estos pasos: • Establecer la conexión con el dispositivo. • Mandar un mensaje al dispositivo para informarle de que se ha presionado el botón A y B. • Mostrar en la matriz LED qué botón se ha pulsado.
48
ENCUENTRA EL VIDEOTUTORIAL DE IOT DE BITBLOQ APPS EN anayaeducacion.es.
• Programar que, al recibir el mensaje que indique que se ha perdido el juego, se muestre un icono o un texto en la placa. Para crear la aplicación, debes: • Añadir a la interfaz los siguientes componentes: micro:bit v2, dos componentes Texto para mostrar qué prueba tienes que hacer y para mostrar cuándo has fallado, un Botón para conectar la micro:bit y otro para comenzar la prueba. • En el apartado Variables y listas, crear tres variables: una para guardar el número de prueba que hay que realizar, otra para comprobar si se ha perdido o no, y una última para almacenar los mensajes enviados por la micro:bit. • Crear la programación correspondiente a la conexión con la micro:bit. • Almacenar en una variable los mensajes que se reciban por la placa. • Programar que, al iniciarse la aplicación, el texto que muestra la prueba esté visible y el texto que indica que se ha perdido el juego esté oculto.
Recuerda: · Las variables permiten almacenar información importante para el programa mientras que este se está ejecutando y así poder usarla después en otras partes del código. · Al programar una variable es posible guardar en ella un valor por defecto y actualizarlo durante la ejecución del programa. · A la hora de crear una variable, lo primero que se debe hacer es declararla, es decir, darle un nombre y un valor.
49
1
2
3
4
5
50
• Crear la programación del botón que comienza la prueba, para:
PONTE A PRUEBA
1 Resetear las variables y que se muestren y se escondan, respectivamente, los textos de los componentes Texto que indican qué prueba tienes que hacer y cuándo has perdido.
2 Comenzar la prueba utilizando un
bucle Mientras para que se ejecute la programación correspondiente a la prueba hasta que se falle.
3 Que se elija la prueba de forma aleatoria y se muestre en la aplicación qué botón de la micro:bit hay que presionar.
4 Comprobar si se ha hecho la prueba correctamente. Para ello, hay que utilizar:
• Un bucle Mientras que paraliza la programación hasta que se reciban mensajes de la micro:bit, es decir, hasta que se presionen los distintos botones. • Dos condicionales que comprueben si el mensaje recibido por la micro:bit es el mismo que se indica en la prueba. Para que el usuario sepa si ha acertado, se puede indicar el acierto cambiando el color del texto que muestra la prueba.
5 Indicar, si no se presiona el botón
correcto, que se ha perdido el juego. Para ello, aparece en pantalla un «Game Over», se esconde el texto de la prueba y se envía un mensaje a la micro:bit para que muestre un icono informando que has perdido.
Los trabajadores y trabajadoras de una empresa han realizado el curso de riesgos laborales y han informado sobre las siguientes condiciones que hacen que su lugar de trabajo no sea del todo adecuado:
· La luz solar impacta directamente sobre algunas pantallas a determinadas horas del día. Esto no es bueno para la vista porque produce fatiga visual, por lo que en esas horas se deben bajar las persianas lo suficiente como para que no moleste la luz.
· La temperatura de la sala en la que se está trabajando, en ocasiones, es muy alta. La temperatura ideal debe estar entre 21 y 23 °C.
· El nivel de ruido a veces es alto debido a que se
tienen reuniones en dicho espacio. Según la Organización Mundial de la Salud, nunca se deben superar los 65 dB. El nivel óptimo, suele estar entre 30 y 40 dB.
La empresa quiere mejorar las condiciones del lugar de trabajo y te han pedido ayuda para la creación de una aplicación móvil que avise cuando no sean las óptimas. Programa la placa micro:bit y una aplicación móvil para crear un dispositivo que permita medir la cantidad de luz, la temperatura y el nivel de ruido de la sala, y avise de forma visual y sonora de que hay que tomar las medidas oportunas.
COMPRENDE, PIENSA, INVESTIGA…
4. Utiliza el dispositivo móvil para que, al realizar distintas acciones (agitarlo, pulsar un botón, etc.), se muestren en la matriz LED de la micro:bit diferentes iconos.
5. Completa el juego de reflejos de la práctica guiada para hacer que: a) Tenga más pruebas, como por ejemplo: agitar la placa, no pulsar ningún botón, no pulsar el botón A, no pulsar el botón B, etc. b) Las pruebas deban realizarse en un tiempo determinado. c) Se muestre un contador de puntos o aciertos.
51
DIDO? ¿QUÉ HAS APREN INTELIGENCIA ARTIFICIAL
MACHINE LEARNING FOR KIDS
1
7 Crea un proyecto de tipo texto en el que el sistema
Pregunta a ChatGPT qué opina acerca de un tema de actualidad y dialoga con él sobre el tema. ¿Te ha contado algo que no sabías? ¿Has comprobado que sea cierto?
sea capaz de decirte qué ingredientes son adecuados o no para una pizza.
2 Pide a ChatGPT que te defina algo y a continuación dile que se ha equivocado. ¿Cómo reacciona?
3 Entra en anayaeducacion.es y busca el enlace a Things Translator. Experimenta haciendo fotos a distintos objetos que tengas a tu alrededor.
a) ¿Reconoce todos los objetos? b) Captura un mismo objeto desde distintos ángulos. ¿Lo reconoce desde todos ellos?
TEACHABLE MACHINE 4 Crea un proyecto de audio para reconocer las cinco vocales del abecedario.
5 Entrena una inteligencia artificial para que reconozca al menos cuatro objetos que tengas en el estuche.
6 Prueba a intentar reconocer diferentes gestos faciales con un proyecto de imagen y un proyecto de poses. ¿Cuál funciona mejor?
52
8 Entrena una inteligencia artificial de tipo números para que te diga si un cambio entre cromos es un buen trato o no. Para ello, supone que existen cromos comunes, infrecuentes, raros y súper raros. Los valores podrían ser: «cromos comunes entregados», «cromos comunes recibidos», «cromos infrecuentes entregados», «cromos infrecuentes recibidos», etc., y las categorías: «Buen trato» y «Mal trato».
9 Entrena una inteligencia artificial para que reconozca los gestos de «Piedra, papel o tijera» y ponla en práctica en un videojuego usando su programación por bloques.
10 Crea un videojuego que se controle mostrando las manos a la cámara del dispositivo y en el que un personaje recorre un escenario recogiendo objetos. El personaje se debe mover en el sentido en el que apunten los dedos de la mano. Cuando el personaje se choca con un objeto, lo recoge y suma un punto a un contador.
01 11 Evoluciona el modelo y el juego del ejercicio anterior
16 Coloca la micro:bit en un objeto que quieras y crea
haciendo que el personaje solo recoja los objetos si muestras a la cámara el puño cerrado de la mano mientras que los está tocando.
una aplicación que te permita saber cuándo lo han cogido sin permiso. La aplicación debe:
12 Entrena un modelo de aprendizaje automático que
a) Avisarte en la pantalla del dispositivo de que la micro:bit ha cambiado de posición.
reconozca diferentes sonidos, por ejemplo, cuando te ríes, cuando te asustas, etc., y programa que se muestren distintos emojis para cada uno.
b) Poder desactivar la alarma cuando vayas a utilizar
13 Crea un proyecto en el que la inteligencia artificial
micro:bit para conseguir que suene y puedas encontrar el objeto si está cerca.
sea capaz de identificar caras y coloque una máscara o complementos encima. Para ello, incluye la extensión Sensor de vídeo y Face detection. Esta última utiliza un modelo de aprendizaje automático previamente entrenado.
el objeto.
c) Enviar un mensaje desde la aplicación a la placa
17 Si dispones de dos servomotores y la placa adecuada para conectarlos a la micro:bit, crea un sistema que te permita controlar la luz de una habitación en remoto usando los servomotores para empujar el interruptor. La aplicación debe disponer de un botón para enviar a la placa micro:bit a la orden «Encender» o «Apagar».
18 Convierte tu micro:bit en un mando a distancia para controlar una aplicación de sonidos creada con Bitbloq Apps y que cumpla los siguientes requisitos:
a) Debe contar con al menos 3 sonidos diferentes. b) Se debe poder escoger el sonido desde la placa micro:bit usando los botones A y B.
c) La placa debe mostrar algún indicador para saber
IoT CON MICRO:BIT 14 Desarrolla una aplicación con Bitbloq Apps y un programa con micro:bit para que te permita enviar iconos que se muestren en la matriz LED indicando tu estado de ánimo.
15 Crea un bebedero inteligente para mascotas que: a) Avise cuando no queda agua. Usa dos cables cocodrilo conectados a la micro:bit por un extremo y sumergidos en el agua del bebedero.
b) Avise por riesgo de heladas si la temperatura ambiental baja de 0 °C.
qué sonido se va a elegir.
19 Completa el ejercicio anterior y consigue la App musical definitiva añadiendo opciones para cambiar el color de la pantalla usando la micro:bit.
20 Diseña y desarrolla una estación meteorológica que use varias micro:bit y una aplicación móvil para mostrar la temperatura de varias habitaciones o del interior y del exterior del edificio. La aplicación se conecta mediante Bluetooth a cada una de las placas, recibe la información de sus sensores y la muestra en pantalla.
21 Amplía la aplicación del ejercicio anterior permitiendo que la persona que usa la aplicación configure una temperatura a partir de la cual debe sonar una alarma en el dispositivo y qué sensor emplear para la alarma. Por ejemplo, al bajar de 14 °C en el sensor del interior del edificio.
53
S D O SITUACIÓN DE APRENDIZAJE ¿Recuerdas que al principio de este bloque la ONG Electrocultura nos pidió crear un proyecto que tenga IoT e IA para ayudar en procesos de agricultura y conseguir el ODS Hambre cero? Es el momento de ponernos con ello. Nuestro equipo, formado por personas expertas, va a crear su propia propuesta utilizando Teachable Machine para identificar plantas en mal estado y un pequeño robot, usando la placa micro:bit, que se podrá controlar desde una aplicación creada con Bitbloq Apps.
A continuación, te mostramos un ejemplo resuelto de la situación de aprendizaje con la intención de que sirva como guía para entender mejor las diferentes fases que hay que seguir en el proceso. Para resolver la situación de aprendizaje correctamente debes crear una nueva solución siguiendo la estructura planteada sin copiar el ejemplo propuesto. Antes de comenzar, analizamos los distintos roles que nos explicará nuestro profesor o profesora y elegimos el más adecuado para cada persona del equipo.
ANÁLISIS DE LA INFORMACIÓN Analizamos la información disponible para tener claro el objetivo, las necesidades y/o los requisitos que nos piden. Realizamos también una búsqueda de información en Internet para adaptar lo mejor posible nuestra propuesta a lo que la ONG nos pide. Algunos ejemplos de información que puede ser interesante investigar son:
· En qué consisten los Objetivos de Desarrollo Sosteni-
Es importante que, a la hora de buscar información, utilicemos siempre fuentes fiables. Encuentra algunos enlaces de referencia en anayaeducacion.es. Anotamos toda esta información en una hoja o documento online en el que iremos documentando todo el proceso de trabajo. En este punto, debemos incluir, al menos:
ble (ODS).
· Cuáles son las metas del objetivo número 2, Hambre cero. · Cómo está afectando el cambio climático en la pro-
TÍTULO DEL PROYECTO Descripción del objetivo
ducción alimentaria de pequeños cultivos.
· Cómo afectan y cómo proteger los cultivos de anima-
Requisitos
les perjudiciales de forma respetuosa.
· Acciones o formas que pueden ayudar a reducir o frenar el impacto que tienen los fenómenos meteorológicos extremos en los cultivos.
Información recopilada
Una de las principales metas del objetivo de desarrollo sostenible Hambre cero, consiste en mejorar, para 2030, la infraestructura rural y el desarrollo tecnológico que mejoren la producción agrícola en países en desarrollo.
54
PLANTEAMIENTO DE SOLUCIÓN Una vez que tengamos toda la información, la hayamos puesto en común y todo el equipo esté de acuerdo, vamos a pensar ideas originales para desarrollar nuestra aplicación IoT. Realizamos una lluvia de ideas entre las personas del equipo. Algunos ejemplos de ideas que se pueden desarrollar son:
1 Un sistema que mande mensajes a una aplicación móvil para informar de
cuándo el cultivo no tiene las condiciones adecuadas, de luz, humedad o temperatura.
2 Un sistema que permita activar el riego del cultivo desde el dispositivo móvil. 3 Un sistema que encienda, en remoto, algún tipo de iluminación extra (puede
simularse con la matriz LED de la placa micro:bit) para ayudar a las plantas en los días del año en los que hay pocas horas de luz.
4 Un sistema que permita reproducir, a distancia, un sonido estridente que ayude a ahuyentar a los pájaros que podrían dañar la cosecha.
Anotamos en una hoja o documento online todas las ideas que hayamos planteado. Encuentra enlaces a herramientas para organizar lluvias de ideas en anayaeducacion.es.
Una herramienta muy útil para realizar lluvias de ideas son las pizarras virtuales. Estas permiten anotar todas las ideas que se van proponiendo durante una reunión y estructurarlas rápidamente. Hay numerosas aplicaciones que facilitan la creación de pizarras colaborativas en la que pueden escribir distintos usuarios, un ejemplo, es Witeboard.
Lluvia d e ideas
Estudiamos detalladamente cada una de las ideas propuestas para elegir cuál de ellas llevar a cabo. Es importante comprobar previamente los siguientes puntos:
· Si cumple los requisitos. · Si se puede controlar con micro:bit y una aplicación móvil. · Si tenemos los conocimientos necesarios para crear el sistema seleccionado. · De qué materiales disponemos y cuáles pueden servirnos para construir la maqueta o ejemplo de solución.
55
SITUACIÓN DE APRENDIZAJE
O DS
PLANIFICACIÓN Definimos cómo vamos a trabajar y cómo va a ser la aplicación que vamos a desarrollar y anotamos en una nueva hoja o documento online:
A continuación, se muestra un diagrama de flujo de un ejemplo de aplicación móvil que se conecta a la placa micro:bit para recibir información de la humedad del suelo y que, cuando esta es baja, muestra un botón para activar un servomotor.
· El programa que vamos a
Actualizar el nuevo valor en la etiqueta humedad
utilizar.
· Qué aspecto va a tener la pantalla o pantallas de la aplicación. Podemos dibujar bocetos a mano o con un software de dibujo.
· Cómo va a funcionar la apli-
cación. Para ayudarnos a definir cómo va a ser la programación, podemos crear el algoritmo o pseudocódigo del programa completo, de partes de él o de cada uno de los elementos, el diagrama de flujo de la programación o un esquema que represente su funcionamiento.
Programa seleccio nado
Inicio
No Buscar la placa micro:bit
Mostrar las placas micro:bit disponibles
¿Humedad >500?
Sí
Actualizar etiqueda estado a «Seco»
Actualizar etiqueda estado a «Húmedo»
Poner visibilidad del botón regar = True
Poner visibilidad del botón regar = False
Selección de la placa en la lista
¿Botón hacer sonar presionado?
Conectar a la placa mediante BLE
Sí
No
¿Hay datos nuevos?
Enviar orden para hacer sonar
Sí
No No ¿Cierra la app?
Boceto y anotacio nes Sí
Fin
Algoritmo, esquem ao diagrama de flujo
Encuentra enlaces a herramientas para crear diagramas de flujo en anayaeducacion.es.
56
PROGRAMACIÓN Para programar la micro:bit creamos un nuevo proyecto en MakeCode y añadimos la extensión Bluetooth. PASO 1 Incluimos los siguientes bloques para que la micro:bit muestre su nombre al iniciar el programa y envíe el valor de humedad cada segundo (1000 milisegundos). Vamos a medir el valor de la humedad del suelo midiendo la tensión en el pin P1.
PASO 2 Para activar el servomotor al recibir la orden desde la aplicación, comprobamos los mensajes recibidos por Bluetooth con los siguientes bloques.
PASO 3 Para diseñar y programar la aplicación en Bitbloq Apps, creamos un proyecto nuevo y conformamos la siguiente interfaz con dos componentes Botón y cuatro componentes Texto. El primer botón nos permite iniciar el proceso de búsqueda y conexión con la placa micro:bit. El segundo envía un comando a la placa micro:bit para que emita un sonido. De los cuatro componentes de texto, dos son los títulos «Valor de humedad» y «Estado del suelo» que acompañan a los otros dos, los que muestran la información que proviene de la placa. Podemos organizar todos estos componentes como queramos utilizando componentes de la categoría Contenedores.
Aprovechando que la placa micro:bit puede generar tensión eléctrica desde sus pines y detectarla desde otros, se puede saber, de forma aproximada, el nivel de humedad del suelo. Cuanta más tensión, más humedad.
57
SITUACIÓN DE APRENDIZAJE
O DS
PASO 4 Para que cuando pulsamos el botón Conectar a micro:bit la aplicación busque las placas micro:bit disponibles, añadimos el componente micro:bit v2, cambiamos a la pestaña Bloques y programamos el siguiente código:
PASO 5 Para que cuando pulsemos el botón Regar la placa active el servomotor, la aplicación tiene que enviar a la placa la orden. Para ello usamos los siguientes bloques:
PASO 6 Por último, programamos el código que actualiza los valores de los textos que se ven en pantalla a partir de la información recibida por Bluetooth y activamos o desactivamos que se muestre el botón en función de estos.
Encuentra este proyecto en anayaeducacion.es.
58
CONSTRUCCIÓN Para la construcción de nuestro ejemplo de solución nos aseguramos de tener todos los materiales que necesitamos y después repartimos las tareas entre todas las personas integrantes del grupo. Para este ejemplo de solución se ha utilizado un pequeño recipiente para el cultivo, unos cables tipo dupont con un extremo hembra para conectarlo a la placa expansora y otro macho para poder introducirlo en la tierra. También se ha colocado el servomotor en un soporte para ponerlo a la altura del cultivo y se le ha añadido un pequeño recipiente para simular dónde iría el agua para regar.
Los valores de lectura del «nivel de humedad» pueden variar por varios motivos: el tipo de tierra que estéis usando, la distancia a la que coloquéis los clavos, etc.
Para que el sensor del ejemplo funcione hay que conectar uno de los cables dupont al conector rojo del pin 1 de la placa expansora y el otro al amarillo.
Es recomendable comprobar la lectura que os devuelve en tierra seca y en tierra húmeda. Si fuera necesario, algunos consejos para conseguir que la aplicación os diga realmente si la tierra está húmeda o seca, son: • Modificar el montaje, por ejemplo, separando o acercando los clavos. • Modificar la programación cambiando el valor a partir del cual la aplicación considera que la tierra está húmeda.
59
SITUACIÓN DE APRENDIZAJE
O DS
PROGRAMAR UNA IA Para complementar el robot y la aplicación hecha con Bitbloq Apps, vamos a entrenar una inteligencia artificial que sea capaz de detectar mediante imagen si una planta se encuentra en mal estado. Lo realizaremos utilizando la herramienta Teachable Machine. PASO 1
PASO 2
Entramos en la web de Teachable Machine, pulsamos en Primeros pasos y seleccionamos que vamos a hacer un Proyecto de imagen, eligiendo después la opción Modelo de imagen estándar.
Una vez añadidas las imágenes solo hay que pulsar Entrenar modelo y esperar a que se complete. Después podremos comprobar los resultados en la Vista previa.
Una vez dentro, cambiamos el nombre de las clases. En nuestro caso hemos elegido «Mal estado» para la primera y «Buen estado» para la segunda, ya que es lo que queremos comprobar mediante IA. Ahora es el momento de entrenarla. Es posible hacerlo mediante la webcam o, como en nuestro caso, subiendo muchas imágenes diferentes en cada una de las clases.
TESTEO Y MEJORAS Comprobamos el funcionamiento para detectar errores y si cumple con todos los requisitos establecidos por la organización. A continuación, entre todos los miembros del equipo, pensamos posibles mejoras, seleccionamos las que más nos gusten y las implementamos. Anotamos y marcamos las seleccionadas en una nueva hoja o documento online. Hay que tener en cuenta que cuantas más imágenes utilicemos, más acertada y fiable será la respuesta que nos dé la inteligencia artificial. En caso de utilizar este método se pueden descargar fotografías de bancos de imágenes libres de derechos.
Algunas ideas de posibles mejoras para el proyecto de ejemplo son:
· Mejorar el diseño de la interfaz gráfica de la aplicación. · Añadir un segundo botón para desconectar la placa. · Incluir un notificador para avisar si se pierde la conexión con la placa micro:bit.
· Programar que se muestre información de otros sensores de la placa micro:bit.
Encuentra enlaces a bancos de imágenes libres de derechos en anayaeducación.es.
60
· Mejorar la capacidad de la inteligencia artificial para detectar plantas en mal estado entrenándola con más imágenes.
PRESENTACIÓN Para finalizar, creamos una presentación para exponer nuestra solución al resto de la clase. Recopilamos todo el trabajo que hemos ido documentando y creando en cada fase (investigación realizada, diagrama de flujo o algoritmo del programa, captura de la interfaz de la aplicación y explicación de sus elementos, programación y explicación del funcionamiento, mejoras aplicadas, etc.).
Encuentra enlaces a herramientas para crear presentaciones online en anayaeducacion.es. Mejoras
La retroalimentación positiva es una herramienta muy efectiva que permite mejorar el trabajo.
• Sé específico o específica y no generalices. Pon ejemplos concretos de las partes del trabajo a las que te refieres.
Para dar un buen feedback o valoración:
A la hora de recibir un feedback:
• Intenta ser lo más objetivo posible. Céntrate en el trabajo y no en la persona.
• No te lo tomes de forma personal. Solo están valorando tu trabajo, no a ti.
• Menciona primero lo positivo. Intenta que haya un equilibrio entre las cosas buenas y las malas.
• Escucha o lee detenidamente todo lo que te dicen. • Pregunta todas las dudas que tengas.
REFLEXIÓN FINAL A lo largo de este primer bloque, hemos tenido la oportunidad de aprender más sobre la inteligencia artificial y el Internet de las cosas, dos de las tecnologías que más están evolucionando y que parece que están destinadas a cambiar el mundo actual.
También hemos visto conceptos de IoT, aprendiendo sobre los protocolos de comunicación y aplicando diferentes conocimientos hasta conseguir combinar aplicaciones programadas con Bitbloq Apps y robots creados con la placa micro:bit y MakeCode.
Gracias a ello ahora conocemos algunos de los usos cotidianos que tienen las inteligencias artificiales, qué reglas deben seguir para ser éticas y cómo aprenden. Además hemos aprendido a utilizar algunas herramientas con las que podemos entrenar y hacer proyectos sencillos de inteligencia artificial como Teachable Machine o Machine learning for Kids.
Por último, todos estos conocimientos y destrezas los hemos podido aplicar para resolver el problema que nos planteaba la ONG Electrocultura para crear un novedoso proyecto que usa la inteligencia artificial y el IoT para contribuir a la mejora de las producciones agrarias y así combatir el hambre en el mundo.
61
© GRUPO ANAYA, S.A., 2025 - C/ Valentín Beato, 21 - 28037 Madrid. Reservados todos os dereitos. O contido desta obra está protexido pola Lei, que establece penas de prisión e/ou multas, amais das correspondentes indemnizacións por perdas e danos, para quen reproduza, plaxie, distribúa ou comunique publicamente, en todo ou en parte, unha obra literaria, artística ou científica, ou a súa transformación, interpretación ou execución artística fixada en calquera tipo de soporte ou comunicada a través de calquera medio, sen a preceptiva autorización.