Arduino + Android plus Bluetooth Home Automation (3 / 5 steg)
Steg 3: Program för Arduino
Programmet för Arduino är i detta fall ganska lätt här, kom ihåg vi ansluten Tx och Rx på Arduino till Rx och Tx på HC-06 Bluetooth-modul, så enkelt Arduino bara tar emot texter från dess Rx och gör något enligt texterna. Med tanke på förmåga räddningen jag till detta LowPower bibliotek i koden, kan du ladda ner biblioteket från GitHub, länken går här: https://github.com/rocketscream/Low-Power
Jag satte Arduoino sova sätt till inaktiv, endast i det här läget kan du ändå hålla USART (Rx och Tx) vaken, när texterna kommer i det kommer att vakna upp Arduino och be den göra några saker, här är hur koden ser ut:
#include "LowPower.h"
Sträng readString;
void Setup() {
Serial.BEGIN(9600);
pinMode (2, utgång);
digitalWrite (2, hög).
}
void loop() {
void serialEvent();
LowPower.idle (SLEEP_FOREVER, ADC_OFF, TIMER2_OFF, TIMER1_OFF, TIMER0_OFF, SPI_OFF, USART0_ON, TWI_OFF); Låt din Arduino i sömn mode(idel)
}
void serialEvent() {
While(Serial.available()) {
Delay(3);
char c = Serial.read();
readString += c;
}
om (readString.length() > 0)
{
Serial.Print(readString);
om (readString == "På") {
digitalWrite (2, låg). Slå på bordslampa
}
om (readString == "Off") {
digitalWrite (2, hög). Stänga av bordslampa
}
readString = "";
}
}
Förklara koden: för det mesta din Arduino är i viloläge, endast när signal kommer från Rx stift det börjar att arbeta. Du kan ställa in en sträng heter readString här, för att lagra text kommer från Rx stift. När vi talar i sista avsnittet, när du rör de knapparna på app, skickas texter via Bluetooth. Så när din Arduino får meddelandet "På", helt enkelt ange Pin2 som låg, denna signal kommer att låta reläet få igenom, på andra sidan, när din Arduino får meddelandet "Off", ange Pin2 så högt, kommer att denna åtgärd stänga av din bordslampa.
Mer Info: Arduino sömn lägen kan vara lite skrämmande, eftersom ATmega 328 chip stöder sex sömn lägen, men endast i viloläge USART kommer fortfarande hålla vaken, att ta emot signaler från Rx stift att vakna chip. Normalt när en Arduino fungerar i viloläge dess förmåga skingra kommer att släppa runt 60%, låg effekt är en ganska cool område att upptäcka.