Arduino ADXL345 İvme Ölçer ile LED Yakmak

Arduino ADXL345 İvme Ölçer ile LED Yakmak
Arduino ADXL345 İvme Ölçer ile LED Yakmak
0

Bu yazıda, ADXL345 İvme Ölçer Sensörü kullanarak eksen hareketlerine göre LED’leri yakabileceğiniz bir Arduino projesi oluşturacağız. Proje sırasında ivme ölçer sensöründen gelen verilerle hangi eksen hareketinin gerçekleştiğini algılayacak ve buna göre LED’leri yakacağız.

Proje İçin Gerekli Malzemeler:

  • Arduino
  • Breadboard
  • ADXL345 İvme ölçer sensör
  • 4 Adet LED
  • 4 Adet 220ohm Direnç
  • Jumper kablolar

Gerekli kütüphaneler:


ADXL345 İvme Ölçer Sensör

Arduino ADXL345 İvme Ölçer ile LED YakmakADXL345 ivme ölçer sensörü, ufak, düşük güç tüketimi olan açısal ivme ölçer sensörüdür. Hem statik hem de dinamik hızlanma kuvvetlerini ölçebilen 3 eksenli bir ivme ölçerdir.
Sensör üzerindeki pinleri inceleyecek olursak,

Dinamik kuvvetlere titreşimler, hareketler vb. neden olabilirken, yerçekimi kuvveti statik kuvvetin tipik sonuçlarını verebilmektedir. İvme için ölçü birimi metre bölü saniye karedir (m/s^2). Bununla beraber ADXL345 Sensörü, g değerini baz alarak çalışır. g, saniyede 9,8 metre kareye eşit olan yerçekimi kuvvetinin değeridir.

 

Dolayısıyla, Z ekseni yerçekimi kuvvetinin tersine yukarıyı gösterecek şekilde düz yerleştirilmiş bir ivmeölçerimiz varsa, sensörün Z ekseni çıkışı 1g olacaktır. Öte yandan, X ve Y çıkışları sıfır olacaktır, çünkü yerçekimi kuvveti bu eksenlere diktir ve onları hiç etkilemez. Sensörü ters çevirirsek, Z ekseni çıkışı -1 g olacaktır. Bu, yerçekimine yöneliminden dolayı sensörün çıktılarının -1g ile +1g arasında değişebileceği anlamına gelir.

ADXL345 Sensör Pinleri

PinAçıklama
GNDEksi (toprak) pini.
VCCBesleme (artı) pini.
CSÇip seçimi pini.
INT1, INT2Kesme işlem pini.
SDOSeri veri çıkışı pini.
SDASeri veri girişi pini.
SCLSeri haberleşme süresi pini.

Bağlantı Şeması:

Arduino ADXL345 İvme Ölçer ile LED Yakmak
  1. ADXL345 Sensör Bağlantıları
    • GND → Arduino GND
    • VCC → Arduino 3.3V veya 5V
    • SDA → Arduino A4 (I2C veri hattı)
    • SCL → Arduino A5 (I2C saat hattı)
  2. LED Bağlantıları
    • LED 1 → Arduino D7
    • LED 2 → Arduino D6
    • LED 3 → Arduino D5
    • LED 4 → Arduino D4

Proje Kodu:


Açıklamalar ve Dikkat Edilmesi Gereken Noktalar:

  • Setup Aşaması:
    • ADXL345 sensörü başlatılır.
    • Sensör hassasiyeti, ölçüm aralığı (±2g) olarak belirlenir.
  • Loop Aşaması:
    • Sensör eksen değerleri okunur.
    • Hangi eksene hareket varsa, ona uygun LED’ler yanar.
    • X, Y ve Z eksen hareketleri seri monitörde gösterilir.
  • Hata Ayıklama:

    • Sensör algılamıyor: GND, VCC, SDA ve SCL bağlantılarını kontrol edin.
    • LED’ler yanmıyor: LED’lerin ve dirençlerin doğru bağlandığından emin olun.
  • Sensör verileri Wire protokolü ile okunur.
  • Hangi eksene doğru hareket olduğunu tespit etmek için sensör verileri kontrol edilir.
  • Hareket edilen eksene göre ilgili LED’ler yakılır.
  • Sensör verileri seri portta izlenebilir.
  • Sensör ve LED’ler: ADXL345 ivmeölçer sensörü ile LED’leri kontrol etmek için bir arayüz kuruyoruz. Sensörün hareketlerine göre belirli LED’ler yanacak şekilde ayarlanmıştır.
  • displaySensorDetails(): Sensör hakkında temel bilgileri (isim, versiyon, ID, maksimum ve minimum değerler) seri port üzerinden yazdırır.
  • displayDataRate(): Sensörün veri hızını (Hz cinsinden) ekrana yazdırır.
  • displayRange(): Sensörün ölçüm aralığını (±2g, ±4g, ±8g, ±16g) ekrana yazdırır.
  • setup(): LED’ler için pinleri ayarlar, sensörü başlatır, ve sensör bilgilerini seri port üzerinden yazdırır.
  • loop(): Sensörün verilerini alır, buna göre LED’leri yakar ve verileri seri port üzerinden

Bağlantı ve kodlama sırasında karşılaştığınız hataları; aşağıda ki yorum bölümünden belirtebilirsiniz :)

Paylaş
İlginizi Çekebilir

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


ReCAPTCHA doğrulama süresi sona erdi. Lütfen sayfayı yeniden yükleyin.