جدول المحتويات:
- الخطوة 1: بعض أوامر شل
- الخطوة 2: الحالة الأولى: أجهزة I2c لها نفس العنوان
- الخطوة 3: الحالة 2: عناوين I2c مختلفة
فيديو: أجهزة Raspberry PI Multiple I2C: 3 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:39
محبط لأنه لا يمكنك استخدام مضاعفات نفس أجهزة I2C في مشروعك. لا حاجة لاستخدام معددات إرسال بطيئة. تدعم أحدث نواة raspbian إنشاء حافلات I2C متعددة باستخدام دبابيس GPIO. هذا الحل سريع للغاية.
الخطوة 1: بعض أوامر شل
قم بتوصيل أحد أجهزتك i2c أثناء تشغيل raspberry pi ، وابدأ تشغيل raspberry Pi وقم بتشغيله
sudo i2cdetect -y 1
سترى جدول كما في الشكل المرفق. لقد قمت بإرفاق مستشعر درجة الحرارة والضغط الجوي BMP280. عنوان i2c هو 0x76 طبقًا للجدول. لاحظ هذا العنوان.
افعل هذا لجميع أجهزة i2c الخاصة بك.
الخطوة 2: الحالة الأولى: أجهزة I2c لها نفس العنوان
كانت هذه دائمًا هي القضية الإشكالية. يمكن لحافلة i2c التعامل مع أجهزة متعددة ، ولكن يجب أن يكون لها عناوين i2c مختلفة. تحتوي بعض أجهزة i2c على وصلات عبور لتعيين عناوين i2c أخرى ، لكن الكثير منها لا يفعل ذلك. في هذه الحالة ، يمكنك استخدام مُضاعِف i2c (جهاز) لتدوير i2c SDA (البيانات) و SCL (الساعة) أو يمكنك إنشاء ناقل i2c إضافي أو أكثر.
سوف أقوم بإنشاء حافلتين إضافيتين ، nl bus 3 و 4
فتح cli وتشغيل
مؤتمر نزع السلاح / التمهيد
sudo نانو config.txt
أضف السطر التالي من التعليمات البرمجية ، ويفضل في القسم الذي يتم فيه تمكين spi و i2c.
dtoverlay = i2c-gpio ، ناقل = 4 ، i2c_gpio_delay_us = 1 ، i2c_gpio_sda = 23 ، i2c_gpio_scl = 24
سينشئ هذا الخط ناقل i2c إضافي (ناقل 4) على GPIO 23 مثل SDA و GPIO 24 مثل SCL (GPIO 23 و 24 هي الإعدادات الافتراضية)
أضف أيضًا السطر التالي لإنشاء i2c bus 3
dtoverlay = i2c-gpio ، ناقل = 3 ، i2c_gpio_delay_us = 1 ، i2c_gpio_sda = 17 ، i2c_gpio_scl = 27
سيكون GPIO 17 هو SDA وسيكون GPIO 27 هو SCL لـ i2c bus 4.
Tipe control X للخروج.
ملاحظة حول ترقيم الحافلة والنظام:
لا تستخدم الحافلة 0 و 2 أبدًا ، فهي تستخدم لأشياء أخرى في اللوحة مثل eprom على القبعات وما إلى ذلك
لإصدار أبريل 2019 raspbian:
يجب أن تبدأ دائمًا بأعلى ناقل (الحافلة 4 في هذه الحالة) في ملف config.txt الخاص بك والعمل حتى تصل إلى أدنى ناقل (الحافلة 3).
يجب أن تكون الحافلة الأدنى دائمًا هي الحافلة رقم 3
إذا كنت بحاجة إلى 5 حافلات إضافية ، فيجب أن تكون الحافلات ثنائية بالترتيب 7 ، 6 ، 5 ، 4 ، 3
لم تكن هذه المشكلة في طلب الحافلة موجودة عندما تمت كتابة هذه التعليمات في الأصل. يبدو أنه تم إجراء تغييرات على النواة.
قم بإيقاف تشغيل PI الخاص بك ، وقم بتبديله من. قم بتوصيل أجهزة i2c الخاصة بك بالناقل 4 (SDA إلى GPIO 23 و SCL إلى GPIO 24) والآخر بـ i2c bus 3 (SDA إلى GPIO 17 و SCL إلى GPIO 27).
قم بتشغيل pi.
يركض:
sudo i2cdetect -l (أحرف صغيرة L)
سترى الآن أن i2c bus 3 و 4 مدرجان أيضًا. تشغيل أيضًا:
سودو i2cdetect -y 3
sudo i2cdetect -y 4
الآن يمكنك استخدام المستشعر الخاص بك بلغة البرمجة الخاصة بك. تذكر أن تحدد حافلات i2c الصحيحة.
Attach هو مثال على مستشعر درجة الحرارة والضغط BMP280 الشهير. لا يوجد معدد إرسال يمكنه قراءة 2 BMP280s بهذه السرعة.
يتم أيضًا إرفاق مثال على مستشعرين Sensirion SDP 810. مرة أخرى تعمل بشكل أسرع بكثير من معدد الإرسال الذي استخدمته في الماضي
لقد أنشأت كود Python لقراءة اثنين من BMP388s جديدين من adafruit.
يمكنني أيضًا إضافة مستشعرات أخرى في المستقبل إلى
الخطوة 3: الحالة 2: عناوين I2c مختلفة
بسيط. i2c حافلة. الغرض من الحافلة هو التواصل مع أجهزة متعددة. قم بتوصيل الأجهزة الموازية لنفس ناقل i2c. يمكنك استخدام الحافلة الأولى.
يركض:
sudo i2cdetect -y 1
سترى الأجهزة المدرجة.
موصى به:
اردوينو توصيل أجهزة I2C متعددة: 6 خطوات
Arduino Connect Multiple I2C Devices: في هذا البرنامج التعليمي سوف نتعلم كيفية توصيل عدة وحدات مع اتصال I2C بـ arduino. شاهد الفيديو! في حالتنا سنستخدم 4 شاشات OLED كمثال ، ولكن يمكنك استخدام أي وحدات I2C أخرى / أجهزة استشعار إذا كنت ترغب في ذلك.ملاحظة: 4 OLED Displays co
البرنامج التعليمي: كيف يتحكم Arduino في العديد من أجهزة العنوان نفسها باستخدام TCA9548A I2C Multiplexer: 3 خطوات
البرنامج التعليمي: كيف يتحكم Arduino في أجهزة متعددة من نفس العنوان باستخدام TCA9548A I2C Multiplexer: الوصف: تمكّن الوحدة النمطية TCA9548A I2C Multiplexer من توصيل الأجهزة بنفس عنوان I2C (حتى 8 نفس العنوان I2C) موصولة بمتحكم دقيق واحد. يعمل معدد الإرسال كحارس بوابة ، ينقل الأوامر إلى المجموعة المحددة
يعمل بدون شاشة / عرض (بدون رأس) على Raspberry Pi أو أجهزة كمبيوتر أخرى قائمة على Linux / unix: 6 خطوات
يعمل بدون شاشة / عرض (بدون رأس) على Raspberry Pi أو أجهزة كمبيوتر أخرى قائمة على Linux / unix: عندما يشتري معظم الناس Raspberry PI ، فإنهم يعتقدون أنهم بحاجة إلى شاشة كمبيوتر. لا تضيع أموالك على شاشات الكمبيوتر ولوحات المفاتيح غير الضرورية. لا تضيع وقتك في تحريك لوحات المفاتيح والشاشات بين أجهزة الكمبيوتر. لا تربط التلفزيون عندما لا يكون
توصيل أجهزة استشعار متعددة بـ RASPBERRY PI: 6 خطوات (بالصور)
توصيل أجهزة استشعار متعددة بـ RASPBERRY PI: في هذا المشروع ، سنقوم بتوصيل ثلاثة من مستشعرات EZO من Atlas Scientific (الأس الهيدروجيني والأكسجين المذاب ودرجة الحرارة) بـ Raspberry Pi 3B +. بدلاً من توصيل الدوائر بـ Raspberry Pi ، سنستخدم درع Whitebox Labs Tentacle T3. تي
Raspberry Pi Whole Home Synchronous Audio مع أجهزة التحكم عن بعد لتطبيق الهاتف: 10 خطوات (مع صور)
Raspberry Pi Whole Home Synchronous Audio مع أجهزة التحكم عن بعد لتطبيق الهاتف: الهدف هو مزامنة الصوت و / أو المصادر الفردية في أي غرفة ، يمكن التحكم فيها بسهولة باستخدام هاتف أو جهاز لوحي عبر iTunes Remote (apple) أو Retune (android). أريد أيضًا أن يتم تشغيل / إيقاف تشغيل مناطق الصوت تلقائيًا ، لذا تحولت إلى Raspberry Pi و