งานแก้ไขการประเมินการสอบ


ฮาร์ดแวร์ (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)

Bluetooth-Module.jpg

Relay-Board.jpg




ซอฟต์แวร์ (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)
     กำหนดสถานะของสวิตช์





     flowchart







ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

7 Segment Display Interfacing with PIC Microcontroller

arduino Project (อ้างอิง : https://www.prometec.net/control-acceso-clave/)

Digital Thermometer using LM35 and PIC Microcontroller