งานแก้ไข แยก อธิบายส่วนต่างๆของproject
HARDWARE
1.Arduino uno r3
2.bluetooth hc 06
3.2N2222
4.1N4007
5.relay
6.load
INPUT
1.bluetooth hc 06
MCU
1.Arduino uno r3
OUTPUT
1.relay
2.load
SOFTWARE
#include <SoftwareSerial.h> เรียกใช้Library bluetooth
const int rxPin = 4; Rx PIN ใช้ขา4
const int txPin = 2; TX PIN ใช้ขา2
SoftwareSerial mySerial(rxPin, txPin); กำหนดค่าลงใน Library bluetooth
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++) ถ้า INT เท่ากับ0และน้อยกว่า4 ให้ i+ไปเรื่อยๆ
{
pinMode(Loads[i], OUTPUT); กำหนดให้ Load โดยเกบค่าตัวแปรอาเรย์ i เป็น OUTPUT
}
mySerial.begin(9600); แสดงค่า ออกทาง SERIAL MONITER 9600
for (int i=0;i<4;i++) ถ้า INT เท่ากับ0และน้อยกว่า4 ให้ i+ไปเรื่อยๆ
{
digitalWrite(Loads[i], LOW); ให้Load iเป็นสถานะ LOW
}
}
void loop()
{
if(mySerial.available() > 0) ถ้า mySerial.available() มากกว่า 0
{
state = mySerial.read(); state คือ การอ่านค่า
flag=0; flag คือ 0
}
{
case '0':digitalWrite(Loads[0], HIGH); เคส 0 แสดงค่า Load อาเรย์ 0 เป็น High
flag=1; flag เท่ากับ 1
break; หยุดการทำงาน
case '1':digitalWrite(Loads[0], LOW); เคส 1 แสดงค่า Load อาเรย์ 0 เป็น Low
flag=1; flag เท่ากับ 1
break; หยุดการทำงาน
case '2':digitalWrite(Loads[1], HIGH); เคส 2 แสดงค่า Load อาเรย์ 1 เป็น High
flag=1; flag เท่ากับ 1
break; หยุดการทำงาน
case '3':digitalWrite(Loads[1], LOW); เคส 3 แสดงค่า Load อาเรย์ 1 เป็น Low
flag=1; flag เท่ากับ 1
break; หยุดการทำงาน
case '4':digitalWrite(Loads[2], HIGH); เคส 4 แสดงค่า Load อาเรย์ 2 เป็น High
flag=1; flag เท่ากับ 1
break; หยุดการทำงาน
case '5':digitalWrite(Loads[2], LOW); เคส 5 แสดงค่า Load อาเรย์ 2 เป็น Low
flag=1; flag เท่ากับ 1
break; หยุดการทำงาน
case '6':digitalWrite(Loads[3], HIGH); เคส 6 แสดงค่า Load อาเรย์ 3 เป็น High
flag=1; flag เท่ากับ 1
break; หยุดการทำงาน
case '7':digitalWrite(Loads[3], LOW); เคส 7 แสดงค่า Load อาเรย์ 3 เป็น Low
flag=1; flag เท่ากับ 1
break; หยุดการทำงาน
case '8':digitalWrite(Loads[0], LOW); เคส 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; flag เท่ากับ 1
break; หยุดการทำงาน
}
}
ความคิดเห็น
แสดงความคิดเห็น