İçindekiler:
Video: ADXL345 Arduino Uno R3 Kullanımı: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Bu dersimizde ADXL345 hızlanma sensörünün nasıl kullanılacağını öğreneceğiz.
Adım 1: Bileşenler
- Arduino Uno kartı * 1
- USB kablosu * 1
-ADXL345 *1
- Ekmek tahtası * 1
- Atlama telleri
2. Adım: İlke
Hızlanma sırasında oluşan kuvveti ölçmek için bir ivmeölçer kullanılır. En temel olanı, 1g olan yaygın olarak bilinen yerçekimi ivmesidir.
Yerçekiminin neden olduğu ivmeyi ölçerek, cihazın düz yüzeye eğim açısını hesaplayabilirsiniz. Dinamik ivmeyi analiz ederek cihazın nasıl hareket ettiğini anlayabilirsiniz. Örneğin, kendi kendini dengeleyen tahta veya uçan tahta, Kalman filtresi ve duruş düzeltmesi için hızlanma sensörü ve jiroskopu uygular.
ADXL345
ADXL345, ±16 g'a kadar yüksek çözünürlüklü (13 bit) ölçüme sahip küçük, ince, düşük güçlü, 3 eksenli bir ivmeölçerdir. Dijital çıkış verileri, 16 bit ikinin tamamlayıcısı olarak biçimlendirilir ve bir SPI (3- veya 4 telli) veya I2C dijital arabirimi aracılığıyla erişilebilir. Bu deneyde, I2C dijital arayüzü kullanılır.
Eğim algılama uygulamalarında yerçekiminin statik ivmesini ve ayrıca hareket veya şoktan kaynaklanan dinamik ivmeyi ölçmek için çok uygundur. Yüksek çözünürlüğü (4 mg/LSB), eğim değişikliği ölçümünün 1.0°'den daha az olmasını sağlar. Ve mükemmel hassasiyet (3,9mg/LSB @2g), ±16g'a kadar yüksek hassasiyette çıktı sağlar.
ADXL345 nasıl çalışır?
ADXL345, öndeki algılama bileşeni ile ivmeyi algılar ve ardından elektrik sinyali algılama bileşeni, bunu analog olan elektrik sinyaline dönüştürür. Daha sonra modüle entegre edilen AD adaptörü analog sinyali dijitale çevirecektir.
X_OUT, Y_OUT ve Z_OUT sırasıyla X, Y ve Z eksenindeki değerlerdir. Modülü yüzü yukarı bakacak şekilde yerleştirin: Z_OUT en fazla +1g'ye ulaşabilir, X_OUT minimumu Ax yönünde -1g ve Y_OUT minimumu Ay yönüne doğru -1g'dir. Öte yandan, modülü baş aşağı çevirin: Z_OUT minimumu -1g, maksimum X_OUT Ax yönüne doğru +1g ve Y_OUT maksimumu Ay yönüne doğru +1g'dir., Aşağıda gösterildiği gibi. ADXL345 modülünü döndürün ve üç değerin değiştiğini göreceksiniz.
A kanalı yüksek seviyeden düşük seviyeye değiştiğinde, eğer kanal B yüksek seviyedeyse, döner kodlayıcının saat yönünde (CW) döndüğünü gösterir; o anda B kanalı düşük seviyedeyse, saat yönünün tersine (CCW) dönüyor demektir. Yani A kanalı düşük seviyedeyken B kanalının değerini okursak döner kodlayıcının hangi yönde döndüğünü anlayabiliriz.
Prensip: Aşağıdaki Rotary Enkoder modülünün şematik diyagramına bakın. Buradan döner kodlayıcının pin 3'ünün, yani modül üzerindeki CLK'nın kanal B olduğunu görebiliriz. DT olan Pin 5, kanal A'dır. Kayıt cihazının dönüş yönünü bilmek için, sadece CLK değerini okuyun ve DT.
Devrede 3.3v voltaj regülatör çipi vardır, bu sayede modüle 5V veya 3.3V ile güç verebilirsiniz.
SDO, GND'ye bağlı olduğundan, ADXL345'in I2C adresi 0x53, yazma için 0xA6, okuma için 0xA7'dir.
ADXL345 Modülünün Pin Fonksiyonu.
Adım 3: Prosedürler
Adım 1. Devreyi kurun.
Adım 2:
Kodu https://github.com/primerobotics/Arduino adresinden indirin
Aşama 3:
Krokiyi Arduino Uno panosuna yükleyin
Kodu kontrol panosuna yüklemek için Yükle simgesine tıklayın.
Pencerenin altında "Yükleme tamamlandı" görünüyorsa, çizim başarıyla yüklenmiştir.
Yüklemeden sonra, algılanan verileri görebileceğiniz Seri Monitör'ü açın. Modülün ivmesi değiştiğinde, şekil pencerede buna göre değişecektir.
4. Adım: Kod
//ADXL335
/********************************
ADXL335
not:vcc5v, ancak ADXL335 Vs 3.3V'dir
Devre:
5V: VCC
analog 0: x ekseni
analog 1: y ekseni
analog 2: z ekseni
yaktıktan sonra
programında, algılanan verilerin görüntülendiğini görebileceğiniz seri monitör hata ayıklama penceresini açın. Hızlanma değiştiğinde, rakam buna göre değişecektir.
*********************************
/E-posta:
//Web sitesi:www.primerobotics.in
sabit int xpin =
A0; // ivmeölçerin x ekseni
const int ypin =
A1; // y ekseni
const int zpin =
A2; // z ekseni (yalnızca 3 eksenli modellerde)
geçersiz kurulum()
{
// seri iletişimi başlat:
Seri.başla(9600);
}
boşluk döngüsü()
{
int x = analogRead(xpin); //xpin'den oku
gecikme(1); //
int y = analogRead(ypin); //ypin'den oku
gecikme(1);
int z = analogRead(zpin); // zpin'den oku
float sıfır_G = 338.0; //ADXL335 güç kaynağı
Vs 3.3V:3.3V/5V*1024=676/2=338 ile
//Seri.print(x);
//Seri.print("\t");
//Seri.baskı(y);
//Seri.print("\t");
//Seri.print(z);
//Seri.print("\n");
batmadan yüzmek
zero_Gx=331.5;//x ekseninin zero_G çıkışı:(x_max + x_min)/2
batmadan yüzmek
zero_Gy=329.5;//y ekseninin zero_G çıkışı:(y_max + y_min)/2
float zero_Gz=340.0;//the
z ekseninin zero_G çıkışı:(z_max + z_min)/2
şamandıra ölçeği =
67.6;//güç kaynağı Vs 3.3V:3.3v /5v *1024/3.3v *330mv/g =67.6g
kayan ölçek_x =
65;//x ekseni ölçeği: x_max/3.3v*330mv/g
şamandıra scale_y =
68.5;//y ekseni ölçeği: y_max/3.3v*330mv/g
şamandıra scale_z =
68;//z ekseni ölçeği: z_max/3.3v*330mv/g
Serial.print(((kayan)x
- sıfır_Gx)/ölçek_x); // seri monitörde x değerini yazdır
Seri.print("\t");
Serial.print(((yüzer)y
- sıfır_Gy)/ölçek_y); // seri monitörde y değerini yazdır
Seri.print("\t");
Serial.print(((kayan)z
- sıfır_Gz)/ölçek_z); // seri monitörde z değerini yazdır
Seri.print("\n");
gecikme(1000); // 1 saniye bekle
}
Adım 5: Kod Analizi
ADXL345 deneyinin kodu 3 bölümden oluşur: her bir bağlantı noktasını ve aygıtı başlatın, sensörlerden gönderilen verileri alın ve saklayın ve verileri dönüştürün.
Önerilen:
CO2 Ölçer, Arduino Mega ile Sensör SCD30 Kullanımı: 5 Adım
CO2 Ölçer, Sensör SCD30'u Arduino Mega ile Kullanma: CO2'nin, sıcaklığın ve sıcaklığın, SCD30'un etkileşimli ortam koşullarının sağlanması için gerekli parametreler. la calibración ya no sea válida
Arduino Üzerinde RC522 ile Mifare Ultralight C Kullanımı: 3 Adım
Arduino Üzerinde RC522 ile Mifare Ultralight C Kullanımı: Kart sahiplerini tanımlamak veya bir şey yapmaya yetki vermek (kapı açmak vb.) için RFID teknolojisini kullanmak oldukça yaygın bir yaklaşımdır. Kendin Yap uygulaması durumunda, oldukça ucuz olduğu ve bu modül için çok sayıda kod bulunduğu için RC522 modülü yaygın olarak kullanılmaktadır
Arduino İle Kızılötesi Sensör Kullanımı: 8 Adım (Resimli)
Arduino İle Kızılötesi Sensör Kullanımı: Kızılötesi (diğer adıyla IR) sensör nedir? IR sensörü, standartlar tarafından tanımlanan belirli frekans aralıklarında IR sinyallerini tarayan ve bunları çıkış pininde (tipik olarak sinyal pini olarak adlandırılır) elektrik sinyallerine dönüştüren elektronik bir araçtır. . Kızılötesi sinyali
Arduino Kullanımı ve İşleme Flappy Bird: 5 Adım
Flappy Bird Arduino Kullanımı ve İşleme: Herkese Merhaba!!! Arduino tabanlı yeni bir projeye hoş geldiniz. Hepimiz hayatımızda bir kez kanatlı kuş oyunu oynamışızdır. Bilgisayarımızda oynayıp Arduino ile kontrol edersek nasıl olur?? Aşağıda ve bu eğitimin sonunda verilen tüm adımları izleyin
1602 LCD Keypad Shield W/ Arduino Kullanımı [+Pratik Projeler]: 7 Adım
1602 LCD Keypad Shield W/ Arduino Kullanımı [+Pratik Projeler]: Bu ve diğer harika öğreticileri ElectroPeak'in resmi web sitesinde okuyabilirsinizGenel BakışBu eğitimde, 3 pratik proje ile Arduino LCD tuş takımı kalkanını nasıl kullanacağınızı öğreneceksiniz.Ne Öğreneceksiniz: Kalkan nasıl kurulur ve anahtarlar nasıl tanımlanırHo