สอบแก้

Arduino Home Bluetooth



Hardware
MCU         = Arduino UNO R3
OUTPUT  = relay 4 ch, หลอดไฟ 4 ดวง
INPUT      =  HC - 05 Bluetooh Module


Software
code
#include <SoftwareSerial.h>       //การเรียกใช้ไรบรารี้

const int rxPin = 4;                    //กำหนด rxPin = 4
const int txPin = 2;                    //กำหนด txPin = 2

SoftwareSerial mySerial(rxPin, txPin);     //กำหนดขาของ RX และ TX

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++)
    {
      pinMode(Loads[i], OUTPUT);         //สร้าง Output แบบวนลูบจงกว่าจะครบ 4 คร้งโดยใช้ For
    }
   mySerial.begin(9600);                     //ตั้งค่าเริ่มต้นของ mySerial
   for (int i=0;i<4;i++)
    {
      digitalWrite(Loads[i], LOW);     // กำหนดให้ D9 D10 D11 D12 = LOW โดยใช้วิธีวงลูป For
    }
   
}

void loop() 
{
    
    if(mySerial.available() > 0)
    {
      state = mySerial.read();        //ถ้าบลูทูธมีการส่งค่า > 0 ให้ state = mySerial.read() เก็บค่า
      flag=0;                                 //กำหนดค่า flag = 0
    }
    
    switch(state)                                              //ตรวจสอบค่า state 
    {
      case '0':digitalWrite(Loads[0], HIGH);       //ถ้า = 0 สั่ง D9 = HIGH
               flag=1;
               break;                                           //break ถ้ายังเป็นจริงให้หลุดออกลูป 
      case '1':digitalWrite(Loads[0], LOW);       //ถ้า = 1 สั่ง D9 = LOW
               flag=1;
               break;
      case '2':digitalWrite(Loads[1], HIGH);       //ถ้า = 2 สั่ง D10 = HIGH
               flag=1;
               break;
      case '3':digitalWrite(Loads[1], LOW);        //ถ้า = 3 สั่ง D10 = LOW
               flag=1;
               break;
      case '4':digitalWrite(Loads[2], HIGH);       //ถ้า = 4 สั่ง D11 = HIGH
               flag=1;
               break;
      case '5':digitalWrite(Loads[2], LOW);        //ถ้า = 5 สั่ง D11 = LOW
               flag=1;
               break;
      case '6':digitalWrite(Loads[3], HIGH);        //ถ้า = 6 สั่ง D12 = HIGH
               flag=1;
               break;
      case '7':digitalWrite(Loads[3], LOW);         //ถ้า = 7 สั่ง D12 = LOW
               flag=1;
               break;
      case '8':digitalWrite(Loads[0], LOW);         //ถ้า = 8 สั่ง D9   = LOW
               digitalWrite(Loads[1], LOW);                              D10 = LOW
               digitalWrite(Loads[2], LOW);                              D11 = LOW
               digitalWrite(Loads[3], LOW);                              D12 = LOW
               flag=1;
               break;
     }
}

การทำงาน
  เมื่อกด LOAD 1 NO ทำให้หลอดไฟด้วยที่ 1 ดิ เมื่อกด LOAD 1 OFF ทำให้หลอดไฟดวงที่ 1 ปิดเมื่อกด All LOADS OFF ทำใหนหลอดไฟดวงที่ 1-4 ดับลง


App  Bluetooth Contreller

ทำการเชื่อมต่อ HC - 05 รหัส 1234 เมื่อเชื่อมต่อเส็จในตั้งค่าดังรูป
BT Screenshot


พร้องใช้งาน
BT Screenshot



Flowchart 



ความคิดเห็น

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

Mini Project

Microcontroller 3