สารบัญ:

CircuitPython และ TinyLiDAR: ตัวอย่างง่ายๆ: 3 ขั้นตอน
CircuitPython และ TinyLiDAR: ตัวอย่างง่ายๆ: 3 ขั้นตอน

วีดีโอ: CircuitPython และ TinyLiDAR: ตัวอย่างง่ายๆ: 3 ขั้นตอน

วีดีโอ: CircuitPython และ TinyLiDAR: ตัวอย่างง่ายๆ: 3 ขั้นตอน
วีดีโอ: Cytron Edu:bit with Adafruit CLUE and tinyLiDAR - servo-mounted scanning 2024, กรกฎาคม
Anonim
CircuitPython และ TinyLiDAR: ตัวอย่างง่ายๆ
CircuitPython และ TinyLiDAR: ตัวอย่างง่ายๆ

TinyLiDAR ของ MicroElectronicDesign เป็นโมดูลตามเวลาของเที่ยวบิน (ToF) แบบอิง ST VL53L0X พร้อมการเชื่อมต่อบัส i2c บอร์ดไมโครคอนโทรลเลอร์ของ Adafruit เชื่อมต่อกับเซ็นเซอร์นี้อย่างง่ายดาย เนื่องจากสามารถพูดโปรโตคอล i2c ผ่านหมุดข้อมูลได้

ซีรีส์ M0/M4 มีข้อได้เปรียบเหนือบอร์ดอื่นๆ เนื่องจากรองรับชุดย่อยของ Python ซึ่งทำให้โปรแกรมเข้าถึงผู้ชมได้กว้างกว่า C บน Arduino นี่เป็นตัวอย่างง่ายๆ โดยใช้ CircuitPython บนบอร์ด Gemma M0 เพื่ออ่านค่าระยะทางจาก tinyLiDAR และระบุระยะทางโดยเปลี่ยนความสว่างของไฟ LED RGB บนบอร์ด บอร์ดต้องเป็นเวอร์ชัน M0 เพื่อรองรับ python

หมายเหตุ: Adafruit ยังผลิตแผงตรวจวัดระยะทางต่างๆ รวมถึงบอร์ดที่ใช้ VL53L0X

ขั้นตอนที่ 1: รหัส CircuitPython

  1. ดาวน์โหลด lib/adafruit_dotstar.mpy และ lib/adafruit_bus_device/i2c_device.mpy หากคุณยังไม่มี สิ่งเหล่านี้เป็นส่วนหนึ่งของชุดไลบรารีเสริม โปรดดูส่วนแรกของ CircuitPython I2C สำหรับหมายเหตุเกี่ยวกับวิธีการติดตั้งสิ่งเหล่านี้ ไฟล์เหล่านี้ต้องอยู่ในไดเร็กทอรี lib และ lib/adafruit_bus_device บน Gemma M0
  2. ดาวน์โหลด gemma-m0-tinylidar-simple.py เปลี่ยนชื่อเป็น main.py และคัดลอกไปยังไดเร็กทอรีรากของ Gemma M0

โปรแกรมจะเขียนเอาต์พุตไปยังคอนโซลซีเรียล รวมทั้งปรับความสว่างของ Gemma MO RGB LED ตามสัดส่วนของระยะที่อ่านได้ Gemma M0 led จะสลับไปมาระหว่างเปิดและปิดสำหรับการอ่าน ดังนั้นจะกะพริบที่ประมาณ 5Hz และพฤติกรรมเริ่มต้นของบอร์ด tinyLiDAR คือการกะพริบไฟ LED สีน้ำเงินต่อคำสั่งที่ 10Hz

บัสถูกขับเคลื่อนที่ 100kHz ซึ่งทำงานได้ดีสำหรับกรณีนี้ เช่นเดียวกับรถบัส ความเร็วในการสื่อสารจะถูกจำกัดโดยลักษณะของสายส่ง ดังนั้นควรให้ความสนใจกับความยาว ความจุ และปัจจัยอื่นๆ

ขั้นตอนที่ 2: เชื่อมต่อ TinyLiDAR กับ Gemma M0

การเชื่อมต่อ TinyLiDAR กับ Gemma M0
การเชื่อมต่อ TinyLiDAR กับ Gemma M0

รูปภาพแสดงการตั้งค่าชั่วคราวที่มีประสิทธิภาพแต่ไม่เหมาะสมในการเชื่อมต่อ tinyLiDAR กับบอร์ด Gemma M0 ขั้วต่ออเนกประสงค์ "Grove" 4 พิน "Grove" ของ tinyLiDAR ใช้งานผ่านสายเคเบิลแปลง Seeed Grove, ส่วนหัวสำรอง และคลิปจระเข้เพื่อเชื่อมต่อกับ Gemma M0 การแยกระหว่างหมุดบนส่วนหัวช่วยขจัดความเสี่ยงที่จะเกิดการลัดวงจรโดยไม่ได้ตั้งใจ การเชื่อมต่อคือ:

  • สีดำ: gnd ถึง gnd
  • สีแดง: +V ถึง 3Vo
  • สีขาว: SDA ถึง D0 (ข้อมูล)
  • สีเหลือง: SCL ถึง D2 (นาฬิกา)

บอร์ด Adafruit มีหมุดบางตัวที่รองรับโปรโตคอล i2c ในฮาร์ดแวร์ได้อย่างมีประสิทธิภาพ ในกรณีของ Gemma M0 ต้องใช้ D0 สำหรับข้อมูลและ D2 สำหรับนาฬิกา

บัส i2c ต้องการตัวต้านทานแบบดึงขึ้นบนสายข้อมูลและนาฬิกา ในกรณีนี้ tinyLiDAR มีตัวต้านทานออนบอร์ด 4.7K บางตัว หากสิ่งเหล่านี้ถูกลบออกจากวงจรโดยการตัดเส้น จะต้องเพิ่มสิ่งที่เทียบเท่าในวงจร

ขั้นตอนที่ 3: เอาต์พุตแบบอนุกรม

เอาท์พุทแบบอนุกรม
เอาท์พุทแบบอนุกรม

โปรแกรมเขียนเอาต์พุตไปยังคอนโซลอนุกรมที่แสดงระยะทางที่วัด นี่คือภาพหน้าจอตัวอย่างของเทอร์มินัลที่แสดงวัตถุที่เคลื่อนที่ออกจากเซ็นเซอร์

แนะนำ: