جدول المحتويات:
فيديو: Arduino I2C Sniffer: 4 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
I2C هو بروتوكول تسلسلي يستخدم لتوصيل متحكم دقيق بأجهزة طرفية خارجية متصلة بنفس الدائرة. يجب أن يكون لكل جهاز طرفي رقم معرف فريد يسمى العنوان الذي يتم استخدامه لتعريفه على أنه المستلم المقصود لرسالة معينة. يتم تعيين هذه العناوين من قبل الشركة المصنعة للجهاز ولا يمكن تغييرها في معظم الأحيان. يقوم المتشمم بمسح جميع العناوين المحتملة بحثًا عن الأجهزة المتصلة والإبلاغ عن تلك التي يعثر عليها. يساعد هذا في تحديد الرقائق غير المميزة حيث يمكن استخدام العنوان googled للحصول على مزيد من المعلومات بخصوص الشريحة.
يحاكي هذا الجهاز على Arduino UNO سلوك البرنامج النصي Raspberry Pi i2cdetect ، ويستنشق جميع عناوين i2c الممكنة بحثًا عن الأجهزة المتصلة ويطبع النتائج بشكل جيد على شاشة LCD مقاس 16x02.
لملائمة كل شيء على الشاشة ، تتم طباعة كل من الأجزاء العلوية والسفلية من العنوان فوق النتائج ، ويكون الجزء العلوي على محرف غامق. زران دفعان يسمحان بالتنقل بين العناوين ، مع إظهار 16 عنوانًا في المرة الواحدة. في حالة اكتشاف جهاز ، ستتم طباعة W لإظهاره كعنوان كتابة وسيظهر R في حالة كونه عنوان قراءة. في حالة عدم اكتشاف أي شيء في هذا العنوان ، ستظهر واصلة (-) على الشاشة.
الخطوة 1: المواد
الخيار 1
1 × اردوينو أونو
1 × 16x02 شاشة LCD
مقياس جهد 1x 10 كيلو
1x 330 أوم المقاوم
3 أزرار ضغط
كابلات توصيل
1x I2C مستوى شيفتر (ليس على صورة المواد)
الخيار 2
1 × اردوينو أونو
LCD Keypad Shield (لن يتم استخدام الأزرار الموجودة على الدرع)
3 أزرار انضغاطية
كابلات توصيل
1x I2C مستوى شيفتر (ليس على صورة المواد)
الخيار 2 هو الذي سيتم بناؤه لأن هذا هو ما لدي في الوقت الحالي. يعد مفتاح تغيير المستوى جزءًا مهمًا من الدائرة حيث تستخدم معظم الأجهزة في الوقت الحاضر منطق 3.3 فولت ويؤدي 5 فولت من Arduino إلى إتلافها.
(في الصور ، المادة المشطوبة غير مطلوبة.)
الخطوة 2: الدائرة
الدائرة مستقيمة جدًا للأمام ، باستخدام pinout القياسي لأمثلة Arduino لشاشة LCD ، والمسامير الافتراضية لـ I2C و 3 دبابيس احتياطية لأزرار الضغط.
في حالة استخدامك لـ LCD Keypad Shield ، يتغير طرف توصيل شاشة LCD ولكن هذا يعتبر بالفعل ضمن الكود. لا يتم استخدام أزرار LCD Keypad Shield لأنها تتطلب طريقة اقتراع تمثيلية تكسر التوافق بين دائرتي التنفيذ المحتملتين (Shield و LCD المستقل)
الخطوة 3: الكود
في حالة استخدام LCD Keypad Shield ، يجب ترك #define LCD_SHIELD بدون تعليق في بداية الرسم التخطيطي. خلاف ذلك ، علق عليه لاستخدام الرسم التخطيطي الأول.
الخطوة 4: الاستنتاجات
لاختبار الكود والدائرة ، تم استخدام شريحة BQ32000 RTC ومقياس تسارع MMA8452Q. كما يتضح من الصور ، يكتشف الجهاز 4 عناوين: 0x3A و 0xD0 كعناوين كتابة ، و 0x3B و 0xD1 كعناوين قراءة. تتوافق هذه العناوين مع أجهزة الاختبار حتى يعمل الرمز.
أود أن أشكر الفتيات اللطيفات في Beijing Makerspace ، فو ياو وليو شين ، لمساعدتي في الحصول على المواد اللازمة لاختبار هذا المشروع في مثل هذه المهلة القصيرة.
موصى به:
I2C Relay Met Arduino IDE: 5 خطوات
I2C Relay Met Arduino IDE: طلبت لوحة ترحيل لطيفة ولكن لم يكن هناك تعليمات ArduinoIDE ، فقط Raspberry Pi e.o. اكتشفت كيفية استخدامه مع Arduino وأريد مشاركته حتى تتمكن من توفير ذلك الوقت. مثال RaspberryPi الأصلي: wiki.52pi.com/index.php/DockerPi_4_Channel_R
Arduino UNO Logic Sniffer: 8 خطوات (بالصور)
Arduino UNO Logic Sniffer: بدأ هذا المشروع كتجربة بسيطة. أثناء بحثي حول ورقة بيانات ATMEGA328P لمشروع آخر ، وجدت شيئًا مثيرًا للاهتمام إلى حد ما. وحدة التقاط الإدخال Timer1. يسمح لمتحكم Arduino UNO الخاص بنا باكتشاف إشارة
شاشة LCD I2C / IIC - استخدم SPI LCD لشاشة I2C LCD باستخدام SPI to IIC Module مع Arduino: 5 خطوات
شاشة LCD I2C / IIC | استخدم شاشة SPI LCD لشاشة I2C LCD باستخدام SPI to IIC Module مع Arduino: مرحبًا يا رفاق نظرًا لأن شاشة SPI LCD 1602 العادية بها عدد كبير جدًا من الأسلاك لتوصيلها ، لذا من الصعب جدًا توصيلها بـ arduino ولكن هناك وحدة واحدة متوفرة في السوق يمكنها قم بتحويل شاشة SPI إلى شاشة IIC ، لذا فأنت بحاجة إلى توصيل 4 أسلاك فقط
شاشة LCD I2C / IIC - قم بتحويل شاشة SPI LCD إلى شاشة I2C LCD: 5 خطوات
شاشة LCD I2C / IIC | قم بتحويل شاشة SPI LCD إلى شاشة I2C LCD: يحتاج استخدام شاشة spi LCD إلى عدد كبير جدًا من التوصيلات التي يصعب فعلها ، لذلك وجدت وحدة يمكنها تحويل شاشة i2c LCD إلى شاشة spi LCD ، لذا فلنبدأ
محول حرف LCD I2c (مثال على اتصال I2c): 12 خطوة (مع صور)
محول حرف LCD I2c (مثال على اتصال I2c): أقوم بعمل مخطط اتصال لمحول i2c لعرض الأحرف. تحقق من التحديثات على موقعي ، والآن أضفت مخطط توصيل الأسلاك لاستخدام المكتبة الأصلية وليس مكتبة LiquidCrystal Arduino. لشاشات LCD ذات الأحرف ، مشروع متشعب