Il y a tellement d’options pour le microcontrôleur, que vous pouvez utiliser pour cela. J’ai utilisé un arduino, mais aussi un digispark. Les deux fonctionnent bien. Juste obtenir le bloc d’alimentation pour l’arduino épissé dans le po venir ligne principale, c’est juste un guide inspirant.
Il s’agit d’un projet assez simple et relativement bon marché qui vous permet d’allumer ou d’éteindre une prise via Bluetooth sur votre téléphone android. Les matériaux que j’ai utilisé étaient :
Module de relais 5V--www.amazon.com/gp/product/B0057OC6D8/ref=oh_details_o00_s00_i02 (n’importe quel autre relais devrait faire, c’était ce que j’ai trouvé)
Arduino R3--http://www.amazon.com/gp/product/B006H06TVG/ref=oh_details_o00_s00_i01
Bluetooth Shield pour Arduino--http://www.amazon.com/gp/product/B007BYI172/ref=oh_details_o04_s00_i00 (les antennes BT ordinaires fonctionne aussi)
4 boîte de section, ou n’importe quelle autre boîte pour contenir tout.
sortie, fils, protecteur de surtension supplémentaire, feuille acrylique ou tout autre revêtement.
Si vous deviez acheter tout frais, il irait probablement autour de 65 à 75 dollars, selon l’endroit où et comment vous faites des emplettes.
Avec le bouclier de bluetooth que j’ai obtenu, les sélecteurs de Tx et Rx imprimées sont inversés, au moins pour les bibliothèques, que j’ai trouvé. Le relais est également en face de ce qu’on pourrait penser, comme dans grande ferme le relais et basse ouvre la porte.
Diviser l’une des lignes sur votre cordon d’alimentation, j’ai fait le noir, attachez l’un va à votre mur à la borne neutre et l’autre à la borne normalement ouverte.
plus d’informations peuvent être trouvés ici :
http://Arduino-info.wikispaces.com/ArduinoPower
tout sur la puissance et l’arduino comme des photos et des trucs bien aussi beau.
Vous aurez besoin d’avoir une source d’alimentation pour votre arduino, j’ai un 9v en cours d’exécution à l’arrière.
J’ai trouvé BlueTerm à être le meilleur moyen de communication entre votre téléphone et l’arduino BT
https://Play.google.com/Store/Apps/Details?id=es.pymasde.blueterm&hl=en
C’est gratuit et sans heurt. Il existe d’autres programmes là-bas qui font la même chose et peut-être plus, mais j’aime celui-ci, parce que c’est simple.
** Aussi, consulter le site MIT App Inventor, google il, créez une application assez simple à mettre en place une sorte d’alarme de chose pour allumer un feu dans la matinée, ou quelque chose. Regardez les photos pour obtenir un exemple du code. Récupérer l’id de votre bt et écrivez-le.
**
Télécharger le code et assurez-vous que tout est branché et que vous êtes prêt à éteindre vos lumières !
J’ai essayé de faire cette sortie dim-able, mais il n’aimait pas mon relais, il juste resté ouvert quand j’ai eu quelque chose de branché.
** CODE mis à jour:
#include < SoftwareSerial.h > //Software Serial Port
#include < MeetAndroid.h > //library pour android BT comunication
#define RxD 0 / / blanc bt
#define TxD 2 / / jaune bt
#define switchPin 1 //whatever la broche de commutateur de relais est reliée à
#define DEBUG_ENABLED 1 //need cela pour des trucs
SoftwareSerial blueToothSerial(RxD,TxD) ;
void setup()
{
Serial.Begin(9600) ;
pinMode(RxD,INPUT) ;
pinMode (TxD, sortie) ;
pinMode(switchPin,OUTPUT) ;
setupBlueToothConnection() ;
digitalWrite(switchPin,LOW) ; Relais de tours au démarrage
}
void loop()
{
char recvChar ;
if(blueToothSerial.available()) //check s’il n’y a aucune données envoyées par le bouclier bluetooth distant
{
recvChar = blueToothSerial.read() ;
blueToothSerial.print ("données reçues') ;
Serial.println(recvChar) ;
Serial.Write(recvChar) ;
Switch(recvChar)
{
affaire « 1 » :
digitalWrite (switchPin, basse), relais de //turn
rupture ;
affaire « 0 » :
digitalWrite (switchPin, HIGH); //turn off
rupture ;
} instruction switch //end
} //end communication de BT
} //end boucle
Sub setupBlueToothConnection () //getting bluetooth travail
{
blueToothSerial.begin(9600) ; La valeur BluetoothBee BaudRate bauds par défaut 38400
blueToothSerial.print("\r\n+STWMOD=0\r\n") ; la valeur de le œuvre de bluetooth en mode esclave
blueToothSerial.print("\r\n+STNA=SeeedBTSlave\r\n") ; Définissez le nom de bluetooth comme « SeeedBTSlave »
blueToothSerial.print("\r\n+STOAUT=1\r\n") ; Permis de périphériques appariés à me connecter
blueToothSerial.print("\r\n+STAUTO=0\r\n") ; Connexion automatique devrait être interdite ici
Delay(2000) ; Ce délai est nécessaire.
blueToothSerial.print("\r\n+INQ=1\r\n") ; faire l’esclave bluetooth inquirable
Serial.println ("l’esclave bluetooth est inquirable!") ;
Delay(2000) ; Ce délai est nécessaire.
blueToothSerial.flush() ;
}
**
-----------------------------------------------------------------------------------------------------------------------
Code d’origine :
#include //Software serial Port
#define RxD 6 //oppsite ce que le jury est lables comme
#define TxD 2 / / oppsite ce que le jury est lables comme
#define switchPin 9 //relay connecteur
#define DEBUG_ENABLED 1
SoftwareSerial blueToothSerial(RxD,TxD) ;
char recvChar ;
void setup()
{
Serial.Begin(38400) ;
pinMode(RxD,INPUT) ;
pinMode (TxD, sortie) ;
pinMode(switchPin,OUTPUT) ;
setupBlueToothConnection() ;
digitalWrite(switchPin,HIGH) ; tour à tour relais off
}
Sub setupBlueToothConnection()
{
blueToothSerial.begin(38400) ; La valeur BluetoothBee BaudRate bauds par défaut 38400
Delay(1000) ;
blueToothSerial.print("\r\n+STWMOD=0\r\n") ; la valeur de le œuvre de bluetooth en mode esclave
blueToothSerial.print("\r\n+STNA=SeeedBTSlave\r\n") ; Définissez le nom de bluetooth comme « SeeedBTSlave »
blueToothSerial.print("\r\n+STOAUT=1\r\n") ; Permis de périphériques appariés à me connecter
blueToothSerial.print("\r\n+STAUTO=0\r\n") ; Connexion automatique devrait être interdite ici
Delay(2000) ; Ce délai est nécessaire.
blueToothSerial.print("\r\n+INQ=1\r\n") ; faire l’esclave bluetooth inquirable
Serial.println ("le bluetooth esclave est prêt!") ;
Delay(2000) ; Ce délai est nécessaire.
blueToothSerial.flush() ;
} //end configuration connexion bt
Vérifie si la réponse « OK » est reçue
Sub CheckOK()
{
char a, b ;
while(1)
{
if(blueToothSerial.available())
{
un = blueToothSerial.read() ;
Si (« O » == un)
{
Attendez le prochain caractère K. available() est nécessaire dans certains cas, comme K n’est pas immédiatement disponible.
while(blueToothSerial.available())
{
b = blueToothSerial.read() ;
rupture ;
}
Si (« K » == b)
{
rupture ;
}
}
}
}
tandis que ((un = blueToothSerial.read())! = -1)
{
Attendez jusqu'à ce que tous les autres caractères de la réponse sont reçus
}
} / / fin de contrôle ok
Sub sendBlueToothCommand(char command[])
{
blueToothSerial.print(command) ;
CheckOK() ;
}
void loop()
{
recvChar = blueToothSerial.read() ;
Serial.println(recvChar) ;
Serial.Write(recvChar) ;
Switch(recvChar)
{
affaire « 1 » :
digitalWrite (switchPin, LOW); //opposite à ce que vous penseriez
blueToothSerial.println ("relais sur") ;
rupture ;
affaire « 0 » :
digitalWrite(switchPin,HIGH) ;
blueToothSerial.println ("Relais off") ;
rupture ;
} / / interrupteur de fin
} //end boucle