Mündəricat:
- Addım 1: Lazım olan avadanlıq:
- Addım 2: Hardware Bağlantısı:
- Addım 3: Sürətləndirmə Ölçmə Kodu:
- Addım 4: Tətbiqlər:
Video: ADXL345 və Arduino Nano istifadə edərək sürətlənmənin ölçülməsi: 4 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
ADXL345, kiçik, nazik, ultralow gücü, ± 16 q-a qədər yüksək qətnamə (13-bit) ölçüsü olan 3 oxlu akselerometrdir. Rəqəmsal çıxış məlumatları 16 bitlik ikili tamamlayıcı olaraq formatlanır və I2 C rəqəmsal interfeys vasitəsilə əldə edilə bilər. Tilt algılama tətbiqlərində cazibənin statik sürətlənməsini, həmçinin hərəkət və ya şok nəticəsində yaranan dinamik sürətlənməni ölçür. Yüksək qətnaməsi (3.9 mg/LSB), meyl dəyişikliklərinin 1.0 ° -dən aşağı ölçülməsinə imkan verir.
Bu təlimatda ADXL345 sensor modulunun arduino nano ilə qarşılıqlı əlaqəsi təsvir edilmişdir. Sürətləndirmə dəyərlərini oxumaq üçün I2c adapteri olan arduino istifadə etdik. Bu I2C adapteri sensor moduluna qoşulmağı asanlaşdırır və daha etibarlıdır.
Addım 1: Lazım olan avadanlıq:
Məqsədimizə çatmaq üçün ehtiyacımız olan materiallar aşağıdakı aparat komponentlərindən ibarətdir:
1. ADXL345
2. Arduino Nano
3. I2C Kabeli
4. Arduino Nano üçün I2C Shield
Addım 2: Hardware Bağlantısı:
Donanım bağlama bölməsi əsasən sensor və arduino nano arasında lazım olan naqillərin əlaqələrini izah edir. İstənilən çıxış üçün hər hansı bir sistem üzərində işləyərkən düzgün əlaqələrin təmin edilməsi əsas zərurətdir. Beləliklə, zəruri əlaqələr aşağıdakılardır:
ADXL345 I2C üzərində işləyəcək. Sensorun hər bir interfeysini necə bağlayacağınızı göstərən nümunə naqillər diaqramı.
Qutudan kənarda, lövhə I2C interfeysi üçün konfiqurasiya olunmuşdur, buna görə də başqa cür agnostiksinizsə bu əlaqəni istifadə etməyi məsləhət görürük.
Lazım olan tək şey dörd teldir! Vcc, Gnd, SCL və SDA pinləri üçün yalnız dörd əlaqə lazımdır və bunlar I2C kabelinin köməyi ilə bağlanır.
Bu əlaqələr yuxarıdakı şəkillərdə göstərilmişdir.
Addım 3: Sürətləndirmə Ölçmə Kodu:
İndi arduino kodundan başlayaq.
Sensor modulunu arduino ilə işləyərkən Wire.h kitabxanasını daxil edirik. "Tel" kitabxanası, sensor və arduino lövhəsi arasındakı i2c əlaqəsini asanlaşdıran funksiyaları ehtiva edir.
İstifadəçinin rahatlığı üçün bütün arduino kodu aşağıda verilmişdir:
#daxil edin
// ADXL345 I2C ünvanı 0x53 (83)
#təyin Edr 0x53
boş quraşdırma ()
{
// I2C ünsiyyətini MASTER olaraq başladın
Wire.begin ();
// Serial rabitəni işə salın, baud dərəcəsini = 9600 olaraq təyin edin
Serial.begin (9600);
// I2C ötürülməsinə başlayın
Wire.beginTransmission (Addr);
// Bant genişliyi dərəcəsi qeydini seçin
Wire.write (0x2C);
// Normal rejim, Çıxış məlumat sürəti = 100 Hz
Wire.write (0x0A);
// I2C ötürülməsini dayandırın
Wire.endTransmission ();
// I2C ötürülməsinə başlayın
Wire.beginTransmission (Addr);
// Güc idarəetmə qeydini seçin
Wire.write (0x2D);
// Avtomatik yuxu deaktiv edin
Wire.write (0x08);
// I2C ötürülməsini dayandırın
Wire.endTransmission ();
// I2C ötürülməsinə başlayın
Wire.beginTransmission (Addr);
// Məlumat formatı qeydini seçin
Wire.write (0x31);
// Self test əlil, 4 telli interfeys, Tam qətnamə, Aralıq = +/- 2g
Wire.write (0x08);
// I2C ötürülməsini dayandırın
Wire.endTransmission ();
gecikmə (300);
}
boşluq döngəsi ()
{
imzasız int məlumatları [6];
üçün (int i = 0; i <6; i ++)
{
// I2C ötürülməsinə başlayın
Wire.beginTransmission (Addr);
// Məlumat qeydini seçin
Wire.write ((50 + i));
// I2C ötürülməsini dayandırın
Wire.endTransmission ();
// 1 bayt məlumat tələb edin
Wire.requestFrom (Addr, 1);
// 6 bayt məlumat oxuyun
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
əgər (Tel.available () == 1)
{
data = Wire.read ();
}
}
// Məlumatı 10 bitə çevirin
int xAccl = (((data [1] & 0x03) * 256) + data [0]);
əgər (xAccl> 511)
{
xAccl -= 1024;
}
int yAccl = (((data [3] & 0x03) * 256) + data [2]);
əgər (yAccl> 511)
{
yAccl -= 1024;
}
int zAccl = (((data [5] & 0x03) * 256) + data [4]);
əgər (zAccl> 511)
{
zAccl -= 1024;
}
// Məlumatların serial monitora çıxarılması
Serial.print ("X Eksenində Sürətləndirmə:");
Serial.println (xAccl);
Serial.print ("Y eksenində sürətlənmə:");
Serial.println (yAccl);
Serial.print ("Z-Eksenində Sürətləndirmə:");
Serial.println (zAccl);
gecikmə (300);
}
Tel kitabxanasında Wire.write () və Wire.read () əmrləri yazmaq və sensor çıxışını oxumaq üçün istifadə olunur.
Sensorun çıxışını Arduino IDE -nin serial monitorunda göstərmək üçün Serial.print () və Serial.println () istifadə olunur.
Sensorun çıxışı yuxarıdakı şəkildə göstərilmişdir.
Addım 4: Tətbiqlər:
ADXL345, kiçik, nazik, ultralow güc, 3 oxlu akselerometrdir ki, bu da Telefonlar, Tibbi alətlər və s. İstifadəsinə Oyun və işarə cihazları, Sənaye alətləri, Fərdi naviqasiya cihazları və Sabit disk sürücüsü (HDD) qorunması daxildir.
Tövsiyə:
ADXL345 və Particle Photon istifadə edərək sürətlənmənin ölçülməsi: 4 addım
ADXL345 və Partikül Fotonundan istifadə edərək Sürətlənmənin Ölçülməsi: ADXL345, kiçik, nazik, ultralow gücə malik, 3 eksenli, yüksək qətnamə (13-bit) ölçmə qabiliyyəti olan ± 16 q-a qədərdir. Rəqəmsal çıxış məlumatları 16 bitlik ikili tamamlayıcı olaraq formatlanır və I2 C rəqəmsal interfeys vasitəsilə əldə edilə bilər. Ölçür
H3LIS331DL və Arduino Nano istifadə edərək sürətlənmənin ölçülməsi: 4 addım
H3LIS331DL və Arduino Nano-dan istifadə edərək sürətlənmənin ölçülməsi: H3LIS331DL, rəqəmsal I²C seriyalı interfeysi olan "nano" ailəsinə aid olan aşağı güclü yüksək performanslı 3 oxlu xətti sürətləndiricidir. H3LIS331DL, istifadəçilər tərəfindən ± 100g/± 200g/± 400g seçilə bilən tam tərəzilərə malikdir və sürətləri ölçmək qabiliyyətinə malikdir
H3LIS331DL və Particle Photon istifadə edərək sürətlənmənin ölçülməsi: 4 addım
H3LIS331DL və Particle Photon istifadə edərək sürətlənmənin ölçülməsi: H3LIS331DL, rəqəmsal I²C seriyalı interfeysi olan, "nano" ailəsinə aid olan aşağı güclü yüksək performanslı 3 oxlu xətti sürətləndiricidir. H3LIS331DL, istifadəçilər tərəfindən ± 100g/± 200g/± 400g seçilə bilən tam tərəzilərə malikdir və sürətləri ölçmək qabiliyyətinə malikdir
ADXL345 və Raspberry Pi istifadə edərək sürətlənmənin ölçülməsi: 4 addım
ADXL345 və Raspberry Pi istifadə edərək sürətlənmənin ölçülməsi: ADXL345, kiçik, nazik, ultra güclü, ± 16 q-a qədər yüksək qətnamə (13-bit) ölçülü 3 oxlu akselerometrdir. Rəqəmsal çıxış məlumatları 16 bitlik ikili tamamlayıcı olaraq formatlanır və I2 C rəqəmsal interfeys vasitəsilə əldə edilə bilər. Ölçür
H3LIS331DL və Raspberry Pi istifadə edərək sürətlənmənin ölçülməsi: 4 addım
H3LIS331DL və Raspberry Pi: H3LIS331DL istifadə edərək Sürətləndirmənin Ölçülməsi, rəqəmsal I²C seriyalı interfeysi olan "nano" ailəsinə aid olan aşağı güclü yüksək performanslı 3 oxlu xətti sürətləndiricidir. H3LIS331DL, istifadəçilər tərəfindən ± 100g/± 200g/± 400g seçilə bilən tam tərəzilərə malikdir və sürətləri ölçmək qabiliyyətinə malikdir