Web sitemize hoşgeldiniz, 01 Nisan 2025
muratdonmez.com.tr
Anasayfa » IOT » PCF8574 ve ESP8266: Giriş Pini Arttırma

PCF8574 ve ESP8266: Giriş Pini Arttırma

PCF8574 ve ESP8266: Giriş Pini Arttırma

PCF8574 Pin Genişletici İle ESP8266 Pinlerini Arttırın konulu yazımda PCF8574 kullanarak ESP8266, Arduino, STM32 veya Teensy gibi kartların pinlerini nasıl arttırabileceğimizden bahsetmiştim. PCF8574’ü çıkış pini olarak kullanmış, bağladığımız LED’leri nasıl yakacağımızı anlatmıştım.

Bu yazımda da PCF8574’ü hem giriş, hem de çıkış pini olarak kullanarak butona basıldığında LED’i nasıl yakacağımızı anlatacağım. Bağlantı şeması aşağıdaki gibi olacaktır. Eğer harici güç kaynağı veya birden fazla I2C kartı kullanacaksanız SDA ve SCL pinlerini 2,2K-10K Ohm arası dirençlerle 5V/VCC hattına bağlamak daha sağlıklı çalışmasını sağlayacaktır.

PCF8574

Devremizde kullandığımız malzemelerin listesi:

  • 1 adet ESP8266-01
  • 1 adet PCF8574
  • 1 adet 220 Ω Direnç
  • 3 adet 10 kΩ Direnç
  • 1 adet LED
  • 1 adet Buton
  • 1 adet USB UART Dönüştürücü
  • 1 adet Breadboard
  • Bağlantı için kablolar

Gelelim bağlantılarımızı yukarıdaki şemaya göre yapmaya. Öncelikle PCF8574’ün SDA pinini ESP8266’nın GPIO2 pinine, PCF8574’ün SCL pinini de ESP8266’nın GPIO0 pinine bağlıyoruz. ESP8266’nın pin şemasına bakmak isterseniz ESP8266 üzerindeki hangi GPIO pinleri kullanılabilir? yazıma bakabilirsiniz. Bu arada ESP8266 üzerindeki CH_PD (veya CH_EN) pinini VCC pinine bağlamanız gerektiğini hatırlatmak isterim.

LED’imizin anot(+) bacağına 220Ohm’luk direnç bağladıktan sonra güç kaynağının eksi(+) ucuna, katod bacağını da PCF8574’ün P1 pinine bağlıyoruz.

Butonumuzun bir bacağı ile güç kaynağının artı(-) ucu arasına 10 kΩ direnç bağladıktan sonra butonun diğer bacağını da PCF8574’ün P0 pinine bağlıyoruz.

Sıra geldi kodumuzu ESP8266’ya yüklemeye, aşağıda kodumuzu bulabilirsiniz. Kod ESP8266’ya yüklendikten sonra butona basıldığında LED’imizi yakacaktır. PCF8574’ü tanıtmak için MSZ98 tarafından yazılmış olan pcf8574.h kütüphanesini kullandık. Bu kütüphaneyi “Tools(Araçlar)” – “Manage Libraries(Kütüphaneleri Yönet)” e girerek kurabilirsiniz.

#include "pcf8574.h"

PCF8574 PCF1(0x20);

void setup() {
pinMode(PCF1, 1, OUTPUT);
pinMode(PCF1, 4, INPUT);
}

void loop() {
int buton = digitalRead(PCF1, 1);
digitalWrite(PCF1, 0, buton);
}

Kodumuz, PCF8574’ün P1 pinine bağlanan bir buton ile P0 numaralı pinine bağladığımız LED’imizi kontrol ediyor. loop() döngüsü içinde öncelikle P1 pininin, yani butonun durumunu okuyor ve oluşturduğumuz buton değişkenine kaydediyoruz. Sonrasında ise bu değeri P0 pininin konumunu değiştirmek için kullanıyoruz. Yani butona basıldığında LED’imizi yakıyor, bırakınca söndürüyoruz.

Etiketler:

BU KONUYU SOSYAL MEDYA HESAPLARINDA PAYLAŞ
Yorumlar

Henüz yorum yapılmamış.

Yorum Yaz