สารบัญ:

TrigonoDuino - วิธีวัดระยะทางโดยไม่ใช้เซนเซอร์: 5 ขั้นตอน
TrigonoDuino - วิธีวัดระยะทางโดยไม่ใช้เซนเซอร์: 5 ขั้นตอน

วีดีโอ: TrigonoDuino - วิธีวัดระยะทางโดยไม่ใช้เซนเซอร์: 5 ขั้นตอน

วีดีโอ: TrigonoDuino - วิธีวัดระยะทางโดยไม่ใช้เซนเซอร์: 5 ขั้นตอน
วีดีโอ: Convenience items needed in the family 2024, พฤศจิกายน
Anonim
TrigonoDuino - วิธีวัดระยะทางโดยไม่ต้องใช้เซ็นเซอร์
TrigonoDuino - วิธีวัดระยะทางโดยไม่ต้องใช้เซ็นเซอร์
TrigonoDuino - วิธีวัดระยะทางโดยไม่ต้องใช้เซ็นเซอร์
TrigonoDuino - วิธีวัดระยะทางโดยไม่ต้องใช้เซ็นเซอร์
TrigonoDuino - วิธีวัดระยะทางโดยไม่ต้องใช้เซ็นเซอร์
TrigonoDuino - วิธีวัดระยะทางโดยไม่ต้องใช้เซ็นเซอร์

โปรเจ็กต์นี้จัดทำขึ้นเพื่อการวัดระยะทางโดยไม่ต้องใช้เซ็นเซอร์เชิงพาณิชย์ เป็นโครงการเพื่อทำความเข้าใจกฎตรีโกณมิติด้วยวิธีแก้ปัญหาที่เป็นรูปธรรม มันสามารถปรับเปลี่ยนได้สำหรับการคำนวณตรีโกณมิติอื่นๆ 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 พิมพ์แผ่น

3D พิมพ์แผ่น
3D พิมพ์แผ่น
3D พิมพ์แผ่น
3D พิมพ์แผ่น
3D พิมพ์แผ่น
3D พิมพ์แผ่น
3D พิมพ์แผ่น
3D พิมพ์แผ่น

ออกแบบด้วย Autocad และส่งออกในรูปแบบ STL

www.autodesk.fr/products/autocad/overview

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

สำคัญ:

ตั้งค่าเซอร์โวเป็น (0) องศาก่อนที่จะวางชิ้นส่วนที่สองไปที่เซอร์โวมอเตอร์ วางตัวชี้เลเซอร์บนตำแหน่งขนานโดยเปิดเซอร์โว (0) แทนที่ val ด้วย 0: monServomoteur.write(0);.

อย่าเพิ่งวาง รอสิ้นสุดขั้นตอนถัดไป

ขั้นตอนที่ 4: รหัส Arduino

รหัส Arduino
รหัส Arduino
รหัส Arduino
รหัส Arduino
รหัส Arduino
รหัส 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 ได้อย่างรวดเร็ว

แนะนำ: