Go Down

Topic: Alarma para Chalet (Read 5800 times) previous topic - next topic

tiozes

Buenas a todos me presento ante ustedes y espero no daros mucho la paliza con una alarma que tengo en proyecto montar para un chalet,

Luego cuando este en casa pondre detalles de lo que tengo pensado a ver si es posible ya que no he usado aun ningun arduino y no se las limitaciones que podria tener para lo que busco.



Saludos y gracias.


tiozes

Buenas a todos, tengo que controlar la entrada de 2 puertas.
8 ventanas.
y dos cuartos exteriores.

De material tengo pensado:

-Arduino UNO.
-2 sensores PIR.
-no se donde pillar los sensores para las puertas y ventanas.
-Pantalla LCD.
-Conversor para conectar la pantalla por I2C.
-Placa para control de iluminacion de 4 Reles.
-Reloj para poder temporizar iluminacion.
-Control de acceso mediante llaveros y placa captadora RFID.
-Teclado para activar/desactivar por si nos olvidamos el llavero.

Ahora tengo varias dudas:

Cuanto es lo maximo que podria retirar los sensores de la placa arduino?
Abria algun integrado para intercalarlo y poder tener mayor alcance?
Con el arduino uno tendria suficiente? o tendria que pillar el arduino Mega?

Saludos y gracias

Sergegsx

Cuanto es lo maximo que podria retirar los sensores de la placa arduino?

creo que los sensores pir tan solo envian tensión cuando detectan presencia, no hay ningun protocolo de comunicación por lo que no creo que tengas muchos problemas en que haya una cierta distancia entre pir y arduino

Abria algun integrado para intercalarlo y poder tener mayor alcance?

creo que no te hara falta.


Con el arduino uno tendria suficiente? o tendria que pillar el arduino Mega?

si vas a hacer solo lo que describes, usa un arduino UNO.
yo empece con el arduino UNO y ahora me toca reconvertir mi proyecto a MEGA porque lo he ido ampliando cada vez mas y me he quedado sin memoria. lo dicho si sabes que vas a hacer solo eso entonces UNO, si tienes previsión de ampliar, vete al MEGA ya y asi te evitas tener que cambiar luego.

tiozes

muchas gracias por tu respuesta, tengo un arduino mega pero es para otro proyecto, por lo que pillare el arduino UNO.

Yo también pensaba que la distancia no seria problema por lo que comentas de que solo envia tensión igual que los contactos para las ventanas y puertas.

Tengo también un movil sony ericson t610 que según he leído se puede comunicar por I2C y de esta manera avisarnos por TLF si saltara la alarma.

Luego si consiguiera hacer todo esto que no es poco para mi jejejej me gustaría poner un modulo para reproducir sonidos pregrabados simulando que hay gente en el el chalet y variando según dias y horas para que los "MALOS" no se coscaran que es una grabación.

flico

No se a que te refieres  con sensores, por ejemplo un PIR no tienes problemas con la tirada de cable, tampoco te vas a poner PIR a 200 m, no?
Por ejemplo los sensores LDR, termistores, es necesario usarlos con un operacional y no superar los 50 metros de cable.

Quote
Tengo también un movil sony ericson t610 que según he leído se puede comunicar por I2C y de esta manera avisarnos por TLF si saltara la alarma.


Este movil tiene un puerto serie y no un I2C
El pineado es
Rx pin 6, Tx pin 7, GND pin 10.

flico

Mirate mi blog, estoy al 100% liado con ello.

tiozes

ok. muchas gracias, pensaba que era I2C no serial.

Si, los sensores son pir y de los que se ponen en las ventanas y puertas por si las abren.

Luego el teclado, la pantalla que ira por I2C y el lector RFID cuando lo podria alejar del arduino?

Para ir planificando por donde pasar los cables, que por cierto tengo pensado utilizar rj45.

Saludos

flico

Quote
Si, los sensores son pir y de los que se ponen en las ventanas y puertas por si las abren.

Luego el teclado, la pantalla que ira por I2C y el lector RFID cuando lo podria alejar del arduino?


El lector RFID me imagino que es un RS232-TTL. Para conectarlo a cierta distancia con seguridad tienes que poner un MAX232 en el lector y otro en el arduino, aun asi la distancia maxima recomendable creo que son 15metros (he probado 100 metros y funciona tambien)

El I2C es mas delicado, existen expansores para alargar la distancia entre dispositivos.

tiozes

El RFID aun no lo he pillado, estoy a ver cual es el que encuentro mejor de precio y da buen resultado.


Para conectar varios sensores pir en la misma entrada analogica como calculo la resistencia?con un simple divisor de tension?

Ya voy a empezar a montar sensores pir, pantalla, reloj, reles.
A falta de teclado, RFID, sensores para las puertas y ventanas que no los encuentro de doble efecto (un leve golpe y rotura) y sirenas..
Y cable para el TLF.

Saludos

tiozes

por cierto los pines para conectar el movil al arduino encontre una pagina q pone otra disposicion de pines:

http://gsmserver.es/pinout/ericsson/erics_t28.php

Saludos

tiozes

Buenas compañeros, alguien sabe alguna tienda por la red donde poder comprar baquelita y los reactivos para poder hacer las placas? ya que donde vivo solo hay una tienda de electronica y esta cerrando de manera que no tienen nada y no me lo piden tampoco.

Por ebay no he encontrado gran cosa = porque no lo busco con el nombre adecuado.


Saludos y gracias


tiozes

#12
Feb 06, 2012, 05:16 pm Last Edit: Feb 06, 2012, 06:14 pm by tiozes Reason: 1
Muchas gracias compañero.

Estoy con la programacion a ver si veis q valla bien:

// Alarma Chalet
#include <Wire.h>                   // Libreria para I2C
#include <LiquidCrystal_I2C.h>      // Libreria para LCD

LiquidCrystal_I2C lcd(0x27,16,2);  // Direccion de bus pantalla

const int pir1 = 2;            // Pin de entrada señal Pir 1
const int ledEstado = 13;      // Led en pin 13 salto Pir 1
int estadoPir1 = 0;            // Estado de Pir 1 0
void setup()

{
 
 pinMode(ledEstado, OUTPUT);  // Funcion de salida LedEstado pin 13
 pinMode(pir1, INPUT);        // Funcion de entrada Pir 1 pin 2
 
}

void loop(){

 
 estadoPir1 = digitalRead(pir1);  // Leer estado Pir 1

 if (estadoPir1 == HIGH) {        // Si esta sl sensor Pir 1 activado activa led Pin 13
 digitalWrite(ledEstado, HIGH);  // Pone el led Estado a nivel alto
 }
 else {                           // Si no se da las condiciones anteriores pone led Estado a nivel bajo
 digitalWrite(ledEstado, LOW);
 }
}

De momento es muy rudimentario, solo le puesto las librerias de la pantalla y cambiando los nombres de ejemplo del activar el led segun este la posicion de un interruptor, pero poniendo el sensor en vez de interruptor.

Si veis q alguna de las explicaciones que he puesto es erronea diganmelo para ir corrigiendolo.

Ahora a ver si soy capaz de mostrar algun mensage en la pantalla cuando se activa el sensor pir.


Saludos y gracias

PD: flico dejaste de actualizar tu bloq? xq le heche un vistazo a ver como tenias el tema de conectar el movil con el arduino y no encontre nada.

tiozes

Buenas, pues ya he conseguido que se muestre el estado del sensor en la pantalla, pero tengo un problema.

Si salta el sensor unas 5  o 6 veces por ejemplo en la pantalla solo me aparece una vez, el led 13 se enciende pero la pantalla no lo refresca,
Cuando el led 13 se enciende tendria q aparecer Intruso, pero la mayoria de las veces en la pantalla sigue poniendo Reposo.

Pero cuando pone Intruso con el led encendido, al apagarse cambia al momento a Reposo.

aqui pongo como lo he programado:

// Alarma Chalet
#include <Wire.h>                   // Libreria para I2C
#include <LiquidCrystal_I2C.h>      // Libreria para LCD

LiquidCrystal_I2C lcd(0x27,16,2);  // Direccion de bus pantalla

const int pir1 = 2;            // Pin de entrada señal Pir 1
const int ledEstado = 13;      // Led en pin 13 salto Pir 1
int estadoPir1 = 0;            // Estado de Pir 1 0
void setup()

{
  lcd.init();                  // Inicializacion LCD
  pinMode(ledEstado, OUTPUT);  // Funcion de salida LedEstado pin 13
  pinMode(pir1, INPUT);        // Funcion de entrada Pir 1 pin 2
 
}

void loop(){

 
  estadoPir1 = digitalRead(pir1);  // Leer estado Pir 1

  if (estadoPir1 == HIGH) {        // Si esta sl sensor Pir 1 activado activa led Pin 13
  digitalWrite(ledEstado, HIGH);  // Pone el led Estado a nivel alto
  }
  else {                           // Si no se da las condiciones anteriores pone led Estado a nivel bajo
  digitalWrite(ledEstado, LOW);
 
  lcd.backlight();             // Iluminacion LCD
  lcd.setCursor(7,0);          // Seleccionamos posicion del cursor
 
      estadoPir1 = digitalRead(pir1);
   if (estadoPir1 == HIGH) {        // Si esta sl sensor Pir 1 activado
  lcd.print("Intruso");            // Aparece en pantalla Intruso
  }
  else {                           // Si no se da las condiciones anteriores Aparece en pantalla Reposo
  lcd.print("Reposo");             // Aparece en pantalla Intruso
  }
  }
}


Tambien he probado usado if de nuevo y quitando else y sigue =.


saludos y gracias

tiozes

Bueno, pues ya lo he solucionado, parece ser que al usar 2 veces "else" con los mismos pines se le volvia un poco loco jeje asiesque lo puse todo en el mismo "else" que no sabia que eso se podia hacer y ahora cambia de estado siempre a la primera.

Pero tengo un problema, cuando cambia de reposo a intruso se quedan restos del texto anterior en el lcd, usando el "clear" esta todo el rato escribiendose y borrandose la pantalla, la unica forma que he podido eliminar el texto que sobra es escribiendo espacios en blando de manera que sustitulla el texto anterior, es una chapuza pero no se me ocurre otra forma.

hay alguna otra manera?

Saludos

Go Up