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

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


HARDWARE
1.Arduino uno r3
2.Bluetooth hc 06
3.2N2222
4.1N4007
5.Relay
6.Load
INPUT
1.Telephon
2.Bluetooth hc-06
MCU
1.Arduino UNO R3
OUTPUT
1.Relay
2.Load
SOFTWARE
#include <SoftwareSerial.h> นำข้อมูลจาก Linbrary SoftwareSerial มาใช้
const int rxPin = 4; ให้ขา 4 มีชื่อ rx
const int txPin = 2; ให้ขา 2 มีชื่อ tx
SoftwareSerial mySerial(rxPin, txPin); //ไว้ใช้กำหนดค่าลงใน ไลบรารี่ Bluetooth
const int Loads[] = {9, 10, 11, 12}; //ตัวแปรอาเรย์
int state = 0; //นี่คือตัวแปล state = 0
int flag = 0; ////นี่คือตัวแปล flag = 0
void setup() //เป็นฟังก์ชั่นแรกที่เมื่อ Arduino
{
for (int i=0;i<4;i++) //int=0<4และi+เรื่อยๆ
{
pinMode(Loads[i], OUTPUT); //สั่งกำหนดใช้ Load
}
Serial.begin(9600); ตั้งค่าSerial Monitor9600
for (int i=0;i<4;i++) ถ้าi=0และน้อยกว่า4ให้+เพิ่มไปเลยๆ
    {
   digitalWrite(Loads[i], LOW); สั่งให้ Loads เป็น LOW ถ้าเป็นหลอดไฟสั่งให้หลอดดับ
    }
}
void loop()
{

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


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

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