ROBOTKODLA
ROBOTKODLA Genç Mucit

Eğlen, Kodla, Geleceği Tasarla

Model: ADXL335 Sensör Modülü (Breakout) Başlangıç Seviye Üretici: Analog Devices

ADXL335 3 Eksen Analog İvmeölçer Modülü (±3g)

Karmaşık I2C veya SPI yazılımına ihtiyaç duymadan X, Y ve Z eksenlerindeki ivme ve yerçekimini 3 ayrı analog voltaj olarak veren kullanıcı dostu ivmeölçerdir.

Önemli Güvenlik ve Teknik Sınırlama Bilgisi

GY-61 modülünde 3.3V regülatör bulunur; ancak sensör çıkış voltajı maksimum 3.3V'tur. Arduino Uno'da AREF pinine 3.3V verilerek ADC doğruluğu artırılabilir.

Teknik Özellikler ve Elektriksel Parametreler

Çalışma Voltajı 1.80V - 3.60V Lojik Seviye Giriş/Çıkış
Akım Tüketimi 350 µA Tipik çalışma modu
Haberleşme Arayüzü 3 Kanal Bağımsız Analog Voltaj (X, Y, Z) Protokol türü
Ölçüm Aralığı ±3g tam ölçek Etkili çalışma sınırı
Hassasiyet / DoğrulukHassasiyet: 330 mV/g (3.0V altında)Ölçüm sapma payı
Tepki SüresiBant genişliği ayarlanabilir (0.5 Hz - 1600 Hz)Örnekleme hızı
Ölçüm TürüKapasitif MEMS 3 Eksen İvme ve Yerçekimi (±3g)Fiziksel büyüklük
Pin Sayısı5 PinModül header pinleri

Pin Bağlantıları ve Görevleri (Pinout)

Pin #Pin AdıSinyal TürüGörev & Açıklama
1 VCC Güç +3.3V - +5V DC (GY-61 kartı)
2 X_OUT Analog Çıkış X Ekseni ivme voltajı
3 Y_OUT Analog Çıkış Y Ekseni ivme voltajı
4 Z_OUT Analog Çıkış Z Ekseni ivme voltajı
5 GND Toprak Toprak 0V

Geliştirme Kartı Uyumluluk Durumu

Arduino Uno / Nano ✓ Uyumlu
5V Lojik

Doğrudan bağlantı ve yerleşik 5V desteği.

ESP32 (NodeMCU) ✓ Uyumlu
3.3V Lojik

3.3V ile tam uyumlu çalışır.

Raspberry Pi Pico ✓ Uyumlu
3.3V Lojik

MicroPython veya C/C++ SDK ile desteklenir.

BBC Micro:bit ✓ Uyumlu
3.3V Lojik

MakeCode blokları veya MicroPython ile uyumlu.

STM32 (BluePill) ✓ Uyumlu
3.3V (5V Tolerant)

5V tolerant GPIO pinleri doğrudan bağlanabilir.

Örnek Kaynak Kod Kütüphanesi

Arduino Uno Arduino C++ ✓ Test Edildi

ADXL335 ile X/Y/Z Yerçekimi ve Açı Hesabı

Gerekli Kütüphaneler: Standart
const int xPin = A0;
const int yPin = A1;
const int zPin = A2;

void setup() {
  Serial.begin(9600);
}

void loop() {
  int xRaw = analogRead(xPin);
  int yRaw = analogRead(yPin);
  int zRaw = analogRead(zPin);

  // 0g referansı ~512, 1g hassasiyeti ~102 adım (3.3V / 1023)
  float xG = (xRaw - 512) / 102.0;
  float yG = (yRaw - 512) / 102.0;
  float zG = (zRaw - 512) / 102.0;

  Serial.print("X: "); Serial.print(xG, 2); Serial.print("g | ");
  Serial.print("Y: "); Serial.print(yG, 2); Serial.print("g | ");
  Serial.print("Z: "); Serial.print(zG, 2); Serial.println("g");

  delay(200);
}
Seri Monitör Çıktısı (Simülasyon):
X: 0.02g | Y: -0.15g | Z: 0.98g (Düz Duruyor)

Çalışma Mantığı ve Fiziksel İlkeler

ADXL335 Neden Çok Sevilir?

Dijital sensörler (I2C/SPI) kütüphane kurulumu, adres çakışması ve haberleşme gecikmesi gerektirir.

ADXL335, X, Y ve Z eksenleri için 3 adet saf analog voltaj üretir.

Yerçekimi ivmesi (1g) sensörün hangi eksenine etki ediyorsa o eksenin voltajı yükselir. Bu sayede atan2 trigonometri fonksiyonu kullanılarak elin veya robotun Roll (Yuvarlanma) ve Pitch (Yunuslama) eğim açıları mikrosaniyeler içinde hesaplanır.

Artıları ve Sınırlamaları

Güçlü Yönleri (Avantajlar)
  • Kütüphanesiz sadece analogRead ile anında çalışma
  • 350 µA düşük güç tüketimi
  • 10.000g darbe şokuna dayanıklı MEMS yapısı
  • Sınırlamaları (Dezavantajlar)
  • Analog sinyaller kablo gürültüsünden etkilenebilir
  • ±3g ölçüm menzili çok hızlı fırlatmalarda sınırda kalabilir
  • Sık Karşılaşılan Sorunlar ve Çözümleri

  • X, Y, Z çıkışlarında sıfır yerçekimi (0g) ofset voltajı besleme voltajının tam yarısıdır (~1.65V).