สารบัญ:
- ขั้นตอนที่ 1: ฮาร์ดแวร์พื้นฐานที่เราต้องการ
- ขั้นตอนที่ 2: เชื่อมต่อฮาร์ดแวร์
- ขั้นตอนที่ 3: การเข้ารหัส Python สำหรับ Raspberry Pi
- ขั้นตอนที่ 4: ความสามารถในการใช้การได้ของรหัส
- ขั้นตอนที่ 5: แอปพลิเคชันและคุณสมบัติ
- ขั้นตอนที่ 6: บทสรุป
วีดีโอ: การควบคุมการเคลื่อนไหวด้วย Raspberry Pi และ LIS3DHTR, มาตรความเร่ง 3 แกน, โดยใช้ Python: 6 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
ความงามอยู่รอบตัวเรา แต่โดยปกติเราต้องเดินอยู่ในสวนถึงจะรู้ - รูมิ
ในฐานะกลุ่มที่มีการศึกษาอย่างเรา เราทุ่มเทพลังงานส่วนใหญ่ในการทำงานก่อนพีซีและโทรศัพท์มือถือของเรา ดังนั้นเราจึงปล่อยให้ความเป็นอยู่ที่ดีของเราอยู่ในเลานจ์รองบ่อยครั้ง โดยไม่เคยหาโอกาสที่เหมาะที่จะไปยิมหรือคลาสออกกำลังกายอย่างแท้จริง และตามกฎแล้วการเลือกอาหารจานด่วนมากกว่าตัวเลือกที่เป็นประโยชน์มากกว่า ข่าวที่น่ายินดีคือสิ่งที่คุณต้องมีคือความช่วยเหลือในการจัดเก็บบันทึกหรือเพื่อติดตามความก้าวหน้าของคุณ คุณสามารถใช้นวัตกรรมในปัจจุบันเพื่อผลิตอุปกรณ์บางอย่างเพื่อช่วยตัวเองได้
เทคโนโลยีมีการพัฒนาอย่างรวดเร็ว เราได้รับกระแสนวัตกรรมใหม่ๆ ที่จะเปลี่ยนแปลงโลกและวิธีที่เราเรียนรู้จากโลกนี้อย่างต่อเนื่อง เมื่อคุณใช้พีซี การเขียนโค้ด และหุ่นยนต์ หรือเพียงแค่ชอบคนจรจัด มีข้อดีด้านเทคโนโลยีอยู่ที่นั่น 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 และ 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 ซึ่งอาจช่วยให้คุณสอบได้ เชื่อมั่นว่าการลงทุนครั้งนี้จะกระตุ้นให้เกิดการสำรวจต่อไป ครุ่นคิดต่อไป! อย่าลืมมองหาหลังจากที่มากขึ้นอย่างต่อเนื่องมา
แนะนำ:
ศึกษาการวางแนวด้วย Raspberry Pi และ MXC6226XU โดยใช้ Python: 6 ขั้นตอน
ศึกษาการวางแนวด้วย Raspberry Pi และ MXC6226XU โดยใช้ Python: เสียงรบกวนเป็นเพียงส่วนหนึ่งของการทำงานของยานพาหนะ เสียงฮัมของมอเตอร์ในรถยนต์ที่ได้รับการปรับแต่งอย่างมากนั้นเป็นเสียงที่ไพเราะ ดอกยางส่งเสียงพึมพัมกับถนน ลมส่งเสียงหวีดหวิวเมื่อวิ่งไปรอบๆ กระจก เศษพลาสติก และชิ้นส่วนต่างๆ ในแผงหน้าปัดทำให้เกิดเ
การตรวจสอบการเร่งความเร็วโดยใช้ Raspberry Pi และ AIS328DQTR โดยใช้ Python: 6 ขั้นตอน
การตรวจสอบการเร่งความเร็วโดยใช้ Raspberry Pi และ AIS328DQTR การใช้ Python: การเร่งมีขอบเขต ฉันคิดว่าตามกฎฟิสิกส์บางประการ - Terry Riley เสือชีตาห์ใช้การเร่งความเร็วที่น่าทึ่งและการเปลี่ยนแปลงอย่างรวดเร็วของความเร็วเมื่อไล่ล่า สิ่งมีชีวิตที่เร็วที่สุดขึ้นฝั่งเป็นครั้งคราวใช้ความเร็วสูงสุดเพื่อจับเหยื่อ NS
มาตรความเร่งแบบ 3 แกน ADXL345 พร้อม Raspberry Pi โดยใช้ Python: 6 ขั้นตอน
มาตรความเร่งแบบ 3 แกน ADXL345 พร้อม Raspberry Pi โดยใช้ Python: คิดถึงแกดเจ็ตที่สามารถตรวจสอบจุดที่รถ Offroader ของคุณเอียงไปทางค้างอยู่ จะเป็นเรื่องที่น่ายินดีหรือไม่หากมีคนปรับเปลี่ยนเมื่อมีโอกาสพลิกคว่ำ เห็นได้ชัดว่าใช่ มันจะตรู
ติดตามรูปแบบการเร่งความเร็วด้วย Raspberry Pi และ MMA7455 โดยใช้ Python: 6 ขั้นตอน
การติดตามความแปรผันของการเร่งความเร็วด้วย Raspberry Pi และ MMA7455 โดยใช้ Python: ฉันไม่ได้สะดุด ฉันกำลังทดสอบแรงโน้มถ่วง มันยังคงทำงานอยู่… การเป็นตัวแทนของกระสวยอวกาศที่เร่งความเร็วได้ชี้แจงว่านาฬิกาที่จุดสูงสุดของกระสวยอวกาศจะเลือกเร็วกว่านาฬิกาที่ฐานเนื่องจากการขยายเวลาโน้มถ่วง บาง
เบื้องต้น* SPI บน Pi: การสื่อสารด้วยตัวตรวจวัดความเร่งแบบ 3 แกน SPI โดยใช้ Raspberry Pi: 10 ขั้นตอน
เบื้องต้น* SPI บน Pi: การสื่อสารด้วยตัวตรวจวัดความเร่งแบบ 3 แกน SPI การใช้ Raspberry Pi: คำแนะนำทีละขั้นตอนเกี่ยวกับวิธีตั้งค่า Raspbian และสื่อสารกับอุปกรณ์ SPI โดยใช้ไลบรารี bcm2835 SPI (ไม่ใช่บิตกระแทก!) นี่ยังคง เบื้องต้นมาก… ฉันต้องเพิ่มรูปภาพของการเชื่อมต่อทางกายภาพให้ดีขึ้น และทำงานผ่านรหัสที่น่าอึดอัดใจบางอย่าง