PCF8575, I2C arabirimi aracılığıyla bir mikrodenetleyici ile iletişim kuran 16 bit G/Ç genişleticidir. Arduino'nuzdaki giriş/çıkış pimlerinin sayısını genişletmenizi sağlar, bu da birçok sensör, düğme veya LED gerektiren projeler için mükemmeldir. Bu öğretici, PCF8575'i Arduino ile bağlayarak ve kullanarak size rehberlik edecektir.
Ne İhtiyacınız Olacak
- PCF8575 G/Ç Genişletici Modülü
- Arduino Kurulu (örn. UNO, Mega, Nano)
- Test için sensörler, düğmeler veya LED'ler
- Breadboard ve jumper telleri
- Arduino IDE kurulu bir bilgisayar
1. Adım: PCF8575 modülünü anlamak
PCF8575, giriş veya çıkış olarak yapılandırılabilen 16 ek GPIO pimi sağlar. I2C protokolü aracılığıyla iletişim kurar ve birden çok modülü aynı veri yoluna bağlamak için ayarlanabilir bir I2C adresine sahiptir.
Pinout
Pin | İşlev |
---|---|
VCC | Güç kaynağı (3.3V/5V) |
Gnd | Zemin |
SDA | I2C veri hattı |
Scl | I2C saat çizgisi |
P0-P15 | Genel amaçlı G/Ç pimleri |
I2C adres yapılandırması
- I2C adresi A0, A1 ve A2 pimleri tarafından belirlenir:
- GND'ye tüm pimler:
0x20
(Varsayılan adres) - VCC'ye tüm pimler:
0x27
- GND'ye tüm pimler:
Adım 2: PCF8575'i Arduino'ya bağlama
PCF8575'i bir Arduino'ya nasıl bağlayacağınız aşağıda açıklanmıştır:
PCF8575 PIN | Arduino pimi |
---|---|
VCC | 5V |
Gnd | Gnd |
SDA | A4 (SDA) |
Scl | A5 (SCL) |
Çevresellerinizi (örn. LED'ler veya düğmeler) P0-P15 pimlerine bağlayın.
Not: Diğer Arduino panoları için doğru I2C pimlerini kullandığınızdan emin olun.
Adım 3: Gerekli kütüphaneyi kurun
PCF8575 ile çalışmayı basitleştirmek için "PCF8575" kitaplığını yükleyin.
Yüklenecek adımlar:
- Arduino IDE'yi açın.
- Gidip gelmek Eskiz > Kütüphane ekleyin > Kütüphaneleri Yönetin.
- "PCF8575" arayın ve tıklayın Düzenlemek.
4. Adım: Kodu yükleyin
Örnek: LED'leri kontrol etmek
Bu kod, PCF8575'i kullanarak LED'lerin nasıl açılacağını ve kapatılacağını gösterir:
#include <Wire.h>
#include <PCF8575.h>
PCF8575 pcf8575(0x20); // Initialize with the default I2C address
void setup() {
Serial.begin(9600);
// Set all pins as outputs
for (int i = 0; i < 16; i++) {
pcf8575.pinMode(i, OUTPUT);
}
Serial.println("PCF8575 initialized.");
}
void loop() {
// Turn all LEDs on
for (int i = 0; i < 16; i++) {
pcf8575.digitalWrite(i, HIGH);
}
delay(1000);
// Turn all LEDs off
for (int i = 0; i < 16; i++) {
pcf8575.digitalWrite(i, LOW);
}
delay(1000);
}
Örnek: Okuma düğmeleri
Bu kod, PCF8575'e bağlı düğmelerden nasıl okunacağını gösterir:
#include <Wire.h>
#include <PCF8575.h>
PCF8575 pcf8575(0x20); // Initialize with the default I2C address
void setup() {
Serial.begin(9600);
// Set all pins as inputs
for (int i = 0; i < 16; i++) {
pcf8575.pinMode(i, INPUT);
}
Serial.println("PCF8575 initialized.");
}
void loop() {
for (int i = 0; i < 16; i++) {
int state = pcf8575.digitalRead(i);
Serial.print("Pin ");
Serial.print(i);
Serial.print(": ");
Serial.println(state);
}
delay(500);
}
Adım 5: Kurulumu test edin
- Arduino'yu USB üzerinden bilgisayarınıza bağlayın.
- Arduino IDE'yi açın ve doğru seçin Pano Ve Liman altında Aletler menü.
- Kodu tıklayarak Arduino'ya yükleyin Yüklemek.
- LED örneği için LED'leri açıp kapatmayı gözlemleyin. Düğme örneği için, seri monitördeki izleme düğmesi durumları.
PCF8575 uygulamaları
- Arduino projeleri için genişleyen GPIO pinleri
- Karmaşık LED matrisler oluşturma
- Birden çok sensör veya düğme dizisi okuma
- Röleleri ve aktüatörleri kontrol etmek
Sorun giderme
- Modülden yanıt yok: I2C bağlantılarını ve adres yapılandırmasını doğrulayın.
- Tutarsız okumalar: I2C hatları için kararlı bir güç kaynağı ve uygun çekme dirençlerinden emin olun.
- Yanlış PIN davranışı: Koddaki pim modlarını (giriş/çıktı) çift kontrol edin.
Çözüm
PCF8575 G/Ç genişleticisini Arduino ile başarıyla arayüz ettiniz ve 16 ek GPIO piminden kontrol etmenize veya okumanıza izin verdiniz. Farklı çevre birimleriyle deneyin ve bu çok yönlü modülle projelerinizi genişletin!