-
Notifications
You must be signed in to change notification settings - Fork 7
PC817 Optokuplör
Optokuplör, iki devrenin ya da bağlantının birbirine izole edilmesini sağlayan bir yalıtım bileşenidir. İçerisinde LED ve ışık algılayıcı bulunur. Giriş tarafına verilen elektrik optokuplör içindeki LED'i yakar. Işık algılayıcı (phototransistor) LED'in yandığını algıladığında iletkenlik kazanır. Böylelikle giriş / çıkış arasında optik yalıtım sağlanır. Optokuplörlerin kullanım amacı hassas bileşenleri yüksek ve dalgalı elektrikten korumak, stabil ve uzun ömürlü çalışma elde etmektir.
IoT HAT Üzerinde 4 adet PC817 optokuplör bulunur. IoT HAT'in oyuklu kart tasarımı ile optokuplörlerin dış elektrik bağlantısı sistemin geri kalanından mekanik olarak izole edilmiştir. Optokuplör girişlerini kullanarak 4 adet 5V elektrik girişini algılayabilirsiniz.
Optokuplörlerin bağlantıları, önlerinde bulunan klemensler ile sağlanır. 1. ve 2. optokuplör 1. klemensi, 3. ve 4. optokuplör 2. klemensi kullanır. Klemenslerin orta pinleri, ait oldukları optokuplör grubuna +5V sağlar. Sol ve sağ pinleri de arkalarında bulunan optokuplörlerin GND uçlarıdır. Bir optokuplöre +5V ve GND bağlantısı sağlandığında aktif olur ve GPIO bağlantısına logic 1 sinyali gönderir.
Optokuplörlere buton bağlantısı aşağıdaki gibi olmalıdır:
Optokuplör grubuna ikinci bağlantı aşağıdaki gibi yapılır:
Optokuplörler Raspberry Pi pinlerinin pull-down dirençli pinlerine bağlıdır. Elektrik verilmedikleri durumda logic 0, verildiğinde logic 1 olarak okunurlar.
Sırayla optokuplörler GPIO13 (Header Pin 33), GPIO19 (Header Pin 35), GPIO16 (Header Pin 36) ve GPIO26 (Header Pin 37) noktalarına bağlıdır.
Windows 10 IoT Core için geliştirdiğimiz yardımcı kütüphane ile optokuplörleri kolaylıkla kullanabilirsiniz.
- Visual Studio üzerinde oluşturacağınız UWP uygulamasının referansları arasına "TurtaIoTHAT.dll" kütüphanesini ekleyin.
- C# Kod dosyanızın using statementları arasına şu satırı ekleyin:
using TurtaIoTHAT;
- Optokuplör girişlerini tanımlamak için global alana şu satırı ekleyin:
static OptocouplerInput optocouplerInput;
-
Initialize()
metodunun içerisine aşağıdaki satırları ekleyin:
optocouplerInput = new OptocouplerInput(10);
optocouplerInput.OptocouplerInputChanged += OptocouplerInput_OptocouplerInputChanged;
- Optokuplör girişlerinindeki değişimde haber verecek event handlerı oluşturun:
private void OptocouplerInput_OptocouplerInputChanged(object sender, OctocouplerInputEventArgs e)
{
System.Diagnostics.Debug.WriteLine(e.Ch.ToString() + " -> " + (e.State ? "High" : "Low"));
}
Optokuplörlere elektrik verdiğinizde e.Ch
değişkeni üzerinden değişikliğin olduğu kanalı, e.State
değişkeninden durumu okuyabilirsiniz.
Optokuplör girişlerini okur.
Sözdizimi:
public class OptocouplerInput
Belirtilen optokuplör girişini okur.
Sözdizimi:
public bool ReadInputState(
int ch
)
Parametreler:
ch
Tip: System.Int32
Okunacak optokuplör girişi: 1, 2, 3 ya da 4.
Dönüş Değeri:
Tip: System.Boolean
Optokuplör girişine elektrik uygulanıyorsa true, uygulanmıyorsa false.