แก้ข้อสอบ
Hardware
Hardware
Arduino UNO
Bluetooth Module HC-05
10 KΩ Resistor
20 KΩ ResistorConnecting wires
2N2222 NPN Transistor X 4
1N4007 Diode X 4
Power (Bread board)12 V
supplySmartphone or tablet (Bluetooth enabled)
Input
Bluetooth Module HC-05
Mcu
Arduino
UNO
Output
12 V Relay X 4
Software
#include <SoftwareSerial.h> ........................ //เรียกใช้ ไลบรารี่
const int rxPin = 4; .................................. //ประกาศให้ตัวแปรไว้ที่ขา
4
const int txPin = 2; ......................................//ประกาศให้ตัวแปรไว้ที่ขา
2
SoftwareSerial mySerial(rxPin, txPin); ................................//เรียกใช้ฟังชั่นพิเศษ
ที่ขา rx , tx
const int Loads[] = {9, 10, 11, 12}; ......................................//ประกาศตัวแปรที่เป็นโหลดไว้ที่ขา
9.10.11.12
int state = 0;...............................//ประกาศตัวแปลเพื่อรอรับค่า
int flag = 0; ................................................//ประกาศตัวแปลเพื่อรอรับค่า
void setup()..................................//เป็นฟังก์ชั่นแรกที่ทำงานแล้วจะเรียกเพื่อทำการ Setup ตามจุดประสงค์ของฟังก์ชั่น
for (int
i=0;i<4;i++) ........................//ให้ i เริ่มต้นมีค่า = 0 , ให้โปรแกรมยังคงทำงานเมื่อ i < 4 +ไปเรื่อยๆ
pinMode(Loads[i], OUTPUT); ............................ //กำหมดให้Loads[i]เป็นOUTPUT
}
mySerial.begin(9600);..............................//แสดงค่าออกทาง
Serial Monitor
for (int
i=0;i<4;i++)..........................// ให้ i เริ่มต้นมีค่า = 0 , ให้โปรแกรมยังคงทำงานเมื่อ i < 4 +ไปเรื่อยๆ
digitalWrite(Loads[i], LOW); ....................//แสดงค่าที่ขาdigital สั่งให้Loads[i],
LOW
}
}
void loop().............//คำสั่งต่างๆในการทำงาน
{
if(mySerial.available() > 0) ........................//หากตรวจพบว่ามีการกดคีย์บอร์ดให้โปรแกรมกระทำดังต่อไปนี้
{
state = mySerial.read();.........................//อ่านค่าปุ่มคีบอร์ด
flag=0; //ให้ flag=0;
switch(state)................................................... //เลือกเงือนไขที่จะทำ
{
igitalWrite(Loads[0], HIGH); ......................................//case '0' แสดงให้Loads[0]เป็นHIGH
flag=1;
break;.........................................................//หยุดการทำงาน
case
'1':digitalWrite(Loads[0], LOW); ............... //case '1' แสดงให้Loads[0]เป็นLOW
break;.........................................................//หยุดการทำงาน
case
'2':digitalWrite(Loads[1], HIGH); ..........................//case '2' แสดงให้Loads[1]เป็นHIGH
flag=1;
break;...........................................................//หยุดการทำงาน
case
'3':digitalWrite(Loads[1], LOW); .......................//case
'3' แสดงให้Loads[1]เป็นLOW
flag=1;
break; .............................................................//หยุดการทำงาน
case
'4':digitalWrite(Loads[2], HIGH);.....................//case '4' แสดงให้Loads[2]เป็นHIGHf
lag=1;
break; ...................................................//หยุดการทำงาน
case '5':digitalWrite(Loads[2], LOW); ..................... //case '5' แสดงให้Loads2
เป็นLOW
flag=1;
break;................................................//หยุดการทำงาน
case
'6':digitalWrite(Loads[3], HIGH); ...................... //case '6' แสดงให้Loads[3]เป็นHIGH
flag=1;
break;....................................//หยุดการทำงาน
case '7':digitalWrite(Loads[3], LOW); ........................//case '7' แสดงให้Loads[3]เป็นLOW
flag=1;
break; ..........................................................//หยุดการทำงาน
case '8':digitalWrite(Loads[0], LOW);............................//case '8' แสดงให้Loads[0]เป็นLOW
digitalWrite(Loads[1],
LOW);........................// แสดงให้Loads[1]เป็นLOW
digitalWrite(Loads[2], LOW); ..........................// แสดให้Loads[2]เป็นLOW
digitalWrite(Loads[3],
LOW) .......................// แสดงให้Loads[3]เป็นLOW
flag=1;
break; ...........................................................//หยุดการทำงาน
}
}
..............................................................................................................................................................
..............................................................................................................................................................
Flowchart
ความคิดเห็น
แสดงความคิดเห็น