Pages: [1]   Go Down
Author Topic: ¿Opiñones e ideas sobre INPUT? (Alarma automotriz)  (Read 459 times)
0 Members and 1 Guest are viewing this topic.
Buenos Aires, Argentina
Offline Offline
Newbie
*
Karma: 0
Posts: 28
kill kill!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola señores, buenas noches (Arg 2:37AM).
Les cuento, estoy armando una nueva alarma para automovil, en la primera version de codigo quedo algo como lo que muestro abajo, funciona perfectamente como lo necesito.
La unica cuestion aca es que esta alarma funciona con los sensores que tiene el auto, los de la luz de cortecia, cuando se abre alguna puerta, capot o baul, esta prende.
Mi idea era poner un relé para separar los voltajes y tensiones y que este accione el trigger (Pin D2), ya que la unica forma que logre que funcione es con "if(digitalRead(triggerPin) == LOW)" ya que si lo hago con HIGH no me funciona, asi que opte por conseguir un relé con el normal cerrado y el accion abierto.

¿Alguien puede aportarme alguna idea u opiñon?
Otro punto de vista me vendria muy bien, proximamente tambien voy a incluir un telemando para controlarla y ya que estoy trabajando desde arduino quiza incluya un llamador por celular con un shield, pero principalmente la idea es esta.

Codigo:
Este codigo esta armando de la forma que cuando se alimente el arduino, de tiempo a cerrar las puertas y la alarma este lista para sonar cuando algun sensor dispare el trigger. Ademas cuenta con un led RGB que va indicando el estado de la alarma, azul seria el "cold time" junto con el verde que indica que la alarma va a estar armada, el rojo indicando que esta armada, y cuando se dispara el trigger nuevamente azul continuo para dar unos segundos a desconectarla.

Quote
#define triggerPin 2
#define redLed 12
#define greenLed 11
#define blueLed 10
#define buzzer 9

int tamperState = 0;
int warningState = 0;
int cycleCount = 1;

void setup() {
  pinMode(10, OUTPUT);  
  pinMode(11, OUTPUT);  
  pinMode(12, OUTPUT);      
  pinMode(9, OUTPUT);  
  
  while(cycleCount < 13){
    startState();
    cycleCount++;
  }
}

void loop() {
  if(digitalRead(triggerPin) == LOW) {
    if(warningState == 0) {
      digitalWrite(blueLed, HIGH);
    }
    else {    
      digitalWrite(blueLed, LOW);
    }
    delay(3000);
    digitalWrite(buzzer, HIGH);
    warningState = 1;
  }
  else {
    flashingLed();
  }
}

void flashingLed() {
  if(warningState == 0) {
    digitalWrite(redLed, HIGH);  
    delay(10);        
    digitalWrite(redLed, LOW);  
    delay(650);      
  }
}


void startState() {
  if(cycleCount <= 6) {
    digitalWrite(blueLed, HIGH);  
    delay(30);        
    digitalWrite(blueLed, LOW);  
    delay(600);
  }
  if(cycleCount >= 6){
    digitalWrite(greenLed, HIGH);  
    delay(20);        
    digitalWrite(greenLed, LOW);  
    delay(300);
  }    
}  

Gracias a todos smiley-grin
« Last Edit: February 22, 2012, 12:44:06 am by thevjfla » Logged

0
Offline Offline
Edison Member
*
Karma: 8
Posts: 1040
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

También podrías usar un optoacoplador
Logged

Trabajando en ...

    * Control Domotico (En montaje ...)
    http://casitadomotica.blogspot.com/
 

[url=https://bitbucket.org/fmalpartida

Buenos Aires, Argentina
Offline Offline
Newbie
*
Karma: 0
Posts: 28
kill kill!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

También podrías usar un optoacoplador
Tengo uno "N6N138" pero no entendi bien como se utiliza
Logged

Pages: [1]   Go Up
Jump to: