Mục lục:
Video: ADXL345 Sử dụng Arduino Uno R3: 5 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
Trong bài học này, chúng ta sẽ học cách sử dụng cảm biến gia tốc ADXL345.
Bước 1: Các thành phần
- Bo mạch Arduino Uno * 1
- Cáp USB * 1
- ADXL345 * 1
- Bảng mạch * 1
- Dây nhảy
Bước 2: Nguyên tắc
Gia tốc kế được sử dụng để đo lực sinh ra trong quá trình gia tốc. Cơ bản nhất là gia tốc trọng trường thường được biết đến là 1g.
Bằng cách đo gia tốc gây ra bởi trọng lực, bạn có thể tính toán góc nghiêng của thiết bị so với mặt phẳng. Thông qua việc phân tích gia tốc động, bạn có thể biết được cách thức mà thiết bị đang di chuyển. Ví dụ: bảng tự cân bằng hoặc bảng di chuột áp dụng cảm biến gia tốc và con quay hồi chuyển cho bộ lọc Kalman và hiệu chỉnh tư thế.
ADXL345
ADXL345 là một máy đo gia tốc 3 trục nhỏ, mỏng, công suất thấp với phép đo độ phân giải cao (13-bit) lên đến ± 16 g. Dữ liệu đầu ra kỹ thuật số được định dạng dưới dạng bổ sung 16-bit hai và có thể truy cập thông qua giao diện kỹ thuật số SPI (3 hoặc 4 dây) hoặc I2C. Trong thử nghiệm này, giao diện kỹ thuật số I2C được sử dụng.
Nó rất thích hợp để đo gia tốc tĩnh của trọng lực trong các ứng dụng cảm biến độ nghiêng, cũng như gia tốc động do chuyển động hoặc sốc. Độ phân giải cao (4 mg / LSB) cho phép đo thay đổi độ nghiêng dưới 1,0 °. Và độ nhạy tuyệt vời (3,9mg / LSB @ 2g) cung cấp đầu ra có độ chính xác cao lên đến ± 16g.
Cách ADXL345 hoạt động
ADXL345 phát hiện gia tốc với thành phần cảm biến ở phía trước, và sau đó thành phần cảm biến tín hiệu điện chuyển nó thành tín hiệu điện, là tín hiệu tương tự. Tiếp theo, bộ chuyển đổi AD được tích hợp trên mô-đun sẽ chuyển đổi tín hiệu tương tự thành tín hiệu kỹ thuật số.
X_OUT, Y_OUT và Z_OUT lần lượt là các giá trị tại trục X, Y và Z. Đặt mô-đun hướng lên trên: Z_OUT có thể đạt tối đa + 1g, tối thiểu của X_OUT là -1g đối với hướng Ax và tối thiểu của Y_OUT là -1g đối với hướng Ay. Mặt khác, lật ngược mô-đun: tối thiểu của Z_OUT là -1g, tối đa của X_OUT là + 1g đối với hướng Ax và tối đa của Y_OUT là + 1g đối với hướng Ay., như hình dưới đây. Xoay mô-đun ADXL345 và bạn sẽ thấy sự thay đổi của ba giá trị.
khi kênh A chuyển từ mức cao xuống mức thấp, nếu kênh B là mức cao, nó cho biết bộ mã hóa quay quay theo chiều kim đồng hồ (CW); nếu tại thời điểm đó kênh B ở mức thấp, nghĩa là quay ngược chiều kim đồng hồ (CCW). Vì vậy, nếu chúng ta đọc giá trị của kênh B khi kênh A ở mức thấp, chúng ta có thể biết bộ mã hóa quay quay theo hướng nào.
Nguyên lý: Xem sơ đồ mô-đun Bộ mã hóa quay bên dưới. Từ đó chúng ta có thể thấy rằng chân 3 của bộ mã hóa quay, cụ thể là CLK trên mô-đun, là kênh B. Chân 5, là DT, là kênh A. Để biết chiều quay của đầu ghi, chỉ cần đọc giá trị của CLK và DT.
Có một chip điều chỉnh điện áp 3.3v trong mạch, vì vậy bạn có thể cấp nguồn cho mô-đun với 5V hoặc 3.3V.
Vì SDO đã được kết nối với GND, địa chỉ I2C của ADXL345 là 0x53, 0xA6 để ghi, 0xA7 để đọc
Chức năng chân của Mô-đun ADXL345.
Bước 3: Thủ tục
Bước 1. Xây dựng mạch.
Bước 2:
Tải xuống mã từ
Bước 3:
Tải bản phác thảo lên bảng Arduino Uno
Nhấp vào biểu tượng Tải lên để tải mã lên bảng điều khiển.
Nếu "Hoàn tất tải lên" xuất hiện ở cuối cửa sổ, điều đó có nghĩa là bản phác thảo đã được tải lên thành công.
Sau khi tải lên, hãy mở Serial Monitor, nơi bạn có thể xem dữ liệu được phát hiện. Khi gia tốc của mô-đun thay đổi, hình sẽ thay đổi tương ứng trên cửa sổ.
Bước 4: Mã
// ADXL335
/********************************
ADXL335
lưu ý: vcc5v, nhưng ADXL335 Vs là 3,3V
Mạch:
5V: VCC
tương tự 0: trục x
tương tự 1: trục y
tương tự 2: trục z
Sau khi đốt cháy, mở cửa sổ gỡ lỗi màn hình nối tiếp, nơi bạn có thể thấy dữ liệu được phát hiện đang được hiển thị. Khi gia tốc thay đổi, con số sẽ thay đổi tương ứng.
*********************************
/E-mail:
//Website:www.primerobotics.in
const int xpin =
A0; // trục x của gia tốc kế
const int ypin =
A1; // trục y
const int zpin =
A2; // trục z (chỉ trên các mô hình 3 trục)
void setup ()
{
// khởi tạo các giao tiếp nối tiếp:
Serial.begin (9600);
}
void loop ()
{
int x = analogRead (xpin); // đọc từ xpin
trì hoãn (1); //
int y = analogRead (ypin); // đọc từ ypin
trì hoãn (1);
int z = analogRead (zpin); // đọc từ zpin
float zero_G = 338.0; // Nguồn cung cấp ADXL335
bằng Vs 3,3V: 3,3V / 5V * 1024 = 676/2 = 338
//Serial.print(x);
//Serial.print("\t ");
//Serial.print(y);
//Serial.print("\t ");
//Serial.print(z);
//Serial.print("\n ");
trôi nổi
zero_Gx = 331,5; // đầu ra zero_G của trục x: (x_max + x_min) / 2
trôi nổi
zero_Gy = 329,5; // đầu ra zero_G của trục y: (y_max + y_min) / 2
float zero_Gz = 340.0; // the
Đầu ra zero_G của trục z: (z_max + z_min) / 2
quy mô nổi =
67,6; // nguồn cung cấp bởi Vs 3,3V: 3,3v / 5v * 1024 / 3,3v * 330mv / g = 67,6g
float scale_x =
65; // tỷ lệ của trục x: x_max / 3.3v * 330mv / g
float scale_y =
68,5; // tỷ lệ của trục y: y_max / 3,3v * 330mv / g
float scale_z =
68; // tỷ lệ của trục z: z_max / 3.3v * 330mv / g
Serial.print (((float) x
- zero_Gx) / scale_x); // in giá trị x trên màn hình nối tiếp
Serial.print ("\ t");
Serial.print (((float) y
- zero_Gy) / scale_y); // in giá trị y trên màn hình nối tiếp
Serial.print ("\ t");
Serial.print (((float) z
- zero_Gz) / scale_z); // in giá trị z trên màn hình nối tiếp
Serial.print ("\ n");
chậm trễ (1000); // đợi 1 giây
}
Bước 5: Phân tích mã
Mã cho thử nghiệm ADXL345 bao gồm 3 phần: khởi tạo từng cổng và thiết bị, thu nhận và lưu trữ dữ liệu được gửi từ các cảm biến và chuyển đổi dữ liệu.
Đề xuất:
Hướng dẫn: Cách xây dựng mô-đun cảm biến đo khoảng cách bằng tia laser VL53L0X bằng cách sử dụng Arduino UNO: 3 bước
Hướng dẫn: Cách xây dựng Mô-đun cảm biến đo khoảng cách bằng tia laser VL53L0X bằng cách sử dụng Arduino UNO: Mô tả: Hướng dẫn này sẽ hiển thị chi tiết cho tất cả các bạn về cách xây dựng máy dò khoảng cách bằng cách sử dụng Mô-đun cảm biến đo khoảng cách bằng tia laser VL53L0X và Arduino UNO và nó sẽ chạy giống như bạn muốn. Làm theo hướng dẫn và bạn sẽ hiểu gia sư này
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: Suy nghĩ về một tiện ích có thể kiểm tra đ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 bị lật? Chắc chắn đúng. Nó sẽ là thật
Hướng dẫn sử dụng mô-đun hiển thị ma trận điểm 4 trong 1 MAX7219 bằng cách sử dụng Arduino UNO: 5 bước
Hướng dẫn sử dụng mô-đun hiển thị ma trận điểm 4 trong 1 MAX7219 bằng cách sử dụng Arduino UNO: Mô tả: Bạn đang tìm kiếm ma trận LED dễ điều khiển? Mô-đun Hiển thị Ma trận Chấm 4 trong 1 này sẽ phù hợp với bạn. Toàn bộ mô-đun có bốn ma trận điểm cathode chung 8x8 RED được trang bị IC MAX7219 mỗi ma trận. Tuyệt vời để hiển thị văn bản đang chạy một
Arduino 4 bánh lái xe ô tô Bluetooth RC sử dụng UNO R3, HC-05 và L293D Motorshield với mã hóa và ứng dụng Android: 8 bước
Arduino 4 bánh điều khiển Bluetooth RC ô tô sử dụng UNO R3, HC-05 và L293D Motorshield với mã hóa và ứng dụng Android: Hôm nay tôi sẽ cho bạn biết về cách tạo ra một chiếc xe hơi Arduino 4 bánh bluetooth RC sử dụng tấm chắn động cơ HC 05, L293, 4 động cơ DC, có mã hóa và ứng dụng cho android để điều khiển ô tô. Thành phần được sử dụng: -1-Arduino UNO R32-Bluetooth HC-053-Motorshield L293
Cách sử dụng Bo mạch tương thích Arduino WeMos D1 WiFi UNO ESP8266 IOT IDE bằng cách sử dụng Blynk: 10 bước
Cách sử dụng Bo mạch tương thích Arduino WeMos D1 WiFi UNO ESP8266 IOT IDE bằng cách sử dụng Blynk: Bo mạch tương thích Arduino WeMos D1 WiFi UNO ESP8266 IOT IDE Mô tả: Ban phát triển WiFi ESP8266 WEMOS D1. WEMOS D1 là bảng phát triển WIFI dựa trên ESP8266 12E. Hoạt động tương tự như của NODEMCU, ngoại trừ phần cứng là bản dựng