Агуулгын хүснэгт:
- Алхам 1: Шаардлагатай тоног төхөөрөмж:
- Алхам 2: Тоног төхөөрөмжийн холболт:
- Алхам 3: Хурдатгалыг хэмжих код:
- Алхам 4: Өргөдөл:
Видео: ADXL345 болон Arduino Nano ашиглан хурдатгалын хэмжилт: 4 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:02
ADXL345 нь жижиг, нимгэн, хэт өндөр хүч чадалтай, 3 тэнхлэг бүхий хурдасгуур нь өндөр нарийвчлалтай (13 бит) хэмжигдэхүүнтэй бөгөөд ± 16 г хүртэл байдаг. Дижитал гаралтын өгөгдлийг 16 битийн хоёр нэмэлт хэлбэрээр форматласан бөгөөд I2 C дижитал интерфэйсээр дамжуулан авах боломжтой. Энэ нь хазайлтыг мэдэрч буй таталцлын статик хурдатгал, түүнчлэн хөдөлгөөн эсвэл цочролын үр дүнд бий болсон динамик хурдатгалыг хэмждэг. Түүний өндөр нарийвчлал (3.9 мг/LSB) нь хазайлтын өөрчлөлтийг 1.0 хэмээс бага хэмжих боломжийг олгодог.
Энэхүү гарын авлагад ADXL345 мэдрэгч модулийн arduino нано -той хэрхэн холбогдож байгааг харуулав. Хурдасгуурын утгыг уншихын тулд бид I2c адаптертай arduino -ийг ашигласан бөгөөд энэхүү I2C адаптер нь мэдрэгчийн модульд холбогдоход хялбар, илүү найдвартай болгодог.
Алхам 1: Шаардлагатай тоног төхөөрөмж:
Зорилгодоо хүрэхийн тулд бидэнд шаардлагатай материалууд нь дараахь тоног төхөөрөмжийн бүрэлдэхүүн хэсгүүдийг агуулдаг.
1. ADXL345
2. Ардуино Нано
3. I2C кабель
4. Arduino Nano -д зориулсан I2C бамбай
Алхам 2: Тоног төхөөрөмжийн холболт:
Тоног төхөөрөмжийн холболтын хэсэг нь үндсэндээ мэдрэгч ба arduino нано хооронд шаардлагатай утас холболтыг тайлбарладаг. Аливаа систем дээр ажиллахад шаардлагатай гаралтын хувьд зөв холболтыг хангах нь хамгийн чухал зүйл юм. Тиймээс шаардлагатай холболтууд дараах байдалтай байна.
ADXL345 нь I2C дээр ажиллах болно. Мэдрэгчийн интерфэйс бүрийг хэрхэн яаж холбохыг харуулсан утасны диаграмын жишээ энд байна.
Хайрцагнаас гадуурх самбар нь I2C интерфэйс дээр тохируулагдсан байдаг тул хэрэв та өөр ойлголтгүй бол энэ холболтыг ашиглахыг зөвлөж байна.
Танд ердөө дөрвөн утас л хангалттай! Vcc, Gnd, SCL, SDA зүүг зөвхөн дөрвөн холболт шаарддаг бөгөөд эдгээр нь I2C кабелийн тусламжтайгаар холбогддог.
Эдгээр холболтыг дээрх зурган дээр харуулав.
Алхам 3: Хурдатгалыг хэмжих код:
Одоо arduino кодоос эхэлье.
Мэдрэгчийн модулийг arduino ашиглан ашиглахдаа бид Wire.h номын санг агуулдаг. "Утас" номын сан нь мэдрэгч ба arduino самбар хоорондын i2c холболтыг хөнгөвчлөх функцүүдийг агуулдаг.
Хэрэглэгчийн тав тухыг хангах үүднээс arduino кодыг бүхэлд нь доор өгөв.
#оруулах
// ADXL345 I2C хаяг нь 0x53 (83)
#тодорхойлох Addr 0x53
хүчингүй тохиргоо ()
{
// I2C холболтыг MASTER болгон эхлүүлэх
Wire.begin ();
// Цуваа холболтыг эхлүүлж, дамжуулах хурд = 9600
Цуваа эхлэх (9600);
// I2C дамжуулалтыг эхлүүлэх
Wire.beginTransmission (Addr);
// Зурвасын өргөний бүртгэлийг сонгоно уу
Wire.write (0x2C);
// Энгийн горим, Гаралтын өгөгдлийн хурд = 100 Гц
Wire.write (0x0A);
// I2C дамжуулалтыг зогсооно уу
Wire.endTransmission ();
// I2C дамжуулалтыг эхлүүлэх
Wire.beginTransmission (Addr);
// Эрчим хүчний хяналтын бүртгэлийг сонгоно уу
Wire.write (0x2D);
// Автомат унтахыг идэвхгүй болгох
Wire.write (0x08);
// I2C дамжуулалтыг зогсооно уу
Wire.endTransmission ();
// I2C дамжуулалтыг эхлүүлэх
Wire.beginTransmission (Addr);
// Өгөгдлийн форматын бүртгэлийг сонгоно уу
Wire.write (0x31);
// Өөрийгөө шалгахыг идэвхгүй болгосон, 4 утастай интерфэйс, Бүрэн нягтралтай, Range = +/- 2g
Wire.write (0x08);
// I2C дамжуулалтыг зогсооно уу
Wire.endTransmission ();
саатал (300);
}
хоосон давталт ()
{
гарын үсэг зураагүй int өгөгдөл [6];
for (int i = 0; i <6; i ++)
{
// I2C дамжуулалтыг эхлүүлэх
Wire.beginTransmission (Addr);
// Өгөгдлийн бүртгэлийг сонгоно уу
Утас. бичих ((50 + i));
// I2C дамжуулалтыг зогсооно уу
Wire.endTransmission ();
// 1 байтын өгөгдөл хүсэх
Wire.requestFrom (Addr, 1);
// 6 байтын өгөгдлийг уншина уу
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
хэрэв (Утас. боломжтой () == 1)
{
өгөгдөл = Wire.read ();
}
}
// Өгөгдлийг 10 бит болгон хөрвүүлэх
int xAccl = (((өгөгдөл [1] & 0x03) * 256) + өгөгдөл [0]);
хэрэв (xAccl> 511)
{
xAccl -= 1024;
}
int yAccl = (((өгөгдөл [3] & 0x03) * 256) + өгөгдөл [2]);
хэрэв (yAccl> 511)
{
yAccl -= 1024;
}
int zAccl = (((өгөгдөл [5] & 0x03) * 256) + өгөгдөл [4]);
хэрэв (zAccl> 511)
{
zAccl -= 1024;
}
// Өгөгдлийг цуваа монитор руу гаргадаг
Serial.print ("X-Axis дахь хурдатгал нь:");
Serial.println (xAccl);
Serial.print ("Y-Axis дахь хурдатгал нь:");
Serial.println (yAccl);
Serial.print ("Z-Axis дахь хурдатгал нь:");
Serial.println (zAccl);
саатал (300);
}
Утасны санд Wire.write () ба Wire.read () командыг бичиж, мэдрэгчийн гаралтыг уншихад ашиглагддаг.
Arduino IDE -ийн цуваа дэлгэц дээр мэдрэгчийн гаралтыг харуулахад Serial.print () ба Serial.println () ашиглагддаг.
Мэдрэгчийн гаралтыг дээрх зурагт үзүүлэв.
Алхам 4: Өргөдөл:
ADXL345 нь гар утас, эмнэлгийн багаж хэрэгсэл гэх мэт жижиг, нимгэн, хэт давтамжтай, 3 тэнхлэгтэй хурдатгал хэмжигч бөгөөд түүний хэрэглээ нь тоглоом, заагч төхөөрөмж, үйлдвэрлэлийн багаж хэрэгсэл, хувийн навигацийн төхөөрөмж, хатуу дискний хамгаалалтыг агуулдаг.
Зөвлөмж болгож буй:
ADXL345 ба бөөмийн фотон ашиглан хурдатгалын хэмжилт: 4 алхам
ADXL345 ба Particle Photon ашиглан хурдатгалын хэмжилт: ADXL345 нь ± 16 г хүртэл өндөр нарийвчлалтай (13 бит) хэмжигдэхүүнтэй, жижиг, хэт нимгэн, 3 тэнхлэгтэй акселерометр юм. Дижитал гаралтын өгөгдлийг 16 битийн хоёр нэмэлт хэлбэрээр форматласан бөгөөд I2 C дижитал интерфэйсээр дамжуулан авах боломжтой. Үүнийг хэмждэг
H3LIS331DL болон Arduino Nano ашиглан хурдатгалын хэмжилт: 4 алхам
H3LIS331DL ба Arduino Nano ашиглан хурдатгалын хэмжилт: H3LIS331DL нь дижитал I²C серийн интерфэйстэй, "нано" гэр бүлд хамаарах, бага хүчин чадалтай, 3 тэнхлэгтэй, 3 тэнхлэгтэй хурдны хэмжигч юм. H3LIS331DL нь хэрэглэгчийн сонгох боломжтой бүрэн масштабтай ± 100g/± 200g/± 400g бөгөөд хурдатгалыг хэмжих чадвартай
H3LIS331DL болон бөөмийн фотон ашиглан хурдатгалын хэмжилт: 4 алхам
H3LIS331DL ба Particle Photon ашиглан хурдатгалын хэмжилт: H3LIS331DL нь дижитал I²C серийн интерфейстэй, "нано" гэр бүлд хамаарах бага хүчин чадалтай, 3 тэнхлэг бүхий хурдны хэмжигдэхүүн юм. H3LIS331DL нь хэрэглэгчийн сонгох боломжтой бүрэн масштабтай ± 100g/± 200g/± 400g бөгөөд хурдатгалыг хэмжих чадвартай
ADXL345 ба Raspberry Pi ашиглан хурдатгалын хэмжилт: 4 алхам
ADXL345 ба Raspberry Pi ашиглан хурдатгалын хэмжилт: ADXL345 нь ± 16 г хүртэл өндөр нарийвчлалтай (13 битийн) хэмжээс бүхий жижиг, нимгэн, хэт өндөр хүчдэлтэй, 3 тэнхлэгтэй хурдасгуур юм. Дижитал гаралтын өгөгдлийг 16 битийн хоёр нэмэлт хэлбэрээр форматласан бөгөөд I2 C дижитал интерфэйсээр дамжуулан авах боломжтой. Үүнийг хэмждэг
BMA250 ба Arduino Nano ашиглан хурдатгалын хэмжилт: 4 алхам
BMA250 ба Arduino Nano ашиглан хурдатгалын хэмжилт: BMA250 нь жижиг, нимгэн, хэт өндөр хүч чадалтай, 3 тэнхлэг бүхий өндөр нарийвчлалтай (13 битийн) хэмжилтийг ± 16 гр хүртэл хэмжих төхөөрөмж юм. Дижитал гаралтын өгөгдлийг 16 битийн хос хэлбэрээр форматласан бөгөөд I2C дижитал интерфэйсээр дамжуулан авах боломжтой. Статикийг хэмждэг