นายศุภวิชญ์ ทิพย์ศรีบุญ ปรับแก้คะแนนครับ
แก้คะแนนครับ
How To Make Arduino Based Home Automation Project via Bluetooth?
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
ความคิดเห็น
แสดงความคิดเห็น