วันจันทร์ที่ 1 ตุลาคม พ.ศ. 2561

How To Make Arduino Based Home Automation Project via Bluetooth

How To Make Arduino Based Home Automation Project via Bluetooth?

Arduino Based Home Automation Circuit Diagram


Hardware ได้แก่

             
- Arduino UNO
- HC – 05 Bluetooth Module
- Smartphone or tablet (Bluetooth enabled)

Input

- HC – 05 Bluetooth Module
- Smartphone or tablet (Bluetooth enabled)

Output

- Load


Software

#include <SoftwareSerial.h> หัวเรื่อง

const int rxPin = 4; ตัวแปล txPin เป็น 4
const int txPin = 2; ตัวแปล txPin เป็น 2
SoftwareSerial mySerial(rxPin, txPin); ฟังก์ชั่นของ SoftwareSeria

const int Loads[] = {9, 10, 11, 12};ตัวแปล Load มีค่า เป็น(9,10,11,12)

int state = 0; ตัวแปล start มีค่าเป็น 0
int flag = 0; ตัวแปล flag มีค่าเป็น 0

void setup() เป็นฟังค์ชันค่าเริ่มต้น
{
   for (int i=0;i<4;i++) กำหนดตัวแปล i=0,iน้อยกว่า4 เพิ่มทีละ1
    {
      pinMode(Loads[i], OUTPUT); กำหนดขาLoadsเป็น OUTPUT
    }
   mySerial.begin(9600); การใช้งานการสื่อสารรับส่งข้อมูลผ่านพอร์ตRS232 ความเร็วรับส่งข้อมูล(9600)ต่อวินาที
   for (int i=0;i<4;i++) กำหนดตัวแปล i=0,iน้อยกว่า4 เพิ่มทีละ1
    {
      digitalWrite(Loads[i], LOW); ส่งค่าลอจิกไปยังขาdigitalให้Loadเป็นLOW
    }
   
}

void loop() ฟังค์ชัน การทำซ้ำวนไปเรื่อยๆ 
{
    
    if(mySerial.available() > 0) ถ้าค่าของ mySerial.available()มีค่ามากกว่า0ให้ทำด้านล่าง
    {
      state = mySerial.read(); อ่านค่าของตัวแปรของstate
      flag=0; flagเป็น0
    }
    
    switch(state) การจัดการเงื่อนไข โดยเลือกเงื่อนไขใดก็ได้
    {
      case '0':digitalWrite(Loads[0], HIGH); เงื่อนไขที่0ส่งค่าไปยังขาdigital ให้Loads0 เป็นHIGH
               flag=1; flagเป็น1
               break; ให้โปรแกรมไม่ต้องทำต่อ
      case '1':digitalWrite(Loads[0], LOW); เงื่อนไขที่1ส่งค่าไปยังขาdigital ให้Loads0 เป็นLOW
               flag=1; flagเป็น1
               break; ให้โปรแกรมไม่ต้องทำต่อ
case '2':digitalWrite(Loads[1], HIGH); เงื่อนไขที่2ส่งค่าไปยังขาdigital ให้Loads1 เป็นHIGH
               flag=1; flagเป็น1
               break; ให้โปรแกรมไม่ต้องทำต่อ
      case '3':digitalWrite(Loads[1], LOW); เงื่อนไขที่3ส่งค่าไปยังขาdigital ให้Loads1 เป็นLOW
               flag=1; flagเป็น1
               break; ให้โปรแกรมไม่ต้องทำต่อ
      case '4':digitalWrite(Loads[2], HIGH); เงื่อนไขที่4ส่งค่าไปยังขาdigital ให้Loads2 เป็นHIGH
               flag=1; flagเป็น1
               break; ให้โปรแกรมไม่ต้องทำต่อ
      case '5':digitalWrite(Loads[2], LOW); เงื่อนไขที่5ส่งค่าไปยังขาdigital ให้Loads2 เป็นLOW
               flag=1; flagเป็น1
               break; ให้โปรแกรมไม่ต้องทำต่อ
      case '6':digitalWrite(Loads[3], HIGH); เงื่อนไขที่6ส่งค่าไปยังขาdigital ให้Loads3 เป็นHIGH
               flag=1; flagเป็น1
               break; ให้โปรแกรมไม่ต้องทำต่อ
      case '7':digitalWrite(Loads[3], LOW); เงื่อนไขที่7ส่งค่าไปยังขาdigital ให้Loads3 เป็นLOW
               flag=1; flagเป็น1
               break; ให้โปรแกรมไม่ต้องทำต่อ
      case '8':digitalWrite(Loads[0], LOW); เงื่อนไขที่8ส่งค่าไปยังขาdigital ให้Loads3 เป็นLOW
               digitalWrite(Loads[1], LOW); เงื่อนไขที่8ส่งค่าไปยังขาdigital ให้Loads1 เป็นLOW
               digitalWrite(Loads[2], LOW); งื่อนไขที่8ส่งค่าไปยังขาdigital ให้Loads2 เป็นLOW
               digitalWrite(Loads[3], LOW); เงื่อนไขที่8ส่งค่าไปยังขาdigital ให้Loads3 เป็นLOW
               flag=1; flagเป็น1
               break; ให้โปรแกรมไม่ต้องทำต่อ
     }

}

FlowChart

Internet of Things (IoT)

Internet of Things หรือ IoT  Internet of Things (IoT)  คือ การที่อุปกรณ์อิเล็กทรอนิกส์ต่างๆ สามารถเชื่อมโยงหรือส่งข้อมูลถึงกันได้ด้วยอิ...