Aprende robótica con Arduino en español
|
LOS SENSORES No obstante, con el objetivo de posibilitar la mayor comprensión de este proyecto y ofrecer facilidades para los que se inician, hemos optado por usar unos sensores ya montados y comprobados de la empresa Microsystems y Parallax, cuyos módulos económicos son fáciles de instalar y conectar a nuestro circuito BASIC Stamp2: - Apertura de puerta: Sensor I.R. de obstáculos (MSE-S135) - Sensor de ruido (MSE-S100) Sensor de proximidad (PIR: Passive Infra-Red) Se trata de un sensor PIR que tiene un pin de salida que pasa a nivel alto (5 Volts) por un par de segundos cada vez que registra movimiento o cambios en el patrón IR de la habitación. Es el - Sensor de Luz (MSE-S130) EL CIRCUITO BASIC STAMP 2 |
|
EL MODULO SERVIDOR WEB PINK |
||
Notad que vamos a utilizar el pin P8 para comunicar nuestro circuito BS2 con el módulo PINK (en modo envío), para que de esta manera pueda pasar serialmente valores EL PROGRAMA PARA EL BS |
|
En realidad, lo que hacemos es cargar la variable "modo" con el modo seleccionado ("1" modo alarma; "2" modo vigilancia nocturna) , para cuando sea necesario comprobar más adelante en el programa en qué modo estamos A continuación tenemos la parte del programa que corresponde a la comprobación de los sensores: |
|||||||
|
|||||||
A continuación escribimos las subrutinas que corresponden a cada uno de los sensores: |
|||||||
Con la variable contador "contx" controlamos el paso del tiempo para ir cambiando las diferentes imágenes de los sensores activados. Ahora concentrémonos en las líneas de código en las que asignamos diferentes valores a las variables que pasarán al módulo PINK: Nuestro programa en el Pero ¿por qué asignar varios valores para un único estado activo del sensor? Fijaos: en muchos casos el registro al instante del estado lógico de un sensor puede ser una solución válida, pero en el funcionamiento de este sistema que monitorizamos a distancia desde una página web no nos vale. Suponeos el caso en el que uno de los sensores se activa un solo instante, por ejemplo, el de ruido: aún cuando estemos observando en ese momento la página donde es posible monitorear el comportamiento del sistema, puede que no nos percatemos de que el Para lograr ese modo, hemos pensado en incluir 3 lecturas del gráfico del sensor activado: una que nos indica que en ese momento el sensor está actuando (durante el tiempo de su activación, que en algunos casos podrá ser un solo instante); otra en la que el sensor ha actuado recientemente (durante unos minutos después de su activación); y otra, después de una hora desde su activación. Finalmente, al cabo de esa hora, el gráfico representativo, la huella, "se desvanecerá". Por ejemplo, para el sensor que controla la apertura de la puerta, cuando este se active, obtendremos los siguientes gráficos a partir de los 3 diferentes valores que pasaremos a las variables del módulo PINK:
|
Vereis que los tiempos que la "huella" permanece los podemos configurar cambiando los valores '24000', '4000' y '400' que vamos compronado con los SELECT. Con este uso, lo que conseguimos es un sistema de alertas más eficaz, |
|
CONSTRUCCIÓN DE LA PAGINA WEB |
|
En el plano hemos incluido una referencia en color azul que corresponde a la ubicación física de los 4 sensores; además nos servirá de ayuda para "afinar la puntería" e ir colocando las otras imágenes sobre el plano que nos mostrarán los sensores en su estado activo. La imagen la guardamos con nombre y formato "plano.gif". El código HTML para mostrar esa imagen en nuestra página, que guadaremos con nombre y formato "micasa.htm", será:
|
||||||||||||||||||||||||
Después, vamos a diseñar las imágenes de los sensores, que representan su estado activo y su "huella". Por ejemplo, para el sensor de ruído:
Los mismos gráficos para el sensor de luz, pero diferentes nombres de archivo:
Y este, por ejemplo, para el sensor PIR:
Y por último, para el sensor de apertura de puerta:
|
||||||||||||||||||||||||
Bueno pues, para que nuestra página web "lea" los valores de las variables que el circuito BS2 envia al módulo PINK es tan sencillo como, por ejemplo, emplear este tipo de codigo: El valor de la variable 01 es <Nb_var01>
Pero concordareis conmigo en que lo interesante va a ser representar esos valores gráficamente. ¿Qué pasaría si en vez de la línea de código anterior intentamos cargar una imagen con esta otra línea: El valor de la variable 01 es <img src="ruido<Nb_var01>.gif"> |
||||||||||||||||||||||||
Asi pues los nombres de los archivos de las imágenes de cada uno de los sensores deberán acabar en "1"las que corresponden a su estado activo; acabarán en "2" las que correspondan a su huella más reciente; y acabarán en "3" las que correspondan a la última huella (por ejemplo: apertura1.gif, apertura2.gif y apertura3.gif, ...) También prepararemos una imagen gif transparente (un "spacer" o imagen que no muestre nada), no importa el tamaño, y que guardaremos con los mismos nombres que las imágenes anteriores, pero acabado en "0": apertura0.gif, ruido0.gif, ... Estas nos servirán para cuando el valor de las variables sean "0"; es decir, cuando nuestros sensores esten en reposo. Ahora ha llegado el momento en colocar las imágenes en nuestra página web. Pero antes, desde la página "VV_show.htm" (una de las páginas que viene por defecto en el módulo PINK) cambiaremos manualmente el valor de las variables "Nb_var00" donde:
Una vez conseguido, repetimos las mismas líneas de código, pero con nombres descriptivos, coordenadas y nombres de archivos de imagen diferentes, para el resto de los sensores. La página completa nos quedará así: |
Etiquetas:
Bienvenido a
Aprende Robotica
© 2024 Creado por Lorenzo M. Oliver. [Imágenes licenciadas por Depositphotos.com] Tecnología de