Talaan ng mga Nilalaman:
- Hakbang 1: Kinakailangan ang Hardware:
- Hakbang 2: Hardware Hookup:
- Hakbang 3: Code para sa Pagsukat ng Pagpabilis:
- Hakbang 4: Mga Aplikasyon:
Video: Pagsukat ng Pagpapabilis Gamit ang ADXL345 at Arduino Nano: 4 na Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:12
Ang ADXL345 ay isang maliit, manipis, ultralow power, 3-axis accelerometer na may mataas na resolusyon (13-bit) na pagsukat hanggang sa ± 16 g. Ang data ng output ng digital ay na-format bilang 16-bit na twos komplemento at maa-access sa pamamagitan ng digital interface ng I2 C. Sinusukat nito ang static na pagpabilis ng gravity sa mga application na nakakiling, at pati na rin ang pabago-bagong paggalaw na nagreresulta mula sa paggalaw o pagkabigla. Ang mataas na resolusyon (3.9 mg / LSB) ay nagbibigay-daan sa pagsukat ng mga pagbabago sa pagkahilig mas mababa sa 1.0 °.
Sa tutorial na ito ang paglalagay ng interface ng ADXL345 sensor module na may arduino nano ay nailarawan. Upang mabasa ang mga halaga ng pagpabilis, ginamit namin ang arduino na may isang I2c adapter. Ginagawa ng adapter ng I2C na ito ang koneksyon sa module ng sensor na madali at mas maaasahan.
Hakbang 1: Kinakailangan ang Hardware:
Ang mga materyal na kailangan namin para makamit ang aming layunin ay may kasamang mga sumusunod na bahagi ng hardware:
1. ADXL345
2. Arduino Nano
3. I2C Cable
4. I2C Shield para kay Arduino Nano
Hakbang 2: Hardware Hookup:
Karaniwang ipinapaliwanag ng seksyon ng hookup ng hardware ang mga koneksyon sa mga kable na kinakailangan sa pagitan ng sensor at ng arduino nano. Ang pagtiyak sa tamang mga koneksyon ay ang pangunahing pangangailangan habang nagtatrabaho sa anumang system para sa nais na output. Kaya, ang mga kinakailangang koneksyon ay ang mga sumusunod:
Ang ADXL345 ay gagana sa I2C. Narito ang halimbawa ng diagram ng mga kable, na nagpapakita kung paano i-wire ang bawat interface ng sensor.
Sa labas ng kahon, naka-configure ang board para sa isang interface ng I2C, dahil inirerekumenda namin ang paggamit ng hookup na ito kung hindi ka agnostiko.
Ang kailangan mo lang ay apat na wires! Apat na koneksyon lamang ang kinakailangan ng Vcc, Gnd, SCL at SDA pin at ang mga ito ay konektado sa tulong ng I2C cable.
Ang mga koneksyon na ito ay ipinakita sa mga larawan sa itaas.
Hakbang 3: Code para sa Pagsukat ng Pagpabilis:
Magsisimula tayo sa arduino code ngayon.
Habang ginagamit ang module ng sensor na may arduino, isinasama namin ang Wire.h library. Naglalaman ang library ng "Wire" ng mga pagpapaandar na nagpapadali sa komunikasyon ng i2c sa pagitan ng sensor at ng arduino board.
Ang buong arduino code ay ibinibigay sa ibaba para sa kaginhawaan ng gumagamit:
# isama
// ADXL345 I2C address ay 0x53 (83)
# tukuyin ang Addr 0x53
walang bisa ang pag-setup ()
{
// Initialise I2C na komunikasyon bilang MASTER
Wire.begin ();
// Initialise serial communication, itakda ang baud rate = 9600
Serial.begin (9600);
// Start I2C Transmission
Wire.beginTransmission (Addr);
// Piliin ang rehistro ng rate ng bandwidth
Wire.write (0x2C);
// Normal mode, rate ng data ng Output = 100 Hz
Wire.write (0x0A);
// Ihinto ang paghahatid ng I2C
Wire.endTransmission ();
// Start I2C Transmission
Wire.beginTransmission (Addr);
// Piliin ang rehistro ng kontrol sa kuryente
Wire.write (0x2D);
// Hindi paganahin ang auto-sleep
Wire.write (0x08);
// Ihinto ang paghahatid ng I2C
Wire.endTransmission ();
// Start I2C Transmission
Wire.beginTransmission (Addr);
// Piliin ang magparehistro ng format ng data
Wire.write (0x31);
// Hindi pinagana ang pagsubok sa sarili, interface ng 4-wire, Buong resolusyon, Saklaw = +/- 2g
Wire.write (0x08);
// Ihinto ang paghahatid ng I2C
Wire.endTransmission ();
pagkaantala (300);
}
walang bisa loop ()
{
unsigned int data [6];
para sa (int i = 0; i <6; i ++)
{
// Start I2C Transmission
Wire.beginTransmission (Addr);
// Piliin ang pagrehistro ng data
Wire.write ((50 + i));
// Ihinto ang paghahatid ng I2C
Wire.endTransmission ();
// Humiling ng 1 byte ng data
Wire.requestFrom (Addr, 1);
// Basahin ang 6 bytes ng data
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
kung (Wire.available () == 1)
{
data = Wire.read ();
}
}
// I-convert ang data sa 10-bit
int xAccl = (((data [1] & 0x03) * 256) + data [0]);
kung (xAccl> 511)
{
xAccl - = 1024;
}
int yAccl = (((data [3] & 0x03) * 256) + data [2]);
kung (yAccl> 511)
{
yAccl - = 1024;
}
int zAccl = (((data [5] & 0x03) * 256) + data [4]);
kung (zAccl> 511)
{
zAccl - = 1024;
}
// Output data sa serial monitor
Serial.print ("Ang Acceleration sa X-Axis ay:");
Serial.println (xAccl);
Serial.print ("Ang Acceleration sa Y-Axis ay:");
Serial.println (yAccl);
Serial.print ("Ang Acceleration in Z-Axis ay:");
Serial.println (zAccl);
pagkaantala (300);
}
Sa wire library Wire.write () at Wire.read () ay ginagamit upang isulat ang mga utos at basahin ang output ng sensor.
Ginagamit ang Serial.print () at Serial.println () upang ipakita ang output ng sensor sa serial monitor ng Arduino IDE.
Ang output ng sensor ay ipinapakita sa larawan sa itaas.
Hakbang 4: Mga Aplikasyon:
Ang ADXL345 ay isang maliit, manipis, ultralow power, 3-axis accelerometer na maaaring magamit sa Handsets, Medical instrumentation atbp Kasama rin sa aplikasyon nito ang Gaming at mga tumuturo na aparato, Industrial instrumentation, Personal na nabigasyon na aparato at proteksyon ng Hard disk drive (HDD).
Inirerekumendang:
Pagsukat ng Pagpapabilis Gamit ang ADXL345 at Particle Photon: 4 na Hakbang
Pagsukat ng Acceleration Gamit ang ADXL345 at Particle Photon: Ang ADXL345 ay isang maliit, manipis, ultralow power, 3-axis accelerometer na may mataas na resolusyon (13-bit) na pagsukat hanggang sa ± 16 g. Ang data ng output ng digital ay na-format bilang 16-bit na twos komplemento at maa-access sa pamamagitan ng digital interface ng I2 C. Sinusukat ang
Pagsukat ng Pagpapabilis Gamit ang H3LIS331DL at Arduino Nano: 4 na Hakbang
Pagsukat ng Acceleration Paggamit ng H3LIS331DL at Arduino Nano: H3LIS331DL, ay isang mababang lakas na pagganap ng 3-axis linear accelerometer na kabilang sa pamilyang "nano", na may digital I serial na serial interface. Ang H3LIS331DL ay maaaring mapili ng gumagamit ng buong kaliskis na ± 100g / ± 200g / ± 400g at may kakayahang sukatin ang mga pagpabilis
Pagsukat ng Pagpapabilis Gamit ang H3LIS331DL at Particle Photon: 4 na Hakbang
Pagsukat ng Pagpapabilis Gamit ang H3LIS331DL at Particle Photon: H3LIS331DL, ay isang mababang lakas na pagganap ng 3-axis linear accelerometer na kabilang sa pamilyang "nano", na may digital I serial na serial interface. Ang H3LIS331DL ay maaaring mapili ng gumagamit ng buong kaliskis na ± 100g / ± 200g / ± 400g at may kakayahang sukatin ang mga pagpabilis
Pagsukat ng Pagpapabilis Gamit ang ADXL345 at Raspberry Pi: 4 na Hakbang
Pagsukat ng Acceleration Gamit ang ADXL345 at Raspberry Pi: Ang ADXL345 ay isang maliit, manipis, ultralow power, 3-axis accelerometer na may mataas na resolusyon (13-bit) na pagsukat hanggang sa ± 16 g. Ang data ng output ng digital ay na-format bilang 16-bit na twos komplemento at maa-access sa pamamagitan ng digital interface ng I2 C. Sinusukat ang
Pagsukat ng Pagpapabilis Gamit ang H3LIS331DL at Raspberry Pi: 4 na Hakbang
Pagsukat ng Acceleration Gamit ang H3LIS331DL at Raspberry Pi: H3LIS331DL, ay isang mababang lakas na pagganap ng 3-axis linear accelerometer na kabilang sa pamilyang "nano", na may digital I serial na serial interface. Ang H3LIS331DL ay maaaring mapili ng gumagamit ng buong kaliskis na ± 100g / ± 200g / ± 400g at may kakayahang sukatin ang mga pagpabilis