lunes, 8 de abril de 2019

4º TPRPT 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 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 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: https://www.youtube.com/watch?v=ZBgyckmSsWc

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.

sábado, 16 de febrero de 2019

TIN 1 - Aplicación móvil para el control del semáforo

Buenos días.

En las siguientes entradas se puede acceder a los tutoriales de las diferentes fases de programación para conseguir crear una aplicación móvil que permita controlar desde el teléfono muchos de los parámetros del semáforo que hemos diseñado, construido y programado:

Conexión por bluetooth a arduino y envío de las primeras señales de control:

http://iespalti.blogspot.com/2017/12/semaforo-conexion-bluetooth-arduino-y.html

Primeros parámetros de control del semáforo:

http://iespalti.blogspot.com/2017/12/controlando-el-semaforo-desde-el-movil-1.html

Siguientes parámetros: Controlando con el móvil el tiempo de encendido de las luces.

http://iespalti.blogspot.com/2018/01/controlando-con-el-movil-el-tiempo-de.html


Control avanzado del semáforo: Cambio de modo botón a modo secuencia y control del sonido con el móvil
http://iespalti.blogspot.com/2018/01/cambio-de-modo-boton-modo-secuencia-y.html

Un saludo,
Raúl.

domingo, 28 de octubre de 2018

4ºESO TPRPT Proyecto Casa Domótica

Buenos días.

En esta entrada vamos a repasar todo lo que hemos estado viendo en referencia al proyecto de la asignatura TPRPT de 4ºESO: Una casa domótica.

Para este proyecto cada grupo ha diseñado su propia casa de un máximo de 200m2 mediante Floorplaner y después han presentado el proyecto en un documento de texto con las imágenes de los planos y su explicaciñon, así como las tablas con gráficos de superficies reales de la casa y cáculo del material necesario para construirla a escala 1/50.

En el siguiente documento puede verse y descargarse la rúbrica del proyecto:


RÚBRICA PROYECTO CASA DOMÓTICA


En este enlace tenemos documentos de ejemplo de los planos y cálculos a realizar para obtener el documento de proyecto final:

Carpeta con documentos ejemplo diseño Casa Domótica


Por último una serie de vídeos que nos han servido para iniciarnos en Floorplanner y coger ideas para la construcción de las maquetas:

https://www.youtube.com/watch?v=njJID65elJI


Enlace a vídeo ejemplo casa domótica:

https://www.youtube.com/watch?v=UPihzzR_OZg&feature=youtu.be




Enlace a vídeo ejemplo casa de 2 plantas:

https://www.youtube.com/watch?v=xrgz8RU6zcs&feature=youtu.be



Otros ejemplos:








En la siguiente entrada para 4ºESO nos iniciaremos en AppInventor con el tutorial que se encuentra en el siguiente enlace (sacado de la web https://codeweek.eu/docs/spain/guia-iniciacion-app-inventor.pdf):


Un saludo,
Raúl.

jueves, 18 de octubre de 2018

Semáforo Tecnología Industrial I

Buenos días.

En esta entrada vamos a repasar la primera parte del proceso de programación de un semáforo con Arduino en el que nuestro semáforo funcionará de manera cíclica alternando las luces de coches y peatones de manera que la luz de peatones parpadee al final de su ciclo y además se produzca un sonido para las personas invidentes cuando el semáforo este en verde peatones siempre y cuando no sea de noche.

Posteriormente añadiremos al semáforo la posibilidad de trabajar en modo "peatón pulse" añadiendo un botón y finalmente mediante el teléfono móvil interaccionaremos con el semáforo para poder cambiar los parámetros, recibir las información del mismo, cambiar entre los diferentes modos de funcionamiento o apagar el semáforo.

Todo lo anterior vamos a programarlo sin usar en ningún momento la función "esperar" o "delay" de Arduino con el fin de que el programa no sufra ninguna pausa y pueda recibir información de los sensores o bluetooth de manera inmediata.

El proyecto se completará con la creación de una maqueta en la que incorporaremos todos los componentes electrónicos en piezas diseñadas por nosotros e impresas en 3D.

En el siguiente enlace puede verse la rúbrica de evaluación del proyecto.


Hemos repasado entradas del curso pasado para ver como conectar los componentes e iniciarnos en la programacuón usando "obtener tiempo de ejecución".

Conexión de LEDs:

http://iespalti.blogspot.com/2017/10/conexiones-arduino-para-el-proyecto.html

Programación usando "tiempos de ejecución" en lugar de "esperar":

http://iespalti.blogspot.com/2017/10/programacion-proyecto-semaforo.html

Con esta información el siguiente paso ha consistido en realizar el 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.

martes, 9 de octubre de 2018

Proyecto Robot 4LEGS TI 2º Bachillerato

Buenos días.

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:


Lo primero que vimos fue un repaso del curso pasado de Conexión de LEDs con arduino:

http://iespalti.blogspot.com/2017/10/conexiones-arduino-para-el-proyecto.html

y de como cambiar el nombre y password del módulo bluetooth:

http://iespalti.blogspot.com/2017/12/semaforo-conexion-bluetooth-arduino-y.html

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.

Un saludo,
Raúl.

domingo, 30 de septiembre de 2018

Curso 2018/19

Buenos días.

Comenzamos un nuevo curso y lo hacemos con algunos cambios en el blog.

El más importante es la creación de páginas/pestañas en la parte superior para cada una de las asignaturas para hacer más rápido y accesible el contenido que estemos trabajando en cada una de ellas. Así tenemos una página para Technology 1ESO, otra para TPR Proyectos Tecnológicos de 4º ESO y otras dos para Tecnología Industrial de 1 de bachillerato y Tecnología Industrial de 2 de bachillerato.

Además cada entrada irá asociada a una etiqueta correspondiente a su asignatura que permitirá mediante un visor de etiquetas en la parte derecha seleccionar solo las entradas de esa asignatura en concreto.

Por lo demás el blog funcionará de manera similar a cursos anteriores mediante entradas con explicaciones y enlaces a documentos o vídeos relacionados con cada parte de las diferentes asignaturas que estemos trabajando.

Espero que este nuevo curso este lleno de buenos momentos de aprendizaje y disfrute de las asignaturas de Tecnología.

Un saludo,
Raúl.


lunes, 21 de mayo de 2018

Coche Robótico con Ultrasonido

Buenos días.

En esta entrada vamos a ver como empezar a programar el coche robótico con el ultrasonido para que sea capaz de moverse de manera autónoma por un espacio evitando los obstáculos.

Lo primero será incluir el componente ultrasonido en el apartado de bitbloq para configurar el hardware:



El primer código que vamos a presentar es un sencillo programa que hace que el coche gire hacia la izquierda (rueda derecha alante e izquierda atrás) cuando encuentre un obstáculo a menos de 20cm (valor 20 del ultrasonido).



El mientras del programa hace que el coche siga girando todo el tiempo que siga detectando un obstáculo a menos de 20cm.

Una variante de este programa sería la siguiente opción parecida a la anterior con el añadido de que el coche gira aleatoriamente (con un 50% de probabilidad en cada caso) a izquierda o a derecha.



Partiendo de estos dos programas se pueden plantear algunas otras opciones cómo hacer que el coche, antes de volver a avanzar, detecte la distancia de los obstáculos a un lado y a otro y finalmente decida avanzar por el camino con los obstáculos más alejados. De esta manera el coche comenzaría a comportarse de una manera inteligente a la hora de tomar decisiones.

En el apartado anterior hemos visto como programar el ultrasonido suponiendo que este se encuentra en la parte delantera del coche y va captando la distancia a la que tiene objetos delante según el coche va girando. Otra opción para que el coche sortee obstáculos es colocar el ultrasonido encima de un servo motor de giro que una vez detecta un obstáculo permita girar el ultrasonido para detectar si hay otros obstáculos a los lados sin necesidad de que se mueva el coche.
Para ello lo primero será asegurarnos que el servomotor que vamos a montar está en posición 90º antes de colocarle en posición mirando hacia adelante. Ya que si no es así luego el servo motor no hará el giro a izquierda y derecha cuando le pongamos en posición de 5º o 175º (se le puede poner ir a 0º y 180º pero conviene evitar los ángulos extremos que pueden producir vibraciones).
Para ello podremos realizar un sencillo programa como el siguiente con el que comprobaremos que nuestro servomotor se mueve correctamente y aprovechar a desconectarlo en la pausa más larga en la que sabemos que está a 90º.


Una vez tengamos montado nuestro ultrasonido sobre el servomotor procederemos a programar la detección de objetos y las diferentes acciones que queremos vaya realizando nuestro servomotor en base a los obstáculos que encuentre el coche en su camino.

Un saludo,
Raúl.