Komplett hem automationssystemet (3 / 5 steg)
Steg 3: programmering
För programmering UNO styrelsen måste du ha Arduino IDE i din dator.Kopiera denna skiss på en ny ino fil, kompilera den och sedan ladda upp den till UNO.
#include
SoftwareSerial b (2,3); //bluetooth stift
int en = 1, c = 1, e = 1, f = 1, k = 1, l = 1, p = 1, t = 1, / * status för växlar * / ks = 0, ls = 0, ps = 0, / * status för sensorer * / ldr = 1023, / * ljusintensitet att slå på belysningen * / prs1 = 0, / * vattennivån att starta pumpen * / prs2 = 1023 / * vattennivån att stoppa pumpen * /;
void setup()
{
Serial.BEGIN(9600);
b.BEGIN (9600); //bluetooth
pinMode (0, OUTPUT); //light stift
pinMode (1, OUTPUT); //light stift
för (int jag = 4; jag pinMode(i,OUTPUT);
analoga pins fattas som indata som standard
}
void loop()
{
While(b.available())
{
Switch(b.Read())
{
fall 75: / / K skickas
digitalWrite(0,k);
k =! k; //toggle växla
KS = 0;
bryta;
i mål 76: / / L skickas
digitalWrite(1,l);
l =! l; //toggle växla
LS = 0;
bryta;
i mål 69: / / E skickas
digitalWrite(4,e);
e =! e; //toggle växla
bryta;
fall 70: / / F skickas
digitalWrite(5,f);
f =! f; //toggle växla
bryta;
fall 65: / / A skickas
digitalWrite(6,a);
a =! a; //toggle switch
bryta;
fall 80: / / P skickas
digitalWrite(7,p);
p =! p, //toggle switch
PS = 0;
bryta;
i mål 84: / / T skickas
digitalWrite(8,t);
t =! t; //toggle växla
bryta;
i mål 67: / / C skickas
digitalWrite(9,c);
c =! c; //toggle växla
bryta;
i mål 107: / / k skickas
KS = 1;
bryta;
fall 108: / / l skickas
LS = 1;
bryta;
fall 112: / / p skickas
PS = 1;
bryta;
i mål 73: / / jag skickade
LDR = analogRead (A0); //save ljusintensitet att slå på belysningen
bryta;
fall 87: / / W skickas
prs1 = analogRead (A2); //save vattennivån att starta pumpen
bryta;
mål 88: / / X skickas
prs2 = analogRead (A2); //save vattennivån att stoppa pumpen
bryta;
}}
IF(KS==1) //check sensor status
{
IF(analogRead(a0) digitalWrite(0,1);
IF(analogRead(a0) >(ldr+25))
digitalWrite(0,0);
}
IF(LS==1) //check sensor status
{
IF(analogRead(a0) digitalWrite(1,1);
IF(analogRead(a0) >(ldr+25))
digitalWrite(1,0);
}
IF(PS==1) //check sensor status
{
IF(analogRead(a2) digitalWrite(7,1);
IF(analogRead(a2) > (prs2))
digitalWrite(7,0);
}
}