- 29a Bùi Xuân Phái, P.Tây Thạnh, Quận Tân Phú, TPHCM
- linhkienduchuy2018@gmail.com
- TƯ VẤN, GIẢI ĐÁP, HƯỚNG DẪN, MUA HÀNG (ZALO): 0966515049 - 0942954739
Giao miễn phí chuyển phát nhanh trong nội thành TPHCM đối với đơn hàng trên 1 triệu đồng
Giảm 5k cho đơn hàng trên 300k đồng
Giảm 10k cho đơn hàng trên 500k đồng
Giảm 15k hoặc freeship chuyển phát nhanh cho đơn hàng trên 1tr đồng
Giảm 25.000đ hoặc freeship cho đơn hàng trên 2tr đồng.
Cảm Biến GY-61 Analog Accelerometer ADXL335 được sử dụng để đo gia tốc hướng (Accelerometer) hoặc độ rung động (tilt) theo 3 trục x, y, z và trả ra giá trị điện áp Analog tương ứng trên 3 chân của cảm biến nên có thể dễ dàng quan sát bằng máy đo hoặc đọc bằng các chân Analog của Vi điều khiển.
THÔNG SỐ KỸ THUẬT:
Chip cảm biến: ADXL335
Điện áp : 3V ~ 5V
Dòng điện : 400uA
Giao tiếp : đầu ra Analog trên 3 trục x,y,z
Full scale range : +/-3g
Nhiệt độ hoạt động : -40'C~ +85'C
Độ nhạy: 300mV/g
Độ chính xác: ±10%
Phù hợp khi kết nối với các hệ thống 5V hoặc 3.3V
Điện áp đầu ra analog ở mức giữa: 1.65V
SƠ ĐỒ KẾT NỐI ARDUINO VỚI MẠCH ADXL335:


CODE THAM KHẢO ARDUINO GIAO TIẾP VỚI ADXL335:
const int xInput = A0;
const int yInput = A1;
const int zInput = A2;
// initialize minimum and maximum Raw Ranges for each axis
int RawMin = 0;
int RawMax = 1023;
// Take multiple samples to reduce noise
const int sampleSize = 10;
void setup()
{
analogReference(EXTERNAL);
Serial.begin(9600);
}
void loop()
{
//Read raw values
int xRaw = ReadAxis(xInput);
int yRaw = ReadAxis(yInput);
int zRaw = ReadAxis(zInput);
// Convert raw values to 'milli-Gs"
long xScaled = map(xRaw, RawMin, RawMax, -3000, 3000);
long yScaled = map(yRaw, RawMin, RawMax, -3000, 3000);
long zScaled = map(zRaw, RawMin, RawMax, -3000, 3000);
// re-scale to fractional Gs
float xAccel = xScaled / 1000.0;
float yAccel = yScaled / 1000.0;
float zAccel = zScaled / 1000.0;
Serial.print("X, Y, Z :: ");
Serial.print(xRaw);
Serial.print(", ");
Serial.print(yRaw);
Serial.print(", ");
Serial.print(zRaw);
Serial.print(" :: ");
Serial.print(xAccel,0);
Serial.print("G, ");
Serial.print(yAccel,0);
Serial.print("G, ");
Serial.print(zAccel,0);
Serial.println("G");
delay(200);
}
// Take samples and return the average
int ReadAxis(int axisPin)
{
long reading = 0;
analogRead(axisPin);
delay(1);
for (int i = 0; i < sampleSize; i++)
{
reading += analogRead(axisPin);
}
return reading/sampleSize;
}
Bình luận