İçindekiler
İnsan vücudu, duygusal ve fiziksel durumlara bağlı olarak çeşitli fizyolojik tepkiler verir. Bu tepkilerden biri de ter bezlerinin aktivitesindeki değişimdir.
GSR (Galvanic Skin Response) sensörü, cildin elektriksel iletkenliğinde meydana gelen değişimleri algılayabilir. Özellikle parmak uçlarındaki nem ve terleme değişimleri, sensörün çıkış sinyalini etkiler.
Bu projede Arduino Uno ve GSR sensör modülü kullanarak:
- Deri iletkenliğindeki değişimleri ölçmeyi,
- Kullanıcının başlangıç değerini belirlemeyi,
- Ani sinyal yükselmelerini tespit etmeyi,
- Ölçümleri bilgisayar ekranında gerçek zamanlı görüntülemeyi amaçlıyoruz.
Sistem, biyometrik sensörlerin çalışma prensibini öğrenmek ve Arduino ile analog veri işleme uygulamaları geliştirmek için kullanılabilir.
3. Devre bağlantıları
GSR sensör modülünün bağlantısı oldukça basittir. Modülün analog çıkışı Arduino'nun A0 girişine bağlanır.

| GSR sensörü | Arduino Uno |
| VCC | 5V |
| GND | GND |
| SIG / OUT | A0 |
Elektrotları sensör modülünün elektrot bağlantı girişine bağlayın. Elektrotları genellikle işaret ve orta parmağa sabitleyebilirsiniz.
Dikkat: Bu bağlantı, analog çıkışlı GSR modülleri içindir. Çıplak elektrotlarla doğrudan aynı bağlantı yapılmaz.
4. Arduino programlama kodu
Bu sürümde yalnızca ham sensör verisini okumak yerine daha kullanışlı bir ölçüm algoritması hazırladık.
Kodun çalışma mantığı:
- İlk ölçümlerde kullanıcının başlangıç değeri hesaplanır.
- Sensör verileri hareketli ortalama yöntemiyle yumuşatılır.
- Güncel ölçüm başlangıç değeriyle karşılaştırılır.
- Belirlenen fark aşıldığında ani değişim algılanır.
- Sonuçlar Arduino Serial Plotter üzerinden izlenebilir.
/*
PROJEHOCAM
Arduino GSR - Deri Iletkenligi Olcum Sistemi
Kart : Arduino Uno
Sensor : Analog GSR Sensor Module
Sensor pin : A0
*/
const int GSR_PIN = A0;
// Olcum ayarlari
const int SAMPLE_COUNT = 100;
const int SPIKE_THRESHOLD = 35;
// Filtre katsayisi
const float FILTER_ALPHA = 0.15;
float baseline = 0;
float filteredValue = 0;
bool firstReading = true;
void setup() {
Serial.begin(9600);
pinMode(GSR_PIN, INPUT);
Serial.println("PROJEHOCAM GSR OLCUM SISTEMI");
Serial.println("Elektrotlari parmaklariniza takin.");
delay(2000);
calibrateSensor();
Serial.println("Kalibrasyon tamamlandi.");
Serial.println("Olcum basliyor...");
}
void calibrateSensor() {
long total = 0;
for (int i = 0; i < SAMPLE_COUNT; i++) {
total += analogRead(GSR_PIN);
delay(20);
}
baseline = (float)total / SAMPLE_COUNT;
filteredValue = baseline;
}
void loop() {
int rawValue = analogRead(GSR_PIN);
// İlk ölçümü filtre başlangıcı olarak kullan
if (firstReading) {
filteredValue = rawValue;
firstReading = false;
}
// Üstel hareketli ortalama filtresi
filteredValue =
(FILTER_ALPHA * rawValue) +
((1.0 - FILTER_ALPHA) * filteredValue);
// Başlangıç değerinden sapma
float difference = abs(filteredValue - baseline);
// Ani değişim kontrolü
bool spikeDetected = difference > SPIKE_THRESHOLD;
// Seri port üzerinden veri gönderimi
Serial.print("Anlik:");
Serial.print(filteredValue);
Serial.print("\tReferans:");
Serial.print(baseline);
Serial.print("\tFark:");
Serial.print(difference);
Serial.print("\tEsik:");
Serial.println(SPIKE_THRESHOLD);
if (spikeDetected) {
Serial.println("UYARI: ANI GSR DEGISIMI ALGILANDI!");
}
delay(50);
}
Kodun önemli ayarları:
| Parametre | Açıklama |
SAMPLE_COUNT | Başlangıç kalibrasyon örnek sayısı |
SPIKE_THRESHOLD | Ani değişim algılama eşiği |
FILTER_ALPHA | Filtre hassasiyeti |
delay(50) | Ölçüm aralığı |
Başlangıçta 35 ADC birimi örnek eşik olarak kullanılmıştır. Bu değer sensör modülüne, elektrot temasına ve kişiye göre deneysel olarak ayarlanmalıdır.
5. Sistemin çalışma prensibi

GSR sensörünün çalışma prensibi deri iletkenliğine dayanır.
İnsan vücudunda ter bezlerinin aktivitesi arttığında cildin elektriksel iletkenliği genellikle artar. Bunun sonucunda cilt direncinde değişim meydana gelir.
Sensör modülü bu değişimi analog gerilim olarak Arduino'ya aktarır.
Arduino ise analog sinyali sayısal değere dönüştürerek başlangıç ölçümüyle karşılaştırır. Böylece normal ölçüm değerinden meydana gelen ani sapmalar tespit edilebilir.
6. Bilgisayarda ölçüm grafiğini görüntüleme
Projenin en kullanışlı özelliklerinden biri, sensör verilerinin gerçek zamanlı grafik olarak izlenebilmesidir.

Bunun için:
- Arduino'yu USB kablosuyla bilgisayara bağlayın.
- Hazırladığımız kodu Arduino'ya yükleyin.
- Arduino IDE üzerinden Araçlar menüsüne girin.
- Serial Plotter seçeneğini açın.
- Haberleşme hızını 9600 baud olarak ayarlayın.
Grafikte anlık ölçüm, referans değeri ve ölçüm farkı birlikte görüntülenir.
7. Projenin geliştirme alanları
Bu temel sistem farklı elektronik projelere dönüştürülebilir:
- OLED ekran eklenerek taşınabilir ölçüm cihazı yapılabilir.
- Bluetooth modülü ile ölçümler telefona aktarılabilir.
- ESP32 kullanılarak kablosuz veri takibi yapılabilir.
- SD kart ile uzun süreli ölçüm kayıtları tutulabilir.
- Python ile grafik ve veri analiz yazılımı geliştirilebilir.
8. Dikkat edilmesi gereken noktalar
- Ölçüm sırasında elektrotların parmaklarla teması sabit tutulmalıdır.
- El hareketleri ve elektrotların yer değiştirmesi hatalı ölçümlere neden olabilir.
- Her kullanıcı için başlangıç kalibrasyonu yeniden yapılmalıdır.
- Ortam sıcaklığı, cilt nemi ve elektrot basıncı ölçüm sonuçlarını etkileyebilir.
- GSR ölçümü tek başına kişinin stres seviyesini kesin olarak belirleyemez.
9. Sonuç
Arduino ve GSR sensörü kullanılarak geliştirilen bu proje, insan vücudundaki biyometrik değişimlerin elektronik sistemlerle nasıl ölçülebileceğini gösteren eğitici bir uygulamadır.
Basit donanım bağlantısı ve geliştirilebilir yazılım altyapısı sayesinde elektronik, robotik, biyomedikal mühendisliği ve Arduino projeleriyle ilgilenenler için güzel bir başlangıç çalışmasıdır.




















































































