Hemautomation med arduino, knappar, LCD, EEPROM och smarttelefon (5 / 7 steg)
Steg 5: Lägga till knappen i projektet
Nu lägger vi till knappar
Jag använder fyra knappen kan du använda det enligt krav
#include < SoftwareSerial.h > / /
SoftwareSerial mySerial (1, 0); 1-RX, 0-TX-
#include < LiquidCrystal.h >
int ch1 = A0;
int ch2 = A1;
int ch3 = A2;
int ch4 = A3;
LiquidCrystal lcd (12, 11, 5, 4, 3, 2); / / (rs, aktivera, d4, d5, d6 och d7)
int switchPin [] = {6,7,8,9}.
void setup()
{
mySerial.begin(9600);
pinMode (ch1, produktionen);
pinMode (ch2, produktionen);
pinMode (ch3, produktionen);
pinMode (ch4, produktionen);
LCD.BEGIN (16, 2);
pinMode (switchPin [0], ingång);
digitalWrite (switchPin [0], hög);
pinMode (switchPin [1], ingång);
digitalWrite (switchPin [1], hög);
pinMode (switchPin [2], ingång);
digitalWrite (switchPin [2], hög);
pinMode (switchPin [3], ingång);
digitalWrite (switchPin [3], hög);
pinMode (switchPin [4], ingång);
digitalWrite (switchPin [4], hög);
}
void loop()
{
char caracter = mySerial.read();
//--------------------------------ch1---------------------
om (caracter == "A")
{
digitalWrite(ch1,HIGH);
lcd.setCursor (0, 0);
LCD.Print ("r1 på");
}
om (caracter == "a")
{
digitalWrite(ch1,LOW);
lcd.setCursor (0, 0);
LCD.Print ("r1 OFF");
}
//---------------------------------ch1----------------------
//---------------------------------ch2---------------------
om (caracter == "B")
{
digitalWrite(ch2,HIGH);
lcd.setCursor (8, 0);
LCD.Print ("r2 på");
}
om (caracter == "b")
{
digitalWrite(ch2,LOW);
lcd.setCursor (8, 0);
LCD.Print ("r2 OFF");
}
//---------------------------------ch2----------------------
//---------------------------------ch3---------------------
om (caracter == "C")
{
digitalWrite(ch3,HIGH);
lcd.setCursor (0, 1);
LCD.Print ("r3 på");
}
om (caracter == "c")
{
digitalWrite(ch3,LOW);
lcd.setCursor (0, 1);
LCD.Print ("r3 OFF");
}
//---------------------------------ch3----------------------
//---------------------------------ch4---------------------
om (caracter == hade ")
{
digitalWrite(ch4,HIGH);
lcd.setCursor (8, 1);
LCD.Print ("r4 på");
}
om (caracter == hade ")
{
digitalWrite(ch4,LOW);
lcd.setCursor (8, 1);
LCD.Print ("r4 OFF");
}
//---------------------------------ch4----------------------
om (digitalRead(switchPin[0]) == låg)
{/ / switch trycks - pullup håller pin hög normalt
digitalWrite (ch1, hög);
lcd.setCursor (0, 0);
LCD.Print ("r1 på");
}
om (digitalRead(switchPin[0]) == låg)
{/ / switch trycks - pullup håller pin hög normalt
digitalWrite (ch1, låg);
lcd.setCursor (0, 0);
LCD.Print ("r1 OFF");
}
om (digitalRead(switchPin[1]) == låg)
{/ / switch trycks - pullup håller pin hög normalt
digitalWrite (ch2, hög);
lcd.setCursor (8, 0);
LCD.Print ("r2 på");
}
om (digitalRead(switchPin[1]) == låg)
{/ / switch trycks - pullup håller pin hög normalt
digitalWrite (ch2, låg);
lcd.setCursor (8, 0);
LCD.Print ("r2 OFF");
}
om (digitalRead(switchPin[2]) == låg)
{/ / switch trycks - pullup håller pin hög normalt
digitalWrite (ch3, hög);
lcd.setCursor (0, 1);
LCD.Print ("r3 på");
}
om (digitalRead(switchPin[2]) == låg)
{/ / switch trycks - pullup håller pin hög normalt
digitalWrite (ch3, låg);
lcd.setCursor (0, 1);
LCD.Print ("r3 OFF");
}
om (digitalRead(switchPin[3]) == låg)
{/ / switch trycks - pullup håller pin hög normalt
digitalWrite (ch4, hög);
lcd.setCursor (8, 1);
LCD.Print ("r4 på"); / / växla kör variabel
}
om (digitalRead(switchPin[3]) == låg)
{/ / switch trycks - pullup håller pin hög normalt
digitalWrite (ch4, låg);
lcd.setCursor (8, 1);
LCD.Print ("r4 OFF");
}
Delay(0);
}