นายศุภวิชญ์ ทิพย์ศรีบุญ ปรับแก้คะแนนครับ


แก้คะแนนครับ

How To Make Arduino Based Home Automation Project via Bluetooth?




Arduino Based Home Automation Circuit Diagram

HARDWARE

1. Arduino uno r3
2. Hc-05 bluetooth Module
3. Reldy
4. Load
5. Res
6. 2N2222
7. 1N4007

INPUT

1.Telephon
2.Hc-05 bluetooth Module

MCU

1.Arduino uno r3

OUTPUT

1.Relay
2.Load


CODE
#include <SoftwareSerial.h>
กำหนดเรียกใช้ใน ไลบรารี่ Bluetooth  

const int rxPin = 4;
กำหนดไปที่ rxPinขา4
const int txPin = 2;              
กำหนดไปที่ txPinขา2      
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 ทำงานแล้วจะเรียกเพื่อทำการ setup ค่าตามจุดประสงค์ของฟังก์ชั่น  
{
   for (int i=0;i<4;i++)
int=0<4และi+เรื่อยๆ
    {
      pinMode(Loads[i], OUTPUT);
สั่งกำหนดใช้ Load เก็บค่าตัวแปร อาเรย์ i เป็น OUTPUT ครับ
    }
   mySerial.begin(9600);
แสดงค่าออกทาง Serial Monitor
   for (int i=0;i<4;i++)
int=0<4และi+เรื่อยๆ
    {
      digitalWrite(Loads[i], LOW);
Load[i]เป็นLOW
    }
  
}

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



Flowchart





ความคิดเห็น

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

งานที่6 โปรเจคเล็ก ๆ การประยุกต์ใช้เซนเซอร์วัดแสง (LDR) กับ หลอด LED ในการวัดกระแสในวงจรว่าไหล่รึเปล่า

งานที่5 Arduino เปิด ปิดไฟด้วยเสียง

Mini Project