การเชื่อมต่อเซ็นเซอร์ LDR กับ Arduino Nano

Kar Cheuxm Tx Sensexr Ldr Kab Arduino Nano



ตัวต้านทานแบบพึ่งพาแสงมีการใช้งานมากมายในโครงการที่ขึ้นกับแสง ด้วยความช่วยเหลือของไมโครคอนโทรลเลอร์อย่าง Arduino Nano ทำให้สามารถใช้ LDR เพื่อควบคุมอุปกรณ์ต่างๆ ตามระดับความเข้มของแสง คู่มือนี้ครอบคลุมพื้นฐานของ LDR และการใช้งานกับ Arduino Nano

เนื้อหาบทความนี้ประกอบด้วย:







1: รู้เบื้องต้นเกี่ยวกับเซ็นเซอร์ LDR



2: การประยุกต์ใช้ LDR กับ Arduino Nano



3: การเชื่อมต่อ LDR กับ Arduino Nano





บทสรุป

1: รู้เบื้องต้นเกี่ยวกับเซ็นเซอร์ LDR

แอล ใช่ พึ่ง esistor (LDR) เป็นตัวต้านทานชนิดหนึ่งที่เปลี่ยนความต้านทานตามความเข้มของแสงที่สัมผัส ในความมืด ความต้านทานของมันสูงมาก ในขณะที่แสงสว่าง ความต้านทานของมันต่ำมาก การเปลี่ยนแปลงความต้านทานนี้ทำให้ดีที่สุดสำหรับโครงการตรวจจับแสง




LDR ให้เอาต์พุตแรงดันอะนาล็อกซึ่ง Arduino ADC จะอ่านที่ขาอะนาล็อก ขาอินพุตแบบอะนาล็อกบน Arduino ใช้ ADC เพื่อแปลงแรงดันไฟฟ้าแบบอะนาล็อกจาก LDR เป็นค่าดิจิทัล ADC มีช่วงตั้งแต่ 0 ถึง 1023 โดย 0 แทน 0V และ 1023 แทนแรงดันอินพุตสูงสุด (ปกติคือ 5V สำหรับ Arduino)

Arduino จะอ่านค่าอะนาล็อกโดยใช้ อะนาล็อกอ่าน () ทำงานในรหัสของคุณ ฟังก์ชัน analogRead() ใช้หมายเลขพินอินพุตแบบอะนาล็อกเป็นอาร์กิวเมนต์และส่งกลับค่าดิจิทัล


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

2: การประยุกต์ใช้ LDR กับ Arduino Nano

ต่อไปนี้เป็นรายการแอปพลิเคชันทั่วไปของ LDR กับ Arduino:

    • ควบคุมแสงอัตโนมัติ
    • สวิตช์เปิดใช้งานแสง
    • ตัวบ่งชี้ระดับแสง
    • โหมดกลางคืนในอุปกรณ์
    • ระบบรักษาความปลอดภัยแบบใช้แสง

3: การเชื่อมต่อ LDR กับ Arduino Nano

หากต้องการใช้ LDR กับ Arduino Nano จะต้องสร้างวงจรอย่างง่าย วงจรประกอบด้วย LDR ตัวต้านทาน และ Arduino Nano LDR และตัวต้านทานเชื่อมต่อแบบอนุกรม โดย LDR เชื่อมต่อกับขาอินพุตแบบอะนาล็อกของ Arduino Nano จะมีการเพิ่ม LED เข้าไปในวงจรที่สามารถทดสอบการทำงานของ LDR

3.1: แผนผัง

ภาพต่อไปนี้เป็นแผนผังของ Arduino Nano พร้อมเซ็นเซอร์ LDR

3.2: รหัส

เมื่อตั้งค่าวงจรแล้ว ขั้นตอนต่อไปคือการเขียนโค้ดสำหรับ Arduino Nano รหัสจะอ่านอินพุตอะนาล็อกจาก LDR และใช้เพื่อควบคุม LED หรืออุปกรณ์อื่นๆ ตามระดับแสงที่แตกต่างกัน

int LDR_Val = 0 ; /* ตัวแปรเก็บค่า photoresistor */
เซ็นเซอร์ int = A0; /* พินอะนาล็อก สำหรับ ตัวต้านทานแสง */
นานาชาติ นำ = 12 ; /* ขาออก LED */
การตั้งค่าเป็นโมฆะ ( ) {
Serial.begin ( 9600 ) ; /* อัตราการรับส่งข้อมูล สำหรับ การสื่อสารแบบอนุกรม */
    โหมดพิน ( นำ, เอาท์พุท ) ; /* พิน LED ชุด เช่น เอาต์พุต */
}
วนเป็นโมฆะ ( ) {
LDR_Val = อะนาล็อกอ่าน ( เซ็นเซอร์ ) ; /* อนาล็อก อ่าน ค่าแอลดีอาร์ */
Serial.print ( 'ค่าเอาต์พุต LDR: ' ) ;
Serial.println ( LDR_Val ) ; /* แสดง LDR Output Val บนจอภาพแบบอนุกรม */
ถ้า ( LDR_Val > 100 ) { /* ถ้าความเข้มของแสงสูง */
Serial.println ( 'ความเข้มสูง' ) ;
ดิจิตอลเขียน ( นำต่ำ ) ; /* LED ยังคงปิดอยู่ */
}
อื่น {
/* อื่น ถ้า ความเข้มของแสงเป็น LOW LED จะยังคงเปิดอยู่ */
Serial.println ( 'ความเข้มต่ำ' ) ;
ดิจิตอลเขียน ( นำสูง ) ; /* LED Turn ON ค่า LDR คือ น้อย กว่า 100 */
}
ล่าช้า ( 1,000 ) ; /* อ่านค่าทุกครั้ง 1 วินาที */
}


ในโค้ดข้างต้น เราใช้ LDR กับ Arduino Nano ที่จะควบคุม LED โดยใช้อินพุตอะนาล็อกที่มาจาก LDR

โค้ดสามบรรทัดแรกประกาศตัวแปรเพื่อเก็บ ค่าโฟโตรีซีสเตอร์ , พินอะนาล็อก สำหรับ photoresistor และ นำ ขาออก

ใน ติดตั้ง() ฟังก์ชัน การสื่อสารแบบอนุกรมจะเริ่มต้นด้วยอัตราบอด 9600 และ LED ขา D12 ถูกตั้งค่าเป็นเอาต์พุต

ใน วนซ้ำ () ฟังก์ชัน ค่าโฟโตรีซีสเตอร์จะถูกอ่านโดยใช้ฟังก์ชัน analogRead() ซึ่งเก็บอยู่ใน LDR_Val ตัวแปร. ค่าโฟโตรีซีสเตอร์จะแสดงบนจอภาพอนุกรมโดยใช้ฟังก์ชัน Serial.println()

หนึ่ง ถ้าอย่างอื่น คำสั่งใช้เพื่อควบคุม LED ตามความเข้มของแสงที่ตรวจพบโดย photoresistor หากค่า photoresistor มากกว่า 100 แสดงว่าความเข้มของแสงอยู่ในระดับสูง และ LED ยังคงดับอยู่ อย่างไรก็ตาม หากค่า photoresistor น้อยกว่าหรือเท่ากับ 100 แสดงว่าความเข้มของแสงต่ำ และ LED จะสว่างขึ้น

สุดท้าย โปรแกรมจะรอ 1 วินาทีโดยใช้ฟังก์ชัน delay() ก่อนที่จะอ่านค่าโฟโตรีซีสเตอร์อีกครั้ง วงจรนี้จะทำซ้ำไปเรื่อย ๆ ทำให้ LED เปิดและปิดตามความเข้มของแสงที่ตรวจพบโดยโฟโตรีซีสเตอร์

3.3: เอาต์พุตภายใต้แสงสลัว

ความเข้มของแสงน้อยกว่า 100 ดังนั้น LED จะยังคงเปิดอยู่

3.4: เอาต์พุตภายใต้แสงจ้า

เมื่อความเข้มของแสงเพิ่มขึ้น ค่า LDR จะเพิ่มขึ้นและความต้านทาน LDR จะลดลง ดังนั้น LED จะดับลง

บทสรุป

LDR สามารถเชื่อมต่อกับ Arduino Nano โดยใช้ขาอะนาล็อก เอาต์พุต LDR สามารถควบคุมการตรวจจับแสงในการใช้งานต่างๆ ไม่ว่าจะใช้สำหรับการควบคุมแสงอัตโนมัติ ระบบรักษาความปลอดภัยตามแสง หรือเพียงตัวบ่งชี้ระดับแสง LDR และ Arduino Nano สามารถเชื่อมต่อกันเพื่อสร้างโครงการที่ตอบสนองต่อการเปลี่ยนแปลงของความเข้มแสง