วันพุธที่ 8 กุมภาพันธ์ พ.ศ. 2560

Home Alarm Systems ระบบเตือนภัยภายในบ้านควบคุมโดยบอร์ด Arduino

Home Alarm Systems ระบบเตือนภัยภายในบ้านควบคุมโดยบอร์ด Arduino

อุปกรณ์ที่ใช้

1. บอร์ด Arduino Uno R3 (EADN014) (บทความ Arduino) Q'ty 1 pcs
           เป็นบอร์ดไมโครคอนโทรเลอร์ตระกูล AVR ที่มีการพัฒนาแบบ Open Source คือมีการเปิดเผยข้อมูลทั้งด้าน Hardware และ Software ตัวบอร์ด Arduino ถูกออกแบบมาให้ใช้งานได้ง่าย ดังนั้นจึงเหมาะสำหรับผู้เริ่มต้นศึกษา และสามารถนำไปดัดแปลงเพิ่มเติม หรือพัฒนาต่อยอดได้อีกด้วย


2. จอ LCD Character 20x4 (EDPM045) (บทความ LCD) Q'ty 1 pcs
           จอ Liquid Crystal Display (LCD) เป็นจอแสดงผลรูปแบบหนึ่งที่นิยมนำมาใช้งานร่วมกับระบบสมองกลฝังตัวอย่างแพร่หลาย จอ LCD มีทั้งแบบแสดงผลเป็นตัวอักขระเรียกว่า Character LCD ซึ่งมีการกำหนดตัวอักษรหรืออักขระที่สามารถแสดงผลไว้อยู่แล้ว และแบบแสดงเป็นจุดเรียกว่า Graphic LCD


3. บอร์ดรีเลย์ 2 Channels (EFDV237) (บทความ Relay) Q'ty 1 pcs
           รีเลย์ (Relay) เป็นอุปกรณ์ไฟฟ้าชนิดหนึ่ง ซึ่งทำหน้าที่ตัดต่อวงจรแบบเดียวกับสวิตช์ โดยควบคุมการทำงานด้วยไฟฟ้า รีเลย์มีหลายประเภทหลายขนาด ตั้งแต่ขนาดเล็กที่ใช้ในงานอิเล็กทรอนิกส์ทั่วไป จนถึงขนาดใหญ่ที่ใช้ในงานไฟฟ้าแรงสูง โดยมีรูปร่างแตกต่างกันออกไป แต่มีหลักการทำงานที่คล้ายคลึงกัน สำหรับรีเลย์นิยมใช้ในการตัด-ต่อวงจร นอกจากนี้ยังสามารถนำไปใช้งานแบบอื่นได้หลากหลายรูปแบบ


4. Keypad 4x4 (EMSW025) Q'ty 1 pcs
           แป้นปุ่มกดหรือ Keypad เป็นอุปกรณ์สำหรับรับอินพุตจากผู้ใช้ มีลักษณะเป็นปุ่มกดหลายปุ่มจัดเรียงกันในลักษณะเป็นอาร์เรย์ แบ่งเป็นแถวแนวนอน (Row) และแถวแนวตั้ง (Column) เช่น 3x4 (12 ปุ่ม) หรือ 4x4 (16 ปุ่ม) เป็นต้น แต่ละปุ่มก็จะมีสัญลักษณ์เขียนกำกับไว้ เช่น ตัวเลข 0-9 # * A-D เป็นต้น


5. Buzzer Module (EADN028) Q'ty 1 pcs
           ลำโพงแบบ Magnetic-diaphragm ขนาดเล็กให้เสียงดัง มีความต้านทานภายในต่ำ Buzzer จะคล้ายกับลำโพงคือมันสามารถส่งเสียงได้โดยการสั่นสะเทือนที่เป็นจังหวะความถี่แล้วเกิดเป็นคลื่นเสียง


6. Flame Detector Module (EFDV309) Q'ty 1 pcs
           อุปกรณ์ตรวจจับเปลวไฟ (Flame Detector) สามารถตรวจจับเปลวไฟในขณะที่เกิดเหตุเพลิงไหม้ มักติดตั้งไว้เพื่อตรวจสอบในบริเวณที่มีวัตถุไวไฟวางอยู่


7. LED Module (EADN023) Q'ty 2 pcs
           LED (Light-Emitting Diode) หรือที่แปลเป็นไทยว่า ไดโอดเปล่งแสง หลอดไฟLED เมื่อได้รับแรงดันไฟฟ้าจะปล่อยคลื่นแสงออกมาให้ความสว่าง หลอดไฟ LED ที่เราเห็นมีขายกันตามร้านอุปกรณ์อิเล็กทรอนิกส์นั้นมีหลายแบบ โดยแต่ละแบบนั้นจะมีหลักการทำงานเหมือนกัน


8. PIR Motion Sensor Module (ESEN071) (บทความ PIR) Q'ty 1 pcs
           อุปกรณ์ Sensor ชนิดหนึ่งที่ใช้ตรวจจับคลื่นรังสี Infrared ที่แพร่จาก มนุษย์ หรือ สัตว์ ที่มีการเคลื่อนไหว ทำให้มีการนำเอา PIR มาประยุคใช้งานกันเป็นอย่างมากใช้เพื่อตรวจจับการเคลื่อนไหวของสิ่งมีชีวิต หรือ ตรวจจับการบุกรุกในงานรักษาความปลอดภัย


9. IIC (I2C) Adaptor Plate (EFDV296) Q'ty 1 pcs
           โมดูล I2C Bus เป็นโมดูลแปลงขาสัญญาณ Parallel เป็น I2C เพื่อลดจำนวนขาสัญญาณในการใช้งานจาก 16 ขาเหลือเพียง ขา ส่วนใหญ่นำมาใช้งานคู่กับจอ Character LCD เพื่อให้สะดวกต่อการเชื่อมต่อ และสามารถต่อจอแสดงผลหรืออุปกรณ์อื่นได้ในจำนวนที่มากขึ้น สามารถปรับให้รองรับได้ถึง ตำแหน่งแอดเดรส (20-27) เพื่อความยืดหยุ่นในการใช้งาน


หลักการทำงาน
           ระบบจำลองการรักษาความปลอดภัยภายในบ้านนี้ จะทำงานในขณะที่ผู้ใช้งานนั้นไม่อยู่บ้านหรือล็อคบ้านไว้ ระบบนี้ประกอบไปด้วยเซ็นเซอร์ที่ทำหน้าที่ในการตรวจจับสิ่งต่างๆ เช่น การบุกรุกเข้ามาโจรกรรม การเกิดอัคคีภัย เป็นต้น
           ขณะทำงานระบบจะเปิดการตรวจจับโดยรับสัญญาณอินพุตจากเซ็นเซอร์ 2 อย่างด้วยกันคือ PIR Motion Sensor (เซ็นเซอร์ตรวจจับการเคลื่อนไหว) ในระบบจำลองนี้ จะติดเซนเซอร์ไว้ในห้องรับแขก และ Flame Detector Sensor (เซ็นเซอร์ตรวจจับเปลวไฟ) จะติดเซนเซอร์ไว้ในห้องครัว เมื่อผู้อาศัยไม่อยู่บ้านหรือล็อคบ้านไว้ PIR Motion Sensor และ Flame Detector Sensor จะทำงาน เมื่อมีการเคลื่อนไหวภายในบ้าน สัญญาณกันขโมยจะส่งเสียง Alarm แจ้งเตือนออกทาง Buzzer ทันที หรือเมื่อเกิดเปลวไฟบริเวณห้องครัว (Flame Detector Sensor จะทำงานและสัญญาณ Alarm ก็จะทำงานเช่นกัน
           แต่เมื่อผู้อาศัยกลับมาแล้วและปลดล็อคประตูด้วยรหัสผ่าน “1234” ตามด้วยเครื่องหมาย ตามที่ตั้งไว้ มีผลทำให้ระบบเซนเซอร์ตรวจจับปิดการทำงาน และหลังจากปลดล็อคแล้ว ผู้อาศัยจะสามารถควบคุมการปิดเปิดเครื่องใช้ไฟฟ้าภายในบ้านได้ โดยกดปุ่มที่ Keypad (ปุ่ม A - หลอดไฟดวงที่ หรือ ปุ่ม B - หลอดไฟดวงที่ 2) และเมื่อผู้อาศัยจะเข้านอน ต้องการล็อคบ้านและเปิดระบบเตือนภัย ก็สามารถทำได้โดยกดที่ Keypad (ปุ่มC) 
           จากการทำงานของระบบนี้ เป็นเพียงการทำงานเบื้องต้นให้เห็นภาพ ผู้ใช้สามารถนำไปต่อยอดพัฒนาเพิ่มเติมได้ เช่น เชื่อมต่อกับ GSM Module เพื่อสื่อสารผ่านเครือข่ายโทรศัพท์มือถือและอินเตอร์เน็ต หรือเชื่อมต่ออุปกรณ์ LAN หรือ Wi-Fi เพิ่มเติมเพื่อสื่อสารผ่านอินเตอร์เน็ต แล้วประยุกต์การทำงานให้เกิด Alarm ให้ระบบส่ง SMS หรือโทรออกไปยังเจ้าของบ้านเพื่อเตือนภัยได้อีกด้วย
วิธีการต่อวงจร


โค้ดโปรแกรมการทำงาน การควบคุมการทำงานอุปกรณ์ต่างๆ (อ้างอิงตามบทความนี้) จำเป็นต้องมีการเรียกใช้ไลบรารี่ต่างๆ ดังต่อไปนี้คือ Password, Keypad, Wire และLiquidCrystal_I2C 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <Password.h>
#include <Keypad.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

Password password = Password( "1234" ); // Set the Password

// Set the LCD address to 0x27 for a 20 chars and 4 line display
LiquidCrystal_I2C lcd(0x27, 20, 4);

const byte ROWS = 4;        // Four rows
const byte COLS = 4;        //  columns
const int status_lock = A0; // LED Status Pin
const int status_unlock = A1; // LED Status Pin
const int led_bed = 11;     // Home Light2 Pin
const int led_bath = 12;    // Home Light1 Pin
int pir = A2;               // PIR Sensor Pin
int flame = A3;             // Flame Sensor Pin
int Buzzer = 10;            // Buzzer Module Pin
int alarmValue = 0; 
int fl = 0, state = 0, state1 = 0, state2 = 0, Alarm_fl = 0; // Flag
int dir = 8, dir1 = 0;
String test = "                    ";
// Define the Keymap
char keys[ROWS][COLS] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};

byte rowPins[ROWS] = { 2,3,4,5, };// Connect keypad ROW0, ROW1, ROW2 and
                    // ROW3 to these Arduino pins.
byte colPins[COLS] = { 6,7,8,9 };// Connect keypad COL0, COL1, COL2 and
                        // COL3 to these Arduino pins.

// Create the Keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
ในส่วนแรกของโปรแกรมเป็นการประกาศเรียกใช้ไลบรารี่และตั้งค่า เริ่มจากกำหนด Password ในบทความนี้เป็น Password("1234" );
กำหนดค่าของจอ LCD (ในบทความนี้ ใช้จอ LCD ร่วมกับ I2C Adaptor) ต้องทำการกำหนดค่า ค่า คือ ตำแหน่งแอดเดรส จำนวนตัวอักษร และจำนวนบรรทัดเป็นLiquidCrystal_I2C lcd(0x27, 20, 4);
กำหนดค่าตัวแปรต่างๆ ที่ต้องการนำไปใช้ในโปรแกรม
และสุดท้าย กำหนดขาในการนำไปใช้งานกับ Keypad โดยต้อง Mapkey ที่ต้องการใช้งานไว้ก่อนว่าเป็นแบบไหน ซึ่งในบทความนี้ใช้เป็น 4x4 Keypad พร้อมทั้งกำหนดPinRow, PinColumn หลังจากกำหนดเสร็จแล้วเรียกใช้ฟังก์ชั่นในการสร้าง Keypad จากไลบรารี่โดยนำพารามิเตอร์ที่กำหนดไว้ใส่ลงไปในฟังก์ชั่นเพื่อ Mapkey

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
void setup()
{
    Serial.begin(9600); // Define Serial for Debug Sensor & Keyped
    lcd.begin();  //Define LCD
    lcd.backlight();
    pinMode(status_lock, OUTPUT);    // Sets the digital pin as output
    pinMode(status_unlock, OUTPUT);  // Sets the digital pin as output
    pinMode(led_bed, OUTPUT);        // Sets the digital pin as output
    pinMode(led_bath, OUTPUT);       // Sets the digital pin as output

    keypad.addEventListener(keypadEvent); // Add an event listener for this keypad
    // Sets First Screen LCD
     lcd.print("* Hello Welcome To *");
     lcd.setCursor(0, 1);
     lcd.print(" Home Alarm Systems ");
     lcd.setCursor(0, 2);
     lcd.print("www.ThaiEasyElec.com");
     lcd.setCursor(0, 3);
     lcd.print("  ** Home Lock **  ");
}

void loop()
{
  keypad.getKey(); // Check the Keyped
  motion_on();     // Open PIR Motion Sensor
  flame_on();      // Open Flame Detector Sensor
  close_all_power(); // Close Light1-2 and Set status_lock
}
ฟังก์ชั่น Setup เป็นการตั้งค่าหรือกำหนดการทำงานอินพุตเอาต์พุตของขาต่างๆ ดังนี้
กำหนดความเร็วในการสื่อสาร Serial เพื่อใช้ในการรับ-ส่งข้อมูลกับคอมพิวเตอร์
เรียกใช้ฟังก์ชั่นเพื่อ Initial จอ LCD ที่เรานำมาใช้งานในที่นี้เป็นการติดต่อแบบ I2C
กำหนดการทำงานของขา status_lock(A0)  status_unlock(A1)  led_bed(11)  led_bath(12) ให้เป็นโหมดเอาต์พุต
ฟังก์ชั่น Loop เรียกใช้งานฟังก์ชั่นย่อยๆ ด้วยกันทั้งหมด ฟังก์ชั่น คือ
motion_on(); = เปิดการใช้งาน PIR Motion Sensor รับค่าจาก Analog A2 เพื่อตรวจสอบการเคลื่อนไหว
flame_on(); = เปิดการใช้งาน Flame Detector รับค่าจาก Analog A3 เพื่อตรวจสอบเปลวไฟ
close_all_power(); = ปิดหรือตัดไฟเครื่องใช้ไฟฟ้าที่ไม่ได้ใช้งานภายในบ้าน 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
//take care of some special events
void keypadEvent(KeypadEvent eKey){
    switch (keypad.getState()){
    case PRESSED:
        //Serial.print("Pressed: ");
        //Serial.println(eKey);
        lcd.setCursor(dir1, 3);
        lcd.print(test);
        test = "*";
        lcd.setCursor(dir, 3);
        lcd.print(test);
        dir1 = dir;
        switch (eKey){
            case 'A':
                if(fl == 1){
                    if(state == 0){
                        digitalWrite(led_bed, HIGH); // Open the light 2
                        state = 1;
                    }else if(state == 1){
                        digitalWrite(led_bed, LOW); // Close the light 2
                        state = 0;
                    }
                }
                break;
            case 'B':
                if(fl == 1){
                    if(state1 == 0){
                        digitalWrite(led_bath, HIGH); // Open the light 1
                        state1 = 1;
                    }else if(state1 == 1){
                        digitalWrite(led_bath, LOW); // Close the light 1
                        state1 = 0;
                    }
                }
                break;
            case 'C':
                if(fl == 1){
                    state2 = 1;
                    lcd.setCursor(0, 3);
                    lcd.print("  ** Home Lock **  ");
                    dir  = 8;
                    dir1 = 0;
                    test = "                    ";
                }
                break;
            case '#':
                checkPassword(); // Call the function checkPassword
                password.reset(); //Reset Key
                break;
            default:
                password.append(eKey);
        }
    }
}

KeypadEvent เป็นฟังก์ชั่นตรวจสอบเหตุการณ์ของ Keypad เมื่อกดคีย์เข้ามา ใช้ในการกำหนดเหตุการณ์ให้เป็นไปตามที่เราต้องการ เช่น ถ้าทำการกดปุ่ม ให้สั่งงาน Outputที่ขา led_bed (11) ให้อยู่ในสภาวะ HIGH(1) เป็นต้น ในบทความนี้เราได้กำหนดเหตุการณ์ไว้ด้วยกันทั้งหมด เหตุการณ์ด้วยกัน คือ
1.             เมื่อกดปุ่ม # ให้นำคีย์ที่กดเข้ามาก่อนหน้าไปตรวจสอบด้วยฟังก์ชั่นcheckPassword และเคลียร์ค่าคีย์ที่กดเข้ามาก่อนหน้าทั้งหมดเพื่อรอรับคีย์ใหม่
2.             เมื่อกดรหัสผ่านถูกต้องแล้ว การกดปุ่ม A หนึ่งครั้งจะเป็นการสั่งงานให้ Output1 อยู่ในสภาวะ HIGH หรือถ้ามีการกดซ้ำก็จะสั่งงาน Output1 อยู่สภาวะ LOW สลับกันไปเรื่อยๆ
3.             เมื่อกดรหัสผ่านถูกต้องแล้ว การกดปุ่ม B หนึ่งครั้งจะเป็นการสั่งงานให้ Output2 อยู่ในสภาวะ HIGH หรือถ้ามีการกดซ้ำก็จะสั่งงาน Output2 อยู่สภาวะ LOW สลับกันไปเรื่อยๆ
4.             กดปุ่ม C เมื่อต้องการล็อคบ้านหรือเปิดระบบการแจ้งเตือนขึ้นมาใหม่อีกครั้ง

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
void checkPassword(){ // Function check the password
    if (password.evaluate()){
    //Add code to run if it works
        while(1){
            //Serial.println("Success");
            fl = 1;
            digitalWrite(status_lock, LOW);
            digitalWrite(status_unlock, HIGH);
            lcd.setCursor(0, 3);
            lcd.print(" ** Home Unlock ** ");
            keypad.getKey();
            Alarm_off();
            password.reset();
        }
    }else{
        Serial.println("Wrong");
        //add code to run if it did not work
        lcd.setCursor(0, 3);
        lcd.print("**Password Wrong **");
        delay(1000);
    }
}

checkPassword เป็นฟังก์ชั่นตรวจสอบ password ว่าคีย์ที่กดเข้ามานั้นตรงกับที่กำหนดไว้ข้างต้นหรือไม่ ในฟังก์ชั่นนี้เราต้องกำหนดเหตุการณ์ว่าถ้า password ถูกต้อง จะให้ทำอะไร และถ้าไม่ถูกต้องจะให้ทำอะไร เราได้กำหนดไว้แล้วในที่นี้ คือ
กรณี password ถูกต้อง ให้สั่งงาน Output ที่ขา status_lock เป็นสภาวะ LOWพร้อมทั้งสั่งงาน Output ที่ขา status_unlock เป็นสภาวะ HIGH ต่อมาให้เปลี่ยนการแสดงผลทางหน้าจอ LCD บรรทัดที่ เป็น HomeUnlock และทำการวนรอรับค่าจาก Keypad อีกครั้งเพื่อใช้ในการสั่งงาน เปิด-ปิด ไฟภายในบ้าน พร้อมทั้งตัดระบบเตือนภัยทั้งหมด
กรณี password ไม่ถูกต้อง ให้ทำการกลับเริ่มต้นรับคีย์ใหม่จนกว่า password จะถูกต้อง

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void close_all_power(){ // Function close the light all.
    digitalWrite(status_lock, HIGH);
    digitalWrite(status_unlock, LOW);
    digitalWrite(led_bed, LOW);
    digitalWrite(led_bath, LOW);
}
void Alarm(){ // Function Alarm.
    tone(Buzzer, 10, 100); // Alarm at 10 Hz 100 milliseconds.
    delay(100); // delay 100 milliseconds
    tone(Buzzer, 300, 100);// Alarm at 300 Hz 100 milliseconds.
    delay(100); // delay 100 milliseconds
}
void Alarm_off(){ // Function Alarm off.
    digitalWrite(Buzzer,HIGH); //Set buzzer pin is HIGH for stop alarm
}

close_all_power เป็นฟังก์ชั่นกำหนดให้ปิดไฟทั้งหมดที่ต้องการหรือสั่งงานให้Output ที่ต้องการ อยู่ในสภาวะ LOW ทั้งหมด
Alarm เป็นฟังก์ชั่นสั่งงานหรือกำหนดให้ buzzer ดังที่ความถี่เท่าไร นานแค่ไหน ในบทความนี้เราจะตั้งให้สลับเสียงกัน เสียงเพื่อให้เหมือนกับ Alarm 2 เสียงทั่วๆ ไป เราสามารถกำหนดเพิ่มเติมหรือแก้ไข ขึ้นอยู่กับการนำไปใช้งาน
Alarm_off เป็นฟังก์ชั่นกำหนดให้ buzzer ไม่ส่งเสียงดังหรือปิด buzzer

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void motion_on(){ // Function Open PIR Motion Sensor.
    alarmValue = analogRead(pir); // Read analog sensor 0-1023.
    //Serial.println (alarmValue); // Debug Sensor value.
    if(alarmValue >= 1000){ // Check the value
        Alarm();
    }
        if(alarmValue < 1000){
        Alarm_off();
    }
}
void flame_on(){ // Function Open Flame Detector Sensor.   
    alarmValue = analogRead(flame); // Read analog sensor 0-1023.
    //Serial.println (alarmValue);  // Debug Sensor value. 
    if(alarmValue <= 700){   // Check the value     
        Alarm();
    }
    if(alarmValue > 700){
        Alarm_off();
    }
}

motion _on เป็นฟังก์ชั่นเปิดใช้งาน PIR Motion Sensor การทำงานคือรับค่าที่ได้จาก Sensor มาเป็น Analog แรงดัน 0-5 V มาแปลงเป็นดิจิตอล โดยต้องบันทึกค่าไว้ก่อนว่าตอนที่ไม่มีการเคลื่อนไหวจะเท่ากับเท่าไร ในที่นี้ค่าตอนที่ไม่มีการเคลื่อนไหวอ่านได้ประมาณ 700 และเมื่อมีการเคลื่อนไหวอ่านได้ประมาณ 1000+ จึงกำหนดว่าถ้ามากกว่า1000 แสดงว่ามีการเคลื่อนไหวให้ทำการ Alarm ทันที แต่ถ้าน้อยกว่า 1000 แสดงว่าไม่มีการเคลื่อนไหวก็ไม่ต้อง Alarm (ผู้ใช้ต้องตรวจสอบค่าที่ได้จากเซ็นเซอร์แต่ละตัวก่อนการใช้งาน เนื่องจากค่า output นั้นขึ้นอยู่กับอุปกรณ์แต่ละตัวทำให้ค่าที่ได้อาจไม่เท่ากัน)
flame_on เป็นฟังก์ชั่นเปิดการใช้งาน Flame Detector การทำงานคือรับค่าที่ได้จากSensor มาเป็น Analog แรงดัน 0-5 V เช่นเดียวกันกับ PIR Motion Sensor แต่ Flame Detector นั้นใช้ในการตรวจวัดแสงไฟ หรือเปลวไฟ ต้องทำการบันทึกค่าไว้ก่อนว่าตอนที่ไม่เกิดเปลวไฟจะเท่ากับเท่าไร และตอนที่เกิดเปลวไฟนั้นมีค่าเท่าไร ในที่นี้ค่าตอนยังไม่มีเปลวไฟ ค่าที่ได้ประมาณ 800+ และเมื่อเกิดเปลวไฟค่าที่ได้ลดลงเหลือประมาณ 500+ แต่ไม่เกิน 700 จึงกำหนดว่าถ้าน้อยกว่า 700 แสดงว่ามีเปลวไฟเกิดขึ้นให้ทำการ Alarmทันที แต่ถ้ามากกว่า 700 แสดงว่าไม่มีเปลวไฟเกิดขึ้นก็ไม่ต้อง Alarm  (เช่นเดียวกับ PIR Motion Sensor ผู้ใช้ต้องตรวจสอบค่าที่ได้จากเซ็นเซอร์แต่ละตัวก่อนการใช้งาน  เนื่องจากค่า output นั้นขึ้นอยู่กับอุปกรณ์แต่ละตัวทำให้ค่าที่ได้อาจไม่เท่ากัน)
         หากสนใจจะต่อขยายเพิ่มเติมสามารถนำไปต่อกับ GSM โมดูล แล้วเมื่อเกิด Alarmให้ส่ง SMS หรือโทรออกไปแจ้งผู้อาศัยได้ สามารถหาข้อมูลเพิ่มเติมและประยุกต์ใช้ได้จากบทความด้านล่างครับ



อ้างอิง
http://www.thaieasyelec.com/article-wiki/embedded-electronics-application/home-alarm-systems-control-by-arduino.html

ไม่มีความคิดเห็น:

แสดงความคิดเห็น