สารบัญ:
- ขั้นตอนที่ 1: รหัส CircuitPython
- ขั้นตอนที่ 2: เชื่อมต่อ TinyLiDAR กับ Gemma M0
- ขั้นตอนที่ 3: เอาต์พุตแบบอนุกรม
วีดีโอ: CircuitPython และ TinyLiDAR: ตัวอย่างง่ายๆ: 3 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
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
- ดาวน์โหลด lib/adafruit_dotstar.mpy และ lib/adafruit_bus_device/i2c_device.mpy หากคุณยังไม่มี สิ่งเหล่านี้เป็นส่วนหนึ่งของชุดไลบรารีเสริม โปรดดูส่วนแรกของ CircuitPython I2C สำหรับหมายเหตุเกี่ยวกับวิธีการติดตั้งสิ่งเหล่านี้ ไฟล์เหล่านี้ต้องอยู่ในไดเร็กทอรี lib และ lib/adafruit_bus_device บน Gemma M0
- ดาวน์โหลด 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 ขั้วต่ออเนกประสงค์ "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: เอาต์พุตแบบอนุกรม
โปรแกรมเขียนเอาต์พุตไปยังคอนโซลอนุกรมที่แสดงระยะทางที่วัด นี่คือภาพหน้าจอตัวอย่างของเทอร์มินัลที่แสดงวัตถุที่เคลื่อนที่ออกจากเซ็นเซอร์
แนะนำ:
ติดตาม: ศูนย์สื่อขั้นสูงพร้อม Odroid N2 และ Kodi (รองรับ 4k และ HEVC): 3 ขั้นตอน
ติดตาม: Advanced Media Center พร้อม Odroid N2 และ Kodi (รองรับ 4k และ HEVC): บทความนี้เป็นบทความต่อจากบทความก่อนหน้าของฉันที่ประสบความสำเร็จค่อนข้างมากเกี่ยวกับการสร้างศูนย์สื่ออเนกประสงค์ โดยอ้างอิงจาก Raspberry PI ที่ได้รับความนิยมมากในตอนแรก แต่ ในภายหลัง เนื่องจากไม่มีเอาต์พุตที่สอดคล้องกับ HEVC, H.265 และ HDMI 2.2 จึงมีสวิตช์
Blinds Control ด้วย ESP8266, Google Home และ Openhab Integration และ Webcontrol: 5 ขั้นตอน (พร้อมรูปภาพ)
การควบคุมมู่ลี่ด้วย ESP8266, Google Home และ Openhab Integration และ Webcontrol: ในคำแนะนำนี้ ฉันจะแสดงให้คุณเห็นว่าฉันเพิ่มระบบอัตโนมัติให้กับมู่ลี่ของฉันอย่างไร ฉันต้องการเพิ่มและลบระบบอัตโนมัติได้ ดังนั้นการติดตั้งทั้งหมดจึงเป็นแบบหนีบ ส่วนหลักคือ: สเต็ปเปอร์มอเตอร์ ตัวขับสเต็ปควบคุม bij ESP-01 เกียร์และการติดตั้ง
DIY IBeacon และ Beacon Scanner ด้วย Raspberry Pi และ HM13: 3 ขั้นตอน
DIY IBeacon และ Beacon Scanner ด้วย Raspberry Pi และ HM13: Story A beacon จะส่งสัญญาณอย่างต่อเนื่องเพื่อให้อุปกรณ์บลูทู ธ อื่น ๆ รู้ว่ามีอยู่ และฉันอยากได้บีคอนบลูทูธเพื่อติดตามกุญแจมาตลอด เพราะฉันลืมเอามันมาเหมือน 10 ครั้งในปีที่แล้ว และฉันก็เกิดขึ้น
RuuviTag และ PiZero W และ Blinkt! เทอร์โมมิเตอร์แบบ Bluetooth Beacon: 3 ขั้นตอน (พร้อมรูปภาพ)
RuuviTag และ PiZero W และ Blinkt! เครื่องวัดอุณหภูมิที่ใช้ Bluetooth Beacon: คำแนะนำนี้อธิบายวิธีการอ่านข้อมูลอุณหภูมิและความชื้นจาก RuuviTag โดยใช้ Bluetooth กับ Raspberry Pi Zero W และเพื่อแสดงค่าเป็นเลขฐานสองบน Pimoroni กะพริบตา! pHAT.หรือเรียกสั้นๆ ว่า จะสร้างสถานะอย่างไร
วิธีการสร้าง Quadcoptor (NTM 28-30S 800kV 300W และ Arducopter APM 2.6 & 6H GPS 3DR Radio และ FlySky TH9X): 25 ขั้นตอน (พร้อมรูปภาพ)
วิธีการสร้าง Quadcoptor (NTM 28-30S 800kV 300W และ Arducopter APM 2.6 & 6H GPS 3DR Radio และ FlySky TH9X): นี่คือบทแนะนำเกี่ยวกับวิธีการสร้าง Quadcopter โดยใช้มอเตอร์ NTM 28-30S 800kV 300W และ Arducopter APM 2.6 & 6H GPS & วิทยุ 3DR ฉันพยายามอธิบายแต่ละขั้นตอนด้วยรูปภาพจำนวนหนึ่ง หากคุณมีคำถามหรือความคิดเห็นใด ๆ โปรดตอบกลับ