สวัสดีตอนบ่ายเรายังคงสร้างหุ่นยนต์และของเล่นต่อไป วันนี้ขั้นตอนต่อไปคือการปรับเปลี่ยนโมเดลรถถังของฉัน คำแนะนำการผลิตที่อ่านได้ ที่นี่
สาระสำคัญของการปรับเปลี่ยนคือการเปลี่ยนวิธีการจัดการ คราวนี้สำหรับการควบคุมเราจะใช้ตัวชี้เลเซอร์ แม่นยำมากขึ้นรถถังจะขี่หลังจุดเลเซอร์ แท็งก์จะกำหนดตำแหน่งของจุดผ่าน photoresistor รายการที่จำเป็นคล้ายกับรายการจากด้านบน ทำที่บ้านแต่ไม่มาก:
- Tamiya 70168 เกียร์คู่
- ชุดลูกกลิ้งและราง Tamiya 70100
- Tamiya 70157
- ไม้อัด 10 มม. (ชิ้นเล็ก)
- Arduino Pro Mini 5V AtMega 328
- DRV 8833
- โฟโตตรวจสอบความร้อน 5506 4 ชิ้น
- USB-UART สำหรับ Arduino firmware
- ไฟ LED สี่เหลี่ยมสีแดงและสีเขียว
- LED สีขาว 5 มม. 2pcs
- ตัวต้านทาน 3x 150 โอห์ม
- แบตเตอรี่ Li-ion 18650
- ตัวเชื่อมต่อ Dupont Dad-Mom
- สายไฟที่มีสีต่างกัน
- ประสาน
- ขัดสน
- หัวแร้ง
- สลักเกลียว 3x40, 3x20, ถั่วและแหวนสำหรับพวกเขา
- สกรูไม้ 2x10
- ดอกสว่านไม้ 3 มม. และ 6 มม
- เครื่องเลื่อยฉลุ
- สีอะครีลิค
ขั้นตอนที่ 1 ผลิตชิ้นส่วนถัง
รายละเอียด กระบวนการผลิตถัง อธิบายไว้ในโฮมเมด
การทำซ้ำมันไม่สมเหตุสมผล ดังนั้นขั้นตอนที่หนึ่งและสองของโฮมเมดดังกล่าวข้างต้นเสร็จสมบูรณ์
ขั้นตอนที่ 2 การติดตั้ง photoresistor
เราจะต้องการโฟโตอิเล็กตริกที่พบบ่อยที่สุดพวกเขาซื้อได้ง่ายที่ร้านขายวิทยุ:
ถัดไปก่อนที่จะติดตั้งแทร็กคุณต้องเตรียมสถานที่สำหรับถ่ายภาพและใส่เข้าไปที่นั่น ดังนั้นเรามีโฟโตอิเล็กตริกสี่ตัวสองตัวที่ด้านหน้าสองตัวที่ด้านหลัง พวกเขาทั้งหมดจะอยู่ในส่วนล่างของกรณีในมุม ถอยห่างจากแต่ละด้าน 5 มม. ทำสองรูสำหรับขาของตัวตรวจจับแสง ระยะห่างระหว่างรูคือ 4 มม. คุณสามารถใช้สว่านขนาดเล็กที่สุดหรือเจาะแผ่นไม้อัดด้วยสว่าน เมื่อทำสิ่งนี้แล้วให้แทรกโฟโต เริ่มจากด้านหน้า:
หลังจากที่คุณแทรก photoresistor เข้าไปในไม้อัดแล้วให้บัดกรีสายไฟเข้ากับหน้าสัมผัสและตัวเชื่อมต่อ Dupont ของแม่ เราแยกสถานที่ของการบัดกรี คุณสามารถใช้เทปพันสายไฟหรือฉนวนกันความร้อนที่ลวดหนา
และที่หลังเราก็ทำเช่นกัน:
ด้านล่างจะมีลักษณะเช่นนี้:
เรารวบรวมเคสเพิ่มเติมตามคำแนะนำลิงก์ที่ระบุไว้ด้านบน
เพื่อเพิ่มความไวของ photoresistor ไปยังจุดเลเซอร์และเพื่อกำจัดสัญญาณรบกวนที่ไม่จำเป็นพวกเขาจะต้องทาสีด้วยเครื่องหมายสีแดงหรือสี สิ่งสำคัญคือแสงแทรกซึมผ่านการเคลือบผิว อย่าทาสีทับพวกเขาทั้งหมด
ด้วยวิธีนี้เราจะเพิ่มความไวของเซ็นเซอร์เป็นจุดสีแดงของเลเซอร์
ขั้นตอนที่ 3 ช่างไฟฟ้า
ในขั้นตอนที่สี่คำแนะนำในการสร้างรถถังอธิบายโดยละเอียดว่าอะไรและวิธีการเชื่อมต่อ เราทำทุกอย่างตามนั้นยกเว้นการเชื่อมต่อโมดูลบลูทู ธ เราไม่ต้องการเขา เราเชื่อมต่อหนึ่งในรายชื่อผู้ติดต่อของ photoresistor กับ GND ที่สองเชื่อมต่อกับ Arduino ตามโครงการ:
ด้านหน้าขวาไปยัง A0 (Pin14)
ด้านหน้าซ้ายถึง A1 (Pin15)
ด้านหลังซ้ายถึง A2 (Pin16)
ด้านหลังขวาเป็น A3 (Pin17)
ในฐานะเครื่องมือควบคุมเราจะใช้ตัวชี้เลเซอร์ภาษาจีนปกติกับลำแสงสีแดง:
ขั้นตอนที่ 4 การแก้ไขภาพร่าง
ในการแก้ไขและกรอกร่างคุณจำเป็นต้องดาวน์โหลด Arduino IDE เราไปที่ทางการ เว็บไซต์โครงการ และดาวน์โหลดเวอร์ชันล่าสุด
ไม่ต้องการไลบรารีเพิ่มเติม
Photoresistor อยู่ไกลจากอุปกรณ์ตรวจวัดที่แม่นยำที่สุด ในทางปฏิบัติแล้วลักษณะของมันขึ้นอยู่กับปัจจัยจำนวนมาก ดังนั้นเพื่อการทำงานที่เหมาะสมจึงจำเป็นต้องปรับแต่ละตัวรับแสง เราจะแก้ไขการอ่านโดยการแก้ไขภาพร่างโดยใช้ Arduino IDE และพอร์ตมอนิเตอร์ เปิดร่าง:
เริ่มจากตัวต้านทานภาพถ่ายด้านหน้ากันก่อน ที่ด้านล่างสุดให้ยกเลิกการใส่เครื่องหมายสามบรรทัดสำหรับเซ็นเซอร์ด้านหน้า:
//Serial.print(senLF); // Uncomment เพื่อปรับ Photoresistor ด้านหน้า
//Serial.print ("");
//Serial.println(senRF);
และคุณต้องเพิ่มการหยุดชั่วคราวเพื่อให้มีเวลาดู ดังนั้นอย่าใส่เครื่องหมายข้อคิดเห็นในบรรทัดนี้ด้วย:
// ล่าช้า (500);
เติมร่าง เราวางถังไว้บนโต๊ะเมื่อให้แสงสว่างในห้องด้วยโคมระย้าธรรมดาโคมไฟตั้งโต๊ะไม่ควรเปิด และเปิดมอนิเตอร์พอร์ต Arduino IDE ภายใต้แสงไฟปกติการอ่านค่าควรมากกว่า 500 และในเวลาเดียวกันโดยประมาณจะเหมือนกันสำหรับเซ็นเซอร์ทั้งสอง ลองย้ายตัวชี้เลเซอร์ที่ด้านหน้าจมูกของถัง บ่งชี้ควรแตกต่างกันไป ยิ่งใกล้จุดยิ่งมีจำนวนน้อยควร พวกเขาควรอยู่ในช่วงจาก 80 (ที่ความใกล้ชิดสูงสุดของจุด) ถึง 500 (ที่ระยะห่างประมาณ 2-3 ซม.)
หากต้องการปรับใช้ตัวแปรในร่าง:
int corLF = 0; // ตัวแปรแก้ไขด้านหน้าซ้าย
int corRF = 30; // ด้านหน้าขวา
ตัวแปรการแก้ไขสามารถเป็นได้ทั้งบวก (เพิ่มลงในเซ็นเซอร์) หรือลบ (ลบออกจากการอ่าน) การเปลี่ยนตัวแปรเหล่านี้เติมร่างอีกครั้งและดูว่าตัวบ่งชี้อยู่ในช่วงที่เราต้องการ
ตอนนี้ทำเช่นเดียวกันกับ photoresistor หลัง ในการทำสิ่งนี้ให้ใส่เครื่องหมายบรรทัดสำหรับเซ็นเซอร์ด้านหน้าและไม่ใส่เครื่องหมายในบรรทัดต่อไปนี้:
//Serial.print(senLB); // Uncomment เพื่อปรับ photoresistor ด้านหลัง
//Serial.print ("");
//Serial.println(senRB);
ควรหยุดชั่วคราวโดยไม่ใส่เครื่องหมายข้อคิดเห็น เราทำการวัดแบบเดียวกันตอนนี้มี photoresistor ที่ด้านหลังเท่านั้น และเขียนตัวแปรแก้ไข:
int corLB = 0; // ด้านหลังซ้าย
int corRB = 35; // ด้านหลังขวา
เพื่อให้ชัดเจนว่าทุกอย่างทำงานอย่างไร เซ็นเซอร์ด้านหน้าซ้ายควบคุมการเคลื่อนไหวของแทร็กขวาไปข้างหน้าและเซ็นเซอร์ด้านหน้าขวาควบคุมแทร็กซ้ายไปข้างหน้าและอื่น ๆ การอ่านเซ็นเซอร์จะถูกปรับตามสูตรดังต่อไปนี้:
senLF = (analogRead (senLFPin) + corLF); // ด้านหน้าซ้าย
senRF = (analogRead (senRFPin) + corRF); // ด้านหน้าขวา
senLB = (analogRead (senLBPin) + corLB); // ด้านหลังซ้าย
senRB = (analogRead (senRBPin) + corRB); // ด้านหลังขวา
โดยที่ senLF, senRF, senLB, sen RB - การอ่านที่แก้ไข
analogRead (senLFPin), (analogRead (senRFPin), (analogRead (senLBPin), (analogRead (senRBPin) - การอ่านเซ็นเซอร์ที่“ สะอาด”
colLF, colRF, corLB, corRB - ตัวแปรการแก้ไข
จากนั้นการอ่านจะถูกแปลเป็นความเร็วของการหมุนของแทร็คที่ตรงกันข้าม:
walRF = แผนที่ (senLF, 80, 500, 100, 255);
walLF = แผนที่ (senRF, 80, 500, 100, 255);
walRB = แผนที่ (senLB, 80, 500, 100, 255);
walLB = แผนที่ (senRB, 80, 500, 100, 255);
หากคุณไม่สามารถแก้ไขการอ่านในทางใดทางหนึ่งให้เปลี่ยนการอ่านสูงสุดและต่ำสุดที่แทร็กเริ่มเคลื่อนไหว นี่คือตัวเลข 80 และ 500 ในบรรทัดการแปลงที่เขียนไว้ด้านบน
เมื่อทำตามขั้นตอนทั้งหมดเสร็จเรียบร้อยแล้วให้ใส่เครื่องหมายบรรทัดเหล่านี้ทั้งหมด ตอนนี้รถถังจะขี่หลังจุดแดงของตัวชี้เลเซอร์