ROBOTKODLA
ROBOTKODLA Genç Mucit

Eğlen, Kodla, Geleceği Tasarla

Model: APDS-9960 Sensör Modülü (Breakout) Orta Seviye Üretici: Broadcom / Avago

APDS-9960 RGB Renk, Yakınlık ve Temassız El Hareketi (Jest) Sensörü

Akıllı telefonlardaki gibi elinizi dokundurmadan sağa, sola, yukarı veya aşağı kaydırma hareketlerini algılayan, aynı zamanda RGB renk ve ortam ışığı ölçen çok yönlü sensördür.

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

Mutlak maksimum voltaj 3.8V'tur! Kesinlikle 5V Arduino Uno 5V pinine bağlanmamalıdır; 3.3V pininden beslenmeli ve lojik seviye dönüştürücü kullanılmalıdır.

Teknik Özellikler ve Elektriksel Parametreler

Çalışma Voltajı 2.40V - 3.60V Lojik Seviye Giriş/Çıkış
Akım Tüketimi 790 µA (jest algılama), 1 µA (uyku) Tipik çalışma modu
Haberleşme Arayüzü I2C (0x39) Protokol türü
Ölçüm Aralığı Jest: 10 - 20 cm, Renk: 0-65535 lüks Etkili çalışma sınırı
Hassasiyet / DoğrulukSağ, Sol, Yukarı, Aşağı, Yaklaşma, Uzaklaşma yön tayiniÖlçüm sapma payı
Tepki Süresi10-100 msÖrnekleme hızı
Ölçüm Türü4 Yönlü IR Fotodiyot Jest, Renk (RGBC) ve YakınlıkFiziksel büyüklük
Pin Sayısı6 PinModül header pinleri

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

Pin #Pin AdıSinyal TürüGörev & Açıklama
1 VL Güç IR LED harici beslemesi (opsiyonel, VIN'e bağlıdır)
2 GND Toprak Toprak 0V
3 VCC Güç +3.3V DC regüle güç
4 SDA I2C Veri I2C Data hattı
5 SCL I2C Saat I2C Clock hattı
6 INT Kesme Çıkışı Jest tamamlandığında tetiklenen kesme pini

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

APDS-9960 El Hareketi (Jest) Algılama

Gerekli Kütüphaneler: SparkFun APDS9960 RGB and Gesture Sensor
#include <Wire.h>
#include <SparkFun_APDS9960.h>

SparkFun_APDS9960 apds = SparkFun_APDS9960();

void setup() {
  Serial.begin(9600);
  if (!apds.init()) {
    Serial.println("APDS-9960 başlatılamadı!");
    while(1);
  }
  if (apds.enableGestureSensor(true)) {
    Serial.println("Jest sensörü devrede! Elinizi sensör üzerinde kaydırın...");
  }
}

void loop() {
  if (apds.isGestureAvailable()) {
    switch (apds.readGesture()) {
      case DIR_UP:    Serial.println("YUKARI HAREKET"); break;
      case DIR_DOWN:  Serial.println("AŞAĞI HAREKET"); break;
      case DIR_LEFT:  Serial.println("SOLA KAYDIRMA"); break;
      case DIR_RIGHT: Serial.println("SAĞA KAYDIRMA"); break;
      case DIR_NEAR:  Serial.println("YAKLAŞMA"); break;
      case DIR_FAR:   Serial.println("UZAKLAŞMA"); break;
      default: break;
    }
  }
}
Seri Monitör Çıktısı (Simülasyon):
Jest Algılandı: SAĞA KAYDIRMA ->
Jest Algılandı: SOLA KAYDIRMA <-

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

APDS-9960 Çok İşlevli Jest Sensörü

APDS-9960, gelişmiş bir mikro-optik sensördür. İçerisinde dört ayrı yöne (Kuzey, Güney, Doğu, Batı) bakan kızılötesi fotodiyotlar ve entegre bir IR LED barındırır.

Elinizi sensörün üzerinden geçirdiğinizde yansıyan kızılötesi ışık fotodiyotlara farklı zamanlarda çarpar. Dahili donanım motoru bu zaman farklarını analiz ederek elin SAĞA, SOLA, YUKARI, AŞAĞI, YAKLAŞMA veya UZAKLAŞMA yönünde hareket ettiğini anında raporlar.

Artıları ve Sınırlamaları

Güçlü Yönleri (Avantajlar)
  • Temassız temassız kullanıcı arayüzü (HMI) tasarımı
  • Tek çipte 4 özellik: Jest algılama, Yakınlık, Ortam Işığı, RGB Renk
  • Dahili kesme (interrupt) pini ile mikrodenetleyiciyi meşgul etmez
  • Sınırlamaları (Dezavantajlar)
  • 3.3V lojik seviye zorunluluğu (5V toleranslı değildir)
  • Güneş ışığındaki yoğun IR ışıma jest algılamasını dış ortamda bozabilir
  • Sık Karşılaşılan Sorunlar ve Çözümleri

  • Elinizi sensöre 10 cm'den fazla yaklaştırmayın; optimum mesafe 10-15 cm arasıdır.