En esta entrada vamos a hacer un repaso a todo lo que llevamos trabajado en esta primera parte del curso en Tecnología Industrial II de 2º de Bachillerato.
El proyecto que hemos comenzado a hacer es un robot que camine inspirado en modelos como el MiniKame2 Quadruped Robot.
Para ello hemos comenzado repasando partes de programación ya vistas el curso pasado, profundizando un poco más en el envío y recepción de datos por bluetooth así como en el control de las acciones de la placa. El primer proyecto que hemos realizado consiste en controlar 4 leds mediante el móvil de manera que seamos capaces de encender y apagar cada uno de ellos y además podamos encender y apagar una secuencia de encendido de los leds. El reto complicado de este primer proyecto es que además la velocidad de ejecución de esa secuencia de encendido se pueda controlar de manera instantánea mediante el móvil. Este programa nos permitirá después llevar estos conceptos a la programación de los servos del Robot 4LEGS haciendo que se muevan sus piernas individualmente o mediante una secuencia que le permita avanzar y de la que además podremos controlar su velocidad.
Para la evaluación de este proyecto en su conjunto vamos a usar la siguiente rúbrica:
A continuación comenzamos a crear la aplicación móvil que nos permitirá enviar los datos a la placa. Aquí tenéis una imagen de un ejemplo de diseño de la aplicación:
A continuación hemos pasado a programar los componentes de la aplicación. Primero los referentes a la conexión bluetooth con el ListPicker y los diferentes botones de desconexión y de envío de señales de encendido mediante letras que recibirá la placa:
En una primera versión de la aplicación de encendido de la secuencia el cambiar la posición del slider no enviaba nada por bluetooth y era al pulsa el botón de inicio de la secuencia donde enviaba conjuntamente la letra I más el valor de la velocidad (en forma de texto de tres cifras).
Con esta primera versión de la aplicación pasamos a crear el programa en bitbloq para arduino con la idea de que la secuencia se ejecutase una sola vez y en cada caso a la velocidad que marcase el slider. En las siguiente imágenes puede verse la programación de bitbloq de esta primera versión.
Posteriormente mejoramos la versión para que, una vez activada, la secuencia se reproduzca de manera continua hasta que se pare o ejecute otra acción y que mientras se está ejecutando la secuencia podamos cambiar la velocidad. Esto nos llevo por un lado a cambiar la aplicación de appinventor para que cada vez que se modificase el slider enviase la nueva velocidad:
Y en bitbloq para que recibiese estos nuevos datos de la manera correcta y para que además la secuencia se ejecutase de manera ininterrumpida (usando un MIENTRAS en lugar de un SI) pero que al recibir nuevos datos cambiase las variables:
Con estos programas terminados y funcionando correctamente pasaremos a la parte de diseño y construcción del robot para finalmente comenzar a programar los servos que le darán movimiento.
Primeros paso de diseño del ascensor y rúbrica de seguimiento del proyecto / evaluación.
Hola a tod@s.
Para realizar el proyecto del ascensor hemos comenzado repasando las fases del proyecto tecnológico y la diferente documentación a preparar a la hora de afrontar un proyecto. Para repasar el diseño y presentación de ideas mediante croquis hemos practicado dibujando estos dos ejemplos antes de presentar nuestro propio croquis con la propuesta del ascensor.
Hemos elegido estos dos ejemplos porque entre ambos reúnen las características más importantes que debe tener un croquis completo, el cual nos debe informar de la forma del objeto, su partes, funcionamiento y medidas o cotas.
Como decíamos, una vez realizados los dos croquis de ejemplo hemos realizado el de nuestra propuesta de diseño para el ascensor teniendo en cuenta que debe ser un ascensor que tenga planta baja y dos plantas más por encima, cada una de ellas con paradas a 10cm y 20cm.
Para la evaluación de las diferentes fases del proyecto en la primera parte se ha creado la siguiente rúbrica:
La rúbrica incluye todas las partes referentes a la elaboración de la documentación del proyecto, construcción de la maqueta y programación de la misma.
En los siguientes temas veremos como comenzar a programar con arduino los diferentes elementos del control del ascensor.
Un saludo,
Raúl.
Iniciación a arduino y bitbloq
Hola a tod@s.
En este primer tema vamos a conectar nuestra controladora de arduino con el ordenador y cargaremos un sencillo programa de prueba, el blink, que hará parpadear un led.
Las controladoras de arduino UNO que vamos a utilizar tienen un led incorporado (y asociado al pin 13) que permite comprobar que el programa está funcionando correctamente sin necesidad de añadir ningún componente extra a la controladora.
Para este primer ejercicio podemos seguir los pasos de este vídeo:
Como podréis ver en el vídeo el programa blink no hace falta crearlo ya que forma parte de los programas base de ejemplo de arduino (minuto 3:45 del vídeo).
Veremos también que es imprescindible seleccionar en herramientas (Tools) la placa que estamos usando (minuto 7:00 del vídeo) y el puerto COM (minuto 7:20 del vídeo) en el que aparezca que se ha conectado nuestra placa (debe ser un puerto COM diferente al 1).
El vídeo anterior pertenece a una serie de vídeos para iniciarse en bitbloq 2. Aquí podéis ver el vídeo presentación del curso:
USANDO BITBLOQ 2:
Gran parte de la programación para arduino que haremos será utilizando Bitbloq 2, el entorno de programación por bloques para arduino que ha creado la empresa BQ. Gracias a bitbloq simplificaremos la parte un poco más farragosa de evitar cometer errores de escritura al realizar nuestros programas y podremos centrarnos en la parte lógica y de programación de algoritmos, lo que se denomina la parte de pensamiento computacional.
En el siguiente vídeo tenemos una explicación bastante detallada de los primeros pasos para enceder un led con bitbloq. Aunque en el vídeo utiliza la placa zumkit de bq en bitbloq se puede seleccionar también la genérica arduino UNO.
Algo importante a la hora de cargar programas en arduino usando bitbloq es que debemos tener instalado el componente web2board en nuestro ordenador. Si no lo tenemos instalado bitbloq nos avisará y nos pedirá que lo descarguemos e instalemos. Por otro lado, si lo tenemos instalado, nos saltará una ventana pidiendo que abramos en una nueva ventana una consola de MSDOS donde se ejecutará este componente. Es imprescindible decir que sí a esta pregunta y no cerrar la consola de MSDOS durante el tiempo que estemos trabajando con btibloq.
El vídeo anterior pertenece a una serie de vídeos para iniciarse en bitbloq 2. Aquí podéis ver el vídeo presentación del curso:
Una vez que ya sabemos como encender un led con bitbloq será bastante fácil usando los bloques realizar el programa blink para que el led se encienda y apague.
En el siguiente tema veremos como conectar a nuestro arduino los diferentes componentes electrónicos de nuestro proyecto de ascensor.
Un saludo,
Raúl.
Conexión de componentes a arduino y protoboard
Hola a tod@s.
En este tema haremos una recopilación de imágenes y algún vídeo explicativo sobre la conexión de los componentes para nuestro proyecto del semáforo.
Para poder hacer este proyecto necesitaremos por un lado conectar los leds:
"Hay dos tipos de personas, los que conectan los LEDs con resistencia y los que no… y solo una de ellas lo está haciendo bien."
Es por eso que nosotros lo vamos a hacer bien, es decir, con resistencia.
Para recordar el código de colores de la resistencia podemos usar estas imágenes en función de que lleve 3 o 4 lineas de colores + la tolerancia.
Otro componente muy importante que instalaremos serán los pulsadores:
Conectar los componentes es una fase que parece que tiene menor importancia que la de programar, pero sin duda es realmente importante prestar la máxima atención y entender porque se conectan los componentes de esta manera para evitar fallos que puedan dañar a la placa o los componentes y además nos puedan hacer dar mil vueltas a la programación sin darnos cuenta de que el problema no es de código si no de instalación y conexión.
Un saludo,
Raúl.
Parpadeo/Blink con bitbloq e iniciación a las variables y los condicionales
Hola a tod@s.
En este tema vamos a ver los primeros pasos de programación de arduino usando bitbloq: https://bitbloq.bq.com/#/ para conseguir programar nuestro ascensor de 3 paradas (planta baja, primera y segunda).
Lo primero como siempre será comprobar si somos capaces de crear y cargar el clásico programa de parpadeo (blink) de un led conectado al pin 13 de nuestra placa:
Con el fin de aprender un nivel más avanzado de programación y practicar con el uso de las variables nos hemos propuesto el reto de conseguir que nuestro led haga cada vez parpadeos más lentos. En la siguiente imagen puede verse una forma de solucionar este ejercicio:
Por último, para iniciarnos en el uso de los condicionales, nos hemos puesto el reto de conseguir que desde los 100ms de parpadeo el led parpadee mas lento y que cuando haga un parpadeo de encendido 1000ms pase a ir cada vez más rápido hasta los 100ms y así sucesivamente.
Un saludo,
Raúl.
Iniciación al uso de pulsadores con arduino/bitbloq
Hola a tod@s.
El siguiente paso para iniciarnos en los componentes de nuestro semáforo será la programación de los botones/pulsadores. Es muy importante aprender a conectar el pulsador a la protoboard y arduino para que funcionen correctamente. Para ello necesitaremos 3 cables y una resistencia. La conexión directa a arduino se realiza de la siguiente manera:
Cuando tengamos varios botones las conexiones de todos ellos a 5V y GND las haremos en la protoboard.
Comenzaremos por un programa sencillo en el que al pulsar un botón consigamos encender una luz.
Como puede verse en el código usamos una variable de estado "boton_baja" (para declarar variables de tipo entero hay que usar las funciones avanzadas) que tomar el valor del botón que hemos conectado.
Un siguiente paso sería añadir dos botones y dos leds más para así tener los 3 pulsadores que usaremos en nuestro semáforo. En este ejemplo tenemos 3 botones activando 3 leds de colores diferentes:
Hasta ahora para que el led esté encendido hemos tenido que estar pulsando el botón constantemente. En el siguiente programa basado en el anterior nos proponemos conseguir que esto no sea necesario y que una pulsación del botón deje el led ya encendido todo el tiempo que es lo que es un futuro querremos que haga el motor del ascensor.
Un saludo,
Raúl.
Primeros pasos de control de motor mediante pulsadores
Hola a tod@s.
En este tema vamos a conectar un motor de rotación continua y programar la forma de controlarlo mediante los botones que hemos estado usando anteriormente para las luces. Además de las opciones de giro del motor en sentido horario y antihorario y la opción de pararlo, usaremos el bloque verde de bitbloq que nos permite escribir código directo de arduino para poder usar las opciones attach y detach que no existen en bitbloq.
El siguiente paso será añadir a nuestro arduino los sensores que detecten la posición exacta del ascensor en cada momento para así saber en que planta está y poder darle las ordenes adecuadas al motor para que el ascensor vaya a la planta desde la que se le llama.
Un saludo, Raúl.
Planos eléctricos y despiece acotado
Hola a tod@s.
Para el diseño final de nuestros proyectos además de los planos acotados, las herramientas y fases de fabricación, tendremos que añadir los planos eléctricos de los diferentes componentes del proyecto.
En la siguiente web podemos encontrar una imagen resumen de los más utilizados:
En esta otra web aparecen algunos algo más avanzados.
Con esta simbología podremos hacer nuestros propios esquemas eléctricos como los de los siguientes ejemplos:
Desde un sencillo encendido de una bombilla con interruptor:
A algunos más complejos como este temporizador ajustable 1-10 minutos.
En nuestro caso al incluir arduino en muchos de nuestros proyectos, los esquemas eléctricos tendrán un esquema parecido al de la siguiente figura:
Podemos realizar nuestros esquemas con un procesador de texto, como Word por ejemplo, incluyendo imágenes y utlizando las librearías de símbolos. También existen aplicaciones específicas online con las que podemos diseñar e incluso probar circuitos de manera bastante sencilla.
En los siguiente vídeos podemos ver como iniciarse en el uso de CircuitLab:
El esquema eléctrico también podremos realizarlo de manera detallada en tinkercad circuits: https://www.tinkercad.com/ Un ejemplo de como podría quedar nuestro ascensor:
Además de los planos eléctricos tendremos que realizar un despiece acotado de cada de las piezas que vamos a construir para nuestro proyecto. En la siguiente imagen podemos ver un ejemplo de despiece acotado de todas las piezas que componen un rodillo de campana:
Un saludo,
Raúl.
Soluciones a la programación del ascensor
Hola a tod@s.
Durante la primera parte del proyecto hemos trabajado las diferentes fases de programación del ascensor:
Proyecto Ascensor.
Fase 1: Encendido de luces indicadoras de planta en modo pulsador.
Fase 2: Encendido de luces indicadoras de planta en modo interruptor.
Fase 3: Control del giro del motor en ambos sentidos y stop.
Fase 4: Sensores de detección del ascensor.
Fase 5: Programación completa del ascensor: pulsadores, motor y sensores.
En la siguiente carpeta: https://drive.google.com/drive/folders/1EKGmvvC3VYdyyJH2Ll1o1K-E4h0sWpTa?usp=sharing puedes encontrar los archivos de bitbloq de programación de las 4 primeras fases. La quinta, que permite controlar la maqueta del ascensor completamente de manera muy parecida a un ascensor real, la resolveremos durante esta segunda fase. En las siguientes imágenes puedes ver como programarla.
Un saludo,
Raúl.
Ejemplos de maquetas proyecto ascensor
Hola a tod@s.
En el siguiente enlace podéis ver varios proyectos de ascensores, algunos con muchas características similares al tipo de ascensor que estamos construyendo: Varias plantas, finales de carrera...
Fase 5: Programación completa del ascensor: pulsadores, motor y sensores.
Hola a tod@s.
En este tema vamos a poder descargar el código de una de las posibles soluciones para realizar la quinta fase de la programación del ascensor, que permite controlar la maqueta del ascensor completamente de manera muy parecida a un ascensor real, en la sección 8 de este curso podías descargar el resto de fases del proyecto y ver las imágenes de como resolver esta última.
Programación ascensor. Seguridad en caso de fallo de sensor
Hola a tod@s.
Continuando con el proyecto del ascensor hemos comprobado que podíamos mejorar la seguridad del funcionamiento en caso de fallo de los sensores.
Tal y como estaba programado anteriormente el ascensor cuando le llamábamos desde una planta en la que no estaba el ascensor se movía en ese sentido hasta llegar a ella, pero al probarlo hemos comprobado que si está en la planta baja y le llamamos desde la planta primera y el sensor que detecta que ha llegado a la primera no hace buen contacto y el ascensor sigue subiendo ya nada lo detendrá ni siquiera al llegar a la segunda planta y por tanto el motor seguirá girando aunque llegue al techo. Lo mismo ocurriría si estuviese en la planta segunda y le llamamos desde la primera, si el sensor no funciona el motor seguiría funcionando incluso cuando este en el suelo.
Repasando nuestro programa es en estas dos partes que hemos marcado en rojo donde deberemos actuar:
En la primera estaría en la planta baja "on_baja = 1" y le llamamos desde la primera "llamar_1 = 1" y en la segunda estaría en la planta segunda "on_2 = 1" y le llamamos desde la primera "llamar_1 = 1".
Anteriormente lo teníamos programado así:
Si esta en la planta baja y le llamamos desde la planta primera activamos el motor y le ponemos a girar en sentido antihorario. A continuación ponemos un mientras que no hace nada (es decir el programa no avanza más allá de ese mientras) mientras se cumpla la condición que le ponemos que es que el sensor_1 sea 0. Es decir que el programa no va a hacer otra cosa y por tanto motor va a estar girando mientras el sensor_1 el de la planta primera este a 0. Cuando ese sensor detecte algo el programa continua en la siguiente línea que como puede verse para el motor y pone a 0 la variable de que se ha llamado al ascensor.
Como hemos explicado antes con este programa si el ascensor no hace buen contacto con ese sensor y sigue subiendo por encima de él ya nada lo va a parar. Es por eso que podemos añadir una medida de seguridad haciendo que en ese caso pare también si detecta que ha llegado a la segunda planta es decir si el sensor:2 pasa a ser 1. La programación quedaría de la siguiente manera:
Como puede verse en la parte marcada en rojo para que el bucle mientras sea cierto y por tanto el motor siga girando ahora es necesario que se cumplan las dos condiciones de que los dos sensores estén a 0, con que uno de los dos sensores, el de la planta 1 o el de la planta 2 pase a ser 1 el mientras ya no se cumple y el programa pasa a la siguiente linea que lo que hace es parar el motor.
Lo mismo tendremos que hacer para el caso de que el ascensor este en la segunda planta y le llamamos desde la primera:
En este caso con que el sensor de la primera o el de la planta baja pasen a ser 1 el motor se pararía.
De esta manera mediante una sencilla modificación en la programación podemos añadir un sistema extra de seguridad a nuestro ascensor en caso de fallo al pasar por un sensor.
Un saludo, Raúl.
Creación de aplicaciones para Android con AppInventor
Hola a tod@s.
Con la idea de poder controlar remotamente mediante un teléfono móvil nuestro ascensor vamos a aprender a crear aplicaciones para teléfonos Android usando el programa online AppInventor creado por los ingenieros del MIT.
Para ello será necesario acceder a la web de AppInventor. https://appinventor.mit.edu/ y registrarse usando una cuenta de gmail. El acceso a AppInventor se hace desde la propia cuenta de gmail, con la contraseña de gmail, por lo que la recomendación es no usar la cuenta personal y crearse una específicamente para clase y para desarrollar aplicaciones.
Para aprender AppInventor usaremos un fantástico tutorial de la web https://codeweek.eu/docs/spain/guia-iniciacion-app-inventor.pdf):
En el siguiente vídeo podemos ver una sencilla guía para iniciarnos en Floorplanner:
Los planos creados con sus correspondientes medidas se adjuntarán en un documento de texto con explicaciones sobre las diferentes distribuciones de los espacios. El documento se completará con unas tablas con gráficos de superficies reales de la casa y cálculo del material necesario para construirla a escala 1/50.
En este enlace tenemos documentos de ejemplo de los planos y cálculos a realizar para obtener el documento de proyecto final:
Para la elaboración de la maqueta a escala usaremos cartón, o madera de contrachapado o dm recicladas del taller. En los siguientes vídeos podemos ver algunos ejemplos de maquetas de casas construidas con esos materiales.
Tema 2, Creación de aplicaciones para Android con AppInventor
Buenos días.
En este tema vamos a aprender a crear aplicaciones para teléfonos Android usando el programa online AppInventor creado por los ingenieros del MIT.
Para ello será necesario acceder a la web de AppInventor. https://appinventor.mit.edu/ y registrarse usando una cuenta de gmail. El acceso a AppInventor se hace desde la propia cuenta de gmail, con la contraseña de gmail, por lo que la recomendación es no usar la cuenta personal y crearse una específicamente para clase y para desarrollar aplicaciones.
Para aprender AppInventor usaremos un fantástico tutorial de la web https://codeweek.eu/docs/spain/guia-iniciacion-app-inventor.pdf):
En el siguiente vídeo explican la primera aplicación del tutorial paso a paso:
En el próximo tema aprenderemos a programar en arduino mediante bitbloq todos los componentes de domótica de control de nuestra casa.
Un saludo,
Raúl.
Tema 3, programación Arduino usando Bitbloq
Buenos días.
En este tema vamos a realizar 5 prácticas que nos van a permitir aprender a programar diferentes componentes que instalaremos en nuestra casa.
Cada práctica tiene un ejercicio de programación con un componente diferente para el que tenemos la solución en forma de imagen de como programarlo usando Bitbloq y posteriormente un reto más difícil de programar con ese mismo componente para intentar llevar la programación un paso más allá.
Como decíamos para simplificar la programación en arduino usaremos Bitbloq 2 creada por los ingenieros de BQ para hacer más accesible la programación mediante el uso de bloques. Será necesario registrase en la web de Bitbloq a la que se puede acceder mediante el siguiente enlace: https://bitbloq.bq.com/#/
BQ ha desarrollado una serie de vídeos para enseñar a programar con Bitbloq.
A continuación vamos a ver el contenido y las imágenes de cada una de las 5 prácticas y retos:
PROGRAMACION BITBLOQ
PARPADEO LED CADA VEZ MÁS RÁPIDO
RETO: Conseguir que el led parpadee primero más rápido y luego cuando ya casi ni se note el parpadeo vaya al revés parpadeando cada vez más despacio.
ENCENDIDO Y APAGADO LUZ MEDIANTE BOTON
RETO: Conseguir que según vayamos pulsando el botón el led pasé a encenderse, si volvemos a pulsar pase a parpadear, si volvemos a pulsar que se apague y si volvemos a pulsar a encenderse y así sucesivamente.
ENCENDIDO Y APAGADO LUZ AUTOMÁTICAMENTE DE NOCHE
RETO: Conseguir que pulsando un botón que podamos variar el valor de 40 del LDR que define en el programa del ejemplo el paso del día a la noche.
ALARMA
RETO: Conseguir que pulsando un botón que podamos hacer que la alarma quede activa al salir de casa o desactivarla cuando llegamos.
PUERTA DE GARAJE AUTOMÁTICA
RETO: Conseguir que aunque el mando manual se quede en posición abierta, la puerta se cierre siempre que el coche esté dentro.
En el siguiente tema usando los conocimientos del tema 2 aprenderemos a crear una aplicación móvil de control de nuestra casa que finalmente se comunicará mediante bluetooth con nuestra placa arduino.
Un saludo,
Raúl.
Tema 4, control de la Casa Domótica con el móvil
Buenos días.
En esta entrada vamos a ver las diferentes fases para conseguir controlar nuestra casa domótica con el teléfono móvil.
El primer paso será cambiar el nombre y el pin al módulo bluetooth de nuestra placa zumkit de BQ. Para ello seguiremos los pasos del siguiente vídeo:
El siguiente paso será sincronizar el módulo bluetooth con nuestro teléfono móvil, activando el bluetooth del teléfono, buscando el dispositivo por su nuevo nombre y sincronizando con el nuevo pin.
Una vez sincronizado el dispositivo pasaremos a crear la aplicación con AppInventor. Para usar AppInventor es necesario tener una cuenta de gmail. AppInventor pedirá acceso directo a la cuenta de gmail, es por eso que como decía en el tema 2 recomiendo que no uséis la personal y creéis una para trabajar con esta web. Para simplificar los primeros pasos de conexión podéis importar este programa en el que ya están creados el ListPicker de conectar y el botón de desconectar. Podéis descargarlo en vuestro ordenador y una vez dentro de appinventor importar el archivo .aia de proyecto.
A este programa básico habrá que añadirle en un principio dos botones: Encender y apagar, que manden vía bluetooth información para que luego arduino la use para realizar las acciones de encender y apagar un led. En principio una forma sencilla de hacer esto es enviar las letras A para el encendido y B para el apagado.
Cuando tengamos terminada la aplicación debemos instalarla en el móvil, para ello hay que descargarla mediante el código QR o descargar el archivo .apk en el ordenador y enviarlo por mail al móvil o si lo conectamos con el cable usb al ordenador copiando y pegando el archivo. La opción de usar el código QR es muy cómoda. Una de las mejores aplicaciones gratuitas para leer códigos QR es QR Code Reader.
Solo nos queda programar la placa para que reciba la información del bluetooth. Para ello vamos a usar bitbloq y de momento hasta que veamos como usar el componente Bluetooth de bitbloq, las conexión vía bluetooth las vamos a realizar con el componente Puerto Serie. Es importante confirmar que el Baudrate del puerto serie es el mismo que el del bluetooth, en principio 9600 por defecto en los módulos HC-06 y 19200 si estamos usando las placas Zumkit de BQ.
Lo siguiente será programar los componentes. Para ello usaremos una variable "datos" que recibe la información del bluetooth y la almacena. Cuando la variable contenga algún dato (longitud>0) comprueba si es A o B para encender o apagar el led y a continuación borra el dato de la variable,
Es importante tener en cuenta que al usar el puerto de serie para las conexiones bluetooth será necesario que los pines 0 y 1 de nuestra placa no tengan nada conectado.
En este vídeo puede verse una explicación de todo lo anterior con un sencillo programa de encendido y apagado de un led para una placa similar a la que estamos usando en nuestro proyecto la zumkit de BQ que lleva el bluetooth incorporado:
Una vez realizado este sencillo programa y comprobado que somos capaces de comunicarnos entre el teléfono móvil y la placa empezaremos a desarrollar la aplicación específica para el control del semáforo que deberá realizar al menos las siguientes funciones:
Encender y apagar las diferentes luces de la casa desde el móvil.
Abrir y cerrar la puerta del garaje.
Activar y desactivar la alarma.
Cambiar el valor de noche para el encendido automático de las luces exteriores/farola.
Una vez tengamos en funcionamiento estas opciones intentaremos incorporar otras como sensores de temperatura, etc.
Un saludo,
Raúl.
Tema 5, recepción en el teléfono de datos de la casa
Buenos días.
En el tema anterior hemos visto como enviar datos desde nuestro teléfono a arduino para controlar los diferentes componentes y sensores de la placa. En este tema llevaremos la comunicación entre el teléfono y la placa un paso más allá aprendiendo a recibir datos en nuestro teléfono enviados por la placa. Lo cual será muy útil por ejemplo para graduar los sensores de luz, conocer la temperatura o humedad ambiente... y en base a estos datos poder tener un mayor control de la domótica de nuestra casa.
Envío de datos desde arduino al teléfono:
Por puerto de serie enviamos con salto de línea el valor de la variable que quedamos recibir en el teléfono:
Para que el teléfono vaya refrescando los datos automáticamente hay que incluir un clock en appinventor y definir la tasa de refresco de la información del reloj, en el ejemplo 100ms.
Por último usamos el when . timer del clock que hemos creado para cambiar el valor de una etiqueta existente (en el ejemplo VALOR_LDR) con los bytes available to receive.
Un saludo,
Raúl.
Tema 6, cuestionario final proyecto Casa Domótica
Buenos días.
En este tema de cierre final del proyecto tenemos un enlace a un cuestionario final de síntesis de todas las partes vistas en el proyecto. Este cuestionario puede usarse para recapitular todo el trabajo realizado o por ejemplo también para hacer un análisis individual de lo aprendido más allá del trabajo en grupo.
Tema 7, proyectos más sencillos de programación de una Casa Domótica
Buenos días.
Durante el curso 2016/17 como parte del proyecto Retotech de la fundación Endesa realizamos varias prácticas relacionadas con la programación de una casa domótica sencilla. El diseño que se planteaba en los retos 1 y 2 era más sencillo que el de los temas anteriores pero puede servir como ejemplo de iniciación a la programación de una casa domótica o como proyecto en el caso de que no se tenga el tiempo suficiente para diseñar y construir una casa más compleja y se prefiera priorizar la parte de programación de la misma.
Los retos 1 y 2 del proyecto Retotech de Endesa consistían en la creación de una sencilla maqueta de una casa domótica utilizando diferentes sensores en el reto 1 y el control desde el móvil en el reto 2. Los/as alumnos/as de 1º de bachillerato han estado trabajando en este proyecto en la parte final de esta segunda evaluación y los resultados han sido fantásticos, ya que todos los grupos han conseguido realizar ambos retos.
La información más importante sobre este reto está en el siguiente documento, que explica paso por paso como realizar la construcción y programación de la casa, así como algunas prácticas previas con los componentes mínimos necesarios.
El proyecto de programación de un semáforo aúna sistemas de control, electricidad, electrónica, circuitos analógicos y digitales, programación en arduino, impresión en 3D y programación de aplicaciones móviles con appinventor.
Será un proyecto que nos permita iniciarnos en cada una de las diferentes partes del curso como preparación a proyectos de programación más complejos con partes móviles por ejemplo.
En el siguiente enlace puede descargar el documento con la hoja de seguimiento de las fases del proyecto:
En los diferentes temas iremos desarrollando los contenidos necesarios para la realización del semáforo. Desde la conexión de los componentes a las placas protoboard y arduino hasta la creación de la aplicación para android, pasando por el diseño e impresión de sencilla piezas en 3D.
Saludos, Raúl.
Tema 1, parpadeo (blink) de led con Arduino y Bitbloq
Hola a tod@s.
En este primer tema vamos a conectar nuestra controladora de arduino con el ordenador y cargaremos un sencillo programa de prueba, el blink, que hará parpadear un led.
Las controladoras de arduino UNO que vamos a utilizar tienen un led incorporado (y asociado al pin 13) que permite comprobar que el programa está funcionando correctamente sin necesidad de añadir ningún componente extra a la controladora.
Para este primer ejercicio podemos seguir los pasos de este vídeo:
Como podréis ver en el vídeo el programa blink no hace falta crearlo ya que forma parte de los programas base de ejemplo de arduino (minuto 3:45 del vídeo).
Veremos también que es imprescindible seleccionar en herramientas (Tools) la placa que estamos usando (minuto 7:00 del vídeo) y el puerto COM (minuto 7:20 del vídeo) en el que aparezca que se ha conectado nuestra placa (debe ser un puerto COM diferente al 1).
Gran parte de la programación para arduino que haremos será utilizando Bitbloq 2, el entorno de programación por bloques para arduino que ha creado la empresa BQ. Gracias a bitbloq simplificaremos la parte un poco más farragosa de evitar cometer errores de escritura al realizar nuestros programas y podremos centrarnos en la parte lógica y de programación de algoritmos, lo que se denomina la parte de pensamiento computacional.
En el siguiente vídeo tenemos una explicación bastante detallada de los primeros pasos para enceder un led con bitbloq. Aunque en el vídeo utiliza la placa zumkit de bq en bitbloq se puede seleccionar también la genérica arduino UNO.
Algo importante a la hora de cargar programas en arduino usando bitbloq es que debemos tener instalado el componente web2board en nuestro ordenador. Si no lo tenemos instalado bitbloq nos avisará y nos pedirá que lo descarguemos e instalemos. Por otro lado, si lo tenemos instalado, nos saltará una ventana pidiendo que abramos en una nueva ventana una consola de MSDOS donde se ejecutará este componente. Es imprescindible decir que sí a esta pregunta y no cerrar la consola de MSDOS durante el tiempo que estemos trabajando con btibloq.
El vídeo anterior pertenece a una serie de vídeos para iniciarse en bitbloq 2. Aquí podéis ver el vídeo presentación del curso:
Una vez que ya sabemos como encender un led con bitbloq será bastante fácil usando los bloques realizar el programa blink para que el led se encienda y apague.
En el siguiente tema veremos como conectar a nuestro arduino los diferentes componentes electrónicos de nuestro proyecto de semáforo.
Un saludo,
Raúl.
Tema 2, conexiones protoboard y arduino
Hola a tod@s.
En este tema haremos una recopilación de imágenes y algún vídeo explicativo sobre la conexión de los componentes para nuestro proyecto del semáforo.
Para poder hacer este proyecto necesitaremos por un lado conectar los leds:
"Hay dos tipos de personas, los que conectan los LEDs con resistencia y los que no… y solo una de ellas lo está haciendo bien."
Es por eso que nosotros lo vamos a hacer bien, es decir, con resistencia.
Para recordar el código de colores de la resistencia podemos usar estas imágenes en función de que lleve 3 o 4 lineas de colores + la tolerancia.
A continuación tendremos que conectar el zumbador:
El siguiente componente que tendremos que conectar es el LDR, la resistencia variable que nos permitirá saber si es de día o de noche.
Para profundizar más sobre la conexión del LDR y entender porque se conecta de esta manera mediante un divisor de tensión es muy práctica la información de la siguiente web.
El último componente que será necesario conectar es el pulsador:
Conectar los componentes es una fase que parece que tiene menor importancia que la de programar, pero sin duda es realmente importante prestar la máxima atención y entender porque se conectan los componentes de esta manera para evitar fallos que puedan dañar a la placa o los componentes y además nos puedan hacer dar mil vueltas a la programación sin darnos cuenta de que el problema no es de código si no de instalación y conexión.
Un saludo,
Raúl.
Tema 3, programación del semáforo usando la función Esperar / Delay
Hola a tod@s.
Una vez que ya hemos sido capaces, por un lado en el tema 1, de hacer parpadear un led cargando el programa blink de arduino o programándolo nosotros mismos en bitbloq y, por otro lado en el tema 2, de conectar todos los componentes necesarios mediante resistencias y la placa protoboard, en este tercer tema vamos a aprender a programar un semáforo con la siguiente secuencia de encendido de luces:
Estado de la luz de los coches Estado de la luz de peatones Tiempo de duración
VERDE ROJO 8s
ÁMBAR ROJO 4s (en los 2 últimos segundos la luz ambar de coches deberá parpadear 4 veces)
ROJO VERDE 6s (en los 2 últimos segundos la luz verde de peatones deberá parpadear 4 veces)
Para ello será necesario conectar correctamente 5 leds a nuestra controladora (recordar que siempre hay que dejar libres los pines 0 y 1 que son los necesarios para comunicarnos con la placa y cargar los programas por ejemplo) en los pines que después serán los mismos que usaremos en bitbloq para indicar la ubicación de nuestros leds tal y como puede verse en el ejemplo de la imagen.
.
Posteriormente pasaremos a la programación de la secuencia de encendido utilizando la función <esperar> o <delay> en inglés. Un ejemplo del código puede verse en la siguiente imagen.
En el próximo tema veremos como programar la secuencia de encendido sin usar la función esperar, programación mucho más avanzada pero imprescindible para que nuestra controladora no tenga momentos de esperar en los que la programación y los sensores por ejemplo no responderían.
Un saludo,
Raúl.
Tema 4, programación del semáforo usando Tiempos de Ejecución
Hola a tod@s.
Seguimos avanzando en el proyecto de programación en arduino, fabricación de maqueta y aplicación móvil de control de un semáforo.
En la parte de programación vamos a dar el salto de usar la función ESPERAR de Bitbloq a programar usando <Obtener tiempos de ejecución>, lo que nos permite tener un mayor control sobre el programa ya que la función esperar bloquea la programación y por tanto la recepción de información por parte de sensores o el control de las respuestas del semáforo.
Este nivel de programación nos llevará a trabajar con las diferentes opciones de código de arduino. Por un lado la Declaración de Variables, por otro Las Instrucciones iniciales (Setup) que se ejecutan una sola vez al iniciar el programa y por último el Bucle principal (Loop) en el que desarrollaremos la parte central del código que se repite en modo Loop.
A continuación dejamos las imágenes de una de las opciones de programación en bitbloq del semáforo en modo sencillo, alternando de rojo durante 8 segundos, a ámbar durante 4 segundos y por último a verde durante 6 segundos usando <Obtener tiempo de ejecución>.
En esta opción de programación se juega con las variables TIEMPO y TIEMPO_RESET para crear un ciclo de 18000ms en el que se van secuenciando las luces:
Otra opción es utilizar variables de estado que nos indiquen que luz está encendida y con esa variable de estado y el control del tiempo poder decidir cuando apagarla y encender la siguiente. En este código ya aparece la secuencia correcta verde coches (rojo peatones) - ambar coches (rojo peatones) - rojo coches (verde peatones):
Existen más soluciones como la de usar un contador que vaya aumentando cada 1000ms... Lo fundamental es dar el salto a programar usando los tiempos de ejecución del programa y así evitar usar la función delay/esperar.
En el siguiente tema profundizaremos en la programación incluyendo los parpadeos, y algunos otros componentes al semáforo.
Un saludo, Raúl.
Tema 5, parpadeo de la luz ambar, y verde peatones
Hola a tod@s.
Un siguiente paso es el de crear un parpadeo. En las siguientes imágenes puede verse como incluir las luces de peatones y el parpadeo. Para el parpadeo creamos dos nuevas variables, una de estado de parpadeo y otra de tiempo de parpadeo.
En estas primeras imágenes vemos que usando las variables de estado de las luces para los coches podemos ir añadiendo las luces de peatones ya que hay una relación directa entre lo que hacen unas y otras.
Parpadeo del ambar del coches:
Parpadeo del verde de peatones:
La siguiente fase del programa consistirá en mantener el mismo juego de luces, parpadeo y añadir el sonido controlador por un LDR.
Un saludo,
Raúl.
Tema 5b, Sonido en el semáforo, control con LDR
Hola a tod@s.
El siguiente paso de este modo es el de añadir el sonido del zumbador a la programación. En esta imagen puede verse la parte de código correspondiente al apagado y encendido del zumbador. En la siguiente imagen puede verse que añadimos en arduino el zumbador como un led ya que queremos controlar su encendido como con los parpadeos usando <obtener tiempo de ejecución>.
Recordar que en el tema 2 está la imagen de como se conecta un zumbador a la protoboard y a arduino.
Por tanto el código de sonido intermitente será similar a los que ya hemos visto de parpadeo.
Por último para evitar que el zumbador pueda quedar activado en caso de que la luminosidad baje cuando está sonando hemos añadido una condición al inicio del programa. Tendremos que añadir un LDR.
Recordar que en el tema 2 está la imagen de como se conecta un LDR a la protoboard y a arduino.
Finalmente para programarlo tendremos que crear una nueva variable, en el ejemplo llamada "luminosidad" que guardará el valor del LDR en cada momento y lo incluirá como condición para que el sonido se produzca solo de día, ya que de noche podría ser excesivamente molesto.
En el ejemplo el valor de luminosidad que marca el cambio de día a noche es que el sensor de un valor de más de 40. Este valor no es fijo, dependerá de la resistencia que pongamos.
En el ejemplo el valor de luminosidad que marca el cambio de día a noche es que el sensor de un valor de más de 40. Este valor no es fijo, dependerá de la resistencia que pongamos y de la sensibilidad del LDR que estemos usando. En un futuro aprenderemos a ajustarlo con nuestro teléfono móvil, pero de momento aprenderemos a obtener este valor usando la información que arduino puede enviar al monitor serie mediante el puerto serie. Primero tendremos que añadir el puerto serie como componente.
Posteriormente en la programación añadir el envío de los datos que necesitemos al puerto serie:
Y por último, tras cargar el programa en placa, abrir el monitor serie para comprobar los resultados.
En el siguiente tema profundizaremos en la programación incluyendo los parpadeos, y algunos otros componentes al semáforo.
Un saludo, Raúl.
Tema 5, Soluciones
Hola a tod@s.
Solución al programa más básico de funcionamiento sin parpadeos ni sonido, simplemente la alternancia entre las luces:
Un siguiente paso es el de crear un parpadeo en la parte final del encendido del semáforo de peatones. En la siguiente imagen puede verse como entre los 3000 y 6000 milisegundos de encendido del verde peatones (rojo coches) se hace parpadear la luz verde de peatones.
El siguiente paso de este modo es el de añadir el sonido del zumbador a la programación. En esta imagen puede verse la parte de código correspondiente al apagado y encendido del zumbador.
Por último para evitar que el zumbador pueda quedar activado en caso de que la luminosidad baje cuando está sonando hemos añadido una condición al inicio del programa:
La siguiente fase del programa consistirá en mantener el mismo juego de luces, parpadeo y sonido pero en el modo "peatón pulse".
Un saludo,
Raúl.
Tema 6, programación del semáforo en modo "Peatón pulse"
Buenos días.
En esta entrada veremos como realizar el programa de control del semáforo mediante un botón.
Recordamos la imagen del tema 2 que nos mostraba como conectar el pulsador a arduino mediante una protoboard:
El último componente que será necesario conectar es el pulsador:
Con los componentes correctamente conectados iremos a bitbloq para indicar en que pin está conectado y programarlos. Si tenemos programado el semáforo mediante tiempos de ejecución será realmente sencillo el paso a uso mediante botón.
Primero será necesario añadir una variable más para guardar el estado del botón.
Posteriormente tendremos que detectar si el botón ha sido pulsado y cambiar la variable. Colocamos un mientras en ese condicional para que el programa no avance hasta que el botón no haya sido dejado de pulsar.
Por último en el momento en que el semáforo tiene que dejar de estar en verde añadimos una opción más que es que la variable botón esté a 1. En ese momento deberemos volver a ponerla a 0.
Un saludo, Raúl.
Tema 7, maqueta semáforo e impresión en 3D
Buenos días.
Con toda la parte de programación y electrónica funcionando perfectamente vamos a dar el paso de llevarlo todo a una maqueta. Es importante no solo trabajar la parte abstracta y lógica de la programación y conexiones si no también la creativa de diseño de la maqueta y manipulativa de fabricación de la misma.
Como ejemplos de posibles soluciones presentamos estos dos vídeos, con un primer ejemplo de una solución sencilla pero que responde perfectamente a un trabajo limpio y bien acabado.
O esta otra en la que podemos ver un proyecto mucho más desarrollado.
Como curiosidad este otro vídeo en el que podemos ver todo el complejo circuito que maneja la maqueta de control de semáforo que seguro nos hará valorar mucho más el enorme potencial que tiene una "sencilla" placa de arduino con la que podemos conseguir mismo resultado o incluso superior.
Con el fin de comenzar a trabajar la impresión en 3D se valorará que la maqueta tenga algún componente impreso en 3D por nosotros mismos. Puede ser un componente descargado de internet en formato STL y después generado el archivo GCODE por nosotros mismo en el taller. Aquí tenéis algunos ejemplos:
En caso de trabajar con la versión de Sketchup de escritorio, para poder guardar los archivos de Sketchup en formato STL es necesario tener instalada esta extensión y seguir los sencillos paso de exportación que se indican.
Los archivos GCODE los generaremos con el programa CURA que tenemos instalado en el taller en el ordenador junto a la impresora en 3D, el modelo que tenemos en el taller es la WITBOX 2, una fantástica impresora en 3D que conseguimos el año pasado gracias a clasificarnos al concurso Retotech.
Un saludo, Raúl.
Tema 8, conexión Arduino - Teléfono mediante aplicación de AppInventor y bluetooth
Buenos días.
En esta entrada vamos a dar los primeros pasos para conectarnos a la placa mediante el móvil usando el dispositivo bluetooth HC-06.
Lo primero será cambiar el nombre por defecto (HC-06) y el pin (1234) del dispositivo bluetooth. Para ello hay que usar el siguiente programa de arduino. Deberemos editarlo, cambiar los datos de la variable NOMBRE y PIN, conectar el bluetooth en los pines 2 (RX) y 3(TX) de nuestra placa y subir el programa a la placa.
Una vez sincronizado el dispositivo pasaremos a crear la aplicación con AppInventor. Para usar AppInventor es necesario tener una cuenta de gmail. AppInventor pedirá acceso directo a la cuenta de gmail, es por eso que recomiendo que creéis una solo para trabajar con esta web. Para simplificar los primeros pasos de conexión podéis importar este programa en el que ya están creados el ListPicker de conectar y el botón de desconectar. Podéis descargarlo en vuestro ordenador y una vez dentro de appinventor importar el archivo .aia de proyecto.
A este programa básico habrá que añadirle en un principio dos botones: Encender y apagar, que manden vía bluetooth información para que luego arduino la use para realizar las acciones de encender y apagar un led. En principio una forma sencilla de hacer esto es enviar las letras A para el encendido y B para el apagado.
Cuando tengamos terminada la aplicación debemos instalarla en el móvil, para ello hay que descargarla mediante el código QR o descargar el archivo .apk en el ordenador y enviarlo por mail al móvil o si lo conectamos con el cable usb al ordenador copiando y pegando el archivo. La opción de usar el código QR es muy cómoda. Una de las mejores aplicaciones gratuitas para leer códigos QR es QR Code Reader.
Solo nos queda programar la placa para que reciba la información del bluetooth. Para ello vamos a usar bitbloq y de momento hasta que veamos como usar el componente Bluetooth de bitbloq, las conexión vía bluetooth las vamos a realizar con el componente Puerto Serie. Es importante confirmar que el Baudrate del puerto serie es el mismo que el del bluetooth, en principio 9600 por defecto en los módulos HC-06.
Lo siguiente será programar los componentes. Para ello usaremos una variable "datos" que recibe la información del bluetooth y la almacena. Cuando la variable contenga algún dato (longitud>0) comprueba si es A o B para encender o apagar el led y a continuación borra el dato de la variable,
Es importante tener en cuenta que al usar el puerto de serie para las conexiones bluetooth será necesario conectar los pines TX y RX del módulo bluetooth a los pines 0 y 1 de arduino respectivamente (van cruzados el TX del bluetooth al RX de la placa que es el 0 y el RX del bluetooth al TX de la placa que es el 1) pero en el momento de cargar programas en la placa será necesario desconectarlos. Podemos mantener conectados los pines de Vcc y GND y por tanto seguir conectados al módulo con el móvil si ya está conectado. Una vez cargado el programa volveremos a conectar los pines del bluetooth a la placa para que la información que enviamos por el teléfono llegue hasta ella.
Una vez realizado este sencillo programa y comprobado que somos capaces de comunicarnos entre el teléfono móvil y la placa empezaremos a desarrollar la aplicación específica para el control del semáforo que deberá realizar al menos las siguientes funciones:
Encender y apagar el semáforo
Cambiar de modo secuencia a modo botón
Cambiar a modo ámbar parpadeando
Permitir cambiar los tiempos de espera de cada fase: rojo, ámbar y verde
Permitir activar y desactivar el sonido del zumbador
Recibir la información del sensor de luz en el móvil
Permitir variar el valor que determina si es de día o de noche
Alguna otra opción de creación propia
En el siguiente enlace tenéis la hoja de seguimiento de esta fase del proyecto:
Con esta parte terminada concluiremos este primer proyecto del semáforo en el que hemos podido trabajar: electrónica digital, analógica, programación, impresión en 3D, realización de proyectos, aplicaciones móviles y conexiones inalámbricas. Todo esto formará la base para los proyectos que realizaremos en la segunda parte del curso.
Un saludo, Raúl.
Tema 8b. Bluetooth configuración y conexión
Hola a tod@s.
En esta entrada voy a resolver varias dudas sobre el bluetooth: como probar los programas sin necesidad de usar el bluetooth y como configurar y solucionar los problemas más comunes con el bluetooth.
Probar la programación de bitbloq o arduino sin usar el bluetooth
Esta es una opción muy interesante si creemos que el bluetooth nos está dando problemas y aún así queremos programar con bitbloq y probar el resultado de nuestros programas.
La solución es mandar las ordenes a la placa mediante el Serial Monitor de la pestaña Ver de bitbloq (opción Mostrar Serial Monitor). Desconectamos completamente el bluetooth de la placa y teniéndola conectada con el cable usb al ordenador podemos dar las ordenes correspondientes desde el Serial Monitor, simplemente hay que tener el cuidado de poner el Baudrate que hayamos puesto al componente Puerto Serie (que en principio para la placa UNO debería de ser 9600). Desde el puerto de serie podemos mandar las letras o textos que hayamos predefinido para mandar las ordenes desde appinventor a bitbloq. Escribiremos A y le damos al botón de enviar si es ese el mensaje que queremos probar o cualquier otro. Para poder hacer esto hay que colocar el robot de manera que las ruedas no toquen el suelo ya que lo tendremos conectado al ordenador con el cable. No servirá por tanto para verlo en movimiento pero si para ver la respuesta de la programación a la entrada de comandos. Dos consideraciones importantes para usar el Serial Monitor de esta manera: - Hay que asegurarse de que el bluetooth no está conectado a la placa y que no están ocupados los pines 0 y 1 por ningún otro componente, ya que el puerto serie usa esos pines para enviar y recibir datos. (Esto también es imprescindible para cargar programas en la placa). - Es necesario tener el interruptor encendido y por tanto las pilas alimentando a la controladora de motores, ya que aunque por el USB le llega corriente a la placa y resto de componente no es suficiente como para hacer girar los motores. Cambio de nombre, pin y baudrate del bluetooth
Para ello es necesario conectar el bluetooth a los pines 2 y 3 de la placa. El RX debe conectarse al 3 y el TX al 2. Por otro lado el GND (ground) debe estar conectado a cualquier pin de G de la placa (normalmente lo ponemos al de G del pin 0 de la placa) y VCC a cualquier pin V de la placa (igualmente lo solemos dejar siempre en el V del pin 0). A continuación descargamos el siguiente programa de arduino y lo abrimos con arduino.
De este programa lo más importante son las siguiente líneas de código:
SoftwareSerial blue(2, 3); //Crea conexion al bluetooth - PIN 2 a TX y PIN 3 a RX char NOMBRE[21] = "PALBOT"; // Nombre de 20 caracteres maximo char BPS = '4'; // 1=1200 , 2=2400, 3=4800, 4=9600, 5=19200, 6=38400, 7=57600, 8=115200 char PASS[5] = "1999"; // PIN O CLAVE de 4 caracteres numericos
En la primera nos recuerda donde hay que conectar los pines RX y TX tal y como ya hemos explicado. Las otras 3 líneas servirán para poner el nombre, baudrate y pin a la placa. El nombre sera PALBOT y el número correspondiente que hemos ido asignando, el PIN ya está puesto el 1999 y el baudrate dejamos de momento el 9600 (opcion 4 tal y como está) ya que parece que funciona bien con este módulo bluetooth. Así que solamente habría que añadir el número correspondiente después de la T de PALBOT.
Una vez cambiados el nombre y pin cargamos el programa en la placa (recordar que hay que marcar el puerto COM correspondiente en herramientas) y si aparece el mensaje "subido" ya habremos conseguido cambiar el nombre y el pin. Ahora tocará buscarlo con el movil y sincronizarlo antes de poder usarlo con la aplicación de appinventor.
Recordar que siempre para cargar programas hay que asegurar de que los pines 0 y 1 de la placa están libres (podemos dejar conectados cables a la parte de V y G, de tensión y tierra/ground pero no al pin de señal) y que después para que el módulo bluetooth funcione hay que volver a ponerlos.
Un saludo, Raúl.
Tema 9, control sencillo mediante el móvil de apagado / encendido del semáforo
Buenos días.
En las siguiente entradas vamos a ir incorporando a nuestro programa de arduino de control de un semáforo el código necesario para controlarlo desde el móvil.
En estas dos entradas previas se puede ver como fuimos programando el arduino para controlar el semáforo:
En esta primera entrada comenzaremos por añadir al programa más sencillo de semáforo, en el que se iban encendiendo las luces de manera secuencial (sin usar la función esperar, todo mediante el uso de tiempos de ejecución), la opción de apagar o encender el semáforo o de ponerlo en modo ámbar intermitente.
Sobre este programa de base vamos a añadir el código que nos va a permitir manejarlo desde el teléfono. Previamente tendremos que haber creado una aplicación con appinventor que envíe mensajes a nuestro arduino. En la entrada anterior del blog vimos como crear una aplicación sencilla que permitía enviar una A y una B. Para poder añadir el modo ámbar intermitente o modo de emergencia del semáforo deberemos añadir un tercer botón que envíe por ejemplo la señal C.
Una vez confirmado que tenemos el componente puerto serie en bitbloq y el Baudrate del mismo coincidiendo con el del bluetooth (en nuestro caso 9600), lo primero que deberemos programar en bitbloq son las nuevas variables que vamos a utilizar:
Como veis hemos añadido dos variables. La variable "datos", de la que ya hablamos en la entrada anterior, que usaremos para guardar el texto que llegue vía bluetooth. Y la variable MODO, que indicará el modo de funcionamiento del semáforo. De momento tendremos tres modos de funcionamiento. 0 cuando este apagado, 1 para modo normal en secuencia de colores y 2 para el modo ambar parpadeante. En la imagen anterior puede verse también que en el apartado Setup de instrucciones iniciales comenzamos por defecto con el MODO 1 de funcionamiento normal del semáforo.
Al comienzo del bucle principal LOOP añadiremos las opciones para que en función de la letra recibida el programa cambie de un MODO a otro.
Vamos a ver que hace cada una de las opciones:
Si recibe una A, el semáforo pasa a modo normal (secuencia de encendidos) volviendo a comenzar como en las instrucciones iniciales por el rojo. Añadimos aquí que A_on y V_on pasen a ser 0 para asegurarnos que volverá a empezar de nuevo solo con una de las tres variables en 1, la de R_on.
Si recibe una B, el semáforo pasa a modo apagado. Enviamos señal de apagado a los tres leds y pasamos las tres variables a 0.
Si recibe una C el semáforo pasa a MODO 2, enciende solo el ámbar poniendo solo A_on a 1 y tomar el tiempo de ejecución como momento de encendido del ámbar.
El MODO 0 no necesita más programación el semáforo estará apagado hasta que enviemos alguna otra señal.
El MODO 1 es muy sencillo, simplemente tendremos que incluir todo el código que manejaba antes el semáforo dentro de esta opción como puede verse en la siguiente imagen:
Y por último programamos el MODO 2 de la siguiente manera:
Con esto conseguiremos un parpadeo de tiempo de encendido y apagado de 500ms en cada caso sin usar la función esperar que bloquearía el programa y dificultaría el envío de datos vía bluetooth.
Como veis un programa ya de un nivel muy interesante en el que empezamos a trabajar con las variables y los condicionales de manera ordenada. Siguiendo esta misma dinámica podremos ser capaces de ir añadiendo a este programa el resto de opciones que proponíamos en la entrada anterior:
En la siguiente entrada veremos como implementar algunas de ellas.
Un saludo,
Raúl.
Tema 10, control de los tiempos de encendido del semáforo
Buenos días.
Seguimos trabajando con nuestro semáforo, ahora controlando sus funciones desde el móvil. La siguiente función de control que vamos a implementar es la del tiempo de duración de los encendidos. Existen muchas manera de hacerlo y una de las más sencillas es la que os propongo en esta entrada: Utilizando un dos botones para cada luz, uno para aumentar el tiempo de encendido y otro para disminuirlo.
Empecemos con la aplicación móvil en App inventor, Vamos a añadir 3 layouts, uno para cada luz, con dos botones y una etiqueta en cada uno. Podéis ver el resultado en la siguiente imagen.
La programación de los elementos es sencilla pero incluye algunos elementos que no hemos visto hasta ahora: Creación de variables en app inventor (initialize global), realización de operaciones matemáticas con las variables y modificación del contenido de cuadros de texto usando la función "join". Como podéis ver hemos añadido un condicional en cada botón para que el tiempo nunca sea menor que 1 segundo ni mayor de 30.
Una vez hecho para una de las luces copiamos y pegamos los bloques para las otras dos, cambiando la letra de envío por bluetooth y las variables:
Como os habréis dado cuenta no enviamos por bluetooth al arduino el valor del tiempo de las variables de app inventor, seguimos enviando solamente una letra diferente para cada operación que después en el código arduino nos indicará lo que tenemos que hacer con las variables de arduino, que será una réplica de lo que hemos hecho en app inventor. Por supuesto que existe la posibilidad de mandar variables por bluetooth con los datos del tiempo pero esto complicaría un poco más la programación ya que la señal de bluetooth además de la nueva cifra debería indicar para cual de las luces se ha realizado el cambio. Esto se realiza creando cadenas en el mensaje de bluetooth con diferentes partes que después en arduino fragmentamos y obtenemos la información correspondiente. Lo veremos más adelante en otras entradas, pero de momento en esta probaremos a programarlo de esta sencilla manera, cambio el valor de la variable en app inventor e indicando una simple letra como señal a arduino.
Pasamos a la programación en arduino que es más sencilla todavía:
Por un lado tenemos que crear 3 nuevas variables que comienzan con el valor que hayamos puesto en appinventor que dura cada fase del encendido, en el ejemplo 5000ms (5 segundos), ya que en appinventor hemos puesto que empiecen con un valor de 5 los segundos:
En función de la letra que recibamos por bluetooth iremos añadiendo o quitando 1000ms a cada una de las variables. Como veis aquí también controlamos que la variable no baje de 1000ms ni suba de 30000ms. Existen formas mucho más eficientes de programar esto, pero de momento para ir aprendiendo, programarlo en cada apartado, creo que es una buena manera de iniciarse en las operaciones matemáticas con variables y los condicionales.
Y por último no debemos olvidar sustituir en nuestro programa los tiempos de espera que teníamos por las variables que hemos creado.
De esta sencilla manera podemos ir controlando muchos otros parámetros como por ejemplo el tiempo de encendido y apagado de emergencia o cualquier otra que necesitemos. Un buen ejercicio ahora sería intentar controlar algún parámetro programando todo por vuestra cuenta.
Un saludo, Raúl.
Tema 11, control del modo de funcionamiento del semáforo
Hola a tod@s.
En este tema vamos a añadir a nuestra aplicación la posibilidad de controlar desde el móvil el cambio de modo de funcionamiento del semáforo entre funcionamiento "peatón pulse" al que hemos llamado modo botón y el funcionamiento secuencial normal de las luces o modo secuencia.
También añadiremos dos botones para activar o desactivar el sonido del zumbador cuando el semáforo de los coches está en rojo que sería la señal acústica que indicaría que podríamos pasar.
Dejaremos para a próxima y última entrada sobre este proyecto el control del LDR desde el móvil que nos permitirá desactivar automáticamente el sonido cuando es de noche por ejemplo.
Empezamos por mostrar en la siguiente imagen el aspecto de la aplicación con estas dos funciones incorporadas. La estética sigue siendo bastante sencilla ya que de momento lo que estamos priorizando es el funcionamiento de la aplicación.
Los cuatro botones que hemos añadido tienen una programación realmente sencilla en app inventor que puede verse en la siguiente imagen. El modo secuencia manda por bluetooth la señal G, el modo botón la J, el apagado de sonido la L y el encendido la K.
Para poder usar el zumbador sin tener que dejar bloqueado el programa durante el tiempo en que está sonando una buena opción es cambiar el elemento de programación zumbador por un led (en la imagen led_zumbador) que nos permitirá activar o desactivar el pin al que se encuentra conectado el zumbador a la placa.
En la parte de bitbloq usaremos nuevas variables para gestionar la activación o desactivación del modo botón por un lado y del sonido por otro. Al recibir las letras correspondientes estas variables irán cambiando de valor:
Posteriormente estas variables serán las encargadas en nuestro código de hacer que el semáforo tenga que esperar a que se pulse el botón para cambiar o no:
O de que suene de día o no:
Con todo esto ya tendríamos prácticamente terminadas las diferentes fase de control que se habían planteado en la hoja de seguimiento del proyecto de control de semáforo por bluetooth.
En la próxima entrada veremos los puntos referentes a la señal LDR que nos permitirán recibir en el móvil los datos del sensor de la placa y actuar desde el móvil sobre ella.
Un saludo,
Raúl.
Tema 12, recepción de datos en el teléfono y control de la variable del LDR de cambio a modo noche
Hola a tod@s.
En este tema terminaremos el proyecto del semáforo cubriendo todos los pasos que nos habíamos propuesto al inicio del mismo.
Para poder controlar que el sonido del semáforo se apague por la noche vamos a recibir en el teléfono móvil la información del LDR enviados desde arduino y mediante un botón de la aplicación podremos asignar en cualquier momento ese valor al cambio entre día y noche. El valor inicial para diferenciar el día y la noche es de 40.
Empezando por app inventor, será en la aplicación será necesario añadir un reloj. Este componente se añade como el bluetooth y el notifier, no se genera ningún elemento visible en la aplicación pero podremos usarlo para controlar cada cuanto tiempo queremos recibir la información vía bluetooth. Como puede verse en la imagen el tiempo asignado ha sido de 100ms. Podría haber sido menor (incluso 0ms) o mayor. Esto simplemente cambiaría el tiempo con el que se recibirán nuevos datos.
El siguiente paso en app inventor será programar la recepción de información. Que esos nuevos datos aparezcan en el label de información del LDR y que al pulsar el botón para asignar ese valor a la noche, ese valor quede registrado en el label correspondiente.
En arduino la parte de programación no es complicada. Podríamos prácticamente enviar mediante una línea el envío de datos pero para que el envío y recepción de los mismos pueda verse mejor y con el fin de aprender a controlar también el tiempo de envío, hemos programado que se envíe un dato desde la placa cada 500ms.
Para ello primero se han creado tres nuevas variables: noche, LDR y tiempo. (es importante recordar que si hemos llamado LDR al componente no podemos llamar LDR a la variable ya que no se pueden tener dos cosas con el mismo nombre. En nuestro caso el componente se llama LDR_elemento).
Una vez creadas las variables realizamos el envío cada 500ms con el siguiente código al principio del bucle principal. Como puede verse en la siguiente imagen, tenemos que crear una variable de tiempo diferente y específica para el envío de datos cada 500ms, en este caso la hemos llamado "tiempo_envio_ldr".
Con esto habremos conseguido algo que no habíamos probado hasta ahora: enviar datos desde arduino a nuestro teléfono, ya que de momento solo enviábamos datos desde app inventor a arduino.
Por otro lado cuando en arduino recibamos la letra Z, que es la que en appinventor hemos asignado al botón de cambio del valor del LDR, deberemos indicar que la variable noche cambie del valor que tiene por defecto (en nuestro ejemplo 50) por el valor que tenga el LDR en ese momento.
Ahora será necesario poner la variable noche en el lugar en el que antes poníamos ese valor de 50 como valor fijo para indicar cuando era de día y cuando era de noche para activar y desactivar el sonido:
En algunos casos el orden de encendido de las luces del semáforo puede que no sea el correcto. Es importante recordar que hay que dejar la secuencia de encendido tanto en modo secuencia como en modo botón. Dado que es un semáforo de coches la secuencia correcta es verde - ambar - rojo - verde. Ya que el ambar se enciende antes del rojo para que los conductores tengan tiempo de frenar antes de que cambie a rojo.
Con la secuencia correcta quedaría así:
Con todo quedaría mucho por mejorar en la estética de la aplicación que ha quedado con un diseño bastante funcional para básicamente poder probar que toda la programación funciona correctamente.
Un saludo,
Raúl.
Tema 13. Imágenes de la programación final comentada
Hola a tod@s
En las siguientes imágenes vamos a ver los archivos finales de la programación de Appinventor y Bitbloq del semáforo comentadas.
Por un lado la parte de diseño de Appinventor
Nos fijamos en el detalle de que el clock está configurado cada 100ms de manera que esa será la velocidad de envío de datos. (después veremos que bitbloq recibe cada 500ms)
Y por otro la parte de bloques de programación
Y finalmente toda la secuencia de programación en bitbloq comentando el contenido de cada parte:
Un saludo, Raúl.
Envío de datos más complejos mediante bluetooth
Hidden from students
Buenos días.
Con la tercera evaluación comenzamos la parte más interesante del curso en la que tendremos que poner en práctica todo lo aprendido hasta ahora en proyectos más complejos en los que además habrá trabajar de una manera más autónoma en la toma de decisiones y en la ejecución de las mismas.
Algo que será necesario en esta última parte del curso será enviar y recibir mensajes algo más complejos mediante bluetooth. Hasta ahora todos los mensajes que enviábamos para controlar el semáforo eran de una letra. En arduino/bitbloq al recibir esta letra ejecutábamos una acciones y otras.
Ahora necesitaremos enviar por un lado letras que identifiquen que acción queremos realizar y junto a esa letra valores que determinen parámetros (ángulo, velocidad, etc...) de dicha acción.
En la siguiente imagen podéis ver como programar en app inventor el envío por bluetooth de una letra (en esta caso la A) seguida de un número de dos cifras. El número proviene de un slider que previamente hemos creado y que tiene de rango de 0 a 99 (valor por defecto del slider 50).
Lo primero que hacemos es crear la variable GIRO que almacenará el valor del slider. A la hora de guardarlo nos aseguramos de usar round para que redondee la posición del slider al entero más próximo de 0 a 99. Para asegurarnos que el número enviado es de dos cifras añadimos el condicional de que le añada delante un 0 en caso de que sea de una sola cifra.
El siguiente paso será la gestión de estos datos con bitbloq. Como veis en la siguiente imagen comenzamos como es habitual en recibir en la variable datos el contenido del bluetooth. Si el mensaje que hemos recibido en la variable datos tiene una longitud de 3 caracteres guardamos el primero de ellos en la variable tipodegiro que indicará el tipo de acción y los otros dos caracteres (posiciones de 1 a 3 de la cadena/string de la variable datos) en la variable angulodegiro que es una variable numérica y por eso tenemos que poner .toInt() al final para convertirlo a entero.
Estas dos líneas de código no existen como bloques de código de bitbloq y es por eso que usamos el bloque verde que nos permite escribir directamente código de arduino.
En el programa de bitbloq podemos ver como continua con un condicional con el que si la acción que marca la primera letra es A realizamos una serie de encendidos y apagados determinados y alguno de ellos utiliza el valor de la variable angulodegiro que acabamos de recibir.
Parece algo complicado pero veréis que es sencillo de usar y desde luego añade un potencial muy grande al envío y la recepción de datos y por tanto al tipo de proyectos que podemos realizar.
En este tema vamos a ver los diferentes pasos para iniciar la construcción y programación del robot bípedo Otto que es una versión más económica del robot original de BQ Zowi:
Como puede verse ambos robot son muy similares y de hecho comparten códigos de programación de manera que con un mismo programa de arduino podemos controlar los dos modelos y las aplicaciones móviles de uno pueden usarse con el otro. Además en ambos casos permiten iniciarse en la programación usando programación por bloques.
IMPRESIÓN 3D DE LAS PIEZAS:
Lo primero que necesitaremos son las piezas para montar el robot. Para la parte de impresión en 3D hay diferentes opciones en internet y nos hemos decantado por imprimir las piernas y los pies de este modelo de la web:
La idea es imprimir las piernas y los pies y construir de manera manual la parte del cuerpo y la cabeza. El motivo es porque el Otto original esta diseñado para que entre en él un arduino Nano con un shield de conexión de servos y nosotros vamos a montarlo con los arduinos UNO que tenemos y por tanto necesitaremos algo más de espacio para la parte del cuerpo.
Existen algunos modelos imprimibles de Otto con cuerpo para arduino UNO como el de esta web:
Puede verse en la imagen el de arduino Nano a la izquierda y el de arduino UNO a la derecha.
Pero al final lo mejor será ajustar manualmente los espacios construyéndolo en madera o incluso con cualquier otro material reciclado del taller.
Una vez tengamos la piezas la siguiente fase será montar los componentes empezando por los 4 servos que nos van a permitir realizar los diferentes movimientos.
Existen en la webs de Otto manuales como el de este enlace:
Recordar que es fundamental asegurarse que el engranaje de los servos está a 90º antes de montarlos. Para ello conviene realizar un sencillo programa que los coloque a 90º.
En este sencillo programa realizado en bitbloq aprovechamos además para comprobar que el servo realiza bien todo el rango de movimientos haciendole hasta 175º y 5º (conviene evitar los grados extremos de 180 y 0) donde permanece 1 segundo en cada posición y quedandose 6 segundos en la posición de 90º que es en la que deberemos desconectar el servo o la placa para así asegurarnos que el engranaje está a 90º y podemos montarlo correctamente.
Además de esos manuales tenemos en internet vídeos como los de estos 4 enlaces diferentes:
En este primero vemos un vídeo de la web de Otto que explica de manera rápida el montaje:
Este otro vídeo explica con más detalle como montarlo incidiendo en los posibles problemas que se pueden presentar y como solucionarlos:
En este otro vídeo veremos una versión avanzada de Otto con brazos y matriz de leds para las expresiones de la boca:
Por último en este vídeo vemos un resumen de los diferentes movimientos que podemos programar a nuestro robot:
Una vez que tengamos a Otto montado podemos empezar a programarlo. Una primera opción puede ser cargar algunos de los códigos de arduino ya existentes que hacen moverse a Otto y nos permiten además controlarlo mediante las aplicaciones móviles ya existentes. En el siguiente enlace podéis descargar un código de arduino que permite hacer funcionar a Otto aunque no tenga interruptor de manera que el robot va haciendo movimientos aleatorios de su base de movimientos hasta que nos conectamos por bluetooth momento en el que ya queda a la espera de las ordenes que le mandemos:
Importante tener en cuanta que en ambas (como puede verse en el código de arduino) el bluetooth que hayamos montado debe de estar configurado para usarse a 115200 de baudrate y que para la aplicación de Zowi para usar Otto el bluetooth debe tener de nombre "Zowi" y tener de pin "1234" ya que esa aplicación no permite seleccionar el módulo bluetooth y busca uno con ese nombre automáticamente. La versión de de la aplicación de Otto si que permite elegir el módulo bluetooth como haremos nostros al crear nuestra propia aplicación para el control del robot.
En los siguiente temas iremos viendo las diferentes opciones para programar los movimientos y los componentes de nuestro robot usando arduino/bitbloq y appinventor.
En la siguiente entrada vamos a ver una de las diferentes opciones de programación del brazo robótico.
Empezaremos por un programa sencillo en el que mediante Sliders en la aplicación del teléfono móvil enviamos la información del ángulo en el que queremos que se sitúe cada uno de los 4 motores del brazo.
Aplicación de AppInventor:
En BitBloq la forma más sencilla de recibir esta información es mediante dos variables, la variable "motor"que define el motor que se va a mover y "angulodegiro" que se utiliza para mover cada motor al ángulo recibido desde AppInventor.
Partiendo de este programa sencillo se pueden ir añadiendo otras opciones tanto de control desde el móvil como de control desde hardware por ejemplo usando potenciómetros y con la opción "mapear" de la programación de BitBloq interpolar el valor del potenciómetro entre los valores de ángulo de giro del servo motor. En el siguiente vídeo podéis ver una explicación de como realizar el control de un servo con un potenciómetro:
Un saludo,
Raúl.
Envío de datos más complejos por bluetooth
Buenos días.
Con la tercera evaluación comenzamos la parte más interesante del curso en la que tendremos que poner en práctica todo lo aprendido hasta ahora en proyectos más complejos en los que además habrá trabajar de una manera más autónoma en la toma de decisiones y en la ejecución de las mismas.
Algo que será necesario en esta última parte del curso será enviar y recibir mensajes algo más complejos mediante bluetooth. Hasta ahora todos los mensajes que enviábamos para controlar el semáforo eran de una letra. En arduino/bitbloq al recibir esta letra ejecutábamos una acciones y otras.
Ahora necesitaremos enviar por un lado letras que identifiquen que acción queremos realizar y junto a esa letra valores que determinen parámetros (ángulo, velocidad, etc...) de dicha acción.
En la siguiente imagen podéis ver como programar en app inventor el envío por bluetooth de una letra (en esta caso la A) seguida de un número de dos cifras. El número proviene de un slider que previamente hemos creado y que tiene de rango de 0 a 99 (valor por defecto del slider 50).
Lo primero que hacemos es crear la variable GIRO que almacenará el valor del slider. A la hora de guardarlo nos aseguramos de usar round para que redondee la posición del slider al entero más próximo de 0 a 99. Para asegurarnos que el número enviado es de dos cifras añadimos el condicional de que le añada delante un 0 en caso de que sea de una sola cifra.
El siguiente paso será la gestión de estos datos con bitbloq. Como veis en la siguiente imagen comenzamos como es habitual en recibir en la variable datos el contenido del bluetooth. Si el mensaje que hemos recibido en la variable datos tiene una longitud de 3 caracteres guardamos el primero de ellos en la variable tipodegiro que indicará el tipo de acción y los otros dos caracteres (posiciones de 1 a 3 de la cadena/string de la variable datos) en la variable angulodegiro que es una variable numérica y por eso tenemos que poner .toInt() al final para convertirlo a entero.
Estas dos líneas de código no existen como bloques de código de bitbloq y es por eso que usamos el bloque verde que nos permite escribir directamente código de arduino.
En el programa de bitbloq podemos ver como continua con un condicional con el que si la acción que marca la primera letra es A realizamos una serie de encendidos y apagados determinados y alguno de ellos utiliza el valor de la variable angulodegiro que acabamos de recibir.
Parece algo complicado pero veréis que es sencillo de usar y desde luego añade un potencial muy grande al envío y la recepción de datos y por tanto al tipo de proyectos que podemos realizar.
Un saludo, Raúl.
Documento evaluación brazo robótico
Buenos días.
De cara a la Evaluación Final de TIN II en 2º de Bachillerato vamos a trabajar con un documento en el que se recogen todas las partes del proyecto que hemos trabajado. Este documento va a servir para realizar una evaluación individual a cada alumno dentro de los diferentes grupos con el objeto de comprobar que se ha seguido el proyecto realizado y se es capaz de presentar individualmente cualquiera de sus partes.
Uno de los objetivos de la asignatura ha sido el trabajo en equipo y gran parte del curso la hemos dedicado a trabajar en grupo, ser capaces de organizarse y repartir tareas... pero siempre con la idea de que todos los miembros del grupo conociesen el proyecto en su conjunto y puedan demostrar que han trabajado en cada una de las partes, aunque finalmente por el reparto de tareas se hayan especializado más en alguna de las partes del proyecto.
En el siguiente enlace podéis descargar el documento con los apartados y los requisitos mínimos que deben conocerse:
Bienvenidos al blog para las asignaturas de Tecnología Industrial de 1º y 2º de bachillerato.
Entramos ya en materia desde la primera entrada que, dados los importantes cambios de legislación que va a tocar afrontar en este curso, va dedicada a realizar un repaso de los aspectos más importantes a tener en cuenta.
El primer enlace como no podía ser de otra manera corresponde a la LOMCE
En el pdf se puede descargar el texto de la Ley Orgánica para la mejora de la calidad educativa, que no sustituye sino que modifica el texto de la Ley Orgánica 2/2006, de 3 de mayo, la llamada LOE. La tecnología industrial I aparece en la página 25 como una de las 12 materias del apartado b del bloque de asignaturas específicas en 1º de bachillerato. De este bloque (en base a la oferta de la administración y del propio centro) se deben cursar un mínimo de 2 y un máximo de 3 materias. En la página 26 también en el apartado 4 para 2º de bachillerato aparece la tecnología industrial II igualmente en el bloque de asignaturas específicas en 1º de bachillerato. Como en 1º, de este bloque (en base a la oferta de la administración y del propio centro) se deben cursar un mínimo de 2 y un máximo de 3 materias.
De este documento tal vez cabría destacar una cosa más. El artículo36 referente a la Evaluación y promoción. 1. La evaluación del aprendizaje del alumnado será continua y diferenciada según las distintas materias.
Es curioso cómo a pesar de la cantidad de cambios de normativa que se han producido en los últimos años, el concepto de que la evaluación debe de ser continua (tanto en la ESO como en Bachillerato) es una de las pocas constantes que se han mantenido de una ley a otra. Este aspecto volveremos a citarlo y tenerlo en cuenta cuando se redacte la entrada referente a como se va a evaluar la asignatura. Criterios y procedimientos de evaluación, que sin duda deben tener como base una evaluación continua del alumnado.
Al estar transferidas las competencias, el desarrollo del currículo compete a las diferentes comunidades autónomas. En el siguiente enlace puede descargarse el de bachillerato en la Comunidad de Madrid.
Aquí la Tecnología Industrial aparece en las páginas 81 a 85, con 5 bloques para cada una de las asignaturas de 1º y 2º respectivamente. En la página 91 también aparece la Tecnología Industrial II como parte de las materias de 2º curso cuya superación está condicionada a la superación de Tecnología Industrial I en 1º por implicar continuidad. De manera que para aprobar la de 2º hay que tener aprobada la de 1º.
A destacar que la signatura se ve reducida de 4h semanales a 2h y que el contenido del currículo prácticamente no ha variado, en 2º solo ya no está en el currículo el tema de neumática por ejemplo, pero el 80% del anterior temario en principio debe trabajarse en la mitad de tiempo.
Para terminar la entrada con un tono un poco diferente y más distendido, os dejo un enlace a una escena de la película que marco toda una época. Creo que la mítica escena de Indiana Jones corriendo delante de la enorme bola de piedra puede representar en cierto modo la sensación de vivir un cambio de normativa justamente en el último año de estudios de secundaria. Seguro que como Indiana Jones sabremos salir victoriosos .
Un saludo, Raúl.
Tema 1. La energía y su transformación
Buenos días.
Comenzamos los temas de Tecnología Industrial 1 con un repaso a los conceptos de energía, trabajo, calor, potencia... Un interesante recorrido a lo largo de la historia de la física y la ingeniería.
Los apuntes del tema están sacados de una web a la que recurriremos bastante a lo largo del curso:
Es una web con un excelente material elaborado por el profesorado de ese centro que generosamente han puesto a disposición en su web.
En concreto el tema 1 es un resumen de dos caras con un compendio de los diferentes tipos de energía y la relación entre ellos. Podéis descarga el tema directamente aquí:
Y en concreto el invento que le llevo a la relación de 4,18J por cada caloría:
Hemos visto estos interesantes vídeos que explican como a base de reflexión y mucho trabajo consiguieron desarrollar las fórmulas que existían detrás de las incipientes formas de energía que se estaban desarrollando.
Finalmente tras repasar las energía química de combustión, nuclear de fisión y térmica, hemos sido capaces de reproducir los cálculos del experimento de Joule obteniendo los valores de incremento de temperatura que le permitieron llegar a la relación entre Julios y calorías.
Por último terminaremos el tema con los ejercicios cuyos enunciados podéis descargar en el siguiente enlace:
Comparto en esta entrada el ejercicio para trabajo en grupo que se propuso en clase, el examen del tema 1 y las soluciones del examen. Podéis descargar cada archivo en los siguiente enlaces:
Para segundo tema de Tecnología Industrial I referente a las energías no Renovables volveremos a utilizar como base los apuntes de la web del IES Almudena:
La TRE es un concepto absolutamente clave desde el punto de vista energético. No solo es necesario que una explotación sea económicamente rentable, también debe de serlo energéticamente. El siguiente artículo hace especial incapié en la dificultad que parece tener el sector económico para entender la importancia de la TRE:
En la siguiente imagen podemos ver el esquema del ejercicio con los nombres de cada una de las partes en las que esta dividido.
Hemos terminado el tema repasando las centrales nucleares y la controvertida situación actual del sector de la energía nuclear analizando sus pros y sus contras.
En el apartado del Tema 3: La energía Nuclear, tenéis una serie de enlaces muy interesante referentes a la Energía Nuclear:
Para intentar comprender mejor como se produce la energía eléctrica vamos a realizar unas prácticas en el taller con el objetivo de ser capaces de fabricar nuestros propios motores y alternadores.
Como punto de partida uno de los momentos más importantes de la historia: Aquel en el que gracias a la creatividad y capacidad de trabajo de personas como Faraday, Henry, Volta, Tesla... y muchos otros comenzaron a entender los principios de la Inducción Electromagnética y su enorme potencial.
En los siguiente vídeos podemos ver un breve documental que nos presenta algunos de los momentos más importantes de aquella época:
Con el fin de simplificar el trabajo en el taller, debido a la reducción de 4 a sólo 2 horas semanales de la asigntura, vamos a usar kits de Microlog con los elementos de los circuitos ya preparados.
En un principio constriremos el motor y el alternador con el siguiente kit.
Aquí podéis ver unos vídeos del proyecto ya montado:
Motor eléctrico:
Alternador eléctrico:
Y a continuación intentaremos montar proyectos más complejos como son el motor bipolar y tripolar.
Un saludo,
Raúl.
Examen y ejercicios Tema 2
Buenos días.
Una entrada para compartir el examen del tema de energías No Renovables:
Para el resto de preguntas referentes a las imaágenes y esquemas se pueden encontrar unas muy buenas explicaciones en el siguiente documento de la web del IES Villalba de Hervás:
Completaremos la información de los apuntes principalmente con los documentos de esta web que desarrolla con bastante detalle cada una de las partes del tema:
En esta entrada volvemos a usar como referencia uno de los temas publicados en la web del IES Almudena. En este caso el referente a Circuitos Eléctricos.
Podéis descargar los apuntes del tema en el siguiente enlace:
En general los circuitos son de un nivel básico sobre electricidad pero servirán para tener una buena base de cara a los trabajos de robótica que haremos en el proyecto Retotech durante lo que queda de curso.
Para completar la teoría estamos viendo un vídeo de National Geographic en el que se narra uno de los momentos mas importantes de la historia de la electricidad, el de la aparición de la corriente alterna de Tesla enfrentada a la corriente continua de Edison.
Bienvenidos al blog para las asignaturas de Tecnología Industrial de 1º y 2º de bachillerato.
Entramos ya en materia desde la primera entrada que, dados los importantes cambios de legislación que va a tocar afrontar en este curso, va dedicada a realizar un repaso de los aspectos más importantes a tener en cuenta.
El primer enlace como no podía ser de otra manera corresponde a la LOMCE
En el pdf se puede descargar el texto de la Ley Orgánica para la mejora de la calidad educativa, que no sustituye sino que modifica el texto de la Ley Orgánica 2/2006, de 3 de mayo, la llamada LOE. La tecnología industrial I aparece en la página 25 como una de las 12 materias del apartado b del bloque de asignaturas específicas en 1º de bachillerato. De este bloque (en base a la oferta de la administración y del propio centro) se deben cursar un mínimo de 2 y un máximo de 3 materias. En la página 26 también en el apartado 4 para 2º de bachillerato aparece la tecnología industrial II igualmente en el bloque de asignaturas específicas en 1º de bachillerato. Como en 1º, de este bloque (en base a la oferta de la administración y del propio centro) se deben cursar un mínimo de 2 y un máximo de 3 materias.
De este documento tal vez cabría destacar una cosa más. El artículo36 referente a la Evaluación y promoción. 1. La evaluación del aprendizaje del alumnado será continua y diferenciada según las distintas materias.
Es curioso cómo a pesar de la cantidad de cambios de normativa que se han producido en los últimos años, el concepto de que la evaluación debe de ser continua (tanto en la ESO como en Bachillerato) es una de las pocas constantes que se han mantenido de una ley a otra. Este aspecto volveremos a citarlo y tenerlo en cuenta cuando se redacte la entrada referente a como se va a evaluar la asignatura. Criterios y procedimientos de evaluación, que sin duda deben tener como base una evaluación continua del alumnado.
Al estar transferidas las competencias, el desarrollo del currículo compete a las diferentes comunidades autónomas. En el siguiente enlace puede descargarse el de bachillerato en la Comunidad de Madrid.
Aquí la Tecnología Industrial aparece en las páginas 81 a 85, con 5 bloques para cada una de las asignaturas de 1º y 2º respectivamente. En la página 91 también aparece la Tecnología Industrial II como parte de las materias de 2º curso cuya superación está condicionada a la superación de Tecnología Industrial I en 1º por implicar continuidad. De manera que para aprobar la de 2º hay que tener aprobada la de 1º.
A destacar que la signatura se ve reducida de 4h semanales a 2h y que el contenido del currículo prácticamente no ha variado, en 2º solo ya no está en el currículo el tema de neumática por ejemplo, pero el 80% del anterior temario en principio debe trabajarse en la mitad de tiempo.
Para terminar la entrada con un tono un poco diferente y más distendido, os dejo un enlace a una escena de la película que marco toda una época. Creo que la mítica escena de Indiana Jones corriendo delante de la enorme bola de piedra puede representar en cierto modo la sensación de vivir un cambio de normativa justamente en el último año de estudios de secundaria. Seguro que como Indiana Jones sabremos salir victoriosos .
Un saludo, Raúl.
Tema 1. Estructura interna de los materiales
Buenos días.
Comenzamos los temas de Tecnología Industrial 2 con la primera parte del tema dedicado a los material, en concreto la estructura interna de los mismos.
Los apuntes del tema están sacados de la misma web que los de TI1, una web a la que recurriremos bastante a lo largo del curso:
Es una web con un excelente material elaborado por el profesorado de ese centro que generosamente han puesto a disposición en su web. En concreto en 2º de Bachillerato el contenido de cada tema está directamente enfocado al tipo de ejercicios de examenes de la PAU. Con la reducción de 4 a 2 horas semanales en esta asignatura para prácticamente el mismo temario, se hace imprescindible ser capaces de concretar los contenidos más importantes y ser lo más prácticos posibles de cara al examen final de bachillerato/revalida que según vimos en entradas anteriores servirá en el curso 2017 como prueba de acceso a la universidad, aunque, por increíble que parece a falta solo de 9 meses, todavía está totalmente por definir.
El tema 1 resume de manera clara y concisa las bases de la estructura interna de los materiales, haciendo especial hincapié en las estructuras cristalinas más habituales que además suelen ser objeto de pregunta de examen en la PAU. El tema se cierra con 6 ejercicios de PAU de cursos anteriores. Podéis descarga el tema en el siguiente enlace:
Y hemos planteado algunos retos como el cálculo de la altura de la celda del sistema HCP en base al radio del átomo o el cálculo del FEA factor de empaquetamiento, para los tres sistemas BCC, FCC y HCP.
Para finalizar dejamos un par de vídeos que ayudarán a entender mejor los estructuras cristalinas que hemos estudiado en este tema
Un saludo, Raúl.
Examen y ejercicios Tema 1
Buenos días.
Comparto en esta entrada el ejercicio para trabajo en grupo que se propuso en clase, el examen del tema y las soluciones. Podéis descargar cada archivo en los siguiente enlaces:
Para este segundo tema volveremos a utilizar como base los apuntes de la web del IES Almudena. En el siguiente enlace podéis descargar el pdf con la teoría y los ejercicios sacados de exámenes de la PAU de años anteriores.
Los apuntes tienen la información necesaria para poder realizar la colección de problemas que propone. Para completar y ampliar la información referente a los Ensayos de Materiales, la siguiente web tiene un pdf en forma de presentación muy completa que podéis descagar en el siguiente enlace:
A continuación podéis ver una serie de vídeos de cada uno de los tipos de ensayos más importantes que nos servirán para entender como se realizan en un laboratorio.
Ensayo Tensión - Deformación
Ensayo Charpy
Ensayo Brinell
Ensayo Vickers
Por último un vídeo en inglés con unas explicaciones muy claras que además nos permitirá ampliar el vocabulario en inglés referente a este tipo de ensayos.
Un saludo.
Raúl.
Examen y ejercicios Tema 2
Buenos días.
En el siguiente enlace podéis descargar el examen de hoy del tema 2: Ensayo de materiales. Lo ejercicios están sacados de convocatorias de PAU de cursos anteriores.
Por último un documento de ampliación de la teoría del tema con la demostración de la fórmula del ensayo Vickers y el procedimiento de cálculo de la resiliencia en el ensayo Charpy.
P.D. Para ampliar la información referente a las operaciones básicas con binarios y la conversión en complemento a dos es de mucha utilidad el siguiente documento elaborado por la Universidad Politécnica de Valencia: Documento UPV complemento a 2.
Examen Tema 3
Buenos días.
En los siguiente enlaces podéis descargar el examen de la parte de sistemas de numeración de electrónica digital y las soluciones.
Como siempre intentamos que el propio examen sea un momento para trabajar y aprender y es por eso que además de los enunciados el examen tiene teoría sobre la representación en complemento a 2 de números binarios. Aunque tienen muchos puntos en común, es muy importante no confundir la representación en complemento a 2 de un número binario, en la que el primer bit será el de signo, del uso del complemento a 2 para realizar la operación de resta de números binarios mediante sumas.
Un saludo, Raúl.
Examen final Primera Evaluación
Buenos días.
En los siguientes enlaces podéis descargar el examen final y los resultados del mismo.
Desde hace varias semanas llevamos trabajando en clase de Tecnología Industrial II una serie de ejercicios de electrónica digital a los que hemos denominado serie "Brake The Umbilical Cord". El concepto detrás de este nombre es trabajar en clase como dentro de poco tendrán que hacer los alumnos/as en su paso a la universidad. Es decir, siendo capaces de partiendo de la teoría ser capaces por ellos mismo de resolver ejercicios nuevos que no han visto antes,
De esta manera hemos trabajado la simplificación de circuitos, los decodificadores y los multiplexores. En el siguiente enlace tenéis una carpeta con los seis ejercicios que hemos visto en clase:
Por otro lado seguimos trabajando en el taller contenidos de robótica para ir dando forma al proyecto final que presentaremos a finales de junio en Retotech. Dentro de poco empezaremos a poner entradas en el blog con los avances que se han realizado.
Ya por último decir que, también en el taller, estamos trabajando la creación de motores trifásicos que una vez terminados también presentaremos en el blog. Sin duda el hecho de que finalmente Tecnología Industrial no vaya a ser una de las asignaturas de los exámenes de acceso a la universidad va a permitir trabajar los contenidos de manera mucho más práctica e interesante para todos.
No hay comentarios:
Publicar un comentario