Hay muchas opciones para el microcontrolador que se puede utilizar para esto. He utilizado un arduino, así como un digispark. Ambos funcionan bien. Acaba de obtener la fuente de alimentación para el arduino empalmado en la línea principal que viene pulg. ésta es sólo una guía inspiradora.
Este es un proyecto bastante simple y relativamente barato que permite encender y apagar una salida vía Bluetooth en su teléfono android. Los materiales que utilicé fueron:
Módulo de relé de 5V - www.amazon.com/gp/product/B0057OC6D8/ref=oh_details_o00_s00_i02 (cualquier otro relé debe hacer, esto fue lo que encontré)
Arduino R3--http://www.amazon.com/gp/product/B006H06TVG/ref=oh_details_o00_s00_i01
Bluetooth Shield para Arduino - http://www.amazon.com/gp/product/B007BYI172/ref=oh_details_o04_s00_i00 (las antenas de BT regulares funcionará también)
4 sección de caja, o cualquier otra caja para sostener todo.
salida, cables, supresor de picos extra, hoja de acrílico o cualquier otro material.
Si fueras a comprar todo fresco, funcionaría probablemente alrededor de 65-75 dólares dependiendo de dónde y cómo comprar.
Con el escudo de bluetooth que tengo, los selectores impresos de Tx y Rx se invierten, al menos para las bibliotecas que he encontrado. El relé está también frente a lo que se podría pensar, como en alta cierra el relé y baja abre la puerta.
Fractura de una de las líneas en el cordón de alimentación, hice el negro, conectar el uno va a la pared para el terminal común y el otro al terminal normalmente abierto.
puede encontrar más información aquí:
http://Arduino-info.wikispaces.com/ArduinoPower
todo sobre el poder y el arduino como bien como fotos y cosas.
Usted necesitará una fuente de alimentación separada para tu arduino, tengo un 9v corriente hacia la parte posterior.
He encontrado BlueTerm para ser la mejor manera de comunicarse desde su teléfono con el arduino BT
https://Play.Google.com/store/apps/details?id=es.pymasde.BlueTerm&hl=en
Es libre y suave. Existen otros programas que hay que hacer lo mismo y tal vez más, pero me gusta este porque es simple.
** También, revisa el sitio del MIT App Inventor, google, crear una aplicación bastante simple para establecer un tipo de alarma de lo que hay que encender una luz en la mañana o algo. Mira las fotos para obtener un ejemplo del código. Coge la id de su bt y escribir en.
**
Cargar el código y asegurarse de que todo está conectado y listo apagar las luces!
Probé a hacer esta salida capaz de dim, pero gustó mi relé, sólo permanecía abierto cuando tuve algo enchufado.
** Actualizado código:
#include < SoftwareSerial.h > Puerto de serie de //Software
#include < MeetAndroid.h > //library de comunicación BT android
#define RxD 0 / / blanco bt
#define TxD 2 / / amarillo bt
#define switchPin 1 //whatever el conector de interruptor de relé está conectado a
#define DEBUG_ENABLED 1 //need esto para la materia
SoftwareSerial blueToothSerial(RxD,TxD);
void setup()
{
Serial.Begin(9600);
pinMode(RxD,INPUT);
pinMode (TxD, salida);
pinMode(switchPin,OUTPUT);
setupBlueToothConnection();
digitalWrite(switchPin,LOW); relé de vueltas en el inicio
}
void loop()
{
char recvChar;
if(blueToothSerial.Available()) //check si hay cualquier datos enviados desde el escudo de bluetooth control remoto
{
recvChar = blueToothSerial.read();
blueToothSerial.print ('recibidos datos');
Serial.println(recvChar);
Serial.Write(recvChar);
Switch(recvChar)
{
caso '1':
digitalWrite (switchPin, LOW); //turn de relé en
rotura;
caso '0':
digitalWrite (switchPin, HIGH); //turn de
rotura;
} //end interruptor declaración
} //end comunicación de BT
} //end lazo
void setupBlueToothConnection () //getting bluetooth trabajo
{
blueToothSerial.begin(9600); Establece BluetoothBee BaudRate en baudios por defecto 38400
blueToothSerial.print("\r\n+STWMOD=0\r\n"); establecer el trabajo de bluetooth en modo esclavo
blueToothSerial.print("\r\n+STNA=SeeedBTSlave\r\n"); establecer el nombre de bluetooth como "SeeedBTSlave"
blueToothSerial.print("\r\n+STOAUT=1\r\n"); Permiso de dispositivos vinculados a conectarme
blueToothSerial.print("\r\n+STAUTO=0\r\n"); Conexión automática debe ser prohibida aquí
Delay(2000); Este retraso es necesario.
blueToothSerial.print("\r\n+INQ=1\r\n"); hacer el esclavo bluetooth inquirable
Serial.println ("el esclavo bluetooth es inquirable!");
Delay(2000); Este retraso es necesario.
blueToothSerial.flush();
}
**
-----------------------------------------------------------------------------------------------------------------------
Código original:
#include //Software serial Port
#define RxD 6 //oppsite lo que la Junta es etiquetas como
#define TxD 2 / oppsite lo que la Junta es etiquetas como
#define switchPin 9 //relay conector
#define DEBUG_ENABLED 1
SoftwareSerial blueToothSerial(RxD,TxD);
char recvChar;
void setup()
{
Serial.Begin(38400);
pinMode(RxD,INPUT);
pinMode (TxD, salida);
pinMode(switchPin,OUTPUT);
setupBlueToothConnection();
digitalWrite(switchPin,HIGH); relay de giros de
}
void setupBlueToothConnection()
{
blueToothSerial.begin(38400); Establece BluetoothBee BaudRate en baudios por defecto 38400
Delay(1000);
blueToothSerial.print("\r\n+STWMOD=0\r\n"); establecer el trabajo de bluetooth en modo esclavo
blueToothSerial.print("\r\n+STNA=SeeedBTSlave\r\n"); establecer el nombre de bluetooth como "SeeedBTSlave"
blueToothSerial.print("\r\n+STOAUT=1\r\n"); Permiso de dispositivos vinculados a conectarme
blueToothSerial.print("\r\n+STAUTO=0\r\n"); Conexión automática debe ser prohibida aquí
Delay(2000); Este retraso es necesario.
blueToothSerial.print("\r\n+INQ=1\r\n"); hacer el esclavo bluetooth inquirable
Serial.println ("el esclavo bluetooth está listo!");
Delay(2000); Este retraso es necesario.
blueToothSerial.flush();
} //end preparación conexión bt
Comprueba si se recibe la respuesta "OK"
void CheckOK()
{
char a, b;
while(1)
{
if(blueToothSerial.Available())
{
un = blueToothSerial.read();
Si ('O' == un)
{
Espere para el siguiente carácter available() K. es necesaria en algunos casos, como K no está inmediatamente disponible.
while(blueToothSerial.Available())
{
b = blueToothSerial.read();
rotura;
}
Si ('K' == b)
{
rotura;
}
}
}
}
mientras que ((a = blueToothSerial.read())! = -1)
{
Espere hasta que se reciben todos los caracteres de respuesta
}
} / / fin verificación ok
void sendBlueToothCommand(char command[])
{
blueToothSerial.print(command);
CheckOK();
}
void loop()
{
recvChar = blueToothSerial.read();
Serial.println(recvChar);
Serial.Write(recvChar);
Switch(recvChar)
{
caso '1':
digitalWrite (switchPin, LOW); //opposite a lo que se podría pensar
blueToothSerial.println "(relais del en");
rotura;
caso '0':
digitalWrite(switchPin,HIGH);
blueToothSerial.println ("relé off");
rotura;
} / / fin de interruptor
} //end lazo