งานแก้ไข แยก อธิบายส่วนต่างๆของproject

Arduino Based Home Automation Circuit Diagram

HARDWARE

1.Arduino uno r3
2.bluetooth hc 06
3.2N2222
4.1N4007
5.relay
6.load

INPUT

1.bluetooth hc 06

MCU

1.Arduino uno r3

OUTPUT

1.relay
2.load

SOFTWARE

#include <SoftwareSerial.h>                         เรียกใช้Library bluetooth

const int rxPin = 4;                                         Rx PIN ใช้ขา4
const int txPin = 2;                                         TX PIN ใช้ขา2

SoftwareSerial mySerial(rxPin, txPin);         กำหนดค่าลงใน Library bluetooth

const int Loads[] = {9, 10, 11, 12};              กำหนด ตัวแปร อาเรย์

int state = 0;                                                  ตัวแปร state = 0
int flag = 0;                                                   ตัวแปร flag = 0

void setup() 
{
   for (int i=0;i<4;i++)                                  ถ้า INT เท่ากับ0และน้อยกว่า4 ให้ i+ไปเรื่อยๆ
    {
      pinMode(Loads[i], OUTPUT);              กำหนดให้ Load โดยเกบค่าตัวแปรอาเรย์ i เป็น OUTPUT  
    }
   mySerial.begin(9600);                                 แสดงค่า ออกทาง SERIAL MONITER 9600
   for (int i=0;i<4;i++)                                     ถ้า INT เท่ากับ0และน้อยกว่า4 ให้ i+ไปเรื่อยๆ
    {
      digitalWrite(Loads[i], LOW);                   ให้Load iเป็นสถานะ LOW
    }
   
}

void loop() 
{
    
    if(mySerial.available() > 0)                          ถ้า mySerial.available() มากกว่า 0
    {
      state = mySerial.read();                              state คือ การอ่านค่า
      flag=0;                                                        flag คือ 0
    }
    
    switch(state)                                                 จะทำการตรวจสอบตัวแปรว่ามีค่าเท่ากับ case ใด ถ้าตรง                                                                           กับ case ใดก็จะทำงาน
    {
      case '0':digitalWrite(Loads[0], HIGH);               เคส 0 แสดงค่า Load อาเรย์ 0  เป็น High
               flag=1;                                                        flag เท่ากับ 1
               break;                                                          หยุดการทำงาน
      case '1':digitalWrite(Loads[0], LOW);                เคส 1 แสดงค่า Load อาเรย์ 0  เป็น Low
               flag=1;                                                        flag เท่ากับ 1
               break;                                                         หยุดการทำงาน
      case '2':digitalWrite(Loads[1], HIGH);               เคส 2 แสดงค่า Load อาเรย์ 1  เป็น High
               flag=1;                                                         flag เท่ากับ 1
               break;                                                          หยุดการทำงาน
      case '3':digitalWrite(Loads[1], LOW);               เคส 3 แสดงค่า Load อาเรย์ 1  เป็น Low
               flag=1;                                                         flag เท่ากับ 1
               break;                                                          หยุดการทำงาน
      case '4':digitalWrite(Loads[2], HIGH);                เคส 4 แสดงค่า Load อาเรย์ 2  เป็น High
               flag=1;                                                         flag เท่ากับ 1
               break;                                                           หยุดการทำงาน
      case '5':digitalWrite(Loads[2], LOW);                 เคส 5 แสดงค่า Load อาเรย์ 2  เป็น Low
               flag=1;                                                         flag เท่ากับ 1
               break;                                                           หยุดการทำงาน
      case '6':digitalWrite(Loads[3], HIGH);                เคส 6 แสดงค่า Load อาเรย์ 3  เป็น High
               flag=1;                                                         flag เท่ากับ 1
               break;                                                           หยุดการทำงาน
      case '7':digitalWrite(Loads[3], LOW);                  เคส 7 แสดงค่า Load อาเรย์ 3  เป็น Low
               flag=1;                                                          flag เท่ากับ 1
               break;                                                            หยุดการทำงาน
      case '8':digitalWrite(Loads[0], LOW);                  เคส 8 แสดงค่า Load อาเรย์ 0  เป็น Low
               digitalWrite(Loads[1], LOW);                      แสดงค่า Load อาเรย์ 1 เป็น สถานะ Low
               digitalWrite(Loads[2], LOW);                      แสดงค่า Load อาเรย์ 2 เป็น สถานะ Low
               digitalWrite(Loads[3], LOW);                      แสดงค่า Load อาเรย์ 3 เป็น สถานะ Low

               flag=1;                                                           flag เท่ากับ 1
               break;                                                             หยุดการทำงาน
     }
}

FLOWCHART


ความคิดเห็น

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

งาน FLOWCHART

งาน arduino 5 photo transistor

งาน arduino 7 Voltage Sensor