Arduino Home Automation (Bluetooth) (3 / 5 steg)
Steg 3: Bluetooth Test
Först och främst tråd upp kretsen som visas ovan. Jag har använt en skärbräda och gjorde en rail positiv och en negativ. Jag hittade irriterande att TXD och RXD stiften på Bluetooth-modulen inte fungerar när du är ansluten till samma stift på arduino själv. TXD stiftet på Bluetooth-modulen jag har anslutit till RXD stiftet på arduino (stift 0) och RXD stiftet på Bluetooth-modulen är ansluten till TXD stiftet på arduino (pin 1). Bluetooth-modulen kommer att köras av 3.3V men reläet behöver 5v arbeta, därav har jag använt 5 volt på arduino.
Här är koden jag har skrivit för denna 2 växla reläet. Som ett exempel har jag det styra en vattenkokare och lampa.
/*
------------------------------------------------------------------------
InfidelFish
------------------------------------------------------------------------
*/
Sträng röst.
#define relay1 2 //Connect relay1 till stift 2
#define relay2 3 //Connect relay2 till stift 3
void setup()
{
Serial.BEGIN(9600); Ställ in hastighet för att kommunicera med telefonen
pinMode (relay1, produktionen); Ställ in relay1 som en utgång
pinMode (relay2, produktionen); Ställ in relay2 som en utgång
digitalWrite (relay1, låg); Switch relay1 off
digitalWrite (relay2, låg); Swtich relay2 off
}
void loop()
{
While(Serial.available()) //Check om det finns tillgängliga byte att läsa
{
Delay(10); Dröjsmål för att göra det stabilt
char c = Serial.read(); Genomföra en seriell läsa
om (c == '#') {
bryta; Stoppa slingan när # upptäcks efter ett ord
}
röst += c; Innebär röst = röst + c
}
om (voice.length() > 0)
{
Serial.println(Voice);
om (röst == "* slår på") {
switchon();
} //Initiate funktion switchon om röst är stänga på
annars om (röst == "* Stäng av") {
switchoff();
} //Initiate funktion switchoff om röst är switch off
annars om (röst == "* lampa på") {
Du kan ersätta "lampa på" med vad du vill... samma sak gäller för andra
digitalWrite (relay1, hög);
}
annars om (röst == "* lampa off") {
digitalWrite (relay1, låg);
}
annars om (röst == "* vattenkokare på") {
digitalWrite (relay2, hög);
}
annars om (röst == "* vattenkokare off") {
digitalWrite (relay2, låg);
}
röst = "";
}
}
void switchon() //Function för att aktivera reläer
{
digitalWrite (relay1, hög);
digitalWrite (relay2, hög);
}
void switchoff() //Function för att aktivera reläer
{
digitalWrite (relay1, låg);
digitalWrite (relay2, låg);
}
/*
Du kan lägga till någon funktion du vill ha beroende på hur många enheter du har anslutit.
Du kan till exempel ha en funktion som kallas "film" som skulle dämpa belysningen och
slå på TV: N på. Du kan ha så många som du har stiften på din arduino.
För mitt relä "Låg" stängs av och "Hög" vänder på
Dispositionen följer är detta:
ogiltig... ()
{
digitalWrite (..., låg/hög);
digitalWrite (..., låg/hög);
}
*/
När du överför koden till din Arduino, se till att du kopplar bort stift 0 och 1 annars du kommer förmodligen få detta fel:
avrdude: stk500_getsync(): inte i synk: resp = 0x00
Nu på din Android ladda ner denna lysande app av SimpleLabs!
https://Play.Google.com/store/apps/details?ID=robotspace.simplelabs.amr_voice&hl=en
Ansluta till Bluetooth-modulen det kommer förmodligen att kallas något i stil med "HC-06"
Första gången den frågar efter ett lösenord som vanligtvis är 1234.
När du har anslutit säga de kommandon som du har valt i koden och förhoppningsvis reläet kommer att slå på och av!