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

งานบล็อคแก้ข้อสอบ

Arduino Based Automation ผ่าน Bluetooth

1 แยกส่วน Hardware
input
โมดูล Bluetooth hc-05
ตัวต้านทาน 10 
ตัวต้านทาน 20 
ตัวต้านทาน 1 KΩ x 4
สมาร์ทโฟนเปิดใช้งาน Bluetooth
Power supply 12 v
Prototyping board (Bread board)

output
ทรานซิสเตอร์ 2N2222  NPN  Transistor x 4
ไดโอด  1N4007 x 4
Relay 12v x 4

2 Software อธิบายฟังก์ชั่นพิเศษ
code
#include <SoftwareSerial.h> 1ประกาศตัวที่เราจะใช้ และประกาศขาในขั้นต่อไป
const int rxPin = 4;
const int txPin = 2;
SoftwareSerial mySerial(rxPin, txPin);
const int Loads[] = {9, 10, 11, 12};
int state = 0;
int flag = 0;
2 ทำการประกาศ ฟังชั่น setup แล้วเขียนฟังชั่น for มาใช้งาน
void setup()
{
for (int i=0;i<4;i++)
{
pinMode(Loads[i], OUTPUT);
}
mySerial.begin(9600);
for (int i=0;i<4;i++)
{
digitalWrite(Loads[i], LOW);
}
}
3 ประกาศใช้ฟังชั่น loop แล้วประกาศ ใช้ฟังชั่น if มาใช้งาน
void loop()
{
if(mySerial.available() > 0)
{
state = mySerial.read();
flag=0;
}
4 ประกาศใช้ switch เพื่อใช้งานด้วย Bluetooth เพื่อเชื่อมกับสาร์ทโฟน และเขียนขาที่เราเขียนตามโค้ด
switch(state)
{
case '0':digitalWrite(Loads[0], HIGH);
flag=1;
break;
case '1':digitalWrite(Loads[0], LOW);
flag=1;
break;
case '2':digitalWrite(Loads[1], HIGH);
flag=1;
break;
case '3':digitalWrite(Loads[1], LOW);
flag=1;
break;
case '4':digitalWrite(Loads[2], HIGH);
flag=1;
break;
case '5':digitalWrite(Loads[2], LOW);
flag=1;
break;
case '6':digitalWrite(Loads[3], HIGH);
flag=1;
break;
case '7':digitalWrite(Loads[3], LOW);
flag=1;
break;
case '8':digitalWrite(Loads[0], LOW);
digitalWrite(Loads[1], LOW);
digitalWrite(Loads[2], LOW);
digitalWrite(Loads[3], LOW);
flag=1;
break;
}
} Flowchart



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

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