جدول المحتويات:
- الخطوة 1: الاتصال بناقل شبكة I2C
- الخطوة 2: أضف مقاومات Pullup
- الخطوة 3: برمجة العبد
- الخطوة 4: برمجة برنامج الماجستير
فيديو: توصيل لوحتين خارجيتين معًا باستخدام I2C: 4 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:41
يغطي هذا التوجيه كيفية توصيل جهازي OOBoards باستخدام I2C.
الخطوة 1: الاتصال بناقل شبكة I2C
هناك نوعان من حافلات I2C على OOBoards ، وحافلة محلية ، وحافلة شبكة.
رمز OOPIC هو في الأساس لغة مفسرة ، أي يتم تخزين "الكود" في EEPROM ، وقراءته / تفسيره بواسطة المعالج الدقيق في الوقت الفعلي. يستخدم EEPROM ناقل LOCAL I2C للتواصل مع وحدة التحكم الدقيقة. إذا كنت ستنظر إلى هذه الحافلة المحلية على مرسمة الذبذبات ، فسترى ثرثرة مستمرة. على لوحات OOBoards ، الناقل المحلي هو ما يتم توصيله بموصل I2C ، وهذا ليس بالضرورة ما نريده. عادة ما يكون ناقل الشبكة هو الناقل المستخدم للتواصل مع الأجهزة الأخرى / oopics ، على OOBoards لا يحتوي هذا الناقل على موصل. من أجل الوصول إلى هذا الناقل ، يجب عليك لحام الأسلاك في المسامير 42 و 37 من المتحكم الدقيق (تم وضع علامة N_SDA و N_SCL على التخطيطي على التوالي).
الخطوة 2: أضف مقاومات Pullup
بمجرد إجراء توصيلات SDA و SCL على كل معالج ، يمكن للوحاتين القيام بذلك
يتم ربطها معًا عن طريق توصيل SDA بـ SDA و SCL بـ SCL وتوصيل سلك أرضي مشترك بين الألواح. ستحتاج أيضًا إلى مقاومة سحب على كل سطر (لقد استخدمت 12 كيلو ، ولكن هذا هو بالضبط ما كنت أرقده حولك). لاحظ أنك تحتاج فقط إلى مقاومة سحب واحدة لكل سطر ليصبح المجموع اثنين من المقاومات (وليس 4).
الخطوة 3: برمجة العبد
الآن بعد أن أصبحت التوصيلات المادية موجودة ، ستحتاج إلى برمجة وحدة التحكم الدقيقة التابعة. لقد أضفت بعض التعليمات البرمجية أدناه والتي يجب أن تبدأ.
خافت SLAVE كجديد oDDELinkDim LED كـ New oDIO1Sub Main () & aposset عنوان I2C الخاص بنا إلى 2 (ملاحظة ، يجب أن يتطابق هذا مع عنوان التحكم عن بعد & apos ؛ الذي قمنا بتعيينه في الكود الرئيسي) ooPIC. Node = 2 & apossetup LED LED. IOLine = 5 LED. الاتجاه = cvOutput & aposnow ، اربط إخراج كائن DDELink الخاص بنا بـ & aposthe LED ، وقم بتشغيله … الآن تلقائيًا ، سيومض مؤشر LED SLAVE. Output. Link (LED) SLAVE. Operate = cvTrueEnd Sub
الخطوة 4: برمجة برنامج الماجستير
أخيرًا ، قم ببرمجة المتحكم الرئيسي. انتبه جيدًا للخطوط التي تعيّن خاصية DDELink's. Location: ما لم يتم تعيين هذا بشكل صحيح ، فلن يعمل هذا!
خافت ماستر كجديد oDDELinkDim wire كجديد oWireDim hz1 كجديد oBitSub Main () & aposlink جهاز ضبط الوقت لمدة ثانية واحدة إلى الشيء الذي يمكننا الوصول إليه & apost هذا البتة سوف يتبدل الآن مرة واحدة في الثانية wire. Input. Link (ooPIC. Hz1) wire. Output. Link (hz1) wire. Operate = cvTrue & aposthis يعيّن عنوان I2C لوحدة التحكم الدقيقة المحلية الخاصة بنا وواجهة I2C المفصلية غير نشطة حتى يتم تعيين العنوان ooPIC. Node = 1 والآن نقوم بإعداد كائن DDELink ، المدخلات لدينا هي bit hz1 & aposnote أن يحتوي الكائن أيضًا على خاصية الإخراج التي يتم استخدامها & apos ، عندما نكون في وضع الاستلام Master. Input. Link (hz1) & apost هذا هو عنوان I2C لوحدة التحكم الدقيقة عن بُعد ، لاحظ أنه & apos في الكود التابع ، نخبرها أن يكون لها عنوان من 2 Master. Node = 2 & aposugh … هذا هو الجزء السيء ، هذا هو "عنوان" كائن DDELink & aposobject في مساحة الذاكرة التابعة و aposs. من أجل معرفة هذا الرقم ، & apos ؛ نحتاج إلى فتح وتجميع كود التابع ، ثم الانتقال إلى View-> Compiled Code. "ابحث عن شيء مثل: & aposL *. Construct. Begin؛ Dim as new oDDELink & aposwhere * هو أي رقم ، وهو اسم كائن DDELink & aposin الخاص بك. يجب أن يقرأ السطر الموجود أسفله مباشرة شيئًا مثل: & aposC0020: 041 ؛ هذا.. العنوان والرقم الفريد الموجود على يمين & apos: & apos هو عنوان كائن DDELink الرئيسي التابع للرقيق. Location = 41 & aposthis يخبر الكائن الذي سنرسله البيانات (على سبيل المثال ، انسخ البيانات من. Input property & aposto the slaves. output property (ملاحظة ، إذا قمت بتعيين هذا للاستلام ، فسيكون عكس ذلك) = cvTrue Do & aposcheck لمعرفة ما إذا كنا نقوم حاليًا بنقل البيانات إذا كان Master. Transmitting = cvFalse ثم يؤدي تعيين هذه القيمة إلى 1 إلى قيام السيد بإرسال القيمة إلى التابع & aposnote ، يتم إعادة تعيين هذا تلقائيًا إلى 0 عند اكتمال عملية الإرسال Master. = 1 End If LoopEnd Sub
موصى به:
دعنا نصلح Fitbit Charge 2 معًا. الخطوط في الشاشة: 3 خطوات
دعنا نصلح Fitbit Charge 2 معًا. خطوط في الشاشة: بعد حوالي 13 عملية تثبيت بعد شراء أول جهاز Fitbit الخاص بي ، بدأت في الحصول على خطوط تمر عبر الشاشة. كل يوم يظهر شخص آخر أحيانًا أكثر من واحد في اليوم. لقد اعتنيت جيدًا بـ Fitbit الخاص بي الذي فكرت فيه ولم أكن أعرف سبب بدء تشغيله. بمجرد
هايكو ، عندما تندمج الموضة والتكنولوجيا معًا. مشروع TfCD. TU Delft: 4 خطوات
هايكو ، عندما تندمج الموضة والتكنولوجيا معًا. مشروع TfCD. TU Delft: Haiku هو مفهوم تم تطويره بواسطة Mucahit Aydin لدورة ماجستير TU Delft. المبدأ الأساسي لهذا الكيمونو هو توسيع الشعور باحتضان شخص ما. من أجل القيام بذلك ، سيكشف الكيمونو عن نمط بعد لمسه. كيف؟ عن طريق التنفيذ
Micro: bit MU Vision Sensor و Zip Tile معًا: 9 خطوات (مع صور)
Micro: bit MU Vision Sensor و Zip Tile Combined: لذلك في هذا المشروع ، سنقوم بدمج مستشعر رؤية MU مع Kitronik Zip Tile. سنستخدم مستشعر الرؤية MU للتعرف على الألوان والحصول على Zip Tile لإظهاره لنا. سنستخدم بعض التقنيات التي استخدمناها من أجل
كيف نجعل ميزان الحرارة وشاشات الكريستال السائل يعملان معًا ؟: 10 خطوات
كيفية عمل مقياس حرارة وشاشة LCD معًا؟: الهدف من هذا البرنامج التعليمي هو توضيح كيفية استخدام مقياس حرارة DHT11 الذي سيعرض درجة الحرارة والرطوبة على شاشة LCD مقاس 16 × 2
ضعوا اللعبة معًا: بت!: 10 خطوات
ضع اللعبة معًا: بت!: دعنا نكتشف أين من المفترض أن تذهب كل هذه البراغي