PC817 Optokuplör Modülü, yüksek voltajlı dış yüklerden (3V-24V DC) gelen voltaj sinyallerini kızılötesi ışık aracılığıyla ESP8266 mikrokontrolcüsüne ileten galvanik (optik) bir izolatördür. Elektriksel izolasyon sağlayarak ESP8266'nın hassas GPIO pinlerini yüksek voltaj, gürültü ve ani gerilim sıçramalarından korur.

Görseldeki devre şemasına göre ESP8266 (NodeMCU), PC817 modülü ve harici güç adaptörü arasındaki bağlantı haritası şu şekildedir:
| Bileşen / Taraf | Terminal / Pin | NodeMCU / Kaynak Bağlantısı | İşlev / Kablo Rengi |
|---|---|---|---|
| Yüksek Voltaj Giriş (+) | INPUT + | Adaptör & Yük Pozitif Pozisyonu (+3V..24V) | Sinyal Giriş (+) (Kırmızı Kablo) |
| Yüksek Voltaj Giriş (-) | INPUT - | Adaptör & Yük Negatif Pozisyonu (GND) | Sinyal Giriş (-) (Siyah Kablo) |
| Sinyal Çıkışı | OUT | NodeMCU D6 (GPIO12) | Opto Sinyal Çıkışı (Pembe/Mor Kablo) |
| Lojik Besleme | VCC | NodeMCU 3V3 | 3.3V Lojik Besleme (Kırmızı Kablo) |
| Lojik Toprak | GND | NodeMCU GND | Ortak Lojik Toprak (Siyah Kablo) |
Aşağıdaki C++ kodu, PC817 modülünün OUT ucundan gelen sinyali okur. Dış devrede voltaj (3V-24V) aktif olduğunda fototransistör iletime geçer ve çıkış seviyesini kontrol eder:
#include <Arduino.h>
// Şemadaki Pin Tanımlaması
const int OPTO_PIN = D6; // GPIO12 (PC817 OUT ucu)
int lastOptoState = -1;
void setup() {
Serial.begin(115200);
delay(10);
// PC817 OUT ucu için giriş tanımı
pinMode(OPTO_PIN, INPUT);
Serial.println("\nESP8266 PC817 Optokuplör Sinyal Okuma Başlatıldı.");
}
void loop() {
int optoState = digitalRead(OPTO_PIN);
// Durum değişikliği algılandığında seri porta yazdır
if (optoState != lastOptoState) {
if (optoState == LOW) {
Serial.println("-> Giriş Sinyali AKTİF (3V-24V Algılandı)");
} else {
Serial.println("-> Giriş Sinyali PASİF (Voltaj Yok)");
}
lastOptoState = optoState;
}
delay(50); // Kararlı okuma için kısa gecikme
}
Henüz yorum yapılmamış. İlk yorumu siz yapın!