สารบัญ:
- ขั้นตอนที่ 1: รายการชิ้นส่วน
- ขั้นตอนที่ 2: การเดินสายไฟอิเล็กทรอนิกส์
- ขั้นตอนที่ 3: 3D พิมพ์แผ่น
- ขั้นตอนที่ 4: รหัส Arduino
- ขั้นตอนที่ 5: ทดสอบมาตรการ
วีดีโอ: TrigonoDuino - วิธีวัดระยะทางโดยไม่ใช้เซนเซอร์: 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
โปรเจ็กต์นี้จัดทำขึ้นเพื่อการวัดระยะทางโดยไม่ต้องใช้เซ็นเซอร์เชิงพาณิชย์ เป็นโครงการเพื่อทำความเข้าใจกฎตรีโกณมิติด้วยวิธีแก้ปัญหาที่เป็นรูปธรรม มันสามารถปรับเปลี่ยนได้สำหรับการคำนวณตรีโกณมิติอื่นๆ Cos Sin และอื่น ๆ ทำงานด้วย Math.h
เป็นรุ่นแรกของการวัดประเภทนี้ด้วยลำแสงเลเซอร์ ข้อเสนอแนะหรือคำแนะนำใด ๆ ยินดีต้อนรับ
ใช้คณิตศาสตร์ในการวัดระยะทางด้วยกฎตรีโกณมิติ
ทำงานร่วมกับเลเซอร์ไดโอดสองตัว, เซอร์โวมอเตอร์ SG90, โพเทนชิออมิเตอร์ 10k หนึ่งตัว และ Arduino Uno
ความแม่นยำอยู่ที่ประมาณ +- 2 มม. สำหรับระยะห่าง <1 เมตร ระยะทางจะแสดงเป็นเซนติเมตร หากคุณต้องการแปลงเป็นนิ้ว 1 ซม. = 0, 393701 นิ้ว คุณต้องหารด้วย 2, 54 คุณอาจสูญเสียความแม่นยำที่แม่นยำด้วยระยะทางที่มากขึ้น สาเหตุของมุมออฟเซ็ตเล็กน้อยบน A (แทนที่จะเป็น 90° คุณอาจมี 90.05°)
คำอธิบาย:
โพเทนชิออมิเตอร์จะเคลื่อนเลเซอร์ C บนเซอร์โวมอเตอร์ ซึ่งจะทำให้มุม C กับ Arduino เลเซอร์จุดให้มุมฉาก ย้ายจุดเลเซอร์ (C) ด้วยโพเทนชิออมิเตอร์ขึ้นไปเพื่อซ้อนลำแสงเลเซอร์สองอัน ซึ่งจะทำให้จุด B
เคล็ดลับ: ปรับลำแสงเลเซอร์ด้วยเลนส์สกรูเลเซอร์เพื่อให้ได้จุดเลเซอร์ที่สมบูรณ์แบบ
ขั้นตอนที่ 1: รายการชิ้นส่วน
หลัก:
- สองเลเซอร์:https://fr.aliexpress.com/popular/650nm-laser-diod…
- Arduino Uno:https://fr.aliexpress.com/popular/arduino-uno.html
- เซอร์โวมอเตอร์:https://fr.aliexpress.com/popular/sg90-servo-motor…
- โพเทนชิมิเตอร์ 10k:https://www.aliexpress.com/w/wholesale-10k-potenti…
- ดูปองท์ ไวร์:
เครื่องมือ:
- หัวแร้ง:https://fr.banggood.com/buy/yotec-967-soldering-st…
(ผมมีตัวนี้อยู่และเป็นหัวแร้งที่ดีมาก ที่ทำงานผมใช้ Weller แต่สำหรับตัวเองผมใช้)
ตัวเลือก:
- ตัวต้านทาน:https://fr.banggood.com/560-Pcs-1-ohm-to-10M-ohm-1…
ขั้นตอนที่ 2: การเดินสายไฟอิเล็กทรอนิกส์
เชื่อมต่อตัวปล่อยไดโอด 5V กับสายสีแดง และ GND กับสายสีน้ำเงิน
เชื่อมต่อ Servo Red กับ 5V, Black เป็น GND และ Orange กับ Arduino Digital Pin 3
เชื่อมต่อพินซ้ายของโพเทนชิออมิเตอร์กับ Digital Pin 8, พินขวากับ Digital Pin 9 และพินกลางกับ Analog Pin A0 พินซ้ายเป็นสีม่วงสำหรับฉัน
ดูแผนผังก่อนเปิดเครื่อง ระวังด้วยแสงเลเซอร์ เพราะอาจทำให้ดวงตาเสียหายได้ คุณสามารถเพิ่มตัวต้านทานระหว่างสายสีแดงของไดโอดและ Arduino โดยใช้ 10k บนโมดูล KY008
เคล็ดลับ: ต้องใช้หัวแร้งในการเตรียมสายดูปองท์สำหรับเลเซอร์และโพเทนชิออมิเตอร์
ขั้นตอนที่ 3: 3D พิมพ์แผ่น
ออกแบบด้วย Autocad และส่งออกในรูปแบบ STL
www.autodesk.fr/products/autocad/overview
พิมพ์แบบง่ายจะดีกว่าสำหรับคุณ ใช้สกรูปัจจุบันกับ SG90 เพื่อแก้ไข ศูนย์กลางของเซอร์โวจะต้องอยู่ทางด้านขวาของตัวรองรับดูเหมือนรูปภาพ
สำคัญ:
ตั้งค่าเซอร์โวเป็น (0) องศาก่อนที่จะวางชิ้นส่วนที่สองไปที่เซอร์โวมอเตอร์ วางตัวชี้เลเซอร์บนตำแหน่งขนานโดยเปิดเซอร์โว (0) แทนที่ val ด้วย 0: monServomoteur.write(0);.
อย่าเพิ่งวาง รอสิ้นสุดขั้นตอนถัดไป
ขั้นตอนที่ 4: รหัส Arduino
คุณสามารถค้นหารหัสสำหรับการใช้งาน
ดาวน์โหลดและติดตั้ง Arduino IDE:
จำเป็นต้องเพิ่มไลบรารี Math.h ในโครงการ
สามเหลี่ยมเป็นรูปสี่เหลี่ยมผืนผ้าที่มุม A เรารู้ว่า AC เป็น 14 ซม. และเซอร์โวมอเตอร์ให้มุม C นอกจากนี้เรายังคำนวณมุม B สำหรับการวัดระยะทาง AB ด้วย Tan (B) B คือจุดเชื่อมต่อระหว่างจุดเลเซอร์ 2 จุด มุมทั้งหมดบนสามเหลี่ยมมีค่าเท่ากับ 180° โดยมีมุม 90° บน A
การวัดระยะทางเริ่มต้นใกล้กับเลเซอร์ที่มุม A
หากคุณไม่มีหน้าจอ OLED ให้ใช้ TrigonoDuinoSerial.ino ฉันใช้หน้าจอ Oled SSD1306 เพื่อใช้งานโดยไม่ต้องใช้คอมพิวเตอร์
Nb: คุณสามารถเปลี่ยน 4064 โดย 1028 ขึ้นอยู่กับบอร์ด Arduino สำหรับฉัน Wavgat R3 พินอะนาล็อกส่งคืนค่าระหว่าง 0 ถึง 4064 แต่สำหรับบางคนมันคือ 0 ถึง 1028
แก้ไข: ฟังก์ชันแผนที่ไม่เหมาะกับความแม่นยำ โหมดการคำนวณถูกเปลี่ยนในเวอร์ชันโค้ดใหม่เพื่อใช้เป็นตัวแปรแบบ double แทนที่จะเป็นแบบยาว "สำหรับ" ลูปเพิ่มขึ้นเพื่อให้ค่าเซอร์โวมอเตอร์มีเสถียรภาพมากขึ้น
การติดตั้งเลเซอร์บนตำแหน่งนั้นตั้งค่า servo.write เป็น 0 และวางเคสเลเซอร์ไว้ตรงกลางของเซอร์โว เลเซอร์จะต้องขนานกัน ปรับลำแสงเลเซอร์ให้มีความสูงเท่ากันและตัวชี้ต้องอยู่ในระยะเดียวกับตัวเลเซอร์เอง
ขั้นตอนที่ 5: ทดสอบมาตรการ
ตอนนี้ดำเนินการทดสอบการวัด ปรับความยาวไฟฟ้ากระแสสลับของคุณไปที่กึ่งกลางถึงกึ่งกลางของเคสเลเซอร์หากจำเป็น
หมุนโพเทนชิออมิเตอร์อย่างช้าๆ ด้วยขั้นตอนเพียงเล็กน้อย คุณสามารถปรับโฟกัสเลเซอร์ (หมุนเลเซอร์หัวสกรู) เพื่อความแม่นยำในการชี้ระยะทางไกล
คุณสามารถวัดเมตรด้วยหน่วยนี้ได้ แต่ความแม่นยำจะแม่นยำน้อยกว่า การวัดต่ำกว่า 1 เมตรนั้นดีจริงๆ
ซึ่งไปข้างหน้า:
ตัวอย่างเช่น คุณสามารถวางเซอร์โวตัวที่สองไว้ใต้เลเซอร์ตัวแรกเพื่อทำการวัดได้ แต่ต้องคำนวณมากกว่านี้ มันอาจเป็นสิ่งที่ดีสำหรับนักเรียนรุ่นเยาว์ที่เรียนรู้ตรีโกณมิติ โดยได้นำคณิตศาสตร์มาประยุกต์ใช้อย่างแท้จริง
คุณสามารถใส่เซอร์โวมอเตอร์ที่ดีกว่าและเพิ่มโพเทนชิโอมิเตอร์เพื่อเพิ่มความแม่นยำ (เช่น 1 โพเทนชิออมิเตอร์สำหรับ 15°) และช่วงระยะการวัด
สามารถเพิ่มการกระจัดด้านข้างของเซอร์โวเพื่อเปลี่ยนความยาว AC ได้อย่างรวดเร็ว
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง