İçindekiler:
- Adım 1: Bazı Kabuk Komutları
- Adım 2: Birinci Durum: I2c Cihazları Aynı Adrese Sahiptir
- Adım 3: Durum 2: Farklı I2c Adresleri
Video: Raspberry PI Çoklu I2C Cihazları: 3 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Hayal kırıklığına uğradınız çünkü projenizde aynı I2C cihazlarının katlarını kullanamazsınız. Yavaş çoklayıcı kullanmaya gerek yok. En son raspbian çekirdeği, GPIO pinlerini kullanarak birden fazla I2C veriyolu oluşturulmasını destekler. Bu çözüm süper hızlıdır.
Adım 1: Bazı Kabuk Komutları
Raspberry pi'niz açıkken i2c cihazlarınızdan birini bağlayın, ahududu pi'nizi çalıştırın ve çalıştırın
sudo i2cdetect -y 1
Ekteki şekildeki gibi bir tablo göreceksiniz. Bir BMP280 sıcaklık ve barometrik basınç sensörü ekledim. Tabloya göre i2c adresi 0x76'dır. Bu adresi not edin.
Bunu tüm i2c cihazlarınız için yapın.
Adım 2: Birinci Durum: I2c Cihazları Aynı Adrese Sahiptir
Bu her zaman sorunlu bir durumdu. Bir i2c veri yolu birden fazla cihazı işleyebilir, ancak farklı i2c adreslerine sahip olmaları gerekir. Bazı i2c cihazlarında, diğer i2c adreslerini ayarlamak için atlama telleri bulunur, ancak çoğunda yoktur. Bu durumda, i2c SDA'yı (Veri) ve SCL'yi (Saat) döndürmek için bir i2c çoklayıcı (donanım) kullanabilir veya ek bir i2c veri yolu veya daha fazlasını oluşturabilirsiniz.
İki ek veri yolu oluşturacağım, nl bus 3 ve 4
Klibi açın ve çalıştırın
cd / önyükleme
sudo nano yapılandırma.txt
spi ve i2c'nin etkinleştirildiği bölümde tercih edilen aşağıdaki kod satırını ekleyin.
dtoverlay=i2c-gpio, veri yolu=4, i2c_gpio_delay_us=1, i2c_gpio_sda=23, i2c_gpio_scl=24
Bu hat, GPIO 23'te SDA olarak ve GPIO 24'te SCL olarak ek bir i2c veri yolu (veri yolu 4) oluşturacaktır (GPIO 23 ve 24 varsayılandır)
Ayrıca i2c bus 3'ü oluşturmak için aşağıdaki satırı ekleyin
dtoverlay=i2c-gpio, veri yolu=3, i2c_gpio_delay_us=1, i2c_gpio_sda=17, i2c_gpio_scl=27
GPIO 17, SDA olacak ve GPIO 27, i2c veri yolu 4 için SCL olacak.
Çıkmak için tip kontrolü X.
Otobüs Numaralandırması ve sırası ile ilgili not:
0 ve 2 numaralı otobüsü asla kullanmayın, tahtadaki şapkalardaki eprom gibi diğer şeyler için kullanılır.
Nisan 2019 raspbian sürümü için:
config.txt dosyanızda her zaman en yüksek veri yolu ile (bu durumda 4 numaralı veri yolu) başlamalı ve en düşük veri yoluna (veri yolu 3) kadar gitmelisiniz.
En düşük otobüs her zaman otobüs 3 olmalıdır
5 ekstra otobüse ihtiyacınız varsa, otobüsler sırasıyla 7, 6, 5, 4, 3 olmak zorundadır.
Bu Eğitilebilir Yazı orijinal olarak yazıldığında, otobüs siparişindeki bu sorun yoktu. Görünüşe göre çekirdekte değişiklikler yapılmış.
PI'nizi kapatın, değiştirin. i2c cihazlarınızı veriyolu 4'e (SDA - GPIO 23 ve SCL - GPIO 24) ve diğerini i2c veriyolu 3'e (SDA - GPIO 17 ve SCL - GPIO 27) bağlayın.
Pi'yi açın.
Çalıştırmak:
sudo i2cdetect -l (Küçük Harf L)
Şimdi i2c veri yolu 3 ve 4'ün de listelendiğini göreceksiniz. Ayrıca çalıştırın:
sudo i2cdetect -y 3
sudo i2cdetect -y 4
Artık sensörünüzü programlama dilinizde kullanabilirsiniz. Doğru i2c veriyollarını belirtmeyi unutmayın.
Ek, popüler BMP280 Sıcaklık ve Basınç sensörü için bir örnektir. Hiçbir çoklayıcı bu kadar hızlı 2 BMP280 okuyamaz.
2 Sensirion SDP 810 sensörünün bir örneği de ektedir. Yine geçmişte kullandığım çoklayıcıdan çok daha hızlı çalışıyor
Adafruit'ten iki yeni BMP388'i okumak için python kodu oluşturdum.
Ayrıca gelecekte https://github.com/JJSlabbert/Raspberry_PI_i2C_confects'e başka sensörler de ekleyebilirim.
Adım 3: Durum 2: Farklı I2c Adresleri
Basit. i2c bir otobüs. Bir veri yolu amacı, birden fazla cihazla iletişim kurmaktır. Cihazları aynı i2c veri yoluna paralel olarak bağlayın. 1 numaralı otobüsü kullanabilirsiniz.
Çalıştırmak:
sudo i2cdetect -y 1
Listelenen cihazları göreceksiniz.
Önerilen:
Arduino Çoklu I2C Cihazlarını Bağlayın: 6 Adım
Arduino Çoklu I2C Cihazlarını Bağlayın: Bu eğitimde, I2C bağlantısı olan birkaç modülü arduino'ya nasıl bağlayacağımızı öğreneceğiz.Videoyu İzleyin!Bizim durumumuzda örnek olarak 4 OLED Ekran kullanacağız, ancak başka herhangi bir I2C modülünü kullanabilirsiniz/ Dilerseniz sensörler.Not: 4 adet OLED Ekran birlikte
LoRa Tabanlı Uzaktan Kumanda - Cihazları Uzak Mesafelerden Kontrol Edin: 8 Adım
LoRa Tabanlı Uzaktan Kumanda | Uzak Mesafelerden Kontrol Aletleri: Hey, naber, çocuklar! Akarsh burada CETech'ten. Bu projede, LED'ler, motorlar gibi çeşitli enstrümanları kontrol etmek için kullanılabilecek bir uzaktan kumanda oluşturacağız veya günlük hayatımızdan bahsedersek ev uygulamamızı kontrol edebiliriz.
LPWAN Tabanlı IoT Cihazları Kullanarak Fotoğraf Aktarmak Mümkün mü?: 6 Adım
LPWAN Tabanlı IoT Cihazları Kullanarak Fotoğraf Aktarmak Mümkün mü?: LPWAN, Low Power Wide Area Network anlamına gelir ve IoT alanında oldukça uygun bir iletişim teknolojisidir. Temsili teknolojiler Sigfox, LoRa NB-IoT ve LTE Cat.M1'dir. Bunların hepsi düşük güçlü uzun mesafe iletişim teknolojisidir. Ge
ÇOKLU KAMERA İLE RASPBERRY PI Pi NESNE TESPİTİ: 3 Adım
BİRDEN FAZLA KAMERA İLE RASPBERRY PI Pi NESNE TESPİTİ: Başlığın kendisi öğreticinin asıl amacının ne olduğunu gösterdiğinden, girişi kısa tutacağım. Bu adım adım talimatta, 1-pi kamera ve en az bir USB kamera veya 2 USB kamera gibi birden fazla kamerayı nasıl bağlayacağınızı açıklayacağım.
Raspberry Pi ile Yatak Odasında ve Banyoda Akıllı Müzik – Çoklu Oda, Alarm, Düğme Kontrolü ve Ev Otomasyonunu Birleştirme: 7 Adım
Raspberry Pi ile Yatak Odasında ve Banyoda Akıllı Müzik – Çoklu Oda, Alarm, Düğme Kontrolü ve Ev Otomasyonunu Birleştirme: Bugün size Raspberry Pi'yi Max2Play yazılımımızla ev otomasyonu için nasıl kullanabileceğinize dair iki örnek vermek istiyoruz: banyoda ve yatak odasında . Her iki proje de, çeşitli kaynaklardan gelen yüksek kaliteli müziğin farklı kanallardan yayınlanabilmesi açısından benzerdir