งานแก้ไขการประเมินการสอบ
ฮาร์ดแวร์ (hardware)
Components
·
Arduino UNO
·
HC – 05 Bluetooth
Module
·
10 KΩ Resistor
·
20 KΩ Resistor
·
1 KΩ Resistor X 4
·
2N2222 NPN Transistor
X 4
·
1N4007 Diode X 4
·
12 V Relay X 4
·
Prototyping board
(Bread board)
·
Connecting wires
·
12 V Power supply
·
Smartphone or tablet
(Bluetooth enabled)
ซอฟต์แวร์
(software)
code
#include <SoftwareSerial.h>
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;
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);
}
}
void loop()
{
if(mySerial.available() > 0)
{
state
= mySerial.read();
flag=0;
}
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;
}
}
อธิบายฟังก์ชั่นของ ซอฟต์แวร์ (software)
include
<SoftwareSerial.h>
จากตัวอย่างด้านบน คอมไพล์เลอร์จะวิ้งไปหาไฟล์ SoftwareSerial.h
ภายในโฟลเดอร์โปรเจคทันที หากไม่พบก็จะแจ้งเป็นข้อผิดพลาดออกมา
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;
ส่วนนี้จะเป็นส่วนที่ใช้ในการกำหนดชนิดตัวแปรแบบนอกฟังก์ชั่น
หรือประกาศฟังก์ชั่น เพื่อให้ฟังก์ชั่นที่ประกาศสามารถกำหนด
หรือเรียกใช้ได้จากทุกส่วนของโปรแกรม
void setup()
ฟังก์ชั่น setup() จะมีคำสั่ง
pinMode() เพื่อกำหนดให้ขาใดๆก็ตามเป็นดิจิตอลอินพุต
หรือเอาต์พุต
void loop()
ฟังก์ชั่น loop() จะเป็นฟังก์ชั่นที่ทำงานหลังจากฟังก์ชั่น
setup() ได้ทำงานเสร็จสิ้นไปแล้ว และมีการวนรอบแบบไม่รู้จบ
เมื่อฟังก์ชั่น loop() งานครบตามคำสั่งแล้ว ฟังก์ชั่น loop()
ก็จะถูกเรียกขึ้นมาใช้อีก
switch(state)
กำหนดสถานะของสวิตช์
ความคิดเห็น
แสดงความคิดเห็น