สารบัญ:

ติดตามรูปแบบการเร่งความเร็วด้วย Raspberry Pi และ MMA7455 โดยใช้ Python: 6 ขั้นตอน
ติดตามรูปแบบการเร่งความเร็วด้วย Raspberry Pi และ MMA7455 โดยใช้ Python: 6 ขั้นตอน

วีดีโอ: ติดตามรูปแบบการเร่งความเร็วด้วย Raspberry Pi และ MMA7455 โดยใช้ Python: 6 ขั้นตอน

วีดีโอ: ติดตามรูปแบบการเร่งความเร็วด้วย Raspberry Pi และ MMA7455 โดยใช้ Python: 6 ขั้นตอน
วีดีโอ: Raspberry Pi 101 EP.2 : เริ่มต้นใช้งาน Raspberry Pi 4 Model B ครั้งแรก สำหรับมือใหม่ 2024, พฤศจิกายน
Anonim
Image
Image

ฉันไม่ได้สะดุด ฉันกำลังทดสอบแรงโน้มถ่วง มันยังคงทำงาน…

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

ความคิด แรงจูงใจ และแม้แต่แนวทางสามารถเกิดขึ้นได้จากทุกที่ แต่เมื่อความสนใจของคุณอยู่ที่นวัตกรรม ความคิดนั้นก็ได้รับการสนับสนุนจากบุคคลที่มุ่งความสนใจไปที่จุดนั้น Raspberry Pi ซึ่งเป็นพีซี Linux แบบบอร์ดเดี่ยวขนาดเล็ก นำเสนอภารกิจพิเศษและคำแนะนำหลักในการจัดเตรียม การเขียนโปรแกรม และการลงทุนด้านอิเล็กทรอนิกส์ ใกล้เคียงกับการเป็น Raspberry Pi และผู้สร้างบทช่วยสอนเกี่ยวกับอุปกรณ์ เราจึงได้รับโอกาสในการตั้งโปรแกรมและคนจรจัด และสร้างสิ่งที่น่าทึ่งด้วยวิทยาการคอมพิวเตอร์และอิเล็กทรอนิกส์ ช่วงหลังๆ นี้ เรามีความสุขที่ได้ถ่ายภาพงานโดยใช้มาตรความเร่ง และความคิดเบื้องหลังสิ่งที่คุณสามารถทำได้ด้วยแกดเจ็ตนี้เจ๋งจริงๆ ดังนั้นในงานนี้ เราจะรวม MMA7455 ซึ่งเป็นเซ็นเซอร์วัดความเร่งแบบดิจิตอล 3 แกน เพื่อวัดความเร่งใน 3 มิติ X, Y และ Z ด้วย Raspberry Pi โดยใช้ Python มาดูกันว่าจะได้ผลหรือไม่

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

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

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

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

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

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

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

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

MMA7455 3-Axis Digital Accelerometer ผลิตโดย Freescale Semiconductor, Inc. เป็นเซ็นเซอร์ที่ใช้พลังงานต่ำและมีขนาดเล็กกว่าซึ่งเหมาะสำหรับการตรวจวัดการเร่งความเร็วตามแกน X, Y และ Z เราได้รับเซ็นเซอร์นี้จาก DCUBE Store

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

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

5. สายไมโคร USB

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

6. การสนับสนุนเครือข่าย

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

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

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

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

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

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

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

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

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

นำเซ็นเซอร์และเชื่อมต่อสายเคเบิล I2C ด้วย สำหรับการทำงานที่เหมาะสมของสายเคเบิลนี้ โปรดตรวจสอบ I2C Output เสมอใช้ I2C Input ต้องดำเนินการเช่นเดียวกันสำหรับ 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 และ MMA7455 ได้ใน GithubRepository ของเรา

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

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

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

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

นำเข้า smbus

เวลานำเข้า

# รับรถบัส I2C

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

# MMA7455L ที่อยู่ 0x1D(16)

# เลือกการลงทะเบียนการควบคุมโหมด 0x16 (22) # 0x01 (01) โหมดการวัด +/- 8g bus.write_byte_data (0x1D, 0x16, 0x01)

เวลานอน(0.5)

# MMA7455L ที่อยู่ 0x1D(16)

# อ่านข้อมูลย้อนหลังตั้งแต่ 0x00(00) 6 ไบต์ # X-Axis LSB, X-Axis MSB, Y-Axis LSB, Y-Axis MSB, Z-Axis LSB, Z-Axis MSB data=bus.read_i2c_block_data(0x1D, 0x00, 6)

# แปลงข้อมูลเป็น 10 บิต

xAccl = (data[1] & 0x03) * 256 + data [0] if xAccl > 511: xAccl -= 1024 yAccl = (data[3] & 0x03) * 256 + data [2] if yAccl > 511: yAccl - = 1024 zAccl = (ข้อมูล[5] & 0x03) * 256 + ข้อมูล [4] ถ้า zAccl > 511: zAccl -= 1024

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

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

ขั้นตอนที่ 4: การใช้งานจริงของโค้ด

การปฏิบัติจริงของรหัส
การปฏิบัติจริงของรหัส

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

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

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

MMA7455 ผลิตโดย Freescale Semiconductor มาตรวัดความเร่งแบบดิจิตอล 3 แกนประสิทธิภาพสูงกำลังต่ำที่ใช้พลังงานต่ำสำหรับการเปลี่ยนแปลงข้อมูลเซ็นเซอร์ การวางแนวผลิตภัณฑ์ และการตรวจจับท่าทาง เหมาะอย่างยิ่งสำหรับการใช้งานต่างๆ เช่น โทรศัพท์มือถือ/ PMP/PDA: การตรวจจับทิศทาง (แนวตั้ง/แนวนอน), ความเสถียรของภาพ, การเลื่อนข้อความ, การโทรออกด้วยการเคลื่อนไหว, แตะเพื่อปิดเสียง, แล็ปท็อปพีซี: การป้องกันการโจรกรรม, การเล่นเกม: การตรวจจับการเคลื่อนไหว, การปลุกอัตโนมัติ/ สลีปสำหรับการใช้พลังงานต่ำและกล้องถ่ายภาพนิ่งดิจิตอล: ความเสถียรของภาพ

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

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

ตัวอย่างเช่น คุณสามารถเริ่มต้นด้วยความคิดของ Gravimeter Prototype เพื่อวัดสนามความโน้มถ่วงของโลกด้วย MMA7455 และ Raspberry Pi โดยใช้ Python ในการร่วมทุนข้างต้น เราได้ใช้การคำนวณพื้นฐาน หลักการพื้นฐานของการออกแบบคือการวัดการเปลี่ยนแปลงเศษส่วนเล็กๆ ภายในแรงโน้มถ่วงของโลก 1 กรัม คุณจึงสามารถใช้เซ็นเซอร์นี้ได้หลายวิธี อัลกอริทึมคือการวัดอัตราการเปลี่ยนแปลงของเวกเตอร์แรงโน้มถ่วงแนวตั้งในทั้งสามทิศทางตั้งฉากซึ่งก่อให้เกิดเทนเซอร์เกรเดียนต์ของแรงโน้มถ่วง สามารถอนุมานได้โดยการแยกค่าของแรงโน้มถ่วงที่จุดสองจุดที่คั่นด้วยระยะทางแนวตั้งเล็กๆ l และหารด้วยระยะนี้ เราจะพยายามแปลความหมายของต้นแบบนี้เร็วกว่าในภายหลัง การกำหนดค่า โค้ด และการสร้างแบบจำลองสำหรับโครงสร้างที่เกิดจากเสียงและการวิเคราะห์การสั่นสะเทือน เราเชื่อว่าทุกคนชอบมัน!

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

แนะนำ: