อธิบายโปรแกรมHow To Make Arduino Based Home Automation Project via Bluetooth




How To Make Arduino Based Home Automation Project via Bluetooth?


Arduino Based Home Automation Circuit Diagram
  • Hardware
  •  input 
  •       HC – 05 Bluetooth Module
  •  output
  •       2N2222 NPN Transistor X 4
  •       1N4007 Diode X 4
  •       12 V Relay X 4
  • software


  • #include <SoftwareSerial.h> รวมไลบรารีSoftwareSerial.h เพื่อให้สามารถใช้ฟั่งชั่นต่างๆได้

    const int rxPin = 4;
    const int txPin = 2;
    SoftwareSerial mySerial(rxPin, txPin);ตั้งค่าmySerialพอร์ตSoftwareSerial
    const int Loads[] = {9, 10, 11, 12}; กำหนดค่าตัวแปร
    int state = 0;กำหนดค่าตัวแปร
    int flag = 0;กำหนดค่าตัวแปร
    void setup()
    {
    for (int i=0;i<4;i++) คำสั่งกำหนดเงื่อนไขให้นับค่าiว่า=4รึไม่ถ้าไม่ก้ทำงานไปเรื่อยๆจนกว่าiจะ=4จึงจะหยุด
    {
    pinMode(Loads[i], OUTPUT);กำหนดouiput
    }
    mySerial.begin(9600);
    for (int i=0;i<4;i++) คำสั่งกำหนดเงื่อนไขให้นับค่าiว่า=4รึไม่ถ้าไม่ก้ทำงานไปเรื่อยๆจนกว่าiจะ=4จึงจะหยุด
    {
    digitalWrite(Loads[i], LOW);สั่งให้Loads[i]เป็น0
    }
    }
    void loop()
    {
    if(mySerial.available() > 0)เงื่องไขถ้าmySerial.availableมากกว่า0ให้ทำในปีกกา
    {
    state = mySerial.read();
    flag=0;
    }
    switch(state)คำสั่งใช้ในการจัดการเงื่อนไขหลายเงื่อนไข
    {
    case '0':digitalWrite(Loads[0], HIGH);สั่งให้Loads[0]เป็น1
    flag=1;
    break;คำสั่งให้ออกจากloopทันที
    case '1':digitalWrite(Loads[0], LOW);สั่งให้คำสั่งLoads[0]เป็น0
    flag=1;
    break;คำสั่งให้ออกจากloopทันที
    case '2':digitalWrite(Loads[1], HIGH);สั่งให้คำสั่งLoads[1]เป็น1
    flag=1;
    break;คำสั่งให้ออกจากloopทันที
    case '3':digitalWrite(Loads[1], LOW);สั่งให้คำสั่งLoads[1]เป็น0
    flag=1;
    break;คำสั่งให้ออกจากloopทันที
    case '4':digitalWrite(Loads[2], HIGH);สั่งให้คำสั่งLoads[2]เป็น1
    flag=1;
    break;คำสั่งให้ออกจากloopทันที
    case '5':digitalWrite(Loads[2], LOW);สั่งให้คำสั่งLoads[2]เป็น0
    flag=1;
    break;คำสั่งให้ออกจากloopทันที
    case '6':digitalWrite(Loads[3], HIGH);สั่งให้คำสั่งLoads[3]เป็น1
    flag=1;
    break;คำสั่งให้ออกจากloopทันที
    case '7':digitalWrite(Loads[3], LOW);สั่งให้คำสั่งLoads[3]เป็น0
    flag=1;
    break;คำสั่งให้ออกจากloopทันที
    case '8':digitalWrite(Loads[0], LOW);สั่งให้คำสั่งLoads[0]เป็น0
    digitalWrite(Loads[1], LOW);สั่งให้คำสั่งLoads[1]เป็น0
    digitalWrite(Loads[2], LOW);สั่งให้คำสั่งLoads[2]เป็น0
    digitalWrite(Loads[3], LOW);สั่งให้คำสั่งLoads[3]เป็น0
    flag=1;
    break;คำสั่งให้ออกจากloopทันที


ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

https://www.arduitronics.com/article/22/arduino-and-motor-control-part-1

https://medium.com/sathittham/arduino-lcd-16x2-hello-world-dca09fd904f8