Arduino: เซ็นเซอร์สิ่งกีดขวางทางแสง เซ็นเซอร์อินฟราเรดอย่างง่าย เซ็นเซอร์ตรวจจับสิ่งกีดขวางด้วยเลเซอร์
เซ็นเซอร์ฝ่าอุปสรรค IR สำหรับรถยนต์หุ่นยนต์ YL-63 (FC-51)
โมดูลเซ็นเซอร์หลีกเลี่ยงอุปสรรครถสมาร์ทโมดูลหลอดอินฟราเรดเซ็นเซอร์โฟโตอิเล็กทริคสะท้อนแสง
เซ็นเซอร์แบบไม่สัมผัส YL-63 ตรวจจับวัตถุในช่วงระยะทางตั้งแต่เกือบศูนย์จนถึงขีดจำกัดที่ตั้งไว้โดยไม่ต้องสัมผัสโดยตรงกับวัตถุเหล่านั้น ผู้ผลิตต่างๆกำหนดชื่อที่แตกต่างกันให้กับอุปกรณ์เดียวกัน บางคนเรียกเซ็นเซอร์ที่นำเสนอว่า YL-63 และบางตัวเรียกเซ็นเซอร์ FC-51 เซ็นเซอร์มีจุดประสงค์เพื่อใช้เมื่อไม่ต้องการข้อมูลเกี่ยวกับระยะห่างจากวัตถุ แต่เฉพาะเกี่ยวกับการมีอยู่หรือไม่มีเท่านั้น ระยะการตรวจจับสูงสุดขึ้นอยู่กับการตั้งค่า เซ็นเซอร์ YL-63 มีเอาต์พุตแยกกัน นี้ เซ็นเซอร์ออปติคัลการบันทึกการเพิ่มความเข้มของรังสีอินฟราเรดที่สะท้อน (IR) ในพื้นที่ควบคุม การเปลี่ยนแปลงของรังสีสะท้อนเกิดขึ้นเนื่องจากการเคลื่อนตัวของกลไกหรือการเคลื่อนที่ของวัตถุรอบข้าง YL-63 สามารถวางบนวัตถุที่กำลังเคลื่อนที่เพื่อกำหนดตำแหน่งในพื้นที่โดยรอบ มันถูกใช้เพื่อตรวจจับสิ่งกีดขวางเมื่อเคลื่อนที่ด้วยล้อและติดตามยานพาหนะอัตโนมัติ เซ็นเซอร์สามารถกลายเป็นส่วนหนึ่งของเครื่องช่วยการมองเห็นสำหรับนักเรียนในด้านระบบควบคุมและระบบอัตโนมัติ
อุปกรณ์ประกอบด้วยแหล่งกำเนิดรังสีอินฟราเรดและเครื่องตรวจจับแสง รังสีจะสะท้อนจากสิ่งกีดขวางและบันทึกโดยเครื่องตรวจจับแสง จะส่งสัญญาณไปยังเครื่องเปรียบเทียบ LM393 ซึ่งได้รับการกำหนดค่าให้ทำงานในระดับความสว่างของเครื่องตรวจจับแสง เครื่องเปรียบเทียบจะสร้างสัญญาณที่เอาต์พุตของเซ็นเซอร์ YL-63 ที่ระดับลอจิกต่ำหรือสูง
ออปติคัลเซนเซอร์ YL-63 เป็นของคลาสการแพร่กระจาย ชื่อของกลุ่มเซ็นเซอร์เกิดขึ้นเนื่องจากการทำงานพื้นฐานของเซ็นเซอร์เพื่อการสะท้อนของรังสีในหลายทิศทาง - การแพร่กระจายของรังสีโดยพื้นผิวสะท้อนแสง
การทำงานของอุปกรณ์คือการกำหนดความสว่างของเครื่องตรวจจับแสง เนื่องจาก YL-63 ตรวจจับรังสีสะท้อน จึงมีข้อผิดพลาดในการวัดระยะทางที่เกิดจากการสะท้อนแสงที่แตกต่างกันของพื้นผิวของวัตถุที่ทำจากวัสดุหลากหลายชนิด
ค่าสัมประสิทธิ์ระยะทางสำหรับการสะท้อนจาก วัสดุต่างๆ.
กระดาษเคลือบสีขาว | 1 |
ผ้าฝ้าย | 0,6 |
โพลีไวนิลคลอไรด์สีเทา | 0,57 |
ต้นไม้ | |
มีสีจางๆ | 0,73 |
ดิบ | 0,4 |
พลาสติก | |
สีขาว | 0,7 |
สีดำ | 0.22 |
ยางสีดำ | 0,2-0,15 |
อลูมิเนียมขัดเงา | 1,2 |
สแตนเลสขัดเงา | 2,3 |
การสะท้อนและการดูดกลืนรังสีที่แตกต่างกันจากวัสดุที่แตกต่างกันจะถูกนำมาใช้เพื่อควบคุมยูนิตตรวจจับมาตรวัดความเร็ว สมมติว่าเรามี คุณจำเป็นต้องรู้จำนวนรอบต่อนาทีของเพลามอเตอร์ YL-63 จะช่วยเราออก ก็เพียงพอที่จะติดกระดาษสีขาวบนมู่เล่แล้วส่งลำแสงเซ็นเซอร์ไปที่มู่เล่แล้วเราจะได้หน่วยตรวจจับมาตรวัดความเร็ว
เพื่อลดผลกระทบจากการรบกวนต่างๆ ไมโครคอนโทรลเลอร์ที่ประมวลผลจะรวบรวมข้อมูลที่ได้รับจากเซ็นเซอร์ในช่วงเวลาสั้นๆ และทำการหาค่าเฉลี่ย เซ็นเซอร์ YL-63 สามารถทำงานในอุปกรณ์ที่ไม่มีไมโครคอนโทรลเลอร์ได้
ตัวเลือก
แรงดันไฟจ่าย 3.3-5 V
ระยะการตรวจจับถึงระนาบเคลือบสีขาวสะท้อนแสง 0.02-0.3 ม
มุมการตรวจจับ 35°
ขนาด 43 x 16 x 7 มม
รายชื่อผู้ติดต่อ
เซ็นเซอร์สิ่งกีดขวาง YL-63 หรือที่เรียกว่า FC-51 มีปลั๊กขั้วต่อสามพิน:
VCC - แหล่งจ่ายไฟ
GND - สายสามัญ
ออก - เอาท์พุต
ตัวชี้วัด
มีตัวบ่งชี้สองตัวบนบอร์ดโมดูล แสงสีเขียวแสดงว่าเปิดเครื่องอยู่ ไฟ LED สีแดงจะสว่างขึ้นหากมีวัตถุอยู่ในโซนการตรวจจับ
การตั้งค่าระยะการตรวจจับ
การตั้งค่าอุปกรณ์นั้นอำนวยความสะดวกด้วยตัวบ่งชี้การตรวจจับ ซึ่งช่วยให้คุณสามารถกำหนดค่า YL-63 หรือที่รู้จักในชื่อ FC-51 ให้ทำงานในสภาวะจริงได้ การตั้งค่าความไวของเซ็นเซอร์ทำได้โดยใช้ตัวต้านทานแบบปรับได้ที่ติดตั้งอยู่บนบอร์ด สิ่งกีดขวางได้รับการติดตั้งตามระยะห่างที่ต้องการจากอุปกรณ์ถ่ายภาพของเซ็นเซอร์ ด้วยการหมุนหน้าสัมผัสเคลื่อนที่ของตัวต้านทานแบบแปรผันบนบอร์ดโมดูล YL-63 คุณจะตั้งค่าระยะตอบสนองและเปิดไฟ LED สีแดง จากนั้นตรวจสอบระยะการตรวจจับโดยการเคลื่อนย้ายวัตถุสะท้อนแสง การตั้งค่าซ้ำอย่างน้อยสามครั้ง
โปรแกรมสำหรับการประมวลผลสัญญาณ ArduinoยL-63
สัญญาณเซ็นเซอร์จะถูกส่งไปยังขา 12 ของ Arduino
การตั้งค่าเป็นโมฆะ() (
อนุกรมเริ่มต้น(9600);
pinMode(12,อินพุต);
}
เป็นโมฆะวน() (
Serial.print("สัญญาณ: ");
Serial.println(digitalRead(12));
ล่าช้า (500);
}
เซ็นเซอร์ฝ่าอุปสรรค IR สำหรับรถยนต์หุ่นยนต์ YL-63 (FC-51)
โมดูลเซ็นเซอร์หลีกเลี่ยงอุปสรรครถสมาร์ทโมดูลหลอดอินฟราเรดเซ็นเซอร์โฟโตอิเล็กทริคสะท้อนแสง
เซ็นเซอร์แบบไม่สัมผัส YL-63 ตรวจจับวัตถุในช่วงระยะทางตั้งแต่เกือบศูนย์จนถึงขีดจำกัดที่ตั้งไว้โดยไม่ต้องสัมผัสโดยตรงกับวัตถุเหล่านั้น ผู้ผลิตแต่ละรายกำหนดชื่อที่แตกต่างกันให้กับอุปกรณ์เดียวกัน บางคนเรียกเซ็นเซอร์ที่นำเสนอว่า YL-63 และบางตัวเรียกเซ็นเซอร์ FC-51 เซ็นเซอร์มีจุดประสงค์เพื่อใช้เมื่อไม่ต้องการข้อมูลเกี่ยวกับระยะห่างจากวัตถุ แต่เฉพาะเกี่ยวกับการมีอยู่หรือไม่มีเท่านั้น ระยะการตรวจจับสูงสุดขึ้นอยู่กับการตั้งค่า เซ็นเซอร์ YL-63 มีเอาต์พุตแยกกัน นี่คือเซ็นเซอร์ออปติคอลที่บันทึกการเพิ่มขึ้นของความเข้มของรังสีอินฟราเรดที่สะท้อน (IR) ในพื้นที่ควบคุม การเปลี่ยนแปลงของรังสีสะท้อนเกิดขึ้นเนื่องจากการเคลื่อนตัวของกลไกหรือการเคลื่อนที่ของวัตถุรอบข้าง YL-63 สามารถวางบนวัตถุที่กำลังเคลื่อนที่เพื่อกำหนดตำแหน่งในพื้นที่โดยรอบ มันถูกใช้เพื่อตรวจจับสิ่งกีดขวางเมื่อเคลื่อนที่ด้วยล้อและติดตามยานพาหนะอัตโนมัติ เซ็นเซอร์สามารถกลายเป็นส่วนหนึ่งของเครื่องช่วยการมองเห็นสำหรับนักเรียนในด้านระบบควบคุมและระบบอัตโนมัติ
อุปกรณ์ประกอบด้วยแหล่งกำเนิดรังสีอินฟราเรดและเครื่องตรวจจับแสง รังสีจะสะท้อนจากสิ่งกีดขวางและบันทึกโดยเครื่องตรวจจับแสง จะส่งสัญญาณไปยังเครื่องเปรียบเทียบ LM393 ซึ่งได้รับการกำหนดค่าให้ทำงานในระดับความสว่างของเครื่องตรวจจับแสง เครื่องเปรียบเทียบจะสร้างสัญญาณที่เอาต์พุตของเซ็นเซอร์ YL-63 ที่ระดับลอจิกต่ำหรือสูง
ออปติคัลเซนเซอร์ YL-63 เป็นของคลาสการแพร่กระจาย ชื่อของกลุ่มเซ็นเซอร์เกิดขึ้นเนื่องจากการทำงานพื้นฐานของเซ็นเซอร์เพื่อการสะท้อนของรังสีในหลายทิศทาง - การแพร่กระจายของรังสีโดยพื้นผิวสะท้อนแสง
การทำงานของอุปกรณ์คือการกำหนดความสว่างของเครื่องตรวจจับแสง เนื่องจาก YL-63 ตรวจจับรังสีสะท้อน จึงมีข้อผิดพลาดในการวัดระยะทางที่เกิดจากการสะท้อนแสงที่แตกต่างกันของพื้นผิวของวัตถุที่ทำจากวัสดุหลากหลายชนิด
ค่าสัมประสิทธิ์ระยะห่างของการสะท้อนจากวัสดุต่างๆ
กระดาษเคลือบสีขาว | 1 |
ผ้าฝ้าย | 0,6 |
โพลีไวนิลคลอไรด์สีเทา | 0,57 |
ต้นไม้ | |
มีสีจางๆ | 0,73 |
ดิบ | 0,4 |
พลาสติก | |
สีขาว | 0,7 |
สีดำ | 0.22 |
ยางสีดำ | 0,2-0,15 |
อลูมิเนียมขัดเงา | 1,2 |
สแตนเลสขัดเงา | 2,3 |
การสะท้อนและการดูดกลืนรังสีที่แตกต่างกันจากวัสดุที่แตกต่างกันจะถูกนำมาใช้เพื่อควบคุมยูนิตตรวจจับมาตรวัดความเร็ว สมมติว่าเรามี คุณจำเป็นต้องรู้จำนวนรอบต่อนาทีของเพลามอเตอร์ YL-63 จะช่วยเราออก ก็เพียงพอที่จะติดกระดาษสีขาวบนมู่เล่แล้วส่งลำแสงเซ็นเซอร์ไปที่มู่เล่แล้วเราจะได้หน่วยตรวจจับมาตรวัดความเร็ว
เพื่อลดผลกระทบจากการรบกวนต่างๆ ไมโครคอนโทรลเลอร์ที่ประมวลผลจะรวบรวมข้อมูลที่ได้รับจากเซ็นเซอร์ในช่วงเวลาสั้นๆ และทำการหาค่าเฉลี่ย เซ็นเซอร์ YL-63 สามารถทำงานในอุปกรณ์ที่ไม่มีไมโครคอนโทรลเลอร์ได้
ตัวเลือก
แรงดันไฟจ่าย 3.3-5 V
ระยะการตรวจจับถึงระนาบเคลือบสีขาวสะท้อนแสง 0.02-0.3 ม
มุมการตรวจจับ 35°
ขนาด 43 x 16 x 7 มม
รายชื่อผู้ติดต่อ
เซ็นเซอร์สิ่งกีดขวาง YL-63 หรือที่เรียกว่า FC-51 มีปลั๊กขั้วต่อสามพิน:
VCC - แหล่งจ่ายไฟ
GND - สายสามัญ
ออก - เอาท์พุต
ตัวชี้วัด
มีตัวบ่งชี้สองตัวบนบอร์ดโมดูล แสงสีเขียวแสดงว่าเปิดเครื่องอยู่ ไฟ LED สีแดงจะสว่างขึ้นหากมีวัตถุอยู่ในโซนการตรวจจับ
การตั้งค่าระยะการตรวจจับ
การตั้งค่าอุปกรณ์นั้นอำนวยความสะดวกด้วยตัวบ่งชี้การตรวจจับ ซึ่งช่วยให้คุณสามารถกำหนดค่า YL-63 หรือที่รู้จักในชื่อ FC-51 ให้ทำงานในสภาวะจริงได้ การตั้งค่าความไวของเซ็นเซอร์ทำได้โดยใช้ตัวต้านทานแบบปรับได้ที่ติดตั้งอยู่บนบอร์ด สิ่งกีดขวางได้รับการติดตั้งตามระยะห่างที่ต้องการจากอุปกรณ์ถ่ายภาพของเซ็นเซอร์ ด้วยการหมุนหน้าสัมผัสเคลื่อนที่ของตัวต้านทานแบบแปรผันบนบอร์ดโมดูล YL-63 คุณจะตั้งค่าระยะตอบสนองและเปิดไฟ LED สีแดง จากนั้นตรวจสอบระยะการตรวจจับโดยการเคลื่อนย้ายวัตถุสะท้อนแสง การตั้งค่าซ้ำอย่างน้อยสามครั้ง
โปรแกรมสำหรับการประมวลผลสัญญาณ ArduinoยL-63
สัญญาณเซ็นเซอร์จะถูกส่งไปยังขา 12 ของ Arduino
การตั้งค่าเป็นโมฆะ() (
อนุกรมเริ่มต้น(9600);
pinMode(12,อินพุต);
}
เป็นโมฆะวน() (
Serial.print("สัญญาณ: ");
Serial.println(digitalRead(12));
ล่าช้า (500);
}
ง่ายที่สุด เซ็นเซอร์อินฟราเรดซึ่งจะรายงานสิ่งกีดขวางสามารถทำได้ด้วยทรานซิสเตอร์เพียงตัวเดียว ผลิตภัณฑ์โฮมเมดชิ้นนี้น่าจะไม่มีเลย การประยุกต์ใช้จริงแต่เป็นเชิงทฤษฎี เป็นการสาธิตการทำงานของเซ็นเซอร์สิ่งกีดขวางอินฟราเรด แน่นอนว่าไม่มีใครสนใจที่จะประยุกต์ใช้งานจริง เช่น เมื่อสร้างหุ่นยนต์ธรรมดาๆ
วงจรเซ็นเซอร์สิ่งกีดขวางอินฟราเรด
การทำงานของวงจรนั้นง่ายมาก LED อินฟราเรดปล่อยรังสีอินฟราเรดในสเปกตรัมที่ตามนุษย์มองไม่เห็น หากวัตถุปรากฏขึ้นในเส้นทางการแผ่รังสีแล้ว รังสีอินฟราเรดเริ่มสะท้อนจากวัตถุแล้วกลับมาทาง LED องค์ประกอบภาพถ่ายอินฟราเรด (โฟโตไดโอด IR) ทำหน้าที่เป็นกับดักรังสีเหล่านี้ เมื่อรังสีสะท้อนกระทบ ความต้านทานจะลดลง เป็นผลให้กระแสไฟฟ้าในวงจรฐานของทรานซิสเตอร์เพิ่มขึ้นและทรานซิสเตอร์จะเปิดขึ้น โหลดของทรานซิสเตอร์เป็นไฟ LED สีฟ้าซึ่งเริ่มเรืองแสง คุณสามารถเชื่อมต่อออดเข้ากับเอาต์พุตและฟังสัญญาณเสียงได้หากไม่มีสิ่งกีดขวางเซ็นเซอร์ รังสีจะไม่สะท้อนและทรานซิสเตอร์จะไม่เปิด
คุณสามารถใช้ทรานซิสเตอร์ที่มีโครงสร้างเดียวกันได้คุณสามารถใช้โซเวียต KT315 หรือ KT3102 ได้
ชุดเซ็นเซอร์
ประกอบวงจรแล้ว ติดผนัง- ไม่จำเป็นต้องตั้งค่า - ใช้งานได้ทันที ฉันใช้พลังงานจากแบตเตอรี่ 3.7 Vเซ็นเซอร์อินฟราเรดถูกใช้โดยเครื่องดูดฝุ่นหุ่นยนต์ ระบบต่างๆการควบคุมเครื่องพิมพ์แบบปกติจะมีสองสามอย่างนี้หรือมากกว่านั้นเป็นต้น
อุปกรณ์นี้เป็นเซ็นเซอร์สิ่งกีดขวางแบบดิจิทัลอย่างง่าย ซึ่งนำทางโดยรังสีอินฟราเรดที่สะท้อน เซ็นเซอร์นี้ซื้อจาก Aliexpress หลักการทำงานคล้ายกับโครงการที่เพิ่งพิจารณาไป
เซ็นเซอร์อินฟราเรดอุปสรรคที่ซื้อจากอาลี
การออกแบบและพารามิเตอร์
โครงสร้างเซ็นเซอร์คือ แผงวงจรพิมพ์กระดานขนาด 31 x 14 มม. มีรูสำหรับยึดหนึ่งรู
เซ็นเซอร์อุปสรรคอินฟราเรด - แผงวงจรพิมพ์
น้ำหนักของเซ็นเซอร์คือ 2.7 กรัม สำหรับการจ่ายไฟและการส่งข้อมูลเซ็นเซอร์จะมีขั้วต่อสามพินซึ่งมีหมุดทำเครื่องหมายไว้
ขั้วต่อการเชื่อมต่อเซ็นเซอร์สามพิน
- อุปกรณ์ใช้พลังงานจากแรงดันไฟฟ้าคงที่ในช่วง 3.3 ถึง 5 V การใช้กระแสไฟฟ้าคือ 25 mA ที่แรงดันไฟฟ้า 3.3 V และ 40 mA ที่แรงดันไฟฟ้า 5 V
เซ็นเซอร์ประกอบด้วยไฟ LED อินฟราเรดและตัวตรวจจับแสง การมีสิ่งกีดขวางถูกกำหนดโดยความเข้มของการสะท้อน รังสีอินฟราเรด- ด้วยการใช้ตัวต้านทานการตัดแต่งบนบอร์ดเซ็นเซอร์ คุณสามารถตั้งค่าความไวที่ต้องการของอุปกรณ์ได้ ตามที่ผู้ผลิตระบุว่าเซ็นเซอร์ตอบสนองต่อสิ่งกีดขวางในช่วง 2 ถึง 30 ซม. มุมมองของเซ็นเซอร์คือ 35 องศา ผู้เขียนสามารถปรับเซ็นเซอร์ให้เข้ากับสิ่งกีดขวางได้ในระยะ 3-8 ซม. แม้ว่าปัญหาอาจเป็นเพราะทดสอบเซ็นเซอร์เพียงตัวเดียวเท่านั้น และนอกจากนี้ มุมมองของเซ็นเซอร์ยังค่อนข้างกว้างจริงๆ ก็ไม่ควรลืมเช่นกัน พื้นผิวต่างๆสะท้อนรังสีอินฟราเรดแตกต่างกัน โดยพื้นผิวที่ “แวววาว” ในช่วงนี้จะถูกตรวจจับจากระยะไกลมากกว่าที่มืด ไม่ว่าในกรณีใด เซ็นเซอร์นี้คือ "อาวุธระยะประชิด"
เซ็นเซอร์ฝ่าอุปสรรค IR - ขนาดบอร์ด
เมื่อสิ่งกีดขวางปรากฏขึ้นในมุมมองของเซนเซอร์ สัญญาณตรรกะศูนย์จะถูกตั้งค่าที่เอาต์พุตข้อมูล หากไม่มีสิ่งกีดขวางในมุมมอง แสดงว่าสัญญาณเอาท์พุตเป็นสัญญาณลอจิคัล บนแผงเซ็นเซอร์มีไฟ LED สองดวง หนึ่งดวงเป็นไฟแสดงสถานะ และอีกดวงเป็นตัวบ่งชี้การตอบสนองของเซ็นเซอร์ ซึ่งจะสว่างขึ้นเมื่อมีสิ่งกีดขวางปรากฏขึ้นในบริเวณที่มองเห็นได้
การเชื่อมต่อกับ Arduino
ตามที่ผู้ขายระบุว่าเซ็นเซอร์ได้รับการปรับให้เหมาะกับ Arduino โดยคำนึงถึงความสมบูรณ์ของสิ่งนั้น อุปกรณ์ง่ายๆการบ่งชี้และการทำเครื่องหมายใคร ๆ ก็เห็นด้วยกับสิ่งนี้ได้อย่างง่ายดาย
เซ็นเซอร์สิ่งกีดขวาง IR พร้อม Arduino
สำหรับตัวอย่างวิธีที่เซ็นเซอร์โต้ตอบกับแพลตฟอร์ม Arduino คุณสามารถใช้โปรแกรมที่ให้ไฟ LED ที่เชื่อมต่อกับพอร์ตดิจิทัล 13 ได้โดยกดปุ่มที่เชื่อมต่อกับพอร์ตดิจิทัล 12 ของบอร์ด Arduino UNO โปรแกรมนี้นำมาจากเว็บไซต์ robocraft.ru
/*
* ไฟ LED พร้อมปุ่ม
*/int ledPin = 13; // นำ
int btnPin = 12; // ปุ่ม
int วาล=0;การตั้งค่าเป็นโมฆะ ()
{
pinMode(ledPin, เอาท์พุต); // นี่คือเอาต์พุต - LED
pinMode(btnPin, อินพุต); // และนี่คือปุ่มอินพุต
อนุกรมเริ่มต้น(9600); // เราจะเขียนไปที่พอร์ต COM
}เป็นโมฆะวน()
{
val = digitalRead(btnPin); // ค้นหาสถานะของปุ่ม
if(val==HIGH) // กดปุ่ม
{
digitalWrite (ledPin, สูง); // เปิดไฟ LED
Serial.println("H");
}
else // ไม่ได้กดปุ่ม
{
digitalWrite (ledPin, ต่ำ); // ปิดไฟ LED
Serial.println("L");
}
ล่าช้า(100);
}
ในกรณีนี้ เซ็นเซอร์จะเชื่อมต่อแทนปุ่ม หลังจากโหลดโปรแกรมลงในหน่วยความจำของไมโครคอนโทรลเลอร์แล้ว คุณสามารถทดลองใช้โหมดการทำงานต่างๆ ของเซ็นเซอร์ได้
สรุปการซื้อ
โดยรวมแล้วเป็นเซ็นเซอร์ราคาถูกที่ดีสำหรับระบบควบคุมแบบสัมผัสและระบบกำหนดทิศทางของหุ่นยนต์ ในกรณีหลังนี้ อาจมีทางเลือกอื่นหรือส่วนเสริมสำหรับลิมิตสวิตช์ที่จะเริ่มทำงานเมื่อหุ่นยนต์สัมผัสกับสิ่งกีดขวาง คุ้มค่าเงินมาก เดเนฟ
หุ่นยนต์ทุกตัวที่สามารถขับเคลื่อน บิน หรือว่ายน้ำได้จะต้องสามารถมองเห็นสิ่งกีดขวางที่ขวางทางได้ เพื่อให้หุ่นยนต์ทำเช่นนี้ได้ จำเป็นต้องมีเซ็นเซอร์ที่เหมาะสม ใน วรรณคดีอังกฤษอุปกรณ์ดังกล่าวเรียกว่า เซ็นเซอร์ความใกล้ชิดเราจะเรียกพวกมันว่าเซ็นเซอร์สิ่งกีดขวาง ในบทนี้ เราจะดูเซ็นเซอร์สิ่งกีดขวางที่พบบ่อยที่สุดตัวหนึ่ง ซึ่งทำงานบนหลักการสะท้อนกลับ มันถูกออกแบบมาอย่างเรียบง่ายมาก เซ็นเซอร์ประกอบด้วยแหล่งกำเนิดแสงแบบกำหนดทิศทางและเครื่องตรวจจับแสง แหล่งกำเนิดมักเป็น LED อินฟราเรดพร้อมเลนส์ และตัวตรวจจับคือโฟโตไดโอดหรือโฟโตทรานซิสเตอร์ ไฟ LED บนเซ็นเซอร์จะเปิดตลอดเวลาและปล่อยลำแสงแคบไปในทิศทางไปข้างหน้า หากมีสิ่งกีดขวางด้านหน้าเซ็นเซอร์ (รูปที่ A) แสงที่สะท้อนจากแหล่งกำเนิดจะกระทบกับเครื่องตรวจจับ และพัลส์บวกจะปรากฏขึ้นที่เอาต์พุตเซ็นเซอร์ มิฉะนั้นหากไม่มีสิ่งกีดขวางเซ็นเซอร์ก็จะเงียบ (รูป B) มีตัวเลือกที่สาม เมื่อมีสิ่งกีดขวาง แต่ไม่มีแสงสะท้อนออกมา! รูปที่ B แสดงกรณีดังกล่าว ปรากฎว่าหุ่นยนต์จะไม่เห็นพื้นผิวสีดำด้าน
1. การเชื่อมต่อ
เราจะเชื่อมต่อเซ็นเซอร์ที่ง่ายที่สุดกับเอาต์พุตดิจิทัล แผนผังของการเชื่อมต่อกับเทอร์มินัล อาร์ดูโน่ อูโน่:ลักษณะเค้าโครง
2. การตั้งค่าความไว
ดังที่คุณทราบ มีแหล่งกำเนิดรังสีอินฟราเรดมากมายรอบตัวเรา รวมถึงโคมไฟและดวงอาทิตย์ด้วย องค์ประกอบไวแสงของเซ็นเซอร์ตรวจจับรังสีพื้นหลังนี้และอาจส่งสัญญาณเตือนที่ผิดพลาด กล่าวอีกนัยหนึ่ง เซ็นเซอร์สิ่งกีดขวางสามารถทำงานได้เมื่อไม่มีสิ่งกีดขวางเลย เพื่อแก้ไขปัญหานี้ เซ็นเซอร์สามารถปรับความไวเพื่อให้ตรวจจับได้เฉพาะแสงที่มีความแรงเพียงพอเท่านั้น โดยปกติจะทำได้สำเร็จโดยใช้เครื่องเปรียบเทียบ ซึ่งเป็นอุปกรณ์อิเล็กทรอนิกส์ที่ให้คุณเปรียบเทียบระดับแรงดันไฟฟ้าสองระดับได้ แรงดันไฟฟ้าหนึ่งถูกส่งไปยังเครื่องเปรียบเทียบจากโฟโตไดโอดและอีกแรงดันไฟฟ้าหนึ่งจากตัวแบ่งแรงดันไฟฟ้าโดยใช้โพเทนชิออมิเตอร์ เราจะเรียกแรงดันไฟฟ้าที่สอง เกณฑ์- ตอนนี้เซ็นเซอร์จะให้สัญญาณบวกเฉพาะเมื่อแรงดันไฟฟ้าบนโฟโตไดโอดมากกว่าที่เราตั้งไว้ ในการตั้งค่าแรงดันไฟฟ้าตามเกณฑ์ เราต้องใช้ไขควงปากแบน (หรือที่เรียกว่าไขควงหัวแบน) นอกจากนี้เรายังจะได้รับความช่วยเหลือในขั้นตอนนี้ด้วยไฟ LED แสดงสถานะสีเขียวซึ่งจะสว่างขึ้นเมื่อเซ็นเซอร์ตรวจจับแสงอินฟราเรดในระดับที่เพียงพอ อัลกอริธึมการตั้งค่ามีสามขั้นตอน:- เราวางเซ็นเซอร์ไว้ในสภาพแสงที่จะใช้งาน
- เชื่อมต่อเซ็นเซอร์เข้ากับแหล่งจ่ายไฟและไฟ LED สีแดงที่เซ็นเซอร์จะสว่างขึ้น
- กำจัดสิ่งกีดขวางทั้งหมดที่ด้านหน้าเซ็นเซอร์แล้วหมุนโพเทนชิออมิเตอร์จนกระทั่งไฟ LED แสดงสถานะสีเขียวดับลง
3. โปรแกรม
เช่นเราจะเปิดปิดไฟ LED มาตรฐานเบอร์ 13 อาร์ดูโน่ อูโน่ขึ้นอยู่กับการอ่านเซ็นเซอร์ เมื่อใช้เซ็นเซอร์ดิจิตอลโปรแกรมจะเหมือนกับในกรณีที่ใช้งานปุ่มต่างๆ ในการวนซ้ำแต่ละครั้ง วนซ้ำเราอ่านค่าที่พิน #2 แล้วเปรียบเทียบค่านี้กับระดับ สูง- ถ้ามีค่าเป็น สูงซึ่งหมายความว่าเซ็นเซอร์มองเห็นสิ่งกีดขวางและเราเปิดไฟ LED ที่พินหมายเลข 13 มิฉะนั้นเราจะปิด LEDconst int prx_pin = 2; const int led_pin = 13; ไบต์วี; การตั้งค่าเป็นโมฆะ () ( pinMode (prx_pin, INPUT); pinMode (led_pin, OUTPUT); ) void loop () ( v = digitalRead (prx_pin); if (v == HIGH) digitalWrite (led_pin, HIGH); else digitalWrite (led_pin) , ต่ำ);
4. ตัวอย่างการใช้งาน ตอนนี้เรามาลองใช้เซ็นเซอร์ดิจิตอลตามวัตถุประสงค์กันดีกว่า มาทำให้หุ่นยนต์สองล้อตอบสนองต่อการอ่านเซ็นเซอร์สองตัวที่อยู่ทางซ้ายและขวากัน วนซ้ำ.ตรวจสอบให้แน่ใจว่าเมื่อตรวจพบสิ่งกีดขวาง หุ่นยนต์จะหันเหไปในทิศทางตรงกันข้าม จากนั้นจึงเคลื่อนที่ไปข้างหน้าต่อไป เรามาจัดโปรแกรมให้อยู่ในรูปแบบ Flowchart ของขั้นตอนกัน
เควส- หากทุกอย่างเรียบร้อยดี ให้ลองทำงานบางอย่างกับหุ่นยนต์ให้สำเร็จ
- ชี้เซ็นเซอร์สิ่งกีดขวางลงเพื่อให้หุ่นยนต์สามารถตรวจจับขอบโต๊ะได้ เขียนโปรแกรมป้องกันหุ่นยนต์ตกจากโต๊ะ
- ชี้เซ็นเซอร์ลงอีกครั้ง แต่คราวนี้มีจุดประสงค์อื่น ตามที่เราค้นพบ เซ็นเซอร์สามารถแยกแยะพื้นผิวสีดำจากพื้นผิวสีขาวได้ ใช้คุณสมบัตินี้เพื่อสร้างตัวติดตามหุ่นยนต์ (หรือที่เรียกว่า LineFollower)