สารบัญ:
- ขั้นตอนที่ 1: เซ็นเซอร์ IR มีลักษณะอย่างไร
- ขั้นตอนที่ 2: IR Sensor Breakout Board/โมดูล
- ขั้นตอนที่ 3: ชิ้นส่วนและส่วนประกอบที่จำเป็น
- ขั้นตอนที่ 4: เชื่อมต่อ IR Sensor กับ Arduino
- ขั้นตอนที่ 5: ค้นหารหัสที่สอดคล้องกับแต่ละคีย์บนรีโมท
- ขั้นตอนที่ 6: ควบคุมชุดไฟ LED โดยใช้ IR Remote
- ขั้นตอนที่ 7: การแก้ไขปัญหา
- ขั้นตอนที่ 8: จะทำอย่างไรต่อไป?
วีดีโอ: การใช้เซ็นเซอร์อินฟราเรดกับ Arduino: 8 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
เซ็นเซอร์อินฟราเรด (aka IR) คืออะไร?
เซ็นเซอร์ IR เป็นเครื่องมืออิเล็กทรอนิกส์ที่สแกนสัญญาณ IR ในช่วงความถี่เฉพาะที่กำหนดโดยมาตรฐานและแปลงเป็นสัญญาณไฟฟ้าที่ขาเอาต์พุต (โดยทั่วไปเรียกว่าขาสัญญาณ) สัญญาณ IR ส่วนใหญ่จะใช้สำหรับการส่งคำสั่งทางอากาศในระยะทางสั้น ๆ (โดยทั่วไปคือไม่กี่เมตร) เช่นเดียวกับที่คุณเคยใช้งานบนรีโมทคอนโทรลของทีวีหรืออุปกรณ์อิเล็กทรอนิกส์อื่นที่คล้ายคลึงกัน
โปรโตคอลการสื่อสาร IR
แต่ละสัญญาณแสดงถึงรหัสเฉพาะ สัญญาณไฟฟ้าสามารถแปลงกลับไปเป็นข้อมูล/รหัสจริงที่ผู้ส่งส่งไป เมื่อคุณกดปุ่มบนรีโมทคอนโทรลทีวีของคุณ มันจะสร้างสัญญาณที่สอดคล้องกับรหัสปุ่ม (เช่น เปิด/ปิด เพิ่มระดับเสียง ฯลฯ) และส่งไปยังเครื่องรับ (ในกรณีนี้คือทีวีของคุณ) ทั้งผู้ส่งและผู้รับตกลงกันในชุดรหัสเพื่อให้ผู้รับรู้ว่าต้องทำอะไรตามแต่ละรหัส วิธีการมอดูเลตโค้ด (แบบจำลอง) เนื่องจากสัญญาณถูกกำหนดในมาตรฐานที่แตกต่างกัน และผู้ผลิตเซ็นเซอร์แต่ละรายมักจะพยายามผลิตผลิตภัณฑ์ที่เข้ากันได้กับพวกเขา เพื่อให้สามารถนำไปใช้ในอุปกรณ์ต่างๆ ได้ หนึ่งในโปรโตคอลมาตรฐานที่เป็นที่รู้จักมากที่สุดคือจาก NEC คุณสามารถค้นหาประวัติโดยย่อของโปรโตคอล IR ได้ที่ Wikipedia ภายใต้หัวข้อ Consumer IR
ขั้นตอนที่ 1: เซ็นเซอร์ IR มีลักษณะอย่างไร
เซ็นเซอร์ IR มีอยู่ในแพ็คเกจต่างๆ คุณสามารถดูบรรจุภัณฑ์ทั่วไปสำหรับตัวรับสัญญาณ IR ได้ที่นี่
ขั้นตอนที่ 2: IR Sensor Breakout Board/โมดูล
คุณยังสามารถซื้อเป็นโมดูล IR/บอร์ดฝ่าวงล้อมบน eBay, Aliexpress หรือ Amazon โมดูลดังกล่าวมักจะรวมเซ็นเซอร์ตัวใดตัวหนึ่งที่กล่าวถึงข้างต้นพร้อมกับแพ็คเกจที่เป็นมิตรต่อบอร์ดบอร์ดที่ดีพร้อมกับไฟ LED ที่จะกะพริบเมื่อเซ็นเซอร์ตรวจจับสัญญาณ โดยการทำเช่นนี้ คุณจะสังเกตเห็นว่ามีการถ่ายโอนข้อมูลใด ๆ ฉันขอแนะนำให้เริ่มต้นด้วยหนึ่งในโมดูลเหล่านี้
หมายเหตุ: หากคุณมีเซ็นเซอร์ IR แบบดิบ จะไม่มีอะไรเปลี่ยนแปลง ยกเว้นว่าคุณควรตรวจสอบแผ่นข้อมูลของเซ็นเซอร์เพื่อให้แน่ใจว่าคุณเดินสายอย่างถูกต้อง เพราะไม่เช่นนั้น คุณอาจมีควันสีน้ำเงินที่สวยงามพร้อมกลิ่นที่จะคงอยู่นาน ชั่วโมง. คุณรู้ว่าฉันหมายถึงอะไร;)
ขั้นตอนที่ 3: ชิ้นส่วนและส่วนประกอบที่จำเป็น
คุณสามารถค้นหารายการส่วนประกอบที่คุณจำเป็นต้องทำในบทช่วยสอนนี้ให้สมบูรณ์ได้ที่นี่:
ลิงค์อีเบย์:
- 1 x Arduino Uno:
- 1 x โมดูลเซ็นเซอร์ IR พร้อมรีโมท:
- ตัวต้านทาน 4 x 220 โอห์ม:
- LED 4 ดวง:
- 8 x สายดูปองท์:
- 1 x เขียงหั่นขนม Solderless:
- 1 x เขียงหั่นขนมขนาดเล็ก (อุปกรณ์เสริม):
ลิงค์ Amazon.com:
- 1 x Arduino Uno:
- 1 x โมดูลเซ็นเซอร์ IR พร้อมรีโมท:
- 1 x เขียงหั่นขนม Solderless:
- ตัวต้านทาน 4 x 220 โอห์ม:
- LED 4 ดวง:
- 8 x สายดูปองท์:
- 1 x เขียงหั่นขนมขนาดเล็ก (อุปกรณ์เสริม):
ขั้นตอนที่ 4: เชื่อมต่อ IR Sensor กับ Arduino
การตั้งค่าการเชื่อมต่อเซ็นเซอร์ IR กับ Arduino นั้นง่ายมาก นอกจากพิน VCC และ GND แล้ว เซ็นเซอร์มีพินเอาต์พุตเพียงพินเดียวที่ควรเชื่อมต่อกับพินดิจิทัลตัวใดตัวหนึ่งของ Arduino ในกรณีนี้มันเชื่อมต่อกับพิน 13
ฉันพยายามสาธิตทั้งโมดูลเซ็นเซอร์ IR และการตั้งค่าเซ็นเซอร์ IR ดิบ ดังที่เห็นในภาพ ตำแหน่งของพิน VCC และ GND บนโมดูลเซ็นเซอร์นั้นตรงกันข้ามกับเซ็นเซอร์ดิบ อย่างไรก็ตาม เซนเซอร์ของคุณอาจไม่ใช่กรณีดังกล่าว ดังนั้นดังที่กล่าวไว้ในขั้นตอนที่แล้ว ในกรณีที่ใช้เซ็นเซอร์ดิบ ให้ตรวจสอบเอกสารข้อมูลก่อน
ขั้นตอนที่ 5: ค้นหารหัสที่สอดคล้องกับแต่ละคีย์บนรีโมท
ในการตั้งโปรแกรม Arduino ให้ทำบางอย่างเมื่อคุณกดปุ่มบนรีโมท คุณควรมีรหัสที่ตรงกับคีย์นั้นก่อน รหัสคีย์เป็นตัวเลขที่ปกติจะแสดงเป็นเลขฐานสิบหก รีโมตคอนโทรลแต่ละตัวมีชุดรหัสของตัวเอง ในขณะที่ตัวควบคุมสองตัวอาจใช้รหัสเดียวกันเพื่อจุดประสงค์ที่แตกต่างกัน การมีรหัสคีย์ที่แตกต่างกันพร้อมกับการใช้ช่วงความถี่ที่ต่างกัน ทำให้มั่นใจได้ว่ารีโมตคอนโทรลสองตัวของอุปกรณ์ต่างๆ จะไม่มีการรบกวน นั่นเป็นสาเหตุที่เมื่อคุณเปลี่ยนช่องทีวี เครื่องเล่นดีวีดีของคุณไม่ตอบสนองเลย
ในการตรวจจับรหัสสำหรับรีโมท IR ของคุณ ก่อนอื่นคุณต้องเรียกใช้ร่างแบบง่ายๆ ที่พยายามอ่านรหัสจากเซ็นเซอร์เมื่อคุณกดปุ่ม และส่งผ่านทางพอร์ตอนุกรมไปยังคอมพิวเตอร์ของคุณ ซึ่งคุณสามารถเข้าถึงได้โดยใช้เครื่องมือ Serial Monitor ของ Arduino IDE นี่คือสิ่งที่ร่างที่แนบมากับส่วนนี้ทำ จะเป็นการดีกว่าหากกดทุกปุ่มเพื่อดูโค้ดและจดรายการโค้ดไว้ที่ใดที่หนึ่ง เพื่อที่คุณจะได้ไม่ต้องเรียกใช้โค้ดนี้อีกในอนาคต รายการรหัสคีย์ที่คุณเห็นเป็นตารางในภาพเป็นรหัสที่ฉันได้รับเมื่อกดปุ่มบนรีโมท IR ราคาถูกของฉัน
คุณยังสามารถเข้าถึงซอร์สโค้ดจริงที่แชร์บนโปรแกรมแก้ไขเว็บ Arduino ของฉันได้ที่ ir-key-code-logger
หมายเหตุ: อย่ากลัวถ้าคุณเห็นรหัสเช่น FFFFFF ในระหว่างนั้น หมายความว่าคุณได้กดปุ่มค้างไว้ชั่วขณะหนึ่ง เราจะกลับเข้าไปใหม่ในภายหลัง สำหรับตอนนี้ ให้เพิกเฉยและมุ่งไปที่รหัสอื่นๆ
ขั้นตอนที่ 6: ควบคุมชุดไฟ LED โดยใช้ IR Remote
ตอนนี้เรามีโค้ดสำหรับแต่ละปุ่มแล้ว ถึงเวลาเน้นที่วิธีการใช้งาน โดยปกติคุณใช้รีโมต IR เพื่อส่งคำสั่งไปยัง Arduino เพื่อทำบางอย่าง เช่น เปิดหรือปิดหลอดไฟ ย้ายหุ่นยนต์ไปในทิศทางที่กำหนด แสดงบางอย่างบนหน้าจอ LCD/OLED ฯลฯ ในที่นี้เราพยายามสาธิตกระบวนการโดยใช้วิธีง่ายๆ วงจรประกอบด้วยไฟ LED 4 ดวงในสีต่างๆ เราต้องการเปิดหรือปิดแต่ละรายการด้วยปุ่มเฉพาะของรีโมท IR ดังที่คุณเห็นในแผนผัง คุณต้องเชื่อมต่อ Arduino ด้วยวิธีต่อไปนี้กับ LED และเซ็นเซอร์:
Arduino GND -> เซ็นเซอร์ IR GND
Arduino VCC -> เซ็นเซอร์ IR VCC
Arduino 13 -> เอาต์พุตสัญญาณเซ็นเซอร์ IR
Arduino 2 -> Anode ของ LED สีน้ำเงิน (ขาสั้นของ LED สีน้ำเงิน)
Arduino 3 -> Anode ของ LED สีเขียว (ขาสั้นของ LED สีเขียว)
Arduino 4 -> Anode ของ LED สีเหลือง (ขาสั้นของ LED สีเหลือง)
Arduino 5 -> Anode ของ LED สีแดง (ขาสั้นของ LED สีแดง)
Arduino GND -> แคโทดของ LED ทั้งหมดผ่านตัวต้านทาน 220 โอห์ม (พินที่ยาวกว่าของ LEDs)
คุณสามารถค้นหาโค้ดที่สอดคล้องกับวงจรนี้ได้ในไฟล์แนบหรือในโปรแกรมแก้ไขเว็บ Arduino ของฉันที่ ir-led-control
ขั้นตอนที่ 7: การแก้ไขปัญหา
ขณะตั้งค่าโครงการและทำตามขั้นตอนต่างๆ คุณอาจพบสถานการณ์แปลก ๆ มากมาย ต่อไปนี้คือรายการข้อผิดพลาดทั่วไปที่คุณอาจได้รับเมื่อทำงานกับเซ็นเซอร์ IR
รับ FFFFFF เมื่อกดปุ่ม
เมื่อกดปุ่ม คุณอาจสังเกตเห็นว่าส่วนใหญ่รายงานรหัสเช่น FFFFFF สิ่งนี้จะเกิดขึ้นเมื่อคุณกดปุ่มค้างไว้ชั่วขณะ แม้ในช่วงเวลาสั้นๆ สถานการณ์คือเมื่อคุณกดปุ่มในตอนแรก รีโมท IR จะส่งรหัสปุ่มและตราบใดที่คุณกดปุ่มค้างไว้ ระบบจะส่ง FFFFFF ซ้ำ ซึ่งหมายความว่าผู้ใช้ยังคงกดปุ่มที่รายงานไปเมื่อเร็วๆ นี้ นั่นจะไม่เป็นไร คุณสามารถละเว้นได้ รหัสจริงคือรหัสที่คุณได้รับก่อน FFFFFF บน Serial Monitor
IR Sensor ไม่ตอบสนองเลย และดูเหมือนว่าจะร้อนขึ้น
ตัดไฟ!!! หากคุณแน่ใจว่าโครงร่างตัวบันทึกรหัสคีย์ถูกต้อง ปัญหาอาจเกิดจากการตั้งค่าสายไฟของคุณไม่ถูกต้อง สถานการณ์ที่เกิดขึ้นกับฉันคือสำหรับโมดูล IR ของฉัน (อันที่ติดอยู่กับบอร์ด) ฉันได้เชื่อมต่อ VCC และ GND ในทางตรงข้าม (เนื่องจากไม่ได้ใช้สีที่เหมาะสมสำหรับสายเชื่อมต่อของฉัน) โดยการทำเช่นนั้นส่วนประกอบเซ็นเซอร์ถูกเผาไหม้และเกิดควันสีน้ำเงินขึ้น ฉันซื้อเซ็นเซอร์ IR ดิบมาหนึ่งชุดแล้วลองเปลี่ยนมัน ตอนนี้มันใช้งานได้อย่างมีเสน่ห์:) น่าเสียดายที่ฉันทำผิดพลาดแบบเดียวกันเมื่อทดสอบกับเซ็นเซอร์ IR ดิบ และคราวนี้ไม่มีอะไรเกิดขึ้นยกเว้นว่าเซ็นเซอร์อุ่นขึ้น ดังนั้นควรตรวจสอบวงจรก่อนเปิดเครื่องเสมอ!
บางครั้งเซ็นเซอร์ตรวจจับรหัสที่ฉันไม่เคยเห็นมาก่อน
นี่เป็นหนึ่งในปัญหาที่พบบ่อยที่สุด เป็นไปได้มากว่าเกิดจากสาเหตุใดสาเหตุหนึ่งต่อไปนี้:
คุณไม่ได้ชี้รีโมท IR ของคุณไปทางเซ็นเซอร์โดยตรง
ซึ่งจะทำให้มีรหัสใหม่ (ส่วนใหญ่เป็นรหัสที่ยาวกว่า) ที่คุณไม่เคยได้รับมาก่อน และปกติแล้วจะไม่ตรงกับความยาวของรหัสที่คุณมีอยู่แล้ว ดังนั้นอย่าลืมชี้รีโมตไปที่เซ็นเซอร์ของคุณเสมอ
คุณกำลังใช้รีโมท IR ราคาถูก (เช่นเดียวกับที่ฉันใช้ในบทช่วยสอนนี้)
แทนที่จะใช้รีโมตราคาถูกที่คาดเดาไม่ได้ คุณสามารถลองใช้สถานการณ์เดียวกันนี้โดยใช้รีโมตคอนโทรลทีวีหรือเครื่องเล่น DVD หรือรีโมต IR ของอุปกรณ์ใดๆ ที่คุณมี โดยปกติแล้วจะมีคุณภาพของสัญญาณ/ฮาร์ดแวร์ที่ดี (และแน่นอนว่ามีราคาแพงกว่า) และจากประสบการณ์ของผม ปกติแล้วมันใช้งานได้ดีแม้ว่าคุณจะไม่ได้ชี้รีโมตไปที่เซ็นเซอร์โดยตรง
ฉันจะรู้ได้อย่างไรว่ารหัสที่บันทึกไว้ไม่ใช่ขยะ
โดยปกติรหัสจะแสดงในรูปแบบเลขฐานสิบหก หากคุณแปลงเป็นค่าไบนารีที่สอดคล้องกัน คุณจะสังเกตเห็นว่าการแสดงไบนารีของไบต์สุดท้ายคือการปฏิเสธของไบต์ก่อนหน้านั้น หากคุณทราบสิ่งนี้ คุณสามารถตรวจสอบรหัสของคุณเพื่อให้แน่ใจว่ารหัสที่คุณได้รับนั้นเป็นรหัสที่ถูกต้องหรือไม่ ตัวอย่างเช่น หากคุณได้ FF7A85 การแทนค่าไบนารีจะเป็นดังนี้:
1111 1111 0111 1010 1000 0101
จากซ้ายไปขวา ตัวเลข 4 หลักแต่ละชุดจะแสดงอักขระในเลขฐานสิบหกเดิม อย่างที่คุณเห็น แบทช์ที่ตรงกับ 7 คือ 0111 และแบทช์ที่ตรงกับ 8 คือ 1,000 ซึ่งเป็นการปฏิเสธที่แน่นอน โดยการปฏิเสธฉันหมายถึง 0s ทั้งหมดจะเป็น 1s และ 1s ทั้งหมดจะถูกแทนที่ด้วย 0s เช่นเดียวกันกับข้อถัดไปซึ่งก็คือ A (1010) และ 5 (0101)
ขั้นตอนที่ 8: จะทำอย่างไรต่อไป?
ตอนนี้ถึงตาคุณแล้ว ทั้งหมดขึ้นอยู่กับจินตนาการของคุณที่จะเห็นว่าคุณสามารถทำอะไรกับเซ็นเซอร์เล็กๆ น้อยๆ ที่อยู่ในมือคุณได้บ้าง ต่อไปนี้คือแนวคิดบางประการที่จะเริ่มต้นด้วย:
- ใช้รีโมตคอนโทรล IR ของอุปกรณ์ใดอุปกรณ์หนึ่งที่คุณมีที่บ้าน (ทีวี สเตอริโอ ฯลฯ) แล้วลองใช้ในโปรเจ็กต์ Arduino ของคุณ
- ลองเปิดไฟ LED ทั้งหมดพร้อมกันโดยกดปุ่มแล้วปิดโดยใช้ปุ่มอื่น
- ใช้ปุ่มขึ้น/ลงของรีโมทเพื่อเปิด/ปิดไฟ LED ทีละดวงจนกระทั่งเปิด/ปิดทั้งหมด
- สร้างสัญญาณไฟจราจรโดยใช้ไฟ LED และควบคุมโดยใช้รีโมทของคุณ
- หากคุณมีมอเตอร์ DC ขนาดเล็กอยู่ในมือ ให้ลองเริ่ม/หยุด หรือเปลี่ยนทิศทางการหมุนผ่านรีโมท IR
- คุณสามารถใช้รีโมตทีวีเพื่อควบคุมหุ่นยนต์ของคุณ หรือเปิด/ปิดเซ็นเซอร์/แอคทูเอเตอร์บางตัวได้
แจ้งให้เราทราบในความคิดเห็น คุณจะทำอย่างไร (หรือทำไปแล้ว) โดยใช้รีโมท IR
แนะนำ:
อะแดปเตอร์ Arduino Nano เป็น Arduino Uno: 6 ขั้นตอน (พร้อมรูปภาพ)
อะแดปเตอร์ Arduino Nano เป็น Arduino Uno: Arduino Nano เป็นสมาชิกที่ดี ขนาดเล็ก และราคาถูกของตระกูล Arduino มันขึ้นอยู่กับชิป Atmega328 สิ่งที่ทำให้มีประสิทธิภาพเท่ากับ Arduino Uno พี่ชายที่ใหญ่ที่สุดของเขา แต่สามารถรับเงินน้อยกว่า ในอีเบย์ตอนนี้เวอร์ชั่นภาษาจีนสามารถข
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): 6 ขั้นตอน (พร้อมรูปภาพ)
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): การชาร์จแบบเหนี่ยวนำ (เรียกอีกอย่างว่าการชาร์จแบบไร้สายหรือการชาร์จแบบไร้สาย) เป็นการถ่ายโอนพลังงานแบบไร้สาย ใช้การเหนี่ยวนำแม่เหล็กไฟฟ้าเพื่อจ่ายกระแสไฟฟ้าให้กับอุปกรณ์พกพา แอปพลิเคชั่นที่พบบ่อยที่สุดคือ Qi Wireless Charging st
Arduino ที่ถูกที่สุด -- Arduino ที่เล็กที่สุด -- Arduino Pro Mini -- การเขียนโปรแกรม -- Arduino Neno: 6 ขั้นตอน (พร้อมรูปภาพ)
Arduino ที่ถูกที่สุด || Arduino ที่เล็กที่สุด || Arduino Pro Mini || การเขียนโปรแกรม || Arduino Neno:…………………………… โปรดสมัครสมาชิกช่อง YouTube ของฉันสำหรับวิดีโอเพิ่มเติม……. โปรเจ็กต์นี้เกี่ยวกับวิธีเชื่อมต่อ Arduino ที่เล็กที่สุดและถูกที่สุดเท่าที่เคยมีมา Arduino ที่เล็กที่สุดและถูกที่สุดคือ arduino pro mini คล้ายกับ Arduino
4 ขั้นตอน Digital Sequencer: 19 ขั้นตอน (พร้อมรูปภาพ)
4 ขั้นตอน Digital Sequencer: CPE 133, Cal Poly San Luis Obispo ผู้สร้างโปรเจ็กต์: Jayson Johnston และ Bjorn Nelson ในอุตสาหกรรมเพลงในปัจจุบัน ซึ่งเป็นหนึ่งใน “instruments” เป็นเครื่องสังเคราะห์เสียงดิจิตอล ดนตรีทุกประเภท ตั้งแต่ฮิปฮอป ป๊อป และอีฟ
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: 13 ขั้นตอน (พร้อมรูปภาพ)
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: ทำป้ายโฆษณาแบบพกพาราคาถูกด้วยตัวเอง ด้วยป้ายนี้ คุณสามารถแสดงข้อความหรือโลโก้ของคุณได้ทุกที่ทั่วทั้งเมือง คำแนะนำนี้เป็นการตอบสนองต่อ/ปรับปรุง/เปลี่ยนแปลงของ: https://www.instructables.com/id/Low-Cost-Illuminated-