<< Go Back

เซ็นเซอร์วัดค่าน้ำฝน (Rain Detection Sensor Module)
                      Rain Sensor มีหลักการทำงานที่ไม่แตกต่างจาก Soil Moisture Sensor Module เพียงแต่ตัวอุปกรณ์ (โพรบ) ถูกออกแบบให้มีความเหมาะสมกับการวัดปริมาณน้ำที่ไหลตกมาจากที่สูง ซึ่งหากปริมาณน้ำไม่มากพอย่อมจะมีคุณสมบัติการเป็นตัวนำไฟฟ้าได้ต่ำ นั่นหมายถึง กระแสไฟฟ้าที่วิ่งตามเส้นวงจรขั้วตัวนำบนแผ่นรับน้ำฝนจะไม่สามารถวิ่งผ่านน้ำถึงกันได้เลย ต่างจากโพรบของอุปกรณ์ Soil Moisture Sensor Module ที่สัมผัสอยู่กับเนื้อดินตลอดเวลา และโดยปกติในชั้นดินย่อมมีความชื้นเพียงแต่จะมากหรือน้อยเท่านั้น


            ดังนั้นหลักการทำงานของ Rain Sensor Module คือการส่งข้อมูลค่าความต้านทาน โดยตัวเซ็นเซอร์จะปล่อยแรงดันไฟฟ้าออกจากขั้วใดขั้วหนึ่ง ผ่านเส้นตัวนำบนแผ่นรับน้ำฝน ซึ่งตัวนำทั้งสองขั้วไม่ต่อติดกัน จึงมีความต้านทานสูง เช่น Rain Sensor Module จะแสดงค่าต่ำที่สุดเป็น 1024 นั่นหมายถึงความต้านทานไฟฟ้ามากที่สุด และหมายถึงอีกว่าไม่มีอะไรเป็นตัวกลางซึ่งมีคุณสมบัติเป็นตัวนำไฟฟ้าทำให้กระแสไฟฟ้าไหลผ่านไปยังอีกขั้วไม่ได้เลย เช่นนั้นหากมีความชื้นจากน้ำฝนฟุ้งกระจายไหลตกลงบนเซ็นเซอร์ น้ำจะเป็นตัวนำที่ทำให้กระแสไฟฟ้าไหลจากขั้วหนึ่งไปยังอีกขั้วหนึ่งได้มากขึ้น เพราะความต้านทานลดลง เมื่อวงจรทั้งสองมีตัวกลางสร้างทางไหลของกระแสไฟฟ้าคือน้ำ ค่าความต้านทานที่ได้จาก Rain Sensor Module นี่เองที่เป็นตัวแปรหลักสำคัญในการเขียนเงื่อนไขต่อไป

การต่อวงจรเซ็นเซอร์วัดค่าน้ำฝน (Rain Detection Sensor Module)



การต่อวงจร

          - ขา A0 ของ Soil Moisture Sensor เชื่อมต่อไปที่ Pin A0 ของบอร์ด Arduino UNO R3
          - ขา VCC ของ Soil Moisture Sensor เชื่อมต่อไปที่ Pin 5V ของบอร์ด Arduino UNO R3
          - ขา GND ของ Soil Moisture Sensor เชื่อมต่อไปที่ Pin GND ของบอร์ด Arduino UNO R3
          - ขา 2 ขาที่โมดูล เชื่อมต่อไปที่ขาของโพรบ

การเขียนโค้ดรับค่าน้ำฝน

อธิบายโค้ด
           บรรทัดที่ 1 Pin A0 บนบอร์ด
           บรรทัดที่ 2 ประกาศตัวแปรรับค่าจาก Pin A0
           บรรทัดที่ 5 แสดงค่าความชื้นน้ำฝนที่บอร์ดเรด 9600
           บรรทัดที่ 9 ตัวแปร rain_val จะรับค่าจาก Pin A0 (ค่า Analog)
           บรรทัดที่ 10 ให้แสดงค่า 0-100
           บรรทัดที่ 12 แสดงคำว่า rainSensor =
           บรรทัดที่ 13 แสดงค่าที่ตัวแปรรับค่าความชื้นน้ำฝนจากเซ็นเซอร์
           บรรทัดที่ 14 หน่วงเวลา 1 วินาที

หมายเหตุ ที่ฟังก์ชัน map ที่ให้แสดงค่า 100,0 นั้น ก่อนนั้นเพราะต้องการให้ค่าน้อย คือไม่มีน้ำฝน ค่ามาก คือมีน้ำฝน (อาจไม่ต้องกลับค่าก็ได้ ขึ้นอยู่กับการนำไปใช้ของผู้ใช้แต่ละคน)

เซนเซอร์รับค่าแสง LDR (Photoresistor)
       ตัวต้านทานที่แปรค่าตามแสง (Light Dependent Resistor : LDR) เป็นอุปกรณ์กึ่งตัวนำ (Semi-conductor) ใช้วัดความสว่างของปริมาณแสงที่ตกกระทบลงบริเวณฐานรองรับที่ไวต่อแสงที่ผลิตจาก แคดเมียมซัลไฟด์ (CdS)  ซึ่งจะแปลงปริมาณทางแสงที่ตกกระทบเป็นสัญญาณไฟฟ้าด้วยสัญญาณอนาล็อคหรือไมโครคอนโทรลเลอร์

สัญลักษณ์ทางวงจรไฟฟ้า LDR

ที่มา : https://www.ai-corporation.net/2021/11/08/photoresistor/

 

หลักการทำงาน

        หลักการการทำงานของ Photoresistor คือ เป็นตัวต้านทานชนิดหนึ่งที่ค่าความต้านทานจะเปลี่ยนแปลงตามปริมาณแสงที่ตกกระทบลงบนฐานรองรับ โดยระหว่างขั้วไฟฟ้าทั้งสองมีสารกึ่งตัวนำ (บริเวณแคดเมียมซัลไฟด์ Cds) เมื่อสารกึ่งตัวนำไม่ติด ค่าความต้านทานของมันสูงถึงหลายเมกะโอห์ม เมื่อบริเวณนี้สว่างขึ้นทำให้ “ความต้านทานทางไฟฟ้าลดลง ส่งผลให้มีกระแสไฟฟ้าไหลเพิ่มขึ้นในวงจรไฟฟ้า”

การตรวจสอบ LDR ด้วยมัลติมิเตอร์

           เราสามารถตรวจสอบ photoresistor ด้วยมัลติมิเตอร์ในโหมด “การวัดความต้านทาน” โดยการวัดความต้านทานขององค์ประกอบโดยพื้นที่สว่างและมืด

             การต่อวงจรเซนเซอร์รับค่าแสง LDR (Photoresistor)

อุปกรณ์

1. บอร์ด ESP8266 2. เซนเซ็อร์ LDR

3. สายจั้มเปอร์หรือสายแพ ผู้-ผู้

หมายเหตุ
มาตรฐานสากลโลก
สายแพสีดำคือ กราวน์ (GND) หรือ -
สายแพสีแดงคือ ไฟ (VCC) หรือ +
4. ตัวต้านทาน 4.7 กิโลโอห์ม
5. Breadboard

             1. Pin GND บนบอร์ด ESP8266 เชื่อมต่อไปที่ช่องลบไหนก็ได้บน Breadboard
             2. Pin 3V3 บนบอร์ด ESP8266 เชื่อมต่อไปที่ช่องบวกไหนก็ได้บน Breadboard
             3. เสียบตัวต้านทาน 4.7 กิโลโอห์ม บน Breadboard
             4. เชื่อมต่อขาที่ช่องสัญญานเดียวกันกับขาด้านหนึ่งของตัวต้านทาน อีกด้านเชื่อมต่อช่อง VCC (+) ไหนก็ได้บน Breadboard
             5. เชื่อมต่อ Pin A0 บนบอร์ด ESP8266 อีกด้านให้เชื่อมต่อช่องสัญญานเดียวกันกับขาด้านหนึ่งของตัวต้านทาน (คนละช่องสัญญานกับข้อ 4) หมายเหตุ เสียบด้านหน้าตัวต้านทาน
             6. เชื่อมต่อขาด้านหนึ่งของเซ็นเซอร์ LDR ให้อยู่ด้านหลังตัวต้านทานในช่องสัญญานเดียวกันกับข้อ 5
             7. เชื่อมต่อที่ช่องสัญญานเดียวกันกับขาอีกด้านของเซนเซอร์ LDR อีกด้านให้เชื่อมต่อช่อง GND (-) บน Breadboard ดังรูป

การเขียนโค้ดรับค่าความเข้มแสง


หมายเหตุ เนื่องจาก Analog มีค่า 0-1023 จึงใช้คำสั่ง map เพื่อให้แสดงค่า 0-100 เท่านั้น
                เซนเซอร์ LDR ค่ามาก คือ เจอแสงน้อย
                ค่าน้อย คือ เจอแสงมาก
                ที่ฟังก์ชัน map จึงกลับค่าอ่านจาก 100,0 (อาจไม่ต้องกลับค่าก็ได้ ขึ้นอยู่กับการนำไปใช้ของผู้ใช้แต่ละคน)

              การวัดอุณหภูมิและความชื้นสัมพัทธ์ ปัจจุบันมีเซนเซอร์ชนิดหนึ่งที่ถูกออกแบบมาทำงานนี้โดยเฉพาะ เซนเซอร์ตัวนั้นคือ DHT11 และ DHT22 ซึ่งทั้งสองเป็นโมดูลที่ทำงานแบบเดียวกันทุกประการเป็นอุปกรณ์ที่ใช้ขาสื่อสารเพียงเส้นเดียวเป็นการสื่อสารสองทิศทาง และเป็นการสื่อสารที่ให้ข้อมูลแบบดิจิทัล ความแตกต่างกันของโมดูลทั้งสองเป็นดังตาราง

DHT11 DHT12
1. Ultra low cost
2. 3 to 5V power and I/O
3. 2.5mA max current use during conversion
(while requesting data)
4. Good for 20-80% humidity readings with 5% accuracy
5. Good for 0-50°C temperature readings ±2°C
accuracy
6. No more than 1 Hz sampling rate (once every
second)
7. Body size 15.5mm x 12mm x 5.5mm
8. 4 pins with 0.1" spacing
1. Low cost
2. 3 to 5V power and I/O
3. 2.5mA max current use during conversion
(while requesting data)
4. Good for 0-100% humidity readings with 2-5%
accuracy
5. Good for -40 to 125°C temperature readings
±0.5°C accuracy
6. No more than 0.5 Hz sampling rate (once every
2 seconds)
7. Body size 15.1mm x 25mm x 7.7mm
8. 4 pins with 0.1" spacing


            จากตารางเปรียบเทียบจะเห็นความแตกต่างของโมดูลวัดอุณหภูมิและความชื้นสัมพัทธ์ทั้งสองเบอร์ได้พอสมควร หน่วยการเรียนรู้นี้เลือกใช้เบอร์ DHT22 (โค้ดโปรแกรมไม่ต่างกัน) รูปร่างหน้าตาและขนาดของโมดูลตลอดจนหน้าที่ของแต่ละขาเป็นดังรูป

รูปร่างของโมดูลวัดอุณหภูมิและความชื้นสัมพัทธ์ DHT22

            การต่อใช้งานโมดูล DHT11, DHT22 จะต้องใช้ตัวต้านทานพูลอัพที่ขาสัญญาณข้อมูลที่มีค่าเท่ากับ 4.7k ดังรูป


การต่อใช้งานโมดูล DHT11, DHT22

            การเขียนโค้ดโปรแกรมเพื่ออ่านค่าอุณหภูมิและความชื้นสัมพัทธ์ทั้ง DHT11 และ DHT22 ปัจจุบันมีไลบรารี่ช่วยงานทำให้ผู้เขียนโค้ดสามารถเขียนโค้ดได้ง่ายขึ้น ซึ่งไลบรารี่ที่ต้องเอามาใช้งานเพื่ออ่านค่าจากโมดูลดังกล่าวจะต้องใช้ไลบรารี่ 2 ตัว โดยสามารถดาวน์โหลดได้ที่

ไลบรารี่ แหล่งดาวน์โหลด
DHT.h https://github.com/adafruit/DHT-sensor-library
Adafruit_Sensor.h https://github.com/adafruit/Adafruit_Sensor


มีขั้นตอนการดำเนินการเพื่อนำไลบรารี่มาใช้งานดังนี้

               1. ดาวน์โหลดไลบรารี่ตัวที่ 1 ซึ่งเป็นไฟล์ Zip ดังรูป

การดาวน์โหลดไลบรารี่ที่นำมาใช้งานตัวที่ 1


               2. ดาวน์โหลดไลบรารี่ตัวที่ 2 ซึ่งเป็นไฟล์ Zip ดังรูป

การเพิ่มไลบรารี่ที่เป็นไฟล์ zip ลงในโปรแกรม Arduino IDE

ฟังก์ชันที่เกี่ยวกับโมดูล DHT11, DHT22
             1. ฟังก์ชันหน่วงเวลาหรือฟังก์ชันหยุดการใช้งานสามารถกำหนดตัวเลขของเวลาที่ต้องการหยุดค้าง โดยตัวเลขที่ใส่เป็นตัวเลขของเวลาหน่วยเป็นมิลลิวินาที ตัวเลขของเวลาที่ใส่ได้สูงสุดคือ 4,294,967,295 ซึ่งเป็นขนาดของตัวแปร unsigned long
                delay(ms);   (ms: ตัวเลขที่หยุดค้างของเวลาหน่วยมิลลิวินาที (unsigned long))

             2. ฟังก์ชันกำหนดความเร็วในการสื่อสารทางพอร์ตอนุกรม
                Serial.begin(speed);   (speed: ตัวเลขของอัตราเร็วในการสื่อสารผ่านพอร์ตอนุกรม)

             3. ฟังก์ชันส่งข้อมูลออกพอร์ต เป็นฟังก์ชันที่ใช้ในการส่งข้อมูลออกทางพอร์ตอนุกรมหรือพิมพ์ข้อมูลออกทางพอร์ต เพื่อแสดงผลที่จอคอมพิวเตอร์เมื่อพิมพ์เสร็จตัวเคอร์เซอร์จะรออยู่ที่ท้ายสิ่งที่พิมพ์นั้น ๆ
                Serial.print(val);  Serial.print(val,format);

             4. ฟังก์ชันส่งข้อมูลออกพอร์ต คล้ายกับฟังก์ชัน Serial.print ต่างกันตรงที่เมื่อพิมพ์เสร็จตัวเคอร์เซอร์จะขึ้นมารอยังบรรทัดใหม่ ดังนั้นเมื่อสั่งพิมพ์ครั้งถัดไปข้อมูลที่ปรากฏจะอยู่ที่บรรทัดใหม่ แทนที่จะต่อท้ายเหมือนกับฟังก์ชั่น Serial.print
                Serial.println(val);   Serial.println(val,format);

ฟังก์ชันใช้งานของไลบรารี่ DHT

                การอ่านค่าจากโมดูล DHT จำเป็นต้องใช้ไลบรารี่ช่วยงาน ซึ่งไลบรารี่ไม่ได้ถูกเพิ่มเข้ามาในตัวโปรแกรม Arduino IDE ตั้งแต่แรกจำเป็นต้องติดตั้งเพิ่มเติม โดยมีฟังก์ชันให้ใช้งานดังนี้
               1. ฟังก์ชันกำหนดขาเชื่อมต่อ ใช้ในการระบุขาที่ใช้เชื่อมต่อให้ตัวโปรแกรมรับรู้ รูปแบบเป็น ดังนี้
                DHT dht(DHTPIN,DHTTYPE);
                DHTPIN: ตัวเลขระบุขาพอร์ตที่ใช้เชื่อมต่อกับโมดูล
                DHTTYPE: ชนิดของโมดูลที่เชื่อมต่อได้แก่ DHT11, DHT21, DHT22

ตัวอย่าง

                DHT dht(8, DHT22);
               หมายถึง ต่อไปในโปรแกรมจะใช้ชื่อ dht ในการเรียกใช้งานโมดูล โดยมีการเชื่อมต่อสายสัญญาณเข้าที่ขาพอร์ต D8 และใช้โมดูลชนิด DHT22
                              dht.readHumidty();

                2. ฟังก์ชันอ่านค่าความชื้น ค่าที่ได้จากฟังก์ชั่นอยู่ในรูปของตัวแปร float หน่วยเป็นเปอร์เซนต์ของความชื้นในอากาศที่วัดได้ รูปแบบของฟังก์ชันดังนี้
               3. ฟังก์ชันอ่านค่าความอุณหภูมิ ค่าที่ได้จากฟังก์ชันอยู่ในรูปของตัวแปร float หน่วยเป็นองศาเซลเซียส รูปแบบของฟังก์ชันดังนี้

อุปกรณ์

Temperature Humidity Sensor สายไฟจัมเปอร์ ผู้-เมีย ยาว 20cm.
จำนวน 3 เส้น

การติดตั้ง Libraries

             Temperature Humidity Sensor เป็นอีกชุดเซ็นเซอร์หนึ่งที่จะต้องทำการติดตั้ง Libraries เพื่อการสร้าง Sketch Code คลิกเมนู Sketch --> Include Library --> Add.ZIP Library… --> DHT_tem.zip

การต่อวงจร

การเขียนโปรแกรมเพื่อวัดค่าอุณหูมิ

            เขียนคำสั่งให้โมดูล DHT11 เซ็นเซอร์วัดความชื้นและอุณหภูมิขึ้นแสดงบนจอ Serial Monitor ซึ่ง ช่อง Humidity คือ ค่าความชื้นมีหน่วยเป็นเปอร์เซ็นต์ และ ช่อง Temperature มีหน่วยเป็นฟาเรนไฮต์


การต่อวงจรเซ็นเซอร์วัดความชื้นดิน (Soil Moisture sensor)
            สำหรับโปรเจ็กต์นี้ผู้พัฒนาจะเชื่อมต่อ Soil Moisture Sensor กับบอร์ด Arduino UNO R3 โดยเซ็นเซอร์จะรับไฟเลี้ยงจากบอร์ด Arduino UNO R3 5V เพื่อส่งค่าความชื้นกลับไปที่บอร์ด

อุปกรณ์

การต่อวงจร

          - ขา A0 ของ Soil Moisture Sensor เชื่อมต่อไปที่ Pin A0 ของบอร์ด Arduino UNO R3
          - ขา VCC ของ Soil Moisture Sensor เชื่อมต่อไปที่ Pin 5V ของบอร์ด Arduino UNO R3
          - ขา GND ของ Soil Moisture Sensor เชื่อมต่อไปที่ Pin GND ของบอร์ด Arduino UNO R3
          - ขา 2 ขาที่โมดูล เชื่อมต่อไปที่ขาของโพรบ

การเขียนโค้ดรับค่าความชื้น

หมายเหตุ เนื่องจาก Soil Moisture Sensor เมื่อวัดความชื้นแล้วจะมีค่าต่ำสุดที่ 1023 (แห้งผาก) และมีค่าสูงสุดที่ 0 (เปียกโซก) เมื่อมีความชื้นในดินมากความต้านทานต่ำ เซ็นเซอร์จะส่งค่าต่ำกว่า 1023 ตามปริมาณของความต้านทาน ที่ฟังก์ชัน map จึงกลับค่าเป็น 100,0 (อาจไม่ต้องกลับค่าก็ได้ ขึ้นอยู่กับการนำไปใช้ของผู้ใช้แต่ละคน)

         โค้ดโปรแกรมที่จะนำสัญญาณที่ได้จาก Soil Moisture Sensor ผ่าน Pin Analog นั้น สามารถนำไปใช้ประโยชน์ในด้านการวัดความชื้น โดยผู้พัฒนาสามารถนำค่าที่บอร์ดไมโครคอนโทรลเลอร์อ่านได้มาใช้ประโยชน์ได้อย่างมากมาย เช่น เมื่อค่าที่บอร์ดอ่านได้ลดลงจากค่าความด้านทานสูงสุด คือ 1023 (แสดงว่ามีสภาพแห้งไม่มีความชื้นอยู่เลย) ผู้พัฒนาสามารถกำหนดระดับค่าที่ลดลงนั้นเป็นตัวแปรเพื่อให้อุปกรณ์กำลังทำงาน เช่น Relay หรือหลอด LED เป็นต้น
          สำหรับโค้ดทดสอบการทำงานของ Soil Moisture Sensor ในหัวข้อนี้ จะเป็นเพียงกำหนดให้บอร์ด Arduino UNO R3 แสดงค่าของเซ็นเซอร์บน Monitor เพื่อตรวจสอบว่า Soil Moisture Sensor สามารถร่วมกับบอร์ด Arduino UNO R3 ได้หรือไม่


เครื่องให้อาหารไก่

            หลักการทำงาน คือ บอร์ดจะควบคุมการจ่ายไฟผ่าน relay ทำหน้าที่เป็นสะพานไฟ ให้มอเตอร์ AC 220 ทำงานหมุนเกลียวลำเลียงอาหาร (Arger) เพื่อลำเลียงอาหารจากไซโลบรรจุอาหารลงมาท่อให้อาหารแต่ละช่อง โดยเรียงลำดับจากช่องที่ 1 นับจากฝั่งไซโลอาหาร จนถึงท่อสุดท้ายโดยจะควบคุมปริมาณอาหารด้วยเซนเซอร์ตรวจวัตถุ ติดตั้งที่ด้านบนท่อให้อาหารช่องสุดท้าย โดยคำนวณให้อาหารไก่ต่อตัว 1 ตัว คือ 120 กรัม ไก่มีทั้งหมด 24 ตัว ถังไซโล บรรจุ 15 ก.ก


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

สัญลักษณ์ในวงจรไฟฟ้าของรีเลย์

ภายใน Relay จะประกอบไปด้วยขดลวดและหน้าสัมผัส
            หน้าสัมผัส NC (Normally Close) เป็นหน้าสัมผัสปกติปิด โดยในสภาวะปกติหน้าสัมผัสนี้จะต่อเข้ากับขา COM (Common) และจะลอยหรือไม่สัมผัสกันเมื่อมีกระแสไฟฟ้าไหลผ่านขดลวด
            หน้าสัมผัส NO (Normally Open) เป็นหน้าสัมผัสปกติเปิด โดยในสภาวะปกติจะลอยอยู่ ไม่ถูกต่อกับขา COM (Common) แต่จะเชื่อมต่อกันเมื่อมีกระแสไฟไหลผ่านขดลวด
            ขา COM (Common) เป็นขาที่ถูกใช้งานร่วมกันระหว่าง NC และ NO ขึ้นอยู่กับว่า ขณะนั้นมีกระแสไฟฟ้าไหลผ่านขดลวดหรือไม่ หน้าสัมผัสใน Relay 1 ตัวอาจมีมากกว่า 1 ชุด ขึ้นอยู่กับผู้ผลิตและลักษณะของงานที่ถูกนำไปใช้ จำนวนหน้าสัมผัสถูกแบ่งออกดังนี้
            สวิตช์จะถูกแยกประเภทตามจำนวน Pole และจำนวน Throw ซึ่งจำนวน Pole (SP-Single Pole, DP-Double Pole, 3P-Triple Pole, etc.) จะบอกถึงจำนวนวงจรที่ทำการเปิด-ปิด หรือ จำนวนของขา COM นั่นเอง และจำนวน Throw (ST, DT) จะบอกถึงจำนวนของตัวเลือกของ Pole ตัวอย่างเช่น SPST- Single Pole Single Throw สวิตช์จะสามารถเลือกได้เพียงอย่างเดียวโดยจะเป็นปกติเปิด (NO-Normally Open) หรือปกติปิด (NC-Normally Close) แต่ถ้าเป็น SPDT- Single Pole Double Throw สวิตช์จะมีหนึ่งคู่เป็นปกติเปิด (NO) และอีกหนึ่งคู่เป็นปกติปิดเสมอ (NC) ดังรูปด้านล่าง

ที่มา : https://www.thaieasyelec.com/article-wiki/review-product-article/
Example-project-for-control-electrical-device-using-arduino-and-relay-module.html

            จากส่วนประกอบข้างต้นที่ได้กล่าวไป ในบทความนี้เราจะใช้งาน Relay แบบ SPDT (Single Pole Double Throw) หลักการทำงานของ Relay นั้น ในส่วนของขดลวด เมื่อมีกระแสไฟฟ้าไหลผ่าน จะทำให้ขดลวดเกิดการเหนี่ยวนำและทำหน้าที่เสมือนแม่เหล็กไฟฟ้า ส่งผลให้ขา COM ที่เชื่อมต่ออยู่กับหน้าสัมผัส NC (ในสภาวะที่ยังไม่เกิดการเหนี่ยวนำ) ย้ายกลับเชื่อมต่อกับหน้าสัมผัส NO แทน และปล่อยให้ขา NC ลอย เมื่อมองที่ขา NC กับ COM และ NO กับ COM แล้วจะเห็นว่ามีการทำงานติด-ดับลักษณะคล้ายการทำงานของสวิชต์ เราสามารถอาศัยคุณสมบัตินี้ไปประยุกต์ใช้งานได้
            ในบทความนี้ เราจะกล่าวถึงวิธีการนำ Relay Module ไปประยุกต์ใช้งานจริง แต่ก่อนอื่นเรามาดูวิธีอ่านคุณสมบัติของ Relay ว่าสามารถรองรับการทำงานที่แรงดันและกระแสไฟฟ้าเท่าไร ใช้แรงดันไฟฟ้าในการทำงานอย่างไรก่อน


ในหัวข้อนี้จะศึกษา relay 2 channel ดังภาพ

            บอร์ด Arduino relay 2 channel สำหรับ ควบคุมเปิด/ปิด Relay Module ได้ 2 ช่อง ใช้ไฟเข้า 5 โวลต์เหมาะสำหรับ Arduino การควบคุม ส่งสัญญาณควบคุมแบบ Active Low ใช้ Arduino ควบคุม arduino relay
            - ถ้าต้องการให้ รีเลย์ติดส่งสัญญาณ 0 ไป
            - ถ้าต้องการให้ดับส่งสัญญาณ 1 ไป
            วงจร Arduino relay module เป็นแบบ แยกกราวด์ Opto isolated Relay ปลอดภัยต่อวงจรไมโครคอนโทรเลอร์ และ Arduino

รายละเอียด Arduino Relay module บอร์ด รีเลย์ 2 ช่อง สำหรับ Arduino
            1. การเชื่อมต่อ Arduino Relay module มาตรฐานที่สามารถใช้ควบคุมได้โดยตรงจากไมโครคอนโทรนเลอร์ เช่น  Arduino , 8051, AVR, PIC, DSP, ARM, ARM, MSP430, TTL logic)
            2. ใช้ไฟฟ้าที่ 5 โวลต์
            3. Relay Module สามารถ 5 โวลต์จากบอร์ด arduino ที่มีขา 5 โวลต์ได้
            4. ใช้ควบคุมไฟฟ้าแรงสูงได้ที่ DC30V 10A , AC250V 10A
            5. มีไฟบอกสถานะการทำงานของ Arduino Relay รีเลย์ทุกช่อง
            6. เชื่อมต่อด้วยขั้วสกรู ทำให้ติดตั้งได้ง่ายและสะดวก
            7. ใช้กระแสขับ relay แต่ละตัวที่ 15-20 mA
            8. การส่งสัญญาณควบคุมรีเลย์เป็นแบบ Active low
            9. วงจรขับรีเลย์เป็นแบบแยกกราวด์ Opto isolated Relay ปลอดภัยต่อวงจรไมโครคอนโทรเลอร์ Arduino Relay

การต่อวงจร

อุปกรณ์

สายไฟจัมเปอร์ ผู้-เมีย ยาว 20cm. จำนวน 4 เส้น
Relay 2 1 ตัว

 

การต่อวงจร

                 GND  --> เชื่อมต่อเข้ากับขา Pin GND
                 IN1    --> เชื่อมต่อเข้ากับขา Pin 8
                 IN2    --> เชื่อมต่อเข้ากับขา Pin 9
                 VCC   --> เชื่อมต่อเข้ากับขา Pin 5v

การเขียนโค้ด

 

<< Go Back