elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda con codigos de arduino, Activar/Desactivar sensor PIR via Bluetooh?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con codigos de arduino, Activar/Desactivar sensor PIR via Bluetooh?  (Leído 3,671 veces)
brunomars

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Ayuda con codigos de arduino, Activar/Desactivar sensor PIR via Bluetooh?
« en: 28 Abril 2017, 12:29 pm »

Soy nuevo con el arduino, pero mirando foros y tutoriales cosegui armar este codigo para que  funcione mi proyecto en el cual tengo que prender y apagar leds, usar un sensor LDR, sensor de movimiento y servomotores todo manejado a traves de un modulo de bluetooth con una app para el movil

Código:

int led1 = 40;      //Luz 1 Comedor
int led2 = 41;      //Luz_2_Comedor
int led3 = 42;      //Luz_Cocina
int led4 = 43;      //Luz_1_Pasillo
int led5 = 44;      //Luz_1_Pasillo
int led6 = 45;      //Luz_Hab 1
int led7 = 46;      //Luz_Hab 1
int led8 = 47;      //Luz_Baño
int led9 = 48;      //Luz_Garaje
int led10 = 49;     //Luz_1_Jardin
int led11 = 50;     //Luz_2_Jardin
int led12 = 51;     //Luz_3_Jardin
int led13 = 52;     //Luz_4_Jardin

int estado = 0;

int LDRpin=A1;            // define el pin conectado al ldr
int LDRabc=0;
float LDRvoltaje=0;         // variable tipo flotante


int led =6;        // pin del led rojo
int pirPin =7;      // pin para el sesor de movimiento
int buzzer = 5;     // pin para buzzer activo 


void setup(){
 
   
  Serial.begin(9600);
  pinMode(LDRpin, INPUT);
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
  pinMode(led5, OUTPUT);
  pinMode(led6, OUTPUT);
  pinMode(led7, OUTPUT);
  pinMode(led8, OUTPUT);
  pinMode(led9, OUTPUT);
  pinMode(led10, OUTPUT);
  pinMode(led11, OUTPUT);
  pinMode(led12, OUTPUT);
  pinMode(led13, OUTPUT);
  pinMode( led , OUTPUT) ;
  pinMode (pirPin , INPUT);
  pinMode (buzzer , OUTPUT);

}
 
void loop(){ 
 if( Serial.available()>0)   
 
 {
  char dato= Serial.read ();         // leremos el dato enviado
  Serial.println(dato);              // mostramos el dato
  if(dato =='s')                     // si es igual se habilita alarma
  {
    while(!Serial.available())            // se ejecuta si el dato es "S"
    {
      digitalWrite(led, LOW);              //apagamos el led rojo
      int pirVal = digitalRead(pirPin);     // leemos el valor del sensor
      Serial.println (pirVal);           // mostramos este valor
      if(pirVal == HIGH)                 //si es 1
      {
        digitalWrite(buzzer, HIGH);      //encenderemos el led rojo y sonara el buzzer
        digitalWrite(led, HIGH);
      }
      else  // si fuese un "0"
      {
        digitalWrite(buzzer, LOW);
        digitalWrite(led, LOW);         //se apaga el led rojo y deja de  sonara el buzzer
        }
        delay(400);                   //esperamos 400ms
       }
  }
  else
  {
    digitalWrite(buzzer, LOW);
    digitalWrite(led, LOW);
 
    }

   { estado = Serial.read();
  }
  switch( estado)
  {
    case 'a':
    digitalWrite(led1, HIGH);    // primera luz del interior la casa
    break;
    case 'b':
    digitalWrite(led1, LOW);
    break;
   
    case 'c':
    digitalWrite(led2, HIGH);
    break;
    case 'd':
    digitalWrite(led2, LOW);
    break;
   
    case 'e':
    digitalWrite(led3, HIGH);
    break; 
    case 'f':
    digitalWrite(led3, LOW);
    break;

    case 'g':
    digitalWrite(led4, HIGH);
    digitalWrite(led5, HIGH);        // luz pasillo ambas encienden a la vez
   
    break; 
    case 'h':
    digitalWrite(led4, LOW);
    digitalWrite(led5, LOW);    // luz pasillo ambas se apagan a la vez
    break;

    case 'i':
    digitalWrite(led6, HIGH);
    break; 
    case 'j':
    digitalWrite(led6, LOW);
    break;

    case 'k':
    digitalWrite(led7, HIGH);
    break; 
    case 'l':
    digitalWrite(led7, LOW);
    break;

    case 'm':
    digitalWrite(led8, HIGH);
    break; 
    case 'n':
    digitalWrite(led8, LOW);
    break;

    case 'o':
    digitalWrite(led9, HIGH);
    break; 
    case 'p':
    digitalWrite(led9, LOW);    // ultima luz del interior de la casa
    break;

    case 'q':
    digitalWrite(led10, HIGH);
    digitalWrite(led11, HIGH);      // lucess del jardin 
    digitalWrite(led12, HIGH);
    digitalWrite(led13, HIGH);
   
    break; 
    case 'r':
    digitalWrite(led10, LOW);
    digitalWrite(led11, LOW);     //apagamos luces del jardin
    digitalWrite(led12, LOW);
    digitalWrite(led13, LOW);
    break;

     case 's':
    digitalWrite(pirPin, HIGH);    // activamos alarma
    break; 
    case 't':
    digitalWrite(pirPin, LOW);    // desactivamos alarma
    break;

  }

 }

 
  {
    LDRabc=analogRead(LDRpin);
    LDRvoltaje=LDRabc*(5.0/1023.0);
    Serial.print("voltaje LDR: ");
    delay(200);
    Serial.println(LDRvoltaje);

    if(LDRvoltaje<=1.20){
      digitalWrite(led10, HIGH);   
      delay(500);
      digitalWrite(led11, HIGH);      // luces del jardin encienden de noche
      delay(600);
      digitalWrite(led12, HIGH);
      delay(700);
      digitalWrite(led13, HIGH);
      delay(800);
 
      }

     else {
     
          digitalWrite(led10, LOW);
          digitalWrite(led11, LOW);   // luces del jardin se apagan de dia
          digitalWrite(led12, LOW);
          digitalWrite(led13, LOW);
         
          }
  }
 
  }


En este primer codigo logre manjear los leds y el sensor ldr, el problema es cuando junte estos codigos con uno para un sensor pir para menjarlo por bluetooth, ya que logro juntar todos los codigos, y logro manejar el sensor PIR por el bluetooth pero los led ahora no me responden, exepto cuando se activan con el Sensor LDR, si pudieran ayudar en corregir el codigo que he armado, lo agradeceria bastante, ya que hay algo que falla dentro del codigo  pero no se que es y que crea conflicto pero no se que es porque soy novato con el arduino. Gracias de antemano.


En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Ayuda con codigos de arduino, Activar/Desactivar sensor PIR via Bluetooh?
« Respuesta #1 en: 28 Abril 2017, 15:45 pm »

¿Y si empiezas con algo más sencillo y te centras solo en la comunicación bluetooth? Cuando sepas manejarla podrás juntarla con el resto del código. De todas formas te diría que intentaras usar el modelo de trabajo que usan los PLC:

1. Comunicación con el exterior. Serial COM, USB, Bluetooth.
2. Leer las entradas.
3. Ejecución del programa, cálculos, acciones, etc.
4. Refresco de las salidas.
5. Vuelta al punto 1.

Como puedes ver es una máquina de estados con trabajos bien definidos y fácil de depurar.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Códigos para arduino
Programación C/C++
@synthesize 8 11,470 Último mensaje 16 Mayo 2010, 20:43 pm
por @synthesize
Arduino y sensor
Electrónica
@synthesize 8 13,257 Último mensaje 30 Mayo 2010, 18:28 pm
por @synthesize
Arduino (Sensor de temperatura y presion Bmp085 o Gy-65) Ayuda
Electrónica
lluvplay 2 8,552 Último mensaje 26 Agosto 2013, 21:57 pm
por ufil
[TUTORIAL] HC-SR04 Sensor ultrasonico de distancia y arduino
Electrónica
79137913 1 19,266 Último mensaje 16 Febrero 2014, 20:48 pm
por Meta
duda con sensor de sonidos para arduino
Electrónica
priorigi_10 3 5,033 Último mensaje 15 Marzo 2014, 23:51 pm
por priorigi_10
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines