แก้ข้อสอบ

Hardware




    
Hardware

Arduino UNO
Bluetooth Module HC-05
10 KΩ Resistor
20 KΩ Resistor
1 KΩ Resistor X 4
Connecting wires
2N2222 NPN Transistor X 4
1N4007 Diode X 4
12 V Relay X 4
Prototyping board
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++)  ........................//ให้ เริ่มต้นมีค่า = 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)................................................... //เลือกเงือนไขที่จะทำ

{
case '0':d

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



ความคิดเห็น

บทความที่ได้รับความนิยม