Mostrando entradas con la etiqueta domotica. Mostrar todas las entradas
Mostrando entradas con la etiqueta domotica. Mostrar todas las entradas

lunes, 15 de agosto de 2016

Luz intermitente con resistencia en Arduino - Practica 02

Luz intermitente con resistencia en Arduino - Practica 02

Programa:

/*
  Luz Intermitente con resistencia "By Frank-Tattoo"
  Enciende un diodo LED durante un segundo, despues lo apaga un segundo.
 */

// asignamos el Pin 12, tiene un LED conectado en el pin 12 con una resistencia.

int led = 12;


void setup() {               
  // inicializamos el pin digital como salida.
  pinMode(led, OUTPUT);    
}

// loop realiza la rutina de reiniciar y finalizar continumente el proceso:
void loop() {
  digitalWrite(led, HIGH);   // Conecta el diodeo LED encendido (nivel de voltage alto)
  delay(1000);               // espera un segundo
  digitalWrite(led, LOW);    // desconecta el diodo LED turn the LED (nivel de voltage bajo)
  delay(1000);               // espera un segundo
}




 Modificando el programa de la siguiente forma (delay) conseguimos que el diodo led se encienda y se apague durante 3 segundos. (se puede apreciar al final del vídeo.

Programa:

/*
  Luz Intermitente con resistencia "By Frank-Tattoo"
  Enciende un diodo LED durante tres segundos, después lo apaga tres segundos.
 */

// asignamos el Pin 12, tiene un LED conectado en el pin 12 con una resistencia.

int led = 12;


void setup() {               
  // inicializamos el pin digital como salida.
  pinMode(led, OUTPUT);    
}

// loop realiza la rutina de reiniciar y finalizar continumente el proceso:
void loop() {
  digitalWrite(led, HIGH);   // Conecta el diodeo LED encendido (nivel de voltage alto)
  delay(3000);               // espera tres segundo
  digitalWrite(led, LOW);    // desconecta el diodo LED turn the LED (nivel de voltage bajo)
  delay(3000);               // espera tres segundo
}

Frank.

domingo, 20 de marzo de 2016

Sensor de ultrasonidos HC-SR04

El sensor de ultrasonidos HC-SR04 es uno de los sensores que se utilizan para medir 

distancias o superar obstáculos, entre otras funciones.

Para esta práctica vamos a utilizarlo para la medición de distancias. El sensor funciona enviando un ultrasonido a través de uno de la pareja de cilindros que compone el sensor (un transductor) y espera a que dicho sonido rebote sobre un objeto y vuelva, retorno captado por el otro cilindro.
El sensor HC-SR04 tiene un rango de distancias sensible entre 3cm y 3m con una precisión de 3mm.


El sensor consta de 4 pines: "VCC" conectado a la salida de 5V de la placa, "Trig" conectado al pin digital de la placa encargado de enviar el pulso ultrasónico, "Echo" al pin de entrada digital que recibirá el eco de dicho pulso y "GND" a tierra.


Programa:

/*
  Medidor de sistancia Ultrasonidos HC-SR04 "By Frank-Tattoo"
 */
const int EchoPin = 5;
const int TriggerPin = 6;
const int LedPin = 13;

void setup() {
    Serial.begin(9600);
    pinMode(LedPin, OUTPUT);
    pinMode(TriggerPin, OUTPUT);
    pinMode(EchoPin, INPUT);
}

void loop() {
    int cm = ping(TriggerPin, EchoPin);
    Serial.print("Distancia: ");
    Serial.println(cm);
    delay(1000);
}

int ping(int TriggerPin, int EchoPin) {
    long duration, distanceCm;
  
    digitalWrite(TriggerPin, LOW);  //para generar un pulso limpio ponemos a LOW 4us
    delayMicroseconds(4);
    digitalWrite(TriggerPin, HIGH);  //generamos Trigger (disparo) de 10us
    delayMicroseconds(10);
    digitalWrite(TriggerPin, LOW);
  
    duration = pulseIn(EchoPin, HIGH);  //medimos el tiempo entre pulsos, en microsegundos
  
    distanceCm = duration * 10 / 292/ 2;   //convertimos a distancia, en cm
    return distanceCm;
}

 
Esto es lo que se monitorizaría en el monitor Serie: 
 


Frank.


martes, 17 de noviembre de 2015

Control de 2 relés a través de web.

Control de 2 relés por página web

Vamos a realizar una practica para el control de 2 reles conectandonos por una tablet, móvil o pc.
Para realizar dicha páctica vamos a utilizar lo siguiente:
      - Placa Arduino uno.
      - Placa Ethernet.
      - Placa de 2 reles.
      - Cables para las conexiones.

Para la instalación, montamos la placa Ethernet en la placa Arduino y cableamos con la de reles de la siguiente forma:



A continuación cargamos en nuestro Arduino el siguiente programa:

/*
    Arduino Ethernet Shield
Control Remoto de 2 Reles by Frank  
*/

#include <SPI.h>
#include <Ethernet.h>

byte mac[]={0xDE,0xAD,0xBE,0xEF,0xFE,0xED}; //MAC
IPAddress ip(192,168,1,9);
EthernetServer servidor(80);

int PIN_LED1=5;
String readString1=String(30);
String state1=String(3);
int PIN_LED2=6;
String state2=String(3);

void setup()
{
 Ethernet.begin(mac, ip);
 servidor.begin();

 pinMode(PIN_LED1,OUTPUT);
 digitalWrite(PIN_LED1,LOW);
 state1="OFF";
 digitalWrite(PIN_LED2,LOW);
 pinMode(PIN_LED2,OUTPUT);
 state2="OFF";

}

void loop()
{
 EthernetClient cliente= servidor.available();

 if(cliente)
 {
   boolean lineaenblanco=true;
   while(cliente.connected())
   {
     if(cliente.available())
     {
       char c=cliente.read();
       if(readString1.length()<30)
       {
         readString1.concat(c);
       
       }
       if(c=='\n' && lineaenblanco)
       {
         int LED1 = readString1.indexOf("LED1=");
         int LED2 = readString1.indexOf("LED2=");
         
         if(readString1.substring(LED1,LED1+6)=="LED1=T")
         {
           digitalWrite(PIN_LED1,HIGH);
           state1="ON";
         } else if (readString1.substring(LED1,LED1+6)=="LED1=F")
         {
           digitalWrite(PIN_LED1,LOW);
           state1="OFF";
         }
         if(readString1.substring(LED2,LED2+6)=="LED2=T")
         {
           digitalWrite(PIN_LED2,HIGH);
           state2="ON";
         } else if (readString1.substring(LED2,LED2+6)=="LED2=F")
         {
           digitalWrite(PIN_LED2,LOW);
           state2="OFF";
  }
     
         } 
         //Cabecera HTTP estándar
         cliente.println("HTTP/1.1 200 OK");
         cliente.println("Content-Type: text/html");
         cliente.println();        
         //Página Web en HTML
         cliente.println("<html>");
         cliente.println("<head>");
         cliente.println("<title>Control 2 Reles</title>");
         cliente.println("<h2><font color='#2076CD'>Control Remoto de Reles v1.0</font color></div></h2>");
         cliente.print("<body bgcolor='#149195'>");
         cliente.println("</head>");
         cliente.println("<h3>RELE 1</h3>");
         cliente.println("<input type=submit value=OFF style=width:50px;height:25px onClick=location.href='./?LED1=T\'>");
         cliente.println("<input type=submit value=ON style=width:50px;height:25px onClick=location.href='./?LED1=F\'>");
         cliente.print("Estado: ");
         cliente.print(state1);
         cliente.println("<h3>RELE 2</h3>");
         cliente.println("<input type=submit value=OFF style=width:50px;height:25px onClick=location.href='./?LED2=T\'>");
         cliente.println("<input type=submit value=ON style=width:50px;height:25px onClick=location.href='./?LED2=F\'>");
         cliente.print("Estado: ");
         cliente.print(state2);
         cliente.println("</body>");
         cliente.println("</html>");
         cliente.stop();
         readString1="";
       }
     }
   }
  }
 }


Conectamos la toma Ethernet del Arduino al Router y desde el móvil, tablet o Pc conectado a la wifi o red de dicho router abrimos un navegador y marcamos la ip 192.168.1.9 y le damos al enter.

Vemos que nos aparece la siguiente pantalla:



Interactuando sobre los botones de ON y OFF conseguimos apagar y encender los reles, los cuales se pueden utilizar para conectar una luz, un motor, etc.

jueves, 30 de abril de 2015

Sensor PIR

SENSOR PIR DE MOVIMIENTO IR ROBOX ARDUINO

          Detector de movimiento por IR compatible con Arduino con un rango de detección de 7 metros y un angulo operativo de 120º. 

 - Distancia de Detección: 7 metros 
- Angulo de Detección: 110º 
- Alimentación: 5V a 16V DC 
- Salida Analógica: 3.3V (High) 0V (Low) 
- Distancia de Detección: 7 metros 
- Angulo de Detección: 120º - Retardo: Ajustable - Temperatura Operativa: -20ºC a 70ºC 
- Dimensiones: 3.2x2.4x2.4cm 



                                                                                                                                 Frank.