Isi kandungan:
- Langkah 1: Beberapa Perintah Shell
- Langkah 2: Kes Pertama: Peranti I2c Mempunyai Alamat yang Sama
- Langkah 3: Kes 2: Alamat I2c yang berbeza
Video: Peranti Raspberry PI Pelbagai I2C: 3 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
Rasa kecewa kerana anda tidak dapat menggunakan gandaan peranti I2C yang sama dalam projek anda. Tidak perlu menggunakan multiplexer perlahan. Kernel raspbian terbaru menyokong pembuatan beberapa bas I2C menggunakan pin GPIO. Penyelesaian ini sangat pantas.
Langkah 1: Beberapa Perintah Shell
Sambungkan salah satu peranti i2c anda semasa pi raspberry anda, mulakan pi raspberry anda dan jalankan
sudo i2cdetect -y 1
Anda akan melihat jadual seperti di gambar lampiran. Saya telah memasang sensor tekanan suhu dan barometrik BMP280. Alamat i2c adalah 0x76 mengikut jadual. Perhatikan alamat ini.
Lakukan ini untuk semua peranti i2c anda.
Langkah 2: Kes Pertama: Peranti I2c Mempunyai Alamat yang Sama
Ini selalu menjadi masalah. Bas i2c dapat menangani beberapa peranti, tetapi mereka harus mempunyai alamat i2c yang berbeza. Beberapa peranti i2c mempunyai jumper untuk menetapkan alamat i2c lain, tetapi banyak yang tidak. Dalam kes ini, anda mungkin menggunakan multiplexer i2c (perkakasan) untuk memutar SDA i2c (Data) dan SCL (Jam) atau anda boleh membuat bas i2c tambahan atau lebih.
Saya akan membuat dua bas tambahan, bas 3 dan 4
Buka cli dan jalankan
cd / but
sudo nano config.txt
Tambahkan baris kod berikut, lebih baik di bahagian di mana spi dan i2c diaktifkan.
dtoverlay = i2c-gpio, bas = 4, i2c_gpio_delay_us = 1, i2c_gpio_sda = 23, i2c_gpio_scl = 24
Jalur ini akan membuat bas i2c tambahan (bas 4) pada GPIO 23 sebagai SDA dan GPIO 24 sebagai SCL (GPIO 23 dan 24 adalah lalai)
Tambahkan juga baris berikut untuk membuat bas i2c 3
dtoverlay = i2c-gpio, bas = 3, i2c_gpio_delay_us = 1, i2c_gpio_sda = 17, i2c_gpio_scl = 27
GPIO 17 akan menjadi SDA dan GPIO 27 akan menjadi SCL untuk bas 4 i2c.
Paip kawalan X untuk keluar.
Catatan mengenai Penomboran Bas dan pesanan:
Jangan sekali-kali menggunakan bas 0 dan 2, ia digunakan untuk perkara lain di papan seperti eprom pada topi dll
Untuk siaran raspbian April 2019:
Anda harus selalu bermula dengan bas tertinggi (Bus 4 dalam kes ini) dalam config.txt anda dan terus ke bas terendah (bas 3).
Bas paling rendah mesti selalu bas 3
Sekiranya anda memerlukan 5 bas tambahan, bas mesti mengikut urutan 7, 6, 5, 4, 3
Masalah mengenai pesanan bas ini tidak ada ketika Instructable ini asalnya ditulis. Nampaknya perubahan dibuat pada kernel.
Matikan PI anda, alihkannya. Sambungkan peranti i2c anda ke bas 4 (SDA ke GPIO 23 dan SCL ke GPIO 24) dan yang lain ke bas i2c 3 (SDA ke GPIO 17 dan SCL ke GPIO 27).
Hidupkan pi.
Jalankan:
sudo i2cdetect -l (Huruf Kecil L)
Anda sekarang akan melihat bahawa bas i2c 3 dan 4 juga disenaraikan. Jalankan juga:
sudo i2cdetect -y 3
sudo i2cdetect -y 4
Sekarang anda boleh menggunakan sensor anda dalam bahasa pengaturcaraan anda. Ingatlah untuk menentukan bas i2c yang betul.
Lampirkan adalah contoh untuk sensor Suhu dan Tekanan BMP280 yang popular. Tidak ada multiplexer yang dapat membaca 2 BMP280s secepat ini.
Contoh 2 Sensor SDP 810 sensor juga dilampirkan. Sekali lagi berfungsi lebih pantas daripada multiplexer yang saya gunakan pada masa lalu
Saya membuat kod python untuk membaca dua BMP388 baru dari adafruit.
Saya juga boleh menambahkan sensor lain pada masa akan datang ke
Langkah 3: Kes 2: Alamat I2c yang berbeza
Ringkas. i2c adalah bas. Tujuan bas adalah untuk berkomunikasi dengan pelbagai peranti. Sambungkan peranti selari dengan bas i2c yang sama. Anda boleh menggunakan bas satu.
Jalankan:
sudo i2cdetect -y 1
Anda akan melihat peranti yang disenaraikan.
Disyorkan:
Arduino Cara Menghubungkan Pelbagai Motor Servo - Tutorial PCA9685: 6 Langkah
Arduino Cara Menghubungkan Pelbagai Motor Servo - PCA9685 Tutorial: Dalam tutorial ini kita akan belajar bagaimana menyambungkan beberapa motor servo menggunakan modul PCA9685 dan arduino. Modul PCA9685 sangat bagus apabila anda perlu menyambungkan beberapa motor, anda boleh membaca lebih lanjut mengenainya di sini https : //www.adafruit.com/product/815Tonton Vi
Peranti ASS (Peranti Sosial Anti-Sosial): 7 Langkah
Peranti ASS (Peranti Sosial Anti-Sosial): Katakan anda adalah orang yang suka berada di sekitar orang tetapi tidak suka mereka berada terlalu dekat. Anda juga adalah orang yang lebih senang dan sukar untuk mengatakan tidak kepada orang lain. Oleh itu, anda tidak tahu bagaimana memberitahu mereka untuk mundur. Baiklah, masukkan - Peranti ASS! Y
Tutorial: Bagaimana Arduino Mengendalikan Beberapa Peranti Alamat Sama Dengan Menggunakan TCA9548A I2C Multiplexer: 3 Langkah
Tutorial: Bagaimana Arduino Mengawal Peranti Alamat Sama Sama dengan Menggunakan TCA9548A I2C Multiplexer: Penerangan: Modul Multiplexer TCA9548A I2C adalah untuk menghubungkan peranti dengan alamat I2C yang sama (hingga 8 alamat yang sama I2C) yang disambungkan ke satu mikrokontroler. Multiplexer bertindak sebagai penjaga pintu, mengalihkan perintah ke set yang dipilih
Mengawal Pelbagai LED Dengan Pin GPIO Python dan Raspberry Pi anda: 4 Langkah (dengan Gambar)
Mengawal Pelbagai LED Dengan Pin GPIO Python dan Raspberry Pi Anda: Instructable ini menunjukkan cara mengawal pelbagai pin GPIO pada RaspberryPi anda untuk menghidupkan 4 LED. Ini juga akan memperkenalkan anda kepada parameter dan pernyataan bersyarat di Python.Peraturan kami yang terdahulu Menggunakan Pin GPIO Raspberry Pi anda untuk
MENGHUBUNGKAN SENSOR PELBAGAI KE RASPBERRY PI: 6 Langkah (dengan Gambar)
MENGHUBUNGKAN SENSOR BANYAK UNTUK RASPBERRY PI: Dalam projek ini, kami akan menghubungkan tiga sensor EZO Atlas Scientific (pH, oksigen terlarut dan suhu) ke Raspberry Pi 3B +. Daripada memasang litar ke Raspberry Pi, kami akan menggunakan perisai Whitebox Labs Tentacle T3. T