สารบัญ:

การควบคุมการเคลื่อนไหวด้วย Raspberry Pi และ LIS3DHTR, มาตรความเร่ง 3 แกน, โดยใช้ Python: 6 ขั้นตอน
การควบคุมการเคลื่อนไหวด้วย Raspberry Pi และ LIS3DHTR, มาตรความเร่ง 3 แกน, โดยใช้ Python: 6 ขั้นตอน

วีดีโอ: การควบคุมการเคลื่อนไหวด้วย Raspberry Pi และ LIS3DHTR, มาตรความเร่ง 3 แกน, โดยใช้ Python: 6 ขั้นตอน

วีดีโอ: การควบคุมการเคลื่อนไหวด้วย Raspberry Pi และ LIS3DHTR, มาตรความเร่ง 3 แกน, โดยใช้ Python: 6 ขั้นตอน
วีดีโอ: Arduino Nano L3G4200D Ultra-Stable Gyroscope Tutorial 2024, พฤศจิกายน
Anonim
Image
Image
ฮาร์ดแวร์พื้นฐานที่เราต้องการ
ฮาร์ดแวร์พื้นฐานที่เราต้องการ

ความงามอยู่รอบตัวเรา แต่โดยปกติเราต้องเดินอยู่ในสวนถึงจะรู้ - รูมิ

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

เทคโนโลยีมีการพัฒนาอย่างรวดเร็ว เราได้รับกระแสนวัตกรรมใหม่ๆ ที่จะเปลี่ยนแปลงโลกและวิธีที่เราเรียนรู้จากโลกนี้อย่างต่อเนื่อง เมื่อคุณใช้พีซี การเขียนโค้ด และหุ่นยนต์ หรือเพียงแค่ชอบคนจรจัด มีข้อดีด้านเทคโนโลยีอยู่ที่นั่น Raspberry Pi ซึ่งเป็นคอมพิวเตอร์ Linux แบบไมโครบอร์ดเดี่ยว ทุ่มเทให้กับการปรับปรุงวิธีการเรียนรู้ของคุณด้วยเทคโนโลยีที่เป็นนวัตกรรม แต่ยังเป็นกุญแจสำคัญในการปรับปรุงการเรียนรู้ด้านการศึกษาทั่วโลก แล้วผลลัพธ์ที่เป็นไปได้ที่เราจะทำอย่างไรถ้าเรามี Raspberry Pi และ Accelerometer แบบ 3 แกนอยู่ใกล้ ๆ ? เราเจอแบบนี้ได้ยังไง! ในงานนี้ เราจะตรวจสอบความเร่งของแกนตั้งฉาก 3 แกน X, Y และ Z โดยใช้ Raspberry Pi และ LIS3DHTR ซึ่งเป็นมาตรความเร่งแบบ 3 แกน ดังนั้นเราควรจะเห็นในการเดินทางครั้งนี้เพื่อสร้างระบบตรวจสอบการเร่งความเร็ว 3 มิติหรือ G-Force

ขั้นตอนที่ 1: ฮาร์ดแวร์พื้นฐานที่เราต้องการ

ฮาร์ดแวร์พื้นฐานที่เราต้องการ
ฮาร์ดแวร์พื้นฐานที่เราต้องการ
ฮาร์ดแวร์พื้นฐานที่เราต้องการ
ฮาร์ดแวร์พื้นฐานที่เราต้องการ

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

1. ราสเบอร์รี่ปี่

ขั้นตอนแรกคือการรับบอร์ด Raspberry Pi Raspberry Pi เป็นพีซีที่ใช้ Linux แบบบอร์ดเดียว พีซีขนาดเล็กเครื่องนี้อัดแน่นไปด้วยพลังประมวลผล ใช้เป็นส่วนหนึ่งของกิจกรรมแกดเจ็ต และการทำงานที่ตรงไปตรงมา เช่น สเปรดชีต การเตรียมคำ การสแกนเว็บและอีเมล และเกม

2. I2C Shield สำหรับ Raspberry Pi

ข้อกังวลหลักที่ Raspberry Pi ไม่มีอยู่จริงคือพอร์ตI²C เพื่อการนี้ ตัวเชื่อมต่อ TOUTPI2 I²C ช่วยให้คุณใช้ Rasp Pi กับอุปกรณ์I²C ใดก็ได้ มีจำหน่ายแล้วที่ DCUBE Store

3. มาตรความเร่งแบบ 3 แกน LIS3DHTR

LIS3DH เป็นเครื่องวัดความเร่งเชิงเส้นแบบสามแกนประสิทธิภาพสูงที่ใช้พลังงานต่ำเป็นพิเศษซึ่งเป็นของตระกูล "นาโน" พร้อมเอาต์พุตมาตรฐานอินเทอร์เฟซแบบอนุกรม I2C/SPI แบบดิจิทัล เราได้รับเซ็นเซอร์นี้จาก DCUBE Store

4. สายเคเบิลเชื่อมต่อ

เราได้รับสายเชื่อมต่อ I2C จากร้าน DCUBE Store

5. สายไมโคร USB

Raspberry Pi ที่เล็กที่สุดงุนงง แต่เข้มงวดที่สุดในด้านความต้องการพลังงาน! วิธีที่ง่ายที่สุดในการจัดการคือการใช้สายไมโคร USB

6. การเข้าถึงเว็บเป็นสิ่งจำเป็น

เด็กเน็ตไม่เคยหลับ

รับ Raspberry Pi ของคุณที่เชื่อมโยงกับสายเคเบิลอีเทอร์เน็ต (LAN) และเชื่อมต่อกับเราเตอร์เครือข่ายของคุณ เลือก ค้นหาตัวเชื่อมต่อ WiFi และใช้พอร์ต USB พอร์ตใดพอร์ตหนึ่งเพื่อไปยังระบบระยะไกล เป็นการตัดสินใจที่เฉียบแหลม เรียบง่าย เล็กและต่ำต้อย!

7. สาย HDMI/การเข้าถึงระยะไกล

Raspberry Pi มีพอร์ต HDMI ซึ่งคุณสามารถเชื่อมต่อกับหน้าจอหรือทีวีโดยเฉพาะด้วยสาย HDMI ทางเลือก คุณสามารถใช้ SSH เพื่อเชื่อมโยงกับ Raspberry Pi ของคุณจาก Linux PC หรือ Macintosh จากเทอร์มินัล ในทำนองเดียวกัน PuTTY โปรแกรมจำลองเทอร์มินัลโอเพ่นซอร์สฟรีดูเหมือนจะเป็นทางเลือกที่ดี

ขั้นตอนที่ 2: เชื่อมต่อฮาร์ดแวร์

การเชื่อมต่อฮาร์ดแวร์
การเชื่อมต่อฮาร์ดแวร์
การเชื่อมต่อฮาร์ดแวร์
การเชื่อมต่อฮาร์ดแวร์
การเชื่อมต่อฮาร์ดแวร์
การเชื่อมต่อฮาร์ดแวร์

ทำวงจรตามแผนผังที่ปรากฏ วาดไดอะแกรมและวาดโครงร่างอย่างแม่นยำ จินตนาการสำคัญกว่าความรู้

การเชื่อมต่อ Raspberry Pi และ I2C Shield

เหนือสิ่งอื่นใด ให้ใช้ Raspberry Pi และมองหา I2C Shield บนนั้น กด Shield อย่างประณีตเหนือพิน GPIO ของ Pi แล้วเราก็เสร็จสิ้นขั้นตอนง่ายๆ อย่างพาย (ดูสแน็ปช็อต)

การเชื่อมต่อของเซนเซอร์และ Raspberry Pi

นำเซ็นเซอร์และเชื่อมต่อสายเคเบิล I2C ด้วย สำหรับการทำงานที่เหมาะสมของสายเคเบิลนี้ โปรดเรียกคืนเอาต์พุต I2C ที่เชื่อมโยงกับอินพุต I2C เสมอ ต้องดำเนินการเช่นเดียวกันสำหรับ Raspberry Pi ที่มี I2C shield ติดตั้งอยู่เหนือหมุด GPIO

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

หมายเหตุ: สายสีน้ำตาลควรเป็นไปตามการเชื่อมต่อกราวด์ (GND) ระหว่างเอาต์พุตของอุปกรณ์เครื่องหนึ่งกับอินพุตของอุปกรณ์อื่น

เครือข่ายเว็บคือคีย์

เพื่อให้ความพยายามของเราได้รับชัยชนะ เราจำเป็นต้องมีการเชื่อมโยงอินเทอร์เน็ตสำหรับ Raspberry Pi ของเรา สำหรับสิ่งนี้ คุณมีตัวเลือกต่างๆ เช่น การเชื่อมต่อสายเคเบิลอีเทอร์เน็ต (LAN) เข้ากับเครือข่ายในบ้าน นอกจากนี้ เป็นอีกทางเลือกหนึ่ง แต่อย่างไรก็ตาม หลักสูตรที่รองรับคือการใช้ขั้วต่อ WiFi USB ตามกฎนี้ คุณต้องมีไดรเวอร์จึงจะใช้งานได้ ดังนั้นให้เอียงไปทางลีนุกซ์ในคำอธิบาย

พาวเวอร์ซัพพลาย

เสียบสาย Micro USB เข้ากับแจ็คไฟของ Raspberry Pi ต่อยขึ้นและเราพร้อม

การเชื่อมต่อกับหน้าจอ

เราสามารถเชื่อมต่อสาย HDMI กับหน้าจออื่นได้ ในบางกรณี คุณต้องใช้ Raspberry Pi โดยไม่ต้องเชื่อมต่อกับหน้าจอ หรือคุณอาจต้องดูข้อมูลบางส่วนจากที่อื่น เป็นไปได้ว่ามีแนวทางที่เป็นนวัตกรรมและชาญฉลาดทางการเงินในการทำเช่นนั้น หนึ่งในนั้นใช้ -SSH (ล็อกอินบรรทัดคำสั่งระยะไกล) คุณยังสามารถใช้ซอฟต์แวร์ PUTTY สำหรับสิ่งนั้นได้เช่นกัน สิ่งเหล่านี้มีไว้สำหรับผู้ใช้ขั้นสูง รายละเอียดจึงไม่รวมอยู่ในนี้

ขั้นตอนที่ 3: การเข้ารหัส Python สำหรับ Raspberry Pi

การเข้ารหัส Python สำหรับ Raspberry Pi
การเข้ารหัส Python สำหรับ Raspberry Pi

รหัส Python สำหรับ Raspberry Pi และ LIS3DHTR Sensor สามารถเข้าถึงได้ใน GithubRepository ของเรา

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

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

สิ่งที่แนบมาคือรหัสหลามและคุณสามารถโคลนและปรับรหัสได้ในทุกวิถีทางที่คุณโน้มเอียงไป

# แจกจ่ายด้วยใบอนุญาตฟรี # ใช้งานได้ตามที่คุณต้องการ ไม่ว่าจะมีกำไรหรือให้เปล่า หากเหมาะสมกับใบอนุญาตของงานที่เกี่ยวข้อง # LIS3DHTR # รหัสนี้ออกแบบมาเพื่อทำงานกับ LIS3DHTR_I2CS I2C Mini Module จาก dcubestore.com # https://dcubestore.com/product/lis3dhtr-3-axis-accelerometer-digital-output-motion-sensor-i%C2 %B2c-มินิโมดูล/

นำเข้า smbus

เวลานำเข้า

# รับรถบัส I2C

รถบัส = smbus. SMBus(1)

# LIS3DHTR ที่อยู่ 0x18(24)

# เลือกการลงทะเบียนการควบคุม 1, 0x20 (32) # 0x27 (39) โหมดเปิดเครื่อง, การเลือกอัตราข้อมูล = 10 Hz # X, Y, แกน Z ที่เปิดใช้งาน bus.write_byte_data(0x18, 0x20, 0x27) # ที่อยู่ LIS3DHTR, 0x18 (24)) # เลือกรีจิสเตอร์ควบคุม 4, 0x23(35) # 0x00(00) อัปเดตอย่างต่อเนื่อง, การเลือกแบบเต็มสเกล = +/-2G bus.write_byte_data(0x18, 0x23, 0x00)

เวลานอน(0.5)

# LIS3DHTR ที่อยู่ 0x18(24)

# อ่านข้อมูลย้อนหลังตั้งแต่ 0x28(40), 2 ไบต์ # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data(0x18, 0x28) data1 = bus.read_byte_data(0x18, 0x29)

#แปลงข้อมูล

xAccl = data1 * 256 + data0 ถ้า xAccl > 32767: xAccl -= 65536

# LIS3DHTR ที่อยู่ 0x18(24)

# อ่านข้อมูลย้อนหลังจาก 0x2A(42), 2 ไบต์ # Y-Axis LSB, Y-Axis MSB data0 = bus.read_byte_data(0x18, 0x2A) data1 = bus.read_byte_data(0x18, 0x2B)

#แปลงข้อมูล

yAccl = data1 * 256 + data0 ถ้า yAccl > 32767: yAccl -= 65536

# LIS3DHTR ที่อยู่ 0x18(24)

# อ่านข้อมูลย้อนหลังจาก 0x2C(44), 2 ไบต์ # แกน Z LSB, แกน Z MSB data0 = bus.read_byte_data(0x18, 0x2C) data1 = bus.read_byte_data(0x18, 0x2D)

#แปลงข้อมูล

zAccl = data1 * 256 + data0 ถ้า zAccl > 32767: zAccl -= 65536

# ส่งออกข้อมูลไปยังหน้าจอ

พิมพ์ "ความเร่งในแกน X: %d" %xAccl พิมพ์ "ความเร่งในแกน Y: %d" %yAccl พิมพ์ "การเร่งในแกน Z: %d" %zAccl

ขั้นตอนที่ 4: ความสามารถในการใช้การได้ของรหัส

ความสามารถในการใช้การได้ของรหัส
ความสามารถในการใช้การได้ของรหัส

ดาวน์โหลด (หรือ git pull) รหัสจาก Github และเปิดใน Raspberry Pi

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

ขั้นตอนที่ 5: แอปพลิเคชันและคุณสมบัติ

LIS3DHTR ผลิตโดย STMicroelectronics มีสเกลเต็มรูปแบบที่ผู้ใช้เลือกไดนามิกที่ ±2g/±4g/±8g/±16g และสามารถวัดความเร่งด้วยอัตราข้อมูลเอาต์พุตตั้งแต่ 1Hz ถึง 5kHz LIS3DHTR เหมาะสำหรับฟังก์ชั่นที่เปิดใช้งานการเคลื่อนไหวและการตรวจจับการตกอย่างอิสระ โดยจะวัดปริมาณการเร่งความเร็วแบบคงที่ของแรงโน้มถ่วงในแอปพลิเคชันตรวจจับการเอียง และนอกจากนี้ การเร่งแบบไดนามิกที่จะเกิดขึ้นเนื่องจากการเคลื่อนไหวหรือการกระแทก แอพพลิเคชั่นอื่นๆ ได้แก่ Click/Double Click Recognition, Intelligent Power Saving For Handheld Devices, Pedometer, Display Orientation, Gaming and Virtual Reality Input Devices, Impact Recognition And Logging And Vibration Monitoring And Compensation

ขั้นตอนที่ 6: บทสรุป

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

ตัวอย่างเช่น คุณสามารถเริ่มต้นด้วยแนวคิดเกี่ยวกับ Pedometer โดยใช้ LIS3DHTR และ Raspberry Pi ในงานข้างต้น เราได้ใช้การคำนวณพื้นฐาน การเร่งความเร็วอาจเป็นพารามิเตอร์ที่เกี่ยวข้องในการวิเคราะห์การเดิน คุณสามารถตรวจสอบสามองค์ประกอบของการเคลื่อนไหวสำหรับบุคคลที่อยู่ข้างหน้า (ม้วน, X), ด้านข้าง (พิทช์, Y) และแนวตั้ง (แกนหันเห, Z) บันทึกรูปแบบทั่วไปของทั้ง 3 แกน อย่างน้อย 1 แกนจะมีค่าความเร่งเป็นคาบสัมพัทธ์มาก ดังนั้นทิศทางสูงสุดและอัลกอริธึมจึงมีความจำเป็น เมื่อพิจารณาถึงขั้นตอน พารามิเตอร์ (Digital Filter, Peak Detection, Time Window ฯลฯ) ของอัลกอริธึมนี้ คุณจะจดจำและนับก้าวได้ เช่นเดียวกับการวัดระยะทาง ความเร็ว และระดับแคลอรีที่เผาผลาญไป คุณจึงสามารถใช้เซ็นเซอร์นี้ได้หลายวิธี เราเชื่อว่าทุกคนชอบมัน! เราจะพยายามแปลความหมายของ pedometer นี้ให้ใช้งานได้ไม่ช้าก็เร็ว การกำหนดค่า รหัส ส่วนที่ใช้คำนวณวิธีการแยกการเดินและการวิ่ง และการเผาผลาญแคลอรี่

เพื่อเป็นการปลอบใจของคุณ เรามีวิดีโอที่น่าสนใจบน YouTube ซึ่งอาจช่วยให้คุณสอบได้ เชื่อมั่นว่าการลงทุนครั้งนี้จะกระตุ้นให้เกิดการสำรวจต่อไป ครุ่นคิดต่อไป! อย่าลืมมองหาหลังจากที่มากขึ้นอย่างต่อเนื่องมา

แนะนำ: