การเชื่อมต่อเซ็นเซอร์สิ่งกีดขวางกับ Arduino เซ็นเซอร์อินฟราเรดอย่างง่าย การตั้งค่าระยะการตรวจจับ

ในการทบทวนนี้ เราจะตรวจสอบและทดสอบโมดูลเซ็นเซอร์สิ่งกีดขวางอินฟราเรดที่กำหนด MH-B โมดูลนี้สร้างขึ้นจากเครื่องเปรียบเทียบคู่ LM393

มีการสั่งซื้อในร้านค้าออนไลน์ของจีน Aliexpress เซ็นเซอร์มีราคาประมาณ 20 รูเบิล:

สินค้าถูกส่งไปยังจอร์เจียโดยไม่เสียค่าใช้จ่ายโดย บริษัท "4PX สิงคโปร์โพสต์ OM Pro" ในแพ็คเกจมาตรฐาน:

แผงโมดูลถูกปิดผนึกอย่างแน่นหนาในถุงป้องกันไฟฟ้าสถิตและห่อด้วยโพลีเอทิลีนที่มีสิว:

ที่ด้านหนึ่งของบอร์ดมีหมุดสำหรับจ่ายพลังงานและถอดสัญญาณและที่ด้านตรงข้ามมีการติดตั้ง LED อินฟราเรดและโฟโตไดโอดขนานกันซึ่งจะต้องมุ่งตรงไปยังสิ่งกีดขวางเพื่อตรวจสอบการมีอยู่:

ผู้ติดต่อทั้งหมดได้รับการลงนามและจะง่ายมากในการเชื่อมต่อกับโมดูล:

  • VCC มาพร้อมกับแรงดันไฟฟ้า
  • พิน GND - ทั่วไป;
  • สัญญาณจะถูกลบออกจากขา OUT

ในอีกด้านหนึ่งของกระดานจะมีข้อความ +OUT แต่นี่ไม่เป็นความจริงทั้งหมด และเราจะพูดถึงเรื่องนี้ในภายหลัง:

นอกจากวงจรไมโครและ LED ที่มีโฟโตไดโอดที่ทำจากองค์ประกอบวิทยุแล้ว โมดูลนี้ยังมี:

  • ไฟ LED แสดงสถานะพลังงาน;
  • ไฟ LED แสดงสถานะสัญญาณ;
  • ตัวต้านทานดับ 1 kOhm สองตัวสำหรับ LED;
  • ตัวต้านทานดับไฟ LED อินฟราเรด 100 โอห์ม
  • ตัวต้านทานไบแอส 10 kOhm สองตัว;
  • ตัวต้านทานทริมเมอร์ 10 kOhm
  • ตัวเก็บประจุบายพาส 0.1 µF สองตัว;

ดังที่ได้กล่าวไปแล้ว โมดูลนี้ใช้ตัวเปรียบเทียบคู่ LM393 มาดูเอกสารประกอบของชิปนี้โดยย่อ:

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

  • ช่วงพลังงานกว้าง กระแสตรงแหล่งเดียว (2.0V ถึง 36V);
  • ช่วงแหล่งจ่ายไฟแบบไบโพลาร์ตั้งแต่ 1.0 V ถึง 18 V DC;
  • กระแสไฟนิ่งต่ำมาก โดยไม่ขึ้นอยู่กับแรงดันไฟฟ้า (0.4 mA)
  • กระแสไบแอสอินพุตโหมดทั่วไปต่ำ (25 nA);
  • กระแสไบแอสอินพุตส่วนต่างต่ำ (5nA);
  • แรงดันไฟฟ้าออฟเซ็ตอินพุตต่ำ (สูงสุด 5.0mV);
  • แรงดันไฟฟ้าอินพุตดิฟเฟอเรนเชียลเท่ากับแรงดันไฟฟ้า
  • แรงดันไฟฟ้าขาออกเข้ากันได้กับระดับลอจิก DTL, ECL, TTL, MOS และ CMOS;
  • อุณหภูมิ สิ่งแวดล้อมตั้งแต่ 0°C ถึง 70°C

Microcircuit มีแปดพิน โดยสองตัวเป็นแบบร่วม (4) และบวกกำลัง (8) อีกสองเอาต์พุต: 1 - เอาต์พุตของตัวเปรียบเทียบ A, 7 - เอาต์พุตของตัวเปรียบเทียบ B พิน 2 และ 3 ตามลำดับเป็นค่าผกผันและ อินพุตโดยตรงของตัวเปรียบเทียบ A และพิน 5 และ 6 ตามลำดับ อินพุตตรงและผกผันของตัวเปรียบเทียบ B ฉันยังนำเสนอวงจรภายในของหนึ่งในตัวเปรียบเทียบ:

ดังที่เห็นได้จากแผนภาพ เอาต์พุตของตัวเปรียบเทียบเป็นแบบคาสเคดที่ใช้ทรานซิสเตอร์แบบโอเพ่นคอลเลกเตอร์

โมดูลที่ประกอบทั้งหมดมีความยาวไม่เกินก้านไม้ขีดไฟและสามารถใส่ในพื้นที่ขนาดเล็กได้อย่างง่ายดาย:

มาดูการตรวจสอบกันดีกว่าและเราต้องการ:

  1. ขั้วต่อสำหรับเชื่อมต่อกับหมุดโมดูล
  2. ตัวต้านทานจำกัดกระแสสำหรับ LED ที่มีความต้านทาน 220 โอห์ม
  3. และแน่นอนว่าโมดูลนั้นเอง

เราจะตรวจสอบให้มากที่สุด ด้วยวิธีง่ายๆโดยไม่มีตัวควบคุมใด ๆ และเราจะเชื่อมต่อทั้งหมดนี้ตามรูปแบบต่อไปนี้:

คำอธิบายของโมดูลบอกว่ามันจะทำงานที่แรงดันไฟฟ้าตั้งแต่ 3 V ถึง 5 V และเราจะทดสอบด้วยแรงดันไฟฟ้า 5 V ฉันต้องการทราบคุณสมบัติหนึ่งประการ - ในตอนแรกฉันบอกว่าพินเอาท์พุตมีป้ายกำกับว่า +OUT และนี่ไม่เป็นความจริงทั้งหมด จากวงจรภายในของตัวเปรียบเทียบที่ประกอบโมดูลเป็นที่ชัดเจนว่าตัวสะสมของทรานซิสเตอร์เอาต์พุตไม่ได้เชื่อมต่ออยู่ที่ใดและไม่สามารถมี "+" อยู่ได้แม้ว่าจะติดตั้งตัวต้านทานไบแอส 10 kOhm บนโมดูลแล้วก็ตาม บอร์ดระหว่างเอาต์พุตและแหล่งจ่ายไฟบวก แต่ในบางกรณีอาจไม่เพียงพอและในกรณีนี้ปรากฎว่าเอาต์พุตทำงานผกผัน: เมื่อเซ็นเซอร์ถูกกระตุ้น เอาต์พุตจะเป็นตรรกะ "0" สิ่งนี้จะต้องนำมาพิจารณาเมื่อออกแบบงานฝีมือบางอย่าง ตอนแรกฉันยังคงเชื่อคำจารึกบนบอร์ดและเชื่อมต่อ LED ระหว่างเอาต์พุตกับสายไฟทั่วไป แต่ LED เริ่มเรืองแสงทันทีเมื่อมีการจ่ายไฟโดยไม่มีสิ่งกีดขวางที่ด้านหน้าโมดูลและระหว่างการทำงานเมื่อมีสิ่งกีดขวาง ถูกนำเข้ามาในระยะ 3 ซม. มันออกไปตรงกันข้าม:

ฉันต้องเชื่อมต่อ LED ระหว่างเอาต์พุตและแหล่งจ่ายไฟที่เป็นบวก เรารวบรวม โครงการที่ถูกต้องและใช้แรงดันไฟฟ้า:

เราเห็นว่าหากไม่มีสิ่งกีดขวาง LED จะไม่สว่างขึ้น

เราวัดกระแสและดูว่าหากไม่มีสิ่งกีดขวางในโหมดพัก ปริมาณการใช้กระแสไฟคือ 36 mA:

หลังจากการทริกเกอร์ ไฟ LED ที่ระบุว่ามีสัญญาณจะสว่างขึ้นและการสิ้นเปลืองกระแสไฟจะเพิ่มขึ้นเป็น 47 mA:

ด้วยการเปลี่ยนความต้านทานของตัวต้านทานแบบทริมมิง ฉันจึงวัดระยะการตอบสนองขั้นต่ำและสูงสุดที่เป็นไปได้ของเซ็นเซอร์ได้อย่างเสถียร เมื่อแกนของตัวต้านทานทริมเมอร์หมุนทวนเข็มนาฬิกา ระยะตอบสนองจะลดลง และระยะห่างต่ำสุดที่เป็นไปได้คือ 1 ซม.:

เมื่อหมุนแกนของตัวต้านทานทริมเมอร์ตามเข็มนาฬิกา ระยะการตอบสนองของเซ็นเซอร์จะเพิ่มขึ้น และระยะการตอบสนองของเซ็นเซอร์ที่เชื่อถือได้สูงสุดคือประมาณ 12 ซม.

หุ่นยนต์ที่ขับเคลื่อนด้วยตัวเองเกือบทุกตัวมีเซ็นเซอร์ดังกล่าว พวกนี้เป็นดวงตาแบบหุ่นยนต์ เซ็นเซอร์ทำงานบนหลักการเรดาร์ - ส่งและรับแสง IR LED ปล่อยรังสีอินฟราเรดซึ่งเมื่อสะท้อนจากสิ่งกีดขวางจะกระทบกับตัวรับรังสี IR TSOP1736 ซึ่งสร้างสัญญาณเอาท์พุต ระดับต่ำซึ่งแสดงว่ามีสัญญาณ หากไม่มีสิ่งกีดขวางรังสีก็จะไม่ไปไหนและไม่มีการสะท้อน แต่ตัวรับรังสี IR จะไม่เห็นอะไรเลย

โดยทั่วไปแนวคิดนี้ง่ายมาก แต่มีรายละเอียดปลีกย่อยหลายประการ ประการแรกเครื่องรับรังสีอินฟราเรดตอบสนองต่อพัลส์ความถี่ที่แน่นอนเท่านั้นความถี่จะถูกระบุด้วยตัวเลขสองหลักสุดท้ายของการกำหนด TSOP - 1736 - 36 KHz, 1738 - 38 KHz เหล่านั้น. ในการควบคุม LED (เอาต์พุตเซ็นเซอร์) คุณต้องใช้พัลส์ที่ความถี่รับ TSOP ทุกประการ สามารถทำได้ทั้งในซอฟต์แวร์หรือใช้โมดูล PWM ของไมโครคอนโทรลเลอร์ควบคุมหรือสามารถทำได้ในฮาร์ดแวร์โดยการประกอบเครื่องกำเนิดไฟฟ้าตามความถี่ที่ต้องการเช่นบนตัวจับเวลา 555 โดยส่วนตัวแล้วฉันใช้โมดูลไมโครคอนโทรลเลอร์ PWM เพื่อควบคุม IR ไดโอด เพื่อให้เซ็นเซอร์ตอบสนองต่อสัญญาณ เป็นการดีที่สุดที่จะส่งพัลส์ 8-15 แพ็คไปที่ LED จากนั้นตรวจสอบสถานะของตัวรับสัญญาณ IR ทันที หากเอาต์พุตของมันคือ log.0 นั่นคือมีสิ่งกีดขวาง คุณต้องทำการซ้อมรบ ถึงกระนั้น ตัวกรองตัวรับ IR สามารถปรับภายในขอบเขตเล็กน้อยของสัญญาณ IR ที่ได้รับ สิ่งนี้ไม่ได้บันทึกไว้ที่ใดเลย แต่เป็นเรื่องจริง ดังนั้นจึงไม่จำเป็นต้องรักษา 36 KHz อย่างแน่นอน ก็เพียงพอที่จะตั้งค่าความถี่ปิด (เช่น 35750 Hz) และให้จำนวนพัลส์ที่เพียงพอเพื่อให้ TSOP สามารถปรับให้เข้ากับพวกมันและมีเวลาตอบสนอง โดยปกติ 10- ให้ 15 พัลส์

พิน TSOP มีตัวสะสมแบบเปิด เมื่อได้รับสัญญาณ พินจะต่ำลง หากเอาต์พุตเซ็นเซอร์เชื่อมต่อกับพอร์ตตัวควบคุมที่มีตัวต้านทานแบบดึงขึ้นในตัว ก็ไม่จำเป็นต้องใช้ตัวต้านทาน R2 ในวงจร

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

อุปกรณ์นี้ใช้พลังงานจากแรงดันไฟฟ้า 5 โวลต์ (ฉันมีแบตเตอรี่ NI-MH ขนาด 4.8 โวลต์)

ตัวอย่างการตั้งค่าโมดูล PWM 36 KHz สำหรับไมโครคอนโทรลเลอร์ รูป
เคลื่อนย้าย d"14"
movwf CCPR1L ;กำหนดระยะเวลา 50%
movlw b"00001111"
movwf CCP1CON ; เปิดใช้งาน PWM
สถานะ bsf,RP0 ;ธนาคาร 1
การเคลื่อนไหว d"27" ;ความถี่ PWM ประมาณ 36KHz (สำหรับ TSOP1736)
movwf PR2
สถานะ bcf, RP0 ; ธนาคาร 0
clrf TMR2
movlw b"00000100" ;เปิดใช้งานโมดูล PWM
movwf T2CON และตั้งเวลา TMR2 เพื่อให้ PWM ทำงาน

ภาพรวมของเซ็นเซอร์สิ่งกีดขวาง YL-63

ดิจิทัล เซ็นเซอร์อินฟราเรดอุปกรณ์หลีกเลี่ยงสิ่งกีดขวาง YL-63 (หรือ FC-51) (รูปที่ 1) จะใช้เมื่อจำเป็นต้องระบุการมีอยู่ของวัตถุ แต่ไม่จำเป็นต้องทราบระยะห่างที่แน่นอนจากวัตถุ เซ็นเซอร์ประกอบด้วย ตัวปล่อยอินฟราเรดและเครื่องตรวจจับแสง แหล่งกำเนิด IR ปล่อยคลื่นอินฟราเรด ซึ่งสะท้อนจากสิ่งกีดขวางและบันทึกโดยเครื่องตรวจจับแสง เซ็นเซอร์ตรวจจับสิ่งกีดขวางภายในช่วงระยะทางตั้งแต่ศูนย์ถึงขีดจำกัดที่ตั้งไว้ มันถูกสร้างขึ้นบนพื้นฐานของตัวเปรียบเทียบ LM393 ซึ่งจ่ายแรงดันเอาต์พุตตามหลักการ: ตรวจพบสิ่งกีดขวาง - ระดับลอจิคัลสูง, ตรวจไม่พบ - ระดับลอจิคัล ต่ำ, สถานะนี้ยังระบุด้วย LED สีแดงที่อยู่บนเซ็นเซอร์ ค่าเกณฑ์ขึ้นอยู่กับการตั้งค่าเซ็นเซอร์และปรับโดยใช้โพเทนชิออมิเตอร์ที่ติดตั้งบนโมดูล มีการติดตั้ง LED สีเขียวบนเซ็นเซอร์เพื่อระบุพลังงาน เซ็นเซอร์ใช้ในวิทยาการหุ่นยนต์เพื่อตรวจจับสิ่งกีดขวางเมื่อเคลื่อนย้ายหุ่นยนต์ที่มีล้อหรือติดตาม

ลักษณะทางเทคนิคของเซ็นเซอร์สิ่งกีดขวาง YL-63

  • รุ่น: YL-63 (หรือ FC-51)
  • แรงดันไฟฟ้า: 3.3–5 V
  • ประเภทเซนเซอร์: การแพร่กระจาย
  • เครื่องเปรียบเทียบ: LM393
  • ระยะการตรวจจับสิ่งกีดขวาง: 2 – 30 ซม
  • มุมตรวจจับสิ่งกีดขวางที่มีประสิทธิภาพ: 35°
  • โพเทนชิออมิเตอร์เพื่อเปลี่ยนความไว
  • ไฟ LED เพาเวอร์
  • ไฟ LED แสดงสถานะการทำงาน
  • ขนาด: 43 x 16 x 7 มม

การเชื่อมต่อ YL-63 กับ Arduino

โมดูลมี 3 เอาต์พุต:
  • VCC - แหล่งจ่ายไฟ 3-5 V;
  • GND - กราวด์;
  • ออก - เอาต์พุตดิจิตอล
มาเชื่อมต่อเซ็นเซอร์เข้ากับบอร์ด Arduino (แผนภาพการเชื่อมต่อในรูปที่ 1) และเขียนภาพร่างง่ายๆ ที่ส่งสัญญาณการมีอยู่ของสิ่งกีดขวางด้วยสัญญาณเสียง มาอัปโหลดภาพร่างจากรายการที่ 1 ไปยังบอร์ด Arduino และดูว่าเซ็นเซอร์ตอบสนองต่อสิ่งกีดขวางอย่างไร (ดูรูปที่ 2)

รูปที่ 1 แผนภาพการเชื่อมต่อสำหรับเชื่อมต่อเซ็นเซอร์ YL-63 เข้ากับบอร์ด Arduino

มาอัปโหลดภาพร่างจากรายการที่ 1 ไปยังบอร์ด Arduino และดูว่าเซ็นเซอร์ตอบสนองต่อสิ่งกีดขวางอย่างไร (ดูรูปที่ 3) รายการ 1 // ร่างรีวิวเซ็นเซอร์สิ่งกีดขวาง YL-63 // http:// http://3d-diy.ru // หน้าสัมผัสสำหรับเชื่อมต่อเอาต์พุตเซ็นเซอร์ #define PIN_YL63 5 // ข้อมูลจากเซ็นเซอร์ Y63 #define สิ่งกีดขวาง digitalRead (PIN_YL63) การตั้งค่าเป็นโมฆะ () ( // การเริ่มต้นพอร์ตอนุกรม Serial.begin (9600); // ตั้งค่าพินการเชื่อมต่อเซ็นเซอร์เป็น INTPUT pinMode (PIN_YL63, INTPUT); ) void loop () ( ถ้า (สิ่งกีดขวาง == 1) ( Serial.println ("BARRIER!!!"); // โซนการตรวจจับอุปสรรคในขณะที่ (สิ่งกีดขวาง == 1) // กำลังรอทางออก (;) ) อื่น ๆ ( Serial.println ("ไม่ใช่สิ่งกีดขวาง"); // นอกโซนการตรวจจับสิ่งกีดขวางในขณะที่ (สิ่งกีดขวาง == 1) // กำลังรออินพุต (;) ) )

รูปที่ 2 เอาต์พุตมอนิเตอร์พอร์ตอนุกรม

ใช้โพเทนชิออมิเตอร์มาทดลองตั้งค่าเกณฑ์กัน

ตัวอย่างการใช้งาน

ลองพิจารณาตัวอย่างการใช้เซ็นเซอร์ YL-63 บนแพลตฟอร์มหุ่นยนต์ขับเคลื่อนด้วยตนเองยอดนิยม - หุ่นยนต์เคลื่อนที่บน ใช้ Arduino(ดู 3)

รูปที่ 3 แพลตฟอร์มหุ่นยนต์ – หุ่นยนต์เคลื่อนที่ที่ใช้ Arduino

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

รูปที่ 4 แผนผังของหุ่นยนต์ที่เดินทางเข้าไปในเขาวงกต

มาติดตั้งเซ็นเซอร์สิ่งกีดขวางสามตัวบนกันชนหน้าของหุ่นยนต์ โดยสองตัวมองไปข้างหน้า และตัวหนึ่งมองไปทางขวา (ดูรูปที่ 5)

การมีเซ็นเซอร์ด้านหน้าสองตัวช่วยปรับปรุงคุณภาพการตรวจจับสิ่งกีดขวางด้านหน้า เนื่องจากเซ็นเซอร์ตัวเดียวไม่ครอบคลุมพื้นที่ด้านหน้าทั้งหมด

รูปที่ 5 การเชื่อมต่อเซ็นเซอร์สิ่งกีดขวางกับหุ่นยนต์เคลื่อนที่ที่ใช้ Arduino

ในภาพร่าง เราจะตรวจสอบสถานะของเซ็นเซอร์ และทำการตัดสินใจเกี่ยวกับการเคลื่อนไหว ทั้งนี้ขึ้นอยู่กับข้อมูลที่ได้รับ เซ็นเซอร์เชื่อมต่อกับหมุด Arduino 2, 12, 13 // หมายเลขพอร์ตที่เชื่อมต่อเซ็นเซอร์สิ่งกีดขวาง const int Front1 = 2, Front2 = 12, ขวา = 13; มาสร้างภาพร่างใหม่ใน Arduino IDE เพิ่มโค้ดจากรายการ 2 ลงไปแล้วอัปโหลดภาพร่างไปยังบอร์ด Arduino รายการ 2 // ประกาศตัวแปรเพื่อจัดเก็บสถานะของมอเตอร์สองตัว อินท์ motor_L1, motor_L2, input_L; อินท์ motor_R1, motor_R2, input_R; // ค่าคงที่เวลาใช้เพื่อตั้งเวลาในการเลี้ยว หมุน ก้าวไปข้างหน้าอย่างแม่นยำ // ในหน่วยมิลลิวินาที const int time_90 = 390; // จำนวนพอร์ตที่เชื่อมต่อเซ็นเซอร์สิ่งกีดขวาง const int Front1 = 2, Front2 = 12, ขวา = 13; //================================================ ======== การตั้งค่าเป็นโมฆะ() ( // เราป้อนหมายเลขหน้าสัมผัส Arduino (พิน) ลงในตัวแปร // สำหรับมอเตอร์ด้านซ้ายและขวาของเครื่อง setup_motor_system(3, 4, 11, 7, 8, 10); // pinMode(Front1, INPUT); pinMode(Front2, INPUT); pinMode(Right, INPUT); // เครื่องยนต์กำลังทำงาน setspeed(255, 255); ) // โปรแกรมหลัก void loop() ( บูลีน d_Front1, d_Front2, d_Right; d_Front1 = digitalRead(Front1); d_Front2 = digitalRead(Front2); d_Right = digitalRead(Right); // หากไม่มีเซ็นเซอร์ถูกกระตุ้น ถ้า (d_Front1 && d_Front2 && d_Right) ( //ชะลอความเร็วล้อขวาลง (255, 15); ไปข้างหน้า();//เลี้ยวขวา ) else ( //หากเซ็นเซอร์ด้านหน้าตัวใดตัวหนึ่งทำงานและเซ็นเซอร์ด้านขวาไม่ถูกกระตุ้น ถ้า ((! d_Front1) || (!d_Front2) ) ( //กำลังสูงสุดสำหรับทุกล้อ setspeed(255, 255); // เลี้ยวซ้าย 90 องศา ซ้าย(); ล่าช้า(time_90 / 5); ) else ( // ถ้า เซ็นเซอร์ด้านขวาถูกกระตุ้น // ชะลอความเร็วล้อซ้าย setspeed(15, 255); ไปข้างหน้า();//เลี้ยวซ้าย. ) ) ) // ฟังก์ชั่นสำหรับการเริ่มต้นการควบคุมมอเตอร์ เป็นโมฆะ setup_motor_system (int L1, int L2, int iL, int R1, int R2, int iR) ( // ป้อนหมายเลขผู้ติดต่อ Arduino (พิน) ลงในตัวแปร motor_L1 = L1; motor_L2 = L2; input_L = iL; // สำหรับมอเตอร์ซ้ายและขวาของรถยนต์ motor_R1 = R1; motor_R2 = R2; input_R = iR; // ถ่ายโอนพอร์ตที่ระบุไปยังสถานะเอาต์พุตข้อมูล pinMode(motor_L1, OUTPUT); pinMode(motor_L2, OUTPUT); pinMode (input_L, OUTPUT); pinMode( motor_R1, OUTPUT); pinMode(motor_R2, OUTPUT); pinMode(input_R, OUTPUT); ) // ฟังก์ชั่นตั้งค่าความเร็วมอเตอร์ เป็นโมฆะ setspeed (int LeftSpeed, int RightSpeed) ( // ตั้งค่าความกว้างของขอบบวกตั้งแต่ 0 ถึง 255 analogWrite (input_L, LeftSpeed); analogWrite (input_R, RightSpeed); // ยิ่งมีขนาดใหญ่เท่าใดมอเตอร์ก็จะยิ่งเข้มข้นมากขึ้นเท่านั้น ) // เลี้ยวซ้ายโดยล็อคล้อซ้ายไว้ เป็นโมฆะไปข้างหน้า () ( // ล้อซ้ายหมุนไปข้างหน้า digitalWrite (motor_L1, HIGH); digitalWrite (motor_L2, LOW); // ล้อขวาหมุนไปข้างหน้า digitalWrite (motor_R1, HIGH); digitalWrite (motor_R2, LOW); ) // เลี้ยวซ้าย. เป็นโมฆะซ้าย() ( // ล้อซ้ายหมุนไปข้างหลัง digitalWrite(motor_L1, LOW); digitalWrite(motor_L2, HIGH); // ล้อขวาหมุน digitalWrite(motor_R1, HIGH); digitalWrite(motor_R2, LOW); ) เปิดตัวหุ่นยนต์ใน เขาวงกตและดูว่าเขาเคลื่อนไหวอย่างไรในเขาวงกต

คำถามที่พบบ่อย FAQ

1. ไฟ LED สีเขียวไม่สว่างขึ้น
  • ตรวจสอบว่าเชื่อมต่อเซ็นเซอร์อย่างถูกต้อง
2. เซ็นเซอร์ตรวจไม่พบสิ่งกีดขวางในระยะที่กำหนด
  • ใช้โพเทนชิออมิเตอร์ เลือกเกณฑ์การตอบสนองของเซ็นเซอร์

พูดตรงๆ ไม่มีทางเป็นอย่างอื่นได้! lm311 เป็นตัวเปรียบเทียบ (ราคา 9-10 รูเบิลทั่วไป) เครื่องเปรียบเทียบจะเปรียบเทียบปริมาณอินพุต 2 ปริมาณ ในแผนภาพ ค่าอินพุตหนึ่งคือ "แรงดันไฟฟ้าในอุดมคติ" ซึ่งกำหนดโดยตัวต้านทานแบบแปรผัน ค่าที่สองคือค่าที่ส่งผ่านโฟโตทรานซิสเตอร์ไปยังอินพุตที่สองของตัวเปรียบเทียบ โดยการเปรียบเทียบค่า ผู้เปรียบเทียบจะได้ข้อสรุป หากลำแสง LED ส่องบนโฟโต้ทรานซิสเตอร์ (หรือแสดงจากพื้นผิว) แสดงว่าเอาต์พุต สัญญาณมีการตั้งค่าศูนย์ตรรกะ หากลำแสงไม่ปรากฏและไม่โดนโฟโตทรานซิสเตอร์ ไฟ LED จะสว่างขึ้น...

เราทดสอบโฟโตไดโอด โฟโตทรานซิสเตอร์ และรีเลย์ IR และก็ได้ข้อสรุปว่า เซ็นเซอร์ที่ดีที่สุดในโครงร่างนี้คือ: โฟโตไดโอด 5 มม. และโฟโตทรานซิสเตอร์ขนาด 3 มม. มีมากมาย ภาพถ่ายต่างๆอุปกรณ์และบางทีคุณเองก็อาจเลือกบางอย่างให้กับคุณ
สำหรับผู้เริ่มต้นควรผลิตบนเขียงหั่นขนม

แทนที่จะเป็นตัวต้านทาน 330 โอห์ม สามารถติดตั้งตัวต้านทานประมาณ 91-100 โอห์มได้
ปริมาณการใช้บอร์ดมีน้อย
พิสัย:
เมื่อจัดระเบียบแผงกั้นภาพถ่าย ระยะทางจะถึงหนึ่งเมตร - ขึ้นอยู่กับการปรับ LED และตัวตรวจจับแสงอย่างแม่นยำ
เมื่อจัดเซ็นเซอร์กำหนดเส้นหรือสิ่งกีดขวางให้มีระยะห่างถึง 2-15 เซนติเมตร

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



บทความอื่น ๆ ในส่วน:

อแดปเตอร์คอม. แผนภาพการทำงาน RS232-TTL

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

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

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

แผนภาพ

แผนภาพเซ็นเซอร์แสดงในรูปในข้อความ มันถูกสร้างขึ้นบนพื้นฐานของไมโครวงจร K561LN2 ซึ่งมีอินเวอร์เตอร์หกตัวที่มีความสามารถในการโหลดเพิ่มขึ้นและองค์ประกอบของระบบดังกล่าว รีโมทอุปกรณ์เช่น LED อินฟราเรดและตัวรับภาพถ่ายอินฟราเรด ตัวตรวจจับแสงแบบรวม ที่ความถี่การมอดูเลตฟลักซ์ IR ที่ 33 kHz

ข้าว. 1. แผนผังของเซ็นเซอร์สิ่งกีดขวางโดยใช้รังสีอินฟราเรด

วงจรประกอบด้วยตัวรับและตัวส่ง เครื่องรับประกอบด้วยเครื่องตรวจจับแสง HF1 ในตัวและองค์ประกอบลอจิก D1.1 ตัวส่งสัญญาณประกอบด้วย IR LED HL1 และเครื่องกำเนิดพัลส์ 33 kHz ที่ใช้องค์ประกอบ D1.2-D1.6 เครื่องตรวจจับแสงและ LED จะอยู่เคียงข้างกันบนบอร์ดและมุ่งไปในทิศทางเดียว - ไปยังสิ่งกีดขวาง

แผงวงจรพิมพ์

ข้าว. 2. แผงวงจรพิมพ์สำหรับวงจรเซ็นเซอร์

มีฉากกั้นทึบระหว่างพวกเขา ความไว (ช่วง) ถูกควบคุมโดยการเลือกความต้านทาน R3 (ในแผนภาพ ความต้านทานต่ำสุดจะให้ความไวสูงสุด)

กอร์บูนอฟ เอส. RK-2016-09