Mục lục:

Gia tốc kế 3 trục, ADXL345 với Raspberry Pi sử dụng Python: 6 bước
Gia tốc kế 3 trục, ADXL345 với Raspberry Pi sử dụng Python: 6 bước

Video: Gia tốc kế 3 trục, ADXL345 với Raspberry Pi sử dụng Python: 6 bước

Video: Gia tốc kế 3 trục, ADXL345 với Raspberry Pi sử dụng Python: 6 bước
Video: Raspberry Pi ADXL345 3-Axis Accelerometer Python Tutorial 2024, Tháng mười một
Anonim
Gia tốc kế 3 trục, ADXL345 với Raspberry Pi sử dụng Python
Gia tốc kế 3 trục, ADXL345 với Raspberry Pi sử dụng Python

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

Phần cứng cơ bản mà chúng tôi yêu cầu
Phần cứng cơ bản mà chúng tôi yêu cầu
Phần cứng cơ bản mà chúng tôi yêu cầu
Phần cứng cơ bản mà chúng tôi yêu cầu
Phần cứng cơ bản mà chúng tôi yêu cầu
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

Kết nối phần cứng
Kết nối phần cứng
Kết nối phần cứng
Kết nối phần cứng
Kết nối phần cứng
Kết nối phần cứng
Kết nối phần cứng
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ã hóa Python cho Raspberry Pi
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ính thực tiễn của Quy tắc
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: