สารบัญ:

ฉันสามารถใช้ TinyLiDAR ใน เกาได้ไหม: 3 ขั้นตอน
ฉันสามารถใช้ TinyLiDAR ใน เกาได้ไหม: 3 ขั้นตอน

วีดีโอ: ฉันสามารถใช้ TinyLiDAR ใน เกาได้ไหม: 3 ขั้นตอน

วีดีโอ: ฉันสามารถใช้ TinyLiDAR ใน เกาได้ไหม: 3 ขั้นตอน
วีดีโอ: วิธีการใช้เซ็นเซอร์วัดระยะเลเซอร์ VL53L0X ตั้งแต่ 2 ตัวขึ้นไป 2024, กรกฎาคม
Anonim
ฉันสามารถใช้ TinyLiDAR ใน… เกาได้ไหม
ฉันสามารถใช้ TinyLiDAR ใน… เกาได้ไหม

เราได้รับคำขอเป็นระยะ ๆ เพื่อถามว่า tinyLiDAR จะทำงานบนแพลตฟอร์มการคำนวณเฉพาะของพวกเขาหรือไม่ แม้ว่า tinyLiDAR ได้รับการออกแบบให้เป็นเซ็นเซอร์ LiDAR ที่ใช้งานง่ายสำหรับ Arduino UNO แต่ก็ไม่มีอะไรหยุดยั้งไม่ให้ใช้กับแพลตฟอร์มอื่น ๆ เช่น Raspberry Pi (ดังแสดงในคำแนะนำก่อนหน้านี้ที่นี่) นั่นคือหากแพลตฟอร์มมีบัส I2C และสามารถรองรับคุณสมบัติการยืดเวลาของข้อมูลจำเพาะ I2C ได้ แล้วถ้าบอร์ดของคุณไม่รองรับ I2C ล่ะ? - ไม่ต้องสนใจว่านาฬิกาจะยืดเวลา… นั่นอาจเป็นสถานการณ์ที่ท้าทาย แต่ในความเป็นจริง มันมีอยู่จริงสำหรับภาษาการเขียนโปรแกรมภาพยอดนิยมที่เรียกว่า "Scratch"

Google ได้หากคุณไม่เคยได้ยินมาก่อน แต่โดยสรุป เป็นภาษาแรกที่ยอดเยี่ยมสำหรับทุกคนที่จะเข้าสู่ขอบเขตการเขียนโปรแกรม Scratch สร้างขึ้นโดย MIT Media Lab และมีมานานกว่า 16 ปีแล้ว เป็นภาษา goto สำหรับสอนเด็ก ๆ ให้เขียนโค้ดทั่วโลก ทุกคนสามารถเริ่มใช้งานได้ฟรี ตามปกติแล้วมันจะทำงานบนเดสก์ท็อปของคุณในเว็บเบราว์เซอร์ ลองดูที่นี่ถ้าคุณชอบ

TL;รุ่น DR

ใช่! ด้วยคุณสมบัติใหม่ที่เรียกว่า "Ultrasonic Emulation Mode" ใน tinyLiDAR f/w เวอร์ชัน 1.3.9

ขั้นตอนที่ 1: เกาอะไร

มีหลายรสชาติของ Scratch ในป่าในขณะนี้ ผู้ที่ชื่นชอบวิทยาการหุ่นยนต์มักจะใช้เวอร์ชันที่เน้น GPIO เช่น ScratchGPIO หรือเวอร์ชันดัดแปลงอื่นๆ เช่น ScratchX ซึ่งสร้างขึ้นเพื่อรองรับ 'ฮาร์ดแวร์ทดลอง' สิ่งเหล่านี้ยอดเยี่ยมสำหรับผู้ใช้ขั้นสูง แต่เวอร์ชันหลักซึ่งติดตั้งโดยค่าเริ่มต้นบน pi จะเป็นจุดสนใจของเราสำหรับคำแนะนำนี้ เนื่องจากมีตัวเลือกฮาร์ดแวร์ที่ค่อนข้างจำกัด

Raspbian Stretch Desktop ของ pi มาพร้อมกับ Scratch สองเวอร์ชันที่ติดตั้งไว้ล่วงหน้า กล่าวคือ "Scratch" และ "Scratch 2" เราจะใช้อันแรกที่เรียกว่า "Scratch 1.4 (NuScratch)" และจะใช้ "ออฟไลน์" เพื่อให้เราสามารถใช้คุณลักษณะเซิร์ฟเวอร์ GPIO ได้

คุณสามารถดาวน์โหลดภาพเดสก์ท็อป pi อย่างเป็นทางการได้ที่นี่

ด้วยเหตุผลใดก็ตาม ผู้สร้าง Scratch ได้ตัดสินใจที่จะสนับสนุนเซ็นเซอร์ที่มีอยู่ทั่วไปเพียงไม่กี่ตัวจากบริษัทขนาดใหญ่ เช่น Lego เป็นต้น ที่น่าสนใจคือ พวกเขายังตัดสินใจเพิ่มการรองรับสำหรับ HC-SR04 ด้วย แน่นอนว่านี่คือเซ็นเซอร์วัดระยะอัลตราโซนิกที่แพร่หลายซึ่งแสดงผลความกว้างพัลส์เดียวซึ่งเป็นสัดส่วนกับระยะทางที่วัดได้

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

ขั้นตอนที่ 2: คุณสมบัติใหม่

ลูกเล่นใหม่
ลูกเล่นใหม่

การแสดงพัลส์ระดับไมโครวินาทีที่แม่นยำนั้นไม่ใช่ปัญหาสำหรับเราใน tinyLiDAR เนื่องจากเรามีตัวจับเวลาฮาร์ดแวร์ความละเอียดสูงสำรองไว้ภายในไมโคร 32 บิตบนบอร์ด tinyLiDAR ยังปรับเทียบอัตโนมัติสำหรับอุณหภูมิเสมอเมื่อเปิดเครื่อง ดังนั้นจึงไม่จำเป็นต้องทำการปรับเพิ่มเติมสำหรับสภาพแวดล้อมการทำงาน

มาทำกัน

โอเค เราทำได้ ดังนั้นเราจึงเพิ่มฟีเจอร์ใหม่ให้กับ tinyLiDAR (ในเฟิร์มแวร์ 1.3.9) ที่เรียกว่า "Ultrasonic Emulation Mode" คุณสามารถเข้าถึงได้โดยใช้คำสั่ง "u" จากเทอร์มินัล GUI TinyLiDAR ที่อัปเดต

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

เพื่อให้ชีวิตง่ายขึ้น เรากำลังทำให้เซ็นเซอร์ tinyLiDAR พร้อมใช้งานสำหรับโหมด Ultrasonic Emulation ใหม่นี้จากเว็บไซต์ของเรา เพียงสั่งซื้อรุ่น "-u"

Look Ma ไม่มีการบัดกรี

ไม่มีการบัดกรีและไม่จำเป็นต้องใช้เขียงหั่นขนมเนื่องจากสายเคเบิล "Grove to Female 4pin" ที่รวมอยู่จะเสียบเข้ากับหมุดส่วนหัวของ Raspberry pi โดยตรง หมุดไกคือสายสีเหลืองและหมุดสะท้อนคือสายสีขาว แน่นอนว่าสีดำและสีแดงคือพลัง ดูภาพหลักด้านบนสำหรับรายละเอียด

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

ด้วยเหตุนี้ คุณจึงสามารถวัดค่าด้วย tinyLiDAR ได้โดยใช้ภาพร่างอัลตราโซนิก "PING" ที่เป็นค่าเริ่มต้นซึ่งมาพร้อมกับ Arduino IDE ทุกตัวโดยไม่มีการเปลี่ยนแปลงโค้ดใดๆ คุณสามารถลองโดยไม่ชักช้าเช่นกัน

แน่นอน คุณสามารถตั้งค่าพารามิเตอร์ต่างๆ เช่น ความแม่นยำสูง ระยะทางไกล ฯลฯ ของการวัด LiDAR ของคุณ ก่อนเลือกคำสั่ง "u" จากนั้นจะทำการวัดเหล่านั้นทุกครั้งที่เห็นว่าพินทริกเกอร์ตกตามที่แสดงในแผนภาพด้านบน

อันตราย วิลล์ โรบินสัน

โปรดทราบว่าเซ็นเซอร์อัลตราโซนิก SR04 ต้องการตัวต้านทานบางตัวเพื่อป้องกันไม่ให้แหล่งจ่ายไฟ +5v ทำลาย pi ของคุณ แต่เนื่องจาก tinyLiDAR ทำงานโดยกำเนิดจาก +3.3v จึงไม่จำเป็นต้องมีตัวต้านทานใดๆ เพื่อเชื่อมต่อกับ pi:)

ขั้นตอนที่ 3: การเข้ารหัสมัน

การเข้ารหัสมัน
การเข้ารหัสมัน
การเข้ารหัสมัน
การเข้ารหัสมัน

ดังนั้นรหัสที่เราต้องการเพื่อให้ tinyLiDAR ทำงานใน Scratch คืออะไร?

ดีใจที่คุณถาม!

เป็นเพียงเรื่องของการลากบล็อกการออกอากาศง่ายๆ ไม่กี่บล็อกดังที่แสดงในภาพด้านบน

ในการเปิดใช้งานหมุด GPIO เราสามารถออก "ออกอากาศ gpioservon" จากนั้นเพื่อกำหนดค่าหมุดทริกเกอร์ เราออก "broadcast config16out" ถัดไป เราสามารถกำหนดค่าหมุดสะท้อนโดย "broadcast config26in" จากนั้นเริ่มการวัดโดย "broadcast ultrasonictrigger16echo26" ซึ่งจะทำให้ทำการวัดอย่างต่อเนื่องที่รอบขา 140 มิลลิวินาที คุณสามารถอ่านข้อมูลที่วัดได้โดยใช้บล็อกความรู้สึก "ค่าเซ็นเซอร์ระยะอัลตราโซนิก"

เท่านี้ก็เรียบร้อย ขอบคุณสำหรับการอ่าน และอย่าลืมดูโปรแกรมสาธิต Scratch สนุกๆ (แชร์ที่นี่) ที่เราเรียกว่า "tinyLiDAR_catch_me" และ …Scratch On!;)

แนะนำ: