สารบัญ:

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

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

วีดีโอ: การตรวจสอบการเร่งความเร็วโดยใช้ Raspberry Pi และ AIS328DQTR โดยใช้ Python: 6 ขั้นตอน
วีดีโอ: ใช้งาน Raspberry Pi แทนคอมพิวเตอร์ทั่วไป ทำได้ไหมนะ? 2024, กรกฎาคม
Anonim
Image
Image

ความเร่งมีขอบเขต ฉันคิดว่าตามกฎของฟิสิกส์ - Terry Riley

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

ในปัจจุบัน ปัจเจกบุคคลไม่สามารถจินตนาการถึงการมีอยู่ของตนเองได้หากปราศจากนวัตกรรม นวัตกรรมต่างๆ รอบตัวเรา กำลังช่วยให้ผู้คนดำเนินชีวิตต่อไปด้วยความฟุ่มเฟือยมากขึ้น Raspberry Pi ซึ่งเป็นพีซี Linux แบบบอร์ดเดี่ยวขนาดเล็ก ให้ฐานราคาถูกและน่านับถือสำหรับความพยายามด้านอิเล็กทรอนิกส์และความก้าวหน้าที่ล้ำสมัย เช่น IoT เมืองอัจฉริยะ และการศึกษาในโรงเรียน ในฐานะที่เป็นแฟนตัวยงของคอมพิวเตอร์และแกดเจ็ต เราได้ใช้ Raspberry Pi มาพอสมควรแล้ว และเลือกที่จะผสมผสานความสนใจของเราเข้าด้วยกัน แล้วผลลัพธ์ที่เป็นไปได้ที่เราจะทำอย่างไรถ้าเรามี Raspberry Pi และ Accelerometer แบบ 3 แกนอยู่ใกล้ ๆ ? ในงานนี้ เราจะรวม AIS328DQTR ซึ่งเป็นเซ็นเซอร์วัดความเร่งเชิงเส้น MEMS แบบ 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 แกน AIS328DQTR

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

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

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

5. สายไมโคร USB

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

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

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

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

Raspberry Pi มีพอร์ต HDMI ซึ่งคุณสามารถเชื่อมต่อกับจอภาพหรือทีวีโดยเฉพาะด้วยสาย HDMI ทางเลือก คุณสามารถใช้ SSH เพื่อสร้าง Raspberry Pi จาก Linux PC หรือ Macintosh จากเทอร์มินัลได้ นอกจากนี้ 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 และ AIS328DQTR ได้ในที่เก็บ Github ของเรา

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

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

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

# แจกจ่ายด้วยใบอนุญาตฟรี # ใช้งานได้ตามที่คุณต้องการ ไม่ว่าจะมีกำไรหรือให้เปล่า หากเหมาะสมกับใบอนุญาตของงานที่เกี่ยวข้อง # AIS328DQTR # รหัสนี้ออกแบบมาเพื่อใช้งานกับ AIS328DQTR_I2CS I2C Mini Module จาก dcubestore.com # https://dcubestore.com/product/ais328dqtr-high-performance-ultra-low-power-3-axis-accelerometer-with -digital-output-for-automotive-applications-i%C2%B2c-mini-module/

นำเข้า smbus

เวลานำเข้า

# รับรถบัส I2C

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

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

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

เวลานอน(0.5)

# ที่อยู่ AIS328DQTR, 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

# ที่อยู่ AIS328DQTR, 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

# ที่อยู่ AIS328DQTR, 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: แอปพลิเคชันและคุณสมบัติ

ผลิตโดย STMicroelectronics เครื่องวัดความเร่งเชิงเส้น 3 แกนที่ใช้พลังงานต่ำประสิทธิภาพสูงเป็นพิเศษซึ่งเป็นของเซ็นเซอร์ตรวจจับความเคลื่อนไหว AIS328DQTR เหมาะสำหรับการใช้งานต่างๆ เช่น Telematics และ Black Boxes, In-Dash Car Navigation, การวัดการเอียง/เอียง, อุปกรณ์ป้องกันการโจรกรรม, การประหยัดพลังงานอัจฉริยะ, การจดจำและการบันทึกการกระแทก, การตรวจสอบการสั่นสะเทือนและการชดเชย และฟังก์ชันที่เปิดใช้งานการเคลื่อนไหว

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

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

ตัวอย่างเช่น คุณสามารถเริ่มต้นด้วยความคิดของ Behavior Tracker Prototype เพื่อติดตามและแสดงการเคลื่อนไหวทางกายภาพและท่าทางร่างกายของสัตว์ด้วย AIS328DQTR และ Raspberry Pi โดยใช้ Python ในงานข้างต้น เราได้ใช้การคำนวณพื้นฐานของมาตรความเร่ง โปรโตคอลคือการสร้างระบบมาตรความเร่งพร้อมกับไจโรมิเตอร์และ GPS และอัลกอริธึมการเรียนรู้ภายใต้การดูแล (เครื่องจักร) (สนับสนุนเครื่องเวกเตอร์ (SVM)) สำหรับการระบุพฤติกรรมอัตโนมัติของสัตว์ ตามด้วยการรวบรวมการวัดเซ็นเซอร์แบบขนานและการประเมินการวัดโดยใช้การจำแนกประเภทเวกเตอร์เครื่องสนับสนุน (SVM) ใช้ชุดค่าผสมต่าง ๆ ของการวัดอิสระ (นั่ง เดิน หรือวิ่ง) สำหรับการฝึกอบรมและการตรวจสอบเพื่อกำหนดความทนทานของต้นแบบ เราจะพยายามแปลความหมายของต้นแบบนี้เร็วกว่าในภายหลัง การกำหนดค่า โค้ด และการสร้างแบบจำลองจะใช้ได้กับโหมดพฤติกรรมมากขึ้น เราเชื่อว่าทุกคนชอบมัน!

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

แนะนำ: