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

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


Hardware

1.Arduino uno r32.bluetooth hc 063.1N40074.2N22225.relay6.load

INPUT

1.bluetooth hc 06

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

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





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

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

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

Hardware 1.Arduino uno r3 2.bluetooth hc 06 3.1N4007 4.2N2222 5.relay 6.load INPUT 1.bluetooth hc 06 OUTPUT 1.relay 2.lo...