İçindekiler:

H3LIS331DL ve Arduino Nano Kullanarak İvme Ölçümü: 4 Adım
H3LIS331DL ve Arduino Nano Kullanarak İvme Ölçümü: 4 Adım

Video: H3LIS331DL ve Arduino Nano Kullanarak İvme Ölçümü: 4 Adım

Video: H3LIS331DL ve Arduino Nano Kullanarak İvme Ölçümü: 4 Adım
Video: Switch ON and OFF an LED with MPU6050 using Arduino NANO@ujjwaltipsandtrick8676 2024, Kasım
Anonim
Image
Image

H3LIS331DL, dijital I²C seri arabirimli, “nano” ailesine ait, düşük güçlü, yüksek performanslı, 3 eksenli bir doğrusal ivmeölçerdir. H3LIS331DL, kullanıcı tarafından seçilebilir ±100g/±200g/±400g tam ölçeklere sahiptir ve 0,5 Hz ila 1 kHz çıkış veri hızları ile ivmeleri ölçebilir. H3LIS331DL'nin -40 °C ila +85 °C arasında geniş bir sıcaklık aralığında çalışması garanti edilir.

Bu derste, H3LIS331DL'nin Arduino Nano ile arayüzlenmesini göstereceğiz.

Adım 1: Donanım Gerekli:

Gerekli Donanım
Gerekli Donanım
Gerekli Donanım
Gerekli Donanım
Gerekli Donanım
Gerekli Donanım

Hedefimizi gerçekleştirmek için ihtiyaç duyduğumuz malzemeler aşağıdaki donanım bileşenlerini içerir:

1. H3LIS331DL

2. Arduino Nano

3. I2C Kablosu

4. Arduino Nano için I2C Kalkanı

Adım 2: Donanım Bağlantısı:

Donanım Bağlantısı
Donanım Bağlantısı
Donanım Bağlantısı
Donanım Bağlantısı

Donanım bağlantısı bölümü, temel olarak sensör ve arduino nano arasında gerekli olan kablo bağlantılarını açıklar. İstenilen çıktı için herhangi bir sistem üzerinde çalışırken doğru bağlantıların sağlanması temel zorunluluktur. Yani, gerekli bağlantılar aşağıdaki gibidir:

H3LIS331DL, I2C üzerinde çalışacaktır. Sensörün her bir arayüzünün nasıl bağlanacağını gösteren örnek kablo şeması buradadır.

Kutudan çıktığı gibi, kart bir I2C arayüzü için yapılandırılmıştır, bu nedenle, aksi takdirde agnostik iseniz bu bağlantıyı kullanmanızı öneririz. Tek ihtiyacınız olan dört tel!

Vcc, Gnd, SCL ve SDA pinlerinden sadece dört bağlantı gereklidir ve bunlar I2C kablosu yardımıyla bağlanır.

Bu bağlantılar yukarıdaki resimlerde gösterilmiştir.

Adım 3: İvme Ölçümü için Arduino Kodu:

İvme Ölçümü için Arduino Kodu
İvme Ölçümü için Arduino Kodu
İvme Ölçümü için Arduino Kodu
İvme Ölçümü için Arduino Kodu

Şimdi arduino koduyla başlayalım.

Sensör modülünü arduino ile kullanırken Wire.h kütüphanesini dahil ediyoruz. "Wire" kütüphanesi, sensör ve arduino kartı arasındaki i2c iletişimini kolaylaştıran fonksiyonları içerir.

Tüm arduino kodu, kullanıcının rahatlığı için aşağıda verilmiştir:

#Dahil etmek

// H3LIS331DL I2C adresi 0x18(24)

#define Addr 0x18

geçersiz kurulum()

{

// I2C iletişimini MASTER olarak başlat

Wire.begin();

// Seri İletişimi Başlat, baud hızını ayarla = 9600

Seri.başla(9600);

// I2C İletimini Başlat

Wire.beginTransmission(Adr);

// Kontrol kaydı 1'i seç

Wire.write(0x20);

// X, Y, Z eksenini etkinleştir, güç açık modu, veri çıkış hızı 50Hz

Wire.write(0x27);

// I2C İletimini Durdur

Wire.endTransmission();

// I2C İletimini Başlat

Wire.beginTransmission(Adr);

// Kontrol kaydı 4'ü seç

Wire.write(0x23);

// Tam ölçeği ayarla, +/- 100g, sürekli güncelleme

Wire.write(0x00);

// I2C İletimini Durdur

Wire.endTransmission();

gecikme(300);

}

boşluk döngüsü()

{

imzasız int veri[6];

for(int i = 0; i < 6; i++)

{

// I2C İletimini Başlat

Wire.beginTransmission(Adr);

// Veri kaydını seç

Wire.write((40+i));

// I2C İletimini Durdur

Wire.endTransmission();

// 1 bayt veri iste

Wire.requestFrom(Adr, 1);

// 6 bayt veri oku

// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb

if(Wire.available() == 1)

{

data = Wire.read();

}

}

gecikme(300);

// Verileri dönüştür

int xAccl = ((veri[1] * 256) + veri[0]);

int yAccl = ((veri[3] * 256) + veri[2]);

int zAccl = ((veri[5] * 256) + veri[4]);

// Verileri seri monitöre çıkar

Serial.print("X Ekseninde Hızlanma: ");

Serial.println(xAccl);

Serial.print("Y Ekseninde İvme: ");

Seri.println(yAccl);

Serial.print("Z Ekseninde İvme: ");

Serial.println(zAccl);

gecikme(300);

}

Tek yapmanız gereken kodu arduino'ya yazmak ve seri porttan okumalarınızı kontrol etmek. Çıktı yukarıdaki resimde gösterilmektedir.

Adım 4: Uygulamalar:

Uygulamalar
Uygulamalar

H3LIS331DL gibi ivmeölçerler, uygulamalarını çoğunlukla oyunlarda bulur ve profil değiştirmeyi görüntüler. Bu sensör modülü, mobil uygulamalar için gelişmiş güç yönetim sisteminde de kullanılır. H3LIS331DL, akıllı bir çip üzerinde hareketle tetiklenen kesinti kontrolörü ile birleştirilmiş üç eksenli bir dijital hızlanma sensörüdür.

Önerilen: