Mục lục:
- Bước 1: Phần cứng cơ bản mà chúng tôi yêu cầu
- Bước 2: Kết nối phần cứng
- Bước 3: Mã hóa Python cho Raspberry Pi
- Bước 4: Tính thực tiễn của Quy tắc
- Bước 5: Ứng dụng và tính năng
- Bước 6: Kết luận
Video: Gia tốc kế 3 trục, ADXL345 với Raspberry Pi sử dụng Python: 6 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:32
Suy nghĩ về một thiết bị có thể kiểm tra thời điểm mà Offroader của bạn nghiêng về phía để tồn tại. Sẽ không phải là một điều dễ chịu trong trường hợp ai đó được điều chỉnh khi có khả năng lật ngược lại? Chắc chắn đúng. Nó sẽ thực sự hữu ích cho những cá nhân thích đi núi và các chuyến công tác.
Không nghi ngờ gì nữa, một thời kỳ rực rỡ thực sự của đánh giá hình ảnh tiên tiến, IoT đang ở phía chúng ta. Là những người yêu thích Tiện ích và Lập trình, chúng tôi tin rằng Raspberry Pi, chiếc PC vi Linux đã coi trọng khả năng sáng tạo của con người nói chung, mang theo nó là một sự bùng nổ trong các phương pháp luận sáng tạo. Vậy những kết quả có thể hình dung được mà chúng ta có thể làm trong trường hợp chúng ta có Raspberry Pi và Gia tốc kế 3 trục ở gần là gì? Chúng ta nên khám phá! Trong tác vụ này, chúng ta sẽ cảm nhận được gia tốc trên 3 trục, X, Y và Z bằng cách sử dụng Raspberry Pi và ADXL345, một cảm biến gia tốc 3 trục. Vì vậy, chúng ta nên quan sát trong chuyến du ngoạn này để tạo ra một khung để đo gia tốc 3 chiều lên hoặc Lực G.
Bước 1: Phần cứng cơ bản mà chúng tôi yêu cầu
Vấn đề đối với chúng tôi ít hơn vì chúng tôi có rất nhiều thứ để làm việc. Tuy nhiên, chúng tôi biết những người khác sẽ gặp rắc rối như thế nào khi lắp ráp đúng bộ phận vào thời điểm hoàn hảo từ thời điểm thích hợp và điều đó là chính đáng bất kể từng xu. Vì vậy, chúng tôi sẽ giúp bạn ở tất cả các vùng. Đọc phần sau để có được danh sách các bộ phận đầy đủ.
1. Raspberry Pi
Bước đầu tiên là mua một bảng Raspberry Pi. Máy tính nhỏ bé, công suất thấp này cung cấp một cơ sở rẻ và thường đơn giản cho các dự án điện tử, Internet of Things (IoT), Thành phố thông minh, Giáo dục trường học.
2. I2C Shield cho Raspberry Pi
Điều chính mà Raspberry Pi thực sự thiếu là một cổng I²C. Vì vậy, đầu nối TOUTPI2 I²C cho bạn cảm giác sử dụng Rasp Pi với NHIỀU thiết bị I²C. Nó có thể truy cập được trên DCUBE Store
3. Gia tốc kế 3 trục, ADXL345
Được sản xuất bởi Thiết bị tương tự, ADXL345, là một máy đo gia tốc 3 trục công suất thấp với phép đo 13 bit có độ phân giải cao lên đến ± 16g. Chúng tôi đã mua cảm biến này từ DCUBE Store
4. Cáp kết nối
Chúng tôi đã có cáp kết nối I2C có thể truy cập tại DCUBE Store
5. Cáp micro USB
Điều khó hiểu nhất, nhưng nghiêm ngặt nhất về mức độ cần thiết của nguồn điện là Raspberry Pi! Cách dễ dàng nhất để tăng sức mạnh cho Raspberry Pi là sử dụng cáp Micro USB.
6. Truy cập web là một nhu cầu
Có thể cấp quyền truy cập web thông qua cáp Ethernet (LAN) được liên kết với mạng cục bộ và web. Mặt khác, bạn có thể kết hợp với mạng không dây bằng cách sử dụng khóa không dây USB, điều này sẽ yêu cầu cấu hình.
7. Cáp HDMI / Truy cập từ xa
Với cáp HDMI trên bo mạch, bạn có thể kết nối nó với TV kỹ thuật số hoặc với Màn hình. Cần dự phòng tiền mặt! Raspberry Pi có thể được sử dụng từ xa để sử dụng các chiến lược đặc biệt như-SSH và Truy cập qua Web. Bạn có thể sử dụng phần mềm nguồn PuTTYopen.
Bước 2: Kết nối phần cứng
Làm cho mạch điện theo sơ đồ xuất hiện. Vẽ phác thảo và có chủ ý sau khi cấu hình.
Kết nối giữa Raspberry Pi và I2C Shield
Trên hết, hãy lấy Raspberry Pi và tìm I2C Shield trên đó. Nhấn nhẹ Shield qua các chân GPIO của Pi và chúng ta đã hoàn thành quá trình này đơn giản như chiếc bánh (xem phần chụp nhanh).
Kết nối của Cảm biến và Raspberry Pi
Mang theo cảm biến và giao diện Cáp I2C với nó. Để có hoạt động thích hợp của Cáp này, vui lòng nhớ lại Đầu ra I2C LUÔN liên kết với Đầu vào I2C. Điều tương tự cũng phải được thực hiện đối với Raspberry Pi với tấm chắn I2C được gắn trên các chân GPIO.
Chúng tôi quy định việc sử dụng cáp I2C vì nó từ chối yêu cầu sử dụng sơ đồ chân, hàn và sự cố gây ra bởi ngay cả sai sót nhỏ nhất. Với cáp cắm và chạy cơ bản này, bạn có thể giới thiệu, hoán đổi thiết bị hoặc thêm nhiều thiết bị vào một ứng dụng một cách dễ dàng. Điều này làm cho mọi thứ không phức tạp.
Lưu ý: Dây màu nâu phải tuân theo kết nối Nối đất (GND) đáng tin cậy giữa đầu ra của một thiết bị và đầu vào của thiết bị khác
Mạng web là chìa khóa
Để làm cho hoạt động kinh doanh của chúng tôi thành công, chúng tôi yêu cầu kết nối web cho Raspberry Pi của chúng tôi. Đối với điều này, bạn có các lựa chọn thay thế như kết nối cáp Ethernet (LAN) với hệ thống gia đình. Ngoài ra, như một tùy chọn, tuy nhiên, một cách hữu ích là sử dụng đầu nối WiFi. Đôi khi, bạn cần có trình điều khiển để làm cho nó hoạt động. Vì vậy, hãy nghiêng về phía có Linux trong mô tả.
Nguồn cấp
Cắm cáp Micro USB vào giắc cắm nguồn của Raspberry Pi. Hãy thắp sáng nó lên và chúng ta sẵn sàng đi.
Kết nối với màn hình
Chúng tôi có thể kết hợp cáp HDMI với một màn hình khác. Trong một số trường hợp, bạn phải truy cập Raspberry Pi mà không kết nối nó với màn hình hoặc bạn có thể cần xem một số dữ liệu từ nó từ một nơi khác. Có thể hình dung, có những cách tiếp cận sáng tạo và hiểu biết về tài chính để làm như vậy. Một trong số đó là sử dụng - SSH (đăng nhập bằng dòng lệnh từ xa). Bạn cũng có thể sử dụng phần mềm PuTTY cho việc đó.
Bước 3: Mã hóa Python cho Raspberry Pi
Mã Python cho Cảm biến Raspberry Pi và ADXL345 có thể truy cập được trong Kho lưu trữ Github của chúng tôi.
Trước khi tiếp tục mã, hãy đảm bảo bạn đã đọc các hướng dẫn được đưa ra trong tài liệu Readme và Thiết lập Raspberry Pi của bạn theo nó. Nó sẽ chỉ dừng lại trong một phút để làm như vậy.
Gia tốc kế là một thiết bị đo gia tốc thích hợp; gia tốc thích hợp không giống như gia tốc tọa độ (tốc độ thay đổi của vận tốc). Có thể truy cập các mô hình một trục và đa trục của gia tốc kế để xác định độ lớn và hướng của gia tốc thích hợp, như một đại lượng vectơ, và có thể được sử dụng để cảm nhận định hướng, phối hợp gia tốc, rung, sốc và rơi trong môi trường điện trở.
Mã này rõ ràng trước mắt bạn và nó ở cấu trúc đơn giản nhất mà bạn có thể hình dung và bạn sẽ không gặp vấn đề gì.
# Được phân phối với giấy phép tự do. # Sử dụng nó theo bất kỳ cách nào bạn muốn, lợi nhuận hoặc miễn phí, miễn là nó phù hợp với giấy phép của các tác phẩm liên quan. # ADXL345 # Mã này được thiết kế để hoạt động với Mô-đun mini ADXL345_I2CS I2C có sẵn trên dcubestore.com # https://dcubestore.com/product/adxl345-3-axis-accelerometer-13-bit-i%C2%B2c-mini -môđô /
nhập khẩu smbus
thời gian nhập khẩu
# Nhận xe buýt I2C
bus = smbus. SMBus (1)
Địa chỉ # ADXL345, 0x53 (83)
# Chọn thanh ghi tốc độ băng thông, 0x2C (44) # 0x0A (10) Chế độ bình thường, Tốc độ dữ liệu đầu ra = 100 Hz bus.write_byte_data (0x53, 0x2C, 0x0A) # Địa chỉ ADXL345, 0x53 (83) # Chọn thanh ghi điều khiển nguồn, 0x2D (45) # 0x08 (08) Tự động tắt chế độ ngủ tự động bus.write_byte_data (0x53, 0x2D, 0x08) # địa chỉ ADXL345, 0x53 (83) # Chọn thanh ghi định dạng dữ liệu, 0x31 (49) # 0x08 (08) Tự kiểm tra bị tắt, 4 dây giao diện # Độ phân giải đầy đủ, Phạm vi = +/- 2g bus.write_byte_data (0x53, 0x31, 0x08)
time.sleep (0,5)
Địa chỉ # ADXL345, 0x53 (83)
# Đọc lại dữ liệu từ 0x32 (50), 2 byte # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data (0x53, 0x32) data1 = bus.read_byte_data (0x53, 0x33)
# Chuyển đổi dữ liệu thành 10-bit
xAccl = ((data1 & 0x03) * 256) + data0 nếu xAccl> 511: xAccl - = 1024
Địa chỉ # ADXL345, 0x53 (83)
# Đọc lại dữ liệu từ 0x34 (52), 2 byte # Y-Axis LSB, Y-Axis MSB data0 = bus.read_byte_data (0x53, 0x34) data1 = bus.read_byte_data (0x53, 0x35)
# Chuyển đổi dữ liệu thành 10-bit
yAccl = ((data1 & 0x03) * 256) + data0 nếu yAccl> 511: yAccl - = 1024
Địa chỉ # ADXL345, 0x53 (83)
# Đọc lại dữ liệu từ 0x36 (54), 2 byte # Z-Axis LSB, Z-Axis MSB data0 = bus.read_byte_data (0x53, 0x36) data1 = bus.read_byte_data (0x53, 0x37)
# Chuyển đổi dữ liệu thành 10-bit
zAccl = ((data1 & 0x03) * 256) + data0 nếu zAccl> 511: zAccl - = 1024
# Xuất dữ liệu ra màn hình
print "Acceleration in X-Axis:% d"% xAccl print "Acceleration in Y-Axis:% d"% yAccl print "Acceleration in Z-Axis:% d"% zAccl
Bước 4: Tính thực tiễn của Quy tắc
Tải xuống (hoặc git pull) mã từ Github và mở nó trong Raspberry Pi.
Chạy các lệnh để Biên dịch và Tải lên mã trong thiết bị đầu cuối và xem kết quả đầu ra trên Màn hình. Sau một vài giây, nó sẽ hiển thị mọi thông số. Sau đó để đảm bảo rằng mọi thứ hoạt động dễ dàng, bạn có thể thực hiện liên doanh này cho một nhiệm vụ lớn hơn.
Bước 5: Ứng dụng và tính năng
ADXL345 là một máy đo gia tốc 3 trục nhỏ, mỏng, công suất cực thấp, có độ phân giải cao (13-bit) với phép đo lên đến ± 16 g. ADXL345 thích hợp cho các Ứng dụng Điện thoại Di động. Nó định lượng Gia tốc tĩnh của Trọng lực trong các Ứng dụng Phát hiện Nghiêng và ngoài ra Tăng tốc Động sắp ra mắt do Chuyển động hoặc Sốc. Các ứng dụng khác bao gồm các ứng dụng như Thiết bị cầm tay, Thiết bị đo đạc y tế, Thiết bị chơi game và trỏ, Thiết bị đo công nghiệp, Thiết bị định vị cá nhân và Bảo vệ ổ đĩa cứng (HDD).
Bước 6: Kết luận
Hy vọng nhiệm vụ này thúc đẩy thử nghiệm hơn nữa. Cảm biến I2C này cực kỳ linh hoạt, rẻ và dễ tiếp cận. Vì nó là một hệ thống vô thường ở một mức độ lớn, có những cách thú vị để bạn có thể mở rộng nhiệm vụ này và cải thiện nó thậm chí.
Ví dụ: Bạn có thể bắt đầu với ý tưởng về Máy đo độ nghiêng sử dụng ADXL345 và Raspberry Pi. Trong dự án trên, chúng tôi đã sử dụng các tính toán cơ bản. Bạn có thể ứng biến mã cho các giá trị G, góc của độ dốc (hoặc độ nghiêng), độ cao hoặc độ lõm của một đối tượng liên quan đến trọng lực. Sau đó, bạn có thể kiểm tra các tùy chọn nâng cao như góc xoay cho cuộn (trục trước ra sau, X), cao độ (trục từ bên sang bên, Y) và yaw (trục dọc, Z). Gia tốc kế này hiển thị 3-D G-Forces. Vì vậy, bạn có thể sử dụng cảm biến này theo nhiều cách khác nhau mà bạn có thể cân nhắc.
Để bạn thoải mái, chúng tôi có một video hướng dẫn thực hành hấp dẫn trên YouTube có thể giúp ích cho việc điều tra của bạn. Tin tưởng vào liên doanh này thúc đẩy sự khám phá sâu hơn. Hãy tiếp tục suy ngẫm! Hãy ghi nhớ để tìm kiếm sau khi nhiều hơn nữa liên tục xuất hiện.
Đề xuất:
Điều khiển chuyển động với Raspberry Pi và LIS3DHTR, Gia tốc kế 3 trục, Sử dụng Python: 6 bước
Điều khiển chuyển động với Raspberry Pi và LIS3DHTR, Gia tốc kế 3 trục, Sử dụng Python: Vẻ đẹp bao quanh chúng ta, nhưng thông thường, chúng ta cần đi dạo trong một khu vườn để biết điều đó. - Rumi Là nhóm có học thức như chúng tôi, chúng tôi đầu tư phần lớn năng lượng để làm việc trước PC và điện thoại di động. Do đó, chúng tôi thường để sức khỏe của mình
Máy đo gia tốc 3 trục Mô-đun LIS2HH12: 10 bước (có hình ảnh)
Mô-đun LIS2HH12 của Máy đo gia tốc 3 trục: Có thể giảng dạy này được coi là cấp độ người mới bắt đầu với một số kinh nghiệm với phần mềm arduino và hàn. Mô-đun LIS2HH12 được thực hiện bởi Tiny9. Tiny9 là một công ty mới tham gia vào việc bán các mô-đun cảm biến cho những người tự làm, các công ty hoặc nhà phát minh. Ở đó
Con quay hồi chuyển gia tốc 3 trục GY-521 MPU6050 Hướng dẫn sử dụng mô-đun 6DOF: 4 bước
Con quay hồi chuyển gia tốc 3 trục GY-521 MPU6050 Hướng dẫn sử dụng mô-đun 6DOF: Mô tả Mô-đun đơn giản này chứa mọi thứ cần thiết để giao tiếp với Arduino và các bộ điều khiển khác thông qua I2C (sử dụng thư viện Wire Arduino) và cung cấp thông tin cảm biến chuyển động cho 3 trục - X, Y và Z .Đặc điểm kỹ thuật Phạm vi đo tốc độ: ± 2, ±
Sơ bộ * SPI trên Pi: Giao tiếp với Máy đo gia tốc 3 trục SPI bằng Raspberry Pi: 10 bước
Sơ bộ * SPI trên Pi: Giao tiếp với Gia tốc kế 3 trục SPI Sử dụng Raspberry Pi: Hướng dẫn từng bước về cách thiết lập Raspbian và giao tiếp với thiết bị SPI bằng thư viện SPI bcm2835 (KHÔNG bị ảnh hưởng chút nào!) Đây vẫn là rất sơ bộ … Tôi cần thêm hình ảnh tốt hơn về hookup vật lý và xử lý một số đoạn mã khó hiểu
Arduino Nano và Visuino: Chuyển đổi gia tốc thành góc từ cảm biến gia tốc và con quay hồi chuyển MPU6050 I2C: 8 bước (có hình ảnh)
Arduino Nano và Visuino: Chuyển đổi gia tốc thành góc từ cảm biến gia tốc kế và con quay hồi chuyển MPU6050 I2C: Một thời gian trước, tôi đã đăng một hướng dẫn về cách bạn có thể kết nối Cảm biến gia tốc, con quay hồi chuyển và la bàn MPU9250 với Arduino Nano và lập trình nó với Visuino để gửi dữ liệu gói và hiển thị nó trên Phạm vi và Dụng cụ trực quan. Gia tốc kế gửi X, Y,