วันอาทิตย์ที่ 30 กันยายน พ.ศ. 2561

แก้งานการอธิบายโปรแกรม ที่อาจารสั่ง เกี่ยวกับ 1.แยกส่วนฮาร์ตแวร์/2.อธิบายซอฟแวร์ทั้งหมด/3.เขียนโฟชาจงาน ( ห้ามก้อปปี้กันเดะติด 0 )

                                                 

      การอธิบายส่วนต่างๆของโปรแกรม 

How To Make Arduino Based Home Automation Project via Bluetooth?


Circuit Diagram

Arduino Based Home Automation Circuit Diagram

Components

The list of components mentioned here are specifically for controlling 4 different loads.
  • Arduino UNO                                                    =บอร์ดอาดูโน่
  • HC – 05 Bluetooth Module                                 =บลูทูธ-โมดูล
  • 10 KΩ Resistor                                                 =รีซิสเตอร์ ค่า10k โอม
  • 20 KΩ Resistor                                                 =รีซิสเตอร์ ค่า20k โอม
  • 1 KΩ Resistor X 4                                             =รีซิสเตอร์ ค่า1k โอม 4ตัว
  • 2N2222 NPN Transistor X 4                               =ทรานซิสเตอร์ 2n2222 4 ตัว
  • 1N4007 Diode X 4                                            =ไดโอด 1n4007 4ตัว 
  • 12 V Relay X 4                                                 = รีเลย์12v 4ตัว
  • Prototyping board (Bread board)                        = บอร์ดต้นแบบ
  • Connecting wires                                              = สายเชื่อมต่อ
  • 12 V Power supply                                            = พาเวอร์ซัพพลาย 12v 
  • Smartphone or tablet (Bluetooth enabled)           =สมาร์ทโฟน หรือ แทปเล็ต ที่มีการเปิด                                                                           ใช้งานบลูทูธได้                                                                                                                                                         1.Hardware                                                                                                            1.1Arduino                                                                                                           1.2บลูทูธ-โมดูล                                                                                                     1.3สมาร์ทโฟน หรือ แทปเล็ต ที่มีการเปิด                                                                         ใช้งานบลูทูธได้                                                                                                                                                                                                                              Input                                                                                                    
  • บลูทูธ-โมดูล                                                                                                                                                                                                                                          output       
  • Load หรือ หลอดไฟ                                                                                                                                                                                                                            2.Software อธิบายส่วนต่างๆ                                                                                                                                                                                                     #include <SoftwareSerial.h>                                   = ซอฟแวร์
       
    const int rxPin = 4;                                                 = กำหนดค่าที่ขา4
    const int txPin = 2;                                                 = กำหนดค่าที่ขา2
    
    SoftwareSerial mySerial(rxPin, txPin);                        = ฟังก์ชั่นพิเศษ
    
    const int Loads[] = {9, 10, 11, 12};                           = กำหนดค่าที่ขา                                                                                                        9/10/11/12
    
    int state = 0;                                                           = ข้อมูลตัวแปร
    int flag = 0;                                                             = ข้อมูลตัวแปร 
    void setup()                                                             = เป็นฟังก์แรกที่เมื่อ                                                                                                      Arduino ทำงานแล้วจะ                                                                                                เรียกเพื่อทำการ Setup                                                                                                ค่าตามจุดประสงค์ของ                                                                                                  ฟังก์ชั่น
    {
       for (int i=0;i<4;i++)                                               = คำสั่งกำหนดตาม                                                                                                     เงื่อนไขที่เรากำหนกไว้
        {
          pinMode(Loads[i], OUTPUT);                                 = สั่งใหดLodeเป็นเอาพุต
        }   
       mySerial.begin(9600);                                             = ความเร็วในการส่งข้อมูล                                                                                             ให้ทำการๆปเรื่อยๆ
       for (int i=0;i<4;i++)
        {
          digitalWrite(Loads[i], LOW);                                  =  สั่งให้ Loads โลว์
        }
       
    }
    
    void loop()                                                                  = คำว่าลูปคือการทำงาน                                                                                              ซ้ำนั่นเอง
    {
        
        if(mySerial.available() > 0)                                        = (mySerial.available()                                                                                           > 0) ทำให้มีค่ามากกว่า 0     {
          state = mySerial.read();                                          = การอ่านข้อมูล
          flag=0;                                                                  = ให้ฟังก์ชั่น flag=0; =0  
    
        }
        
        switch(state)                                                            =  คือการกำหนด                                                                                                       เงื่อนไข
        {
          case '0':digitalWrite(Loads[0], HIGH);                       =  สั่งLoads 0 ให้                                                                                                       เป็นHIGH                flag=1;                                                                       = ฟังก์ชั่นตัวแปรงค่า      break;                                                                         = คำสั่งให้หยุด
          case '1':digitalWrite(Loads[0], LOW);                        = สั่งLoads 0 ให้                                                                                                        เป็นLow                flag=1;                                                                       = ฟังก์ชั่นตัวแปรงค่า                break;                                                                         = คำสั่งให้หยุด                case '2':digitalWrite(Loads[1], HIGH);                             = สั่งLoads 1 ให้                                                                                                        เป็นHIGH                flag=1;                                                                        =  ฟังก์ชั่นตัวแปรงค่า                break;                                                                         = คำสั่งให้หยุด                case '3':digitalWrite(Loads[1], LOW);                             = สั่งLoads 1 ให้                                                                                                       เป็นLow                   flag=1;                                                                       =  ฟังก์ชั่นตัวแปรงค่า                break;                                                                         = คำสั่งให้หยุด               case '4':digitalWrite(Loads[2], HIGH);                             = สั่งLoads 2 ให้                                                                                                         เป็นHIGH                flag=1;                                                                      = ฟังก์ชั่นตัวแปรงค่า                break;                                                                       = คำสั่งให้หยุด                      case '5':digitalWrite(Loads[2], LOW);                            = สั่งLoads 2 ให้                                                                                                       เป็นLow                    flag=1;                                                                     =  ฟังก์ชั่นตัวแปรงค่า                break;                                                                       =  คำสั่งให้หยุด                case '6':digitalWrite(Loads[3], HIGH);                          = สั่งLoads 3 ให้                                                                                                       เป็นHIGH                    flag=1;                                                                    = ฟังก์ชั่นตัวแปรงค่า                break;                                                                      = คำสั่งให้หยุด                     case '7':digitalWrite(Loads[3], LOW);                          = สั่งLoads 3 ให้                                                                                                        เป็นLow                    flag=1;                                                                   = ฟังก์ชั่นตัวแปรงค่า                break;                                                                     = คำสั่งให้หยุด                digitalWrite(Loads[1], LOW);                                     =  สั่งLoads 1 ให้                                                                                                       เป็นLow                digitalWrite(Loads[2], LOW);                                     = สั่งLoads 2 ให้                                                                                                       เป็นLow                digitalWrite(Loads[3], LOW);                                     = สั่งLoads 3 ให้                                                                                                       เป็นLow                     flag=1;                                                                   = ฟังก์ชั่นตัวแปรงค่า                break;                                                                     = คำสั่งให้หยุด                             } 
      }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            3.การเขียนโฟชาจผังการเริ่มต้นทำงานจจนจบการทำงาน                                                                                                                                                                                                                                                                                                                                                                                                                                      
  •                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

ไม่มีความคิดเห็น:

แสดงความคิดเห็น