![สร้างเซ็นเซอร์ความใกล้ชิด IR แบบ Attiny13 ที่ราคา $ 2.42: 7 ขั้นตอน (พร้อมรูปภาพ) สร้างเซ็นเซอร์ความใกล้ชิด IR แบบ Attiny13 ที่ราคา $ 2.42: 7 ขั้นตอน (พร้อมรูปภาพ)](https://img.gwsigeps.com/img/circuits/make-an-attiny13-based-ir-proximity-sensor-for-2.42-8.jpg)
สารบัญ:
- วัสดุ:
- ขั้นตอนที่ 1: รวบรวมวัสดุ
- ขั้นตอนที่ 2: สร้าง Sensor Shroud
- ขั้นตอนที่ 3: เตรียมเซ็นเซอร์
- ขั้นตอนที่ 4: Wire It Up
- ขั้นตอนที่ 5: วางสาย AVR (Arduino) และตั้งโปรแกรมชิป
- ขั้นตอนที่ 6: สร้างหุ่นยนต์ที่ยอดเยี่ยมด้วยเซ็นเซอร์
- ขั้นตอนที่ 7: ตัวเลือก - แผงวงจร
นี่คือเซ็นเซอร์ความใกล้เคียง IR ราคาถูกมากที่คุณสามารถทำได้ด้วยชิ้นส่วนราคาถูกเพียงไม่กี่ตัวและโปรแกรมเมอร์ AVR ฉันใช้ Arduino เป็นโปรแกรมเมอร์ของฉันในคำสั่งนี้
เซ็นเซอร์นี้มีช่วงประมาณ 3 นิ้วเท่านั้น คุณสามารถเพิ่มแอลอีดีหรือไฟที่สว่างขึ้นเพื่อขยายช่วงได้อย่างง่ายดาย นอกจากนี้คุณยังสามารถจัดเรียง LEDS อีกครั้งเพื่อตรวจจับเมื่อลำแสงเสียหายเช่นกัน
การออกแบบใช้ประโยชน์จาก AVR ราคาถูก (คอมพิวเตอร์บนชิป) คอมพิวเตอร์จะเปิดและปิด IR LED และเปรียบเทียบการอ่านแบบอะนาล็อกจากเซ็นเซอร์ในแต่ละรัฐ เมื่อการอ่านโดยเปิดไฟอยู่เหนือการอ่านเมื่อปิดไฟหมุดรับรู้จะสูงขึ้นเพื่อแสดงว่าเซ็นเซอร์กำลังรับแสง (สะท้อน) เอง มีไฟ LED บนตัวบ่งชี้ความรู้สึกในการออกแบบนี้เพื่อให้คุณสามารถมองเห็นเมื่อเซ็นเซอร์ประกอบ คุณสามารถเชื่อมต่อสัญญาณไปยังไมโครคอนโทรลเลอร์เช่น Arduino หรือ Picaxe
การออกแบบนี้ย้ายการประมวลผลบางส่วนออกจากสมองของหุ่นยนต์หลักของคุณและเข้าสู่โหนดของตัวเอง คุณอาจต้องการ debounce สัญญาณ แต่คุณไม่จำเป็นต้องกะพริบไฟ led และทำการอ่าน คุณยังสามารถใช้พินดิจิตอลเพียงอันเดียวในการอ่าน ร่างเป็นประมาณ 700K จาก 1024 ใช้ได้
ทำไมฉันถึงสร้างสิ่งนี้
ฉันกำลังจะออกจากโรงเรียนมัธยม แต่นี่เป็นส่วนหนึ่งของชุดการออกแบบที่เกี่ยวข้องกับการนำหุ่นยนต์จากเกม Robot Oddysey มาสู่โลกแห่งความเป็นจริง ฉันต้องการอนุญาตให้นักเรียนชั้นประถมศึกษามีโอกาสเดียวกันในการเรียนรู้หุ่นยนต์ที่ฉันมี ดังนั้นฉันจึงกำลังสร้างหุ่นยนต์ที่มีราคาไม่แพงจริงๆซึ่งสามารถเคลื่อนที่ได้ 8 ทิศทางโดยไม่หมุน "กันชน" เสร็จสมบูรณ์แล้ว
วัสดุ:
ขั้นตอนที่ 1: รวบรวมวัสดุ
ปริมาณ |
หมายเลขชิ้นส่วน Digikey | ลักษณะ | ราคา |
1 | 475-1439-ND |
ช่างถ่ายภาพ NPN W / ตัวกรอง 5 มม | $0.53 |
1 | ATTINY13A-PU-ND | IC MCU AVR 1K FLASH 20MHZ 8PDIP | $0.95 |
3 | CF14JT220RCT-ND | RES 220 OHM 1 / 4W 5% ฟิล์มคาร์บอน | $0.24 |
1 | CF14JT1M00CT-ND | RES 1M OHM 1 / 4W 5% ฟิล์มคาร์บอน | $0.08 |
1 | 2N3904FS-ND | IC TRANS NPN SS GP 200MA TO-92 | $0.18 |
2 | 754-1241-ND | EMITTER IR 3MM 940NM CLEAR WATER CLEAR | $0.44 |
ทั้งหมด | $2.42 |
คุณจะต้อง
- เทปไฟฟ้า
- หลอดพลาสติก
- กรรไกร
- ลวดสลิง
- เขียงหั่นขนมและ / หรือหัวแร้ง
- สายจัมเปอร์
- โปรแกรมเมอร์ AVR (ใช้งานกับ Ardunio ได้)
- ซอฟต์แวร์ Ardunio 1.0 พร้อมการแก้ไขโปรแกรมหลัก Attiny และ Atiny13
ขั้นตอนที่ 2: สร้าง Sensor Shroud
คุณไม่ต้องการให้แสง IR รั่วไหลจากด้านข้างของเซ็นเซอร์ เราจะสร้างอุโมงค์เล็ก ๆ จากเทปไฟฟ้าและหลอดฟาง เทปของฉันทึบแสงถึง IR ของคุณอาจจะเกินไป แต่คุณสามารถจัดเรียงด้วยอลูมิเนียมฟอยล์หากคุณต้องการให้แน่ใจ ตรวจสอบให้แน่ใจว่าไม่มีโลหะสัมผัสเพราะจะทำลายวงจร
ตัดฟางประมาณ 1.5 "(4 ซม.) ห่อด้วยเทปไฟฟ้าตัดปลายและทำให้เรียบร้อย
ตัดเทป 1/2 นิ้ว (8 มม.) และม้วนขึ้นจากขอบสั้นพับครึ่งม้วนมันจะไม่อยู่ แต่ใส่รอยพับที่ดีมันจะเสียบด้านล่างของเซ็นเซอร์และเก็บ แสงเล็ดลอดออกมาทางนั้น
ขั้นตอนที่ 3: เตรียมเซ็นเซอร์
ตัดขากลางออกจากโฟโตทรานซิสเตอร์ของคุณถ้ามันมี ไม่จำเป็นต้องใช้ในการออกแบบนี้และอาจทำให้เกิดปัญหาได้หากคุณทิ้งไว้ คุณไม่จำเป็นต้องตัดมันไปตลอดทาง แต่อย่าทิ้งไปมาก
ค่อยๆกระดิกเซ็นเซอร์เข้าไปในหลอดจนกระทั่งฐานอยู่ที่ 1/4 "(5 มม.) เข้าหรือออกจากนั้นดันม้วนเทปที่พับด้านหลังไว้และปิดด้านหลังด้วยเทปสักเล็กน้อย
ขั้นตอนที่ 4: Wire It Up
ปฏิบัติตามแผนภาพการเดินสายและจดบันทึกบางอย่างไว้ในใจ
- ชิปไฟ LED และทรานซิสเตอร์ทำงานได้เพียงทางเดียวเท่านั้น
- ขาสั้นของ LEDS เชื่อมต่อกับตัวต้านทาน 220 โอห์ม
- ยาว ขาของ phototransistor เชื่อมต่อกับตัวต้านทาน 1meg
- คุณสามารถเพิ่มคู่อิมิตเตอร์ / ตัวต้านทาน IR เพิ่มเติมพร้อมกับคู่ที่มีอยู่ ให้วงจรพื้นฐานทำงานก่อน คุณสามารถใช้อีซีแอล IR เพียงตัวเดียว แต่ 2 ดูเหมือนจะทำให้การอ่านมีเสถียรภาพมากขึ้น
ขั้นตอนที่ 5: วางสาย AVR (Arduino) และตั้งโปรแกรมชิป
ติดตั้ง Attiny13 Core13 จาก sourceforge นี่คือคำแนะนำโดย diy_bloke พร้อมคำแนะนำและแม้แต่ไฟล์ zip ที่จะดาวน์โหลด
นี่คือคำแนะนำของ MIT ในการแก้ไขสภาพแวดล้อมของคุณเพื่อเบิร์น Attiny
หน้านี้อาจช่วยได้หากคุณมีปัญหา ตรวจสอบความคิดเห็น
สายไฟใน Arduino คุณสามารถคลายมันได้เมื่อการเขียนโปรแกรมเสร็จสิ้น
โหลดไฟล์ INO และเบิร์นไปที่ชิป Attiny13
หรือเพียงแค่ใช้โปรแกรมเมอร์ AVR เพื่อเบิร์นไฟล์ฐานสิบหกหรือผู้เขียนที่สอนได้ nikkipugh มีการออกแบบแผงแถบป้องกันแบบซุปเปอร์สำหรับการเขียนโปรแกรมชิป attiny13
คุณอาจต้องการตัวเก็บประจุ 10 ยูเอฟหรือตัวต้านทาน 120 โอห์มจากการรีเซ็ตของ Arduino ไปที่กราวด์
รหัส:
/ * เซ็นเซอร์ความใกล้ชิด Attiny13 โดย Dustin Andrews 2012 ใบอนุญาต: ครีเอทีฟคอมมอนส์ Unported http://creativecommons.org/licenses/by/3.0/ * / // ทำการเขียน AVR pin ระดับต่ำเพื่อบันทึกคำแนะนำ 1,010 จาก 1024 ปิด! #define SetPin (บิต) PORTB | = (1 << บิต) #define ClearPin (บิต) PORTB & = ~ (1 << บิต) // เชื่อมโยง IR ของคุณไปยังขานี้ (พินชิป 5?); #define irOutPin 3 // พินนี้สูงขึ้นเมื่อเซ็นเซอร์ตรวจจับและกีดขวาง (chip pin 6) #define outPin 1 // ต่อ pin นี้ไปยัง phototranscc ของคุณ -> phototrans -> pin4 -> res 1M -> gnd (chip pin3) #define sensorInPin 2 เป็นโมฆะการตั้งค่า () {pinMode (irOutPin, OUTPUT); pinMode (outPin, OUTPUT); // pinMode (2, OUTPUT); analogReference (0); // analogread จะไม่ทำงานบน Atiny13 ที่ไม่มีบรรทัดนี้ จะไม่ทำงานกับคนอื่นด้วยมันอาจเป็นไปได้ } void loop () {static long difference = 0; lastTime ที่ไม่ได้ลงชื่อแบบสแตติกนาน = 0 SetPin (irOutPin); delay1 (); int r1 = analogRead ที่ไม่ได้รับการลงนาม (sensorInPin); ClearPin (irOutPin); delay1 (); int r2 = analogRead ที่ไม่ได้รับการลงนาม (sensorInPin); ความแตกต่าง + = r1 - r2; if (millis () - lastTime> 5) // อาจได้รับการตอบสนองที่ราบรื่นยิ่งขึ้นด้วยความล่าช้าที่ใหญ่กว่า {if (different> 0) {SetPin (outPin); } else {ClearPin (outPin); } different = 0; lastTime = millis (); }} void delay1 () {// ล่าช้า (1) มีราคาแพงเกินไปในหน่วยความจำ ทำไมราคาถูกกว่านี้มาก?: D long start = millis (); ในขณะที่ (จริง) {ถ้า (millis () - เริ่ม> 1) {break;}}}
ขั้นตอนที่ 6: สร้างหุ่นยนต์ที่ยอดเยี่ยมด้วยเซ็นเซอร์
การแก้ไขปัญหา:
- ตรวจสอบสายไฟทั้งหมด
- กระดิกไฟ LED และตรวจสอบให้แน่ใจว่าเข้ากันได้ดีกับกระบอก
- ตรวจสอบสายไฟอีกครั้ง
- ให้คนอื่นมองข้ามไหล่ของคุณในขณะที่คุณอธิบายว่าแต่ละสายเดินไปทางไหน (วิธีนี้ช่วยบ่อยไม่ตลกเลย)
- ตรวจสอบขั้วของ LED และเซ็นเซอร์และทรานซิสเตอร์
- ตรวจสอบขั้วของ Attiny ถ้ามันร้อนคุณใส่ข้างหลัง
- ใช้โทรศัพท์หรือกล้องดิจิตอลอื่น ๆ เพื่อตรวจสอบว่าไฟ LED ส่องสว่าง
- ปิดไฟที่มีแสงเป็นจุดและลองใช้เซ็นเซอร์ให้ห่างจากแสงแดด
- ใช้หลอด LED หนึ่งอันแล้วต่อเข้ากับสายยาว ๆ แล้ววางลงที่ถังของเซ็นเซอร์เพื่อดูว่ามันสามารถมองเห็นได้หรือไม่
- เปลี่ยนความต้านทาน 1M สำหรับค่าที่น้อยลงเพื่อรับความไวน้อยลง
- ปรับแต่งรหัส
ขั้นตอนที่ 7: ตัวเลือก - แผงวงจร
ขั้นตอนนี้มี PDF ที่คุณสามารถใช้กับเครื่องพิมพ์เลเซอร์ด้วยวิธีถ่ายโอนผงหมึกหรือรูปถ่ายในการทำบอร์ด มีคำแนะนำมากมายเกี่ยวกับวิธีการทำสิ่งนี้ ฉันได้พิจารณาแล้วว่าการเพิ่ม. 1 ยูเอฟใน VCC และ GND บนชิปช่วยให้บอร์ดทำงานได้อย่างน่าเชื่อถือมากขึ้น
พิมพ์ลวดลายบนสิ่งที่จะอยู่ด้านล่างของบอร์ด ใส่ส่วนประกอบจากด้านที่ว่างของบอร์ดตามแผนภาพและบัดกรี ฉันงอ LED และเซ็นเซอร์นำไปสู่ 90 องศาดังนั้นเซ็นเซอร์จะมอง "ข้างหน้า"
PDF และเลย์เอาต์นั้นแตกต่างจากรูปภาพเล็กน้อย ฉันเพิ่ม 0.1 ยูเอฟแคปอย่างชัดเจนและทำให้ขาฐานของทรานซิสเตอร์วิ่งให้ห่างจากสายเซ็นเซอร์