সুচিপত্র:

Arduino I2C স্নিফার: 4 টি ধাপ
Arduino I2C স্নিফার: 4 টি ধাপ

ভিডিও: Arduino I2C স্নিফার: 4 টি ধাপ

ভিডিও: Arduino I2C স্নিফার: 4 টি ধাপ
ভিডিও: Видеоуроки по Arduino. I2C и processing (7-я серия, ч1) 2024, জুলাই
Anonim
Arduino I2C স্নিফার
Arduino I2C স্নিফার

I2C হল একটি সিরিয়াল প্রোটোকল যা একই সার্কিটে সংযুক্ত বাইরের পেরিফেরাল দিয়ে একটি মাইক্রোকন্ট্রোলারের সাথে যোগাযোগ করতে ব্যবহৃত হয়। প্রতিটি পেরিফেরালের একটি অনন্য আইডি নম্বর থাকতে হবে যার নাম ঠিকানা যা এটি একটি প্রদত্ত বার্তার উদ্দেশ্যপ্রাপ্ত প্রাপক হিসেবে চিহ্নিত করতে ব্যবহৃত হয়। সেই ঠিকানাগুলি ডিভাইস প্রস্তুতকারক দ্বারা নির্ধারিত হয় এবং বেশিরভাগ সময় পরিবর্তন করা যায় না। একটি স্নিফার সংযুক্ত ডিভাইসগুলির সন্ধানের সমস্ত সম্ভাব্য ঠিকানাগুলি স্ক্যান করে এবং এটি খুঁজে পাওয়া রিপোর্ট করে। এটি চিহ্নহীন চিপগুলি সনাক্ত করতে সহায়তা করে কারণ চিপ সম্পর্কিত আরও তথ্যের জন্য ঠিকানাটি গুগল করা যেতে পারে।

এই ডিভাইসটি একটি Arduino UNO- এর রাস্পবেরি Pi i2cdetect স্ক্রিপ্টের আচরণের অনুকরণ করে, সমস্ত সম্ভাব্য i2c অ্যাড্রেসকে শনাক্ত করে সংযুক্ত ডিভাইসগুলি খুঁজছে এবং 16x02 LCD স্ক্রিনে ফলাফলগুলি সুন্দরভাবে প্রিন্ট করছে।

স্ক্রিনে সবকিছু ফিট করার জন্য, ঠিকানার উচ্চ এবং নিম্ন উভয় অংশ ফলাফলের উপরে মুদ্রিত হয়, উচ্চ অংশটি একটি গা bold় টাইপফেসে থাকে। দুটি পুশ বোতাম ঠিকানাগুলির মধ্যে নেভিগেট করার অনুমতি দেয়, একটি সময়ে 16 টি ঠিকানা দেখায়। যদি কোনও ডিভাইস সনাক্ত করা হয়, W এটি একটি লেখার ঠিকানা হিসাবে দেখানোর জন্য মুদ্রিত হবে এবং যদি এটি একটি পড়ার ঠিকানা হয় তবে R দেখানো হবে। যদি সেই ঠিকানায় কিছু শনাক্ত করা না হয়, স্ক্রিনে একটি হাইফেন (-) দেখানো হবে।

ধাপ 1: উপকরণ

উপকরণ
উপকরণ
উপকরণ
উপকরণ

বিকল্প 1

1 x Arduino UNO

1 x 16x02 LCD স্ক্রিন

1x 10K পোটেন্টিওমিটার

1x 330 ওহম প্রতিরোধক

3x পুশ বোতাম

জাম্পারের তার

1x I2C লেভেল শিফটার (ম্যাটেরিয়াল ছবিতে নয়)

বিকল্প 2

1 x Arduino UNO

এলসিডি কীপ্যাড শিল্ড (ieldালের বোতাম ব্যবহার করা হবে না)

3x পুশ বোতাম

জাম্পারের তার

1x I2C লেভেল শিফটার (ম্যাটেরিয়াল ছবিতে নয়)

অপশন 2 হল যেটি তৈরি করা হবে কারণ এই মুহুর্তে আমার হাতে ছিল। লেভেল শিফটার সার্কিটের একটি গুরুত্বপূর্ণ অংশ কারণ আজকাল বেশিরভাগ ডিভাইস 3.3V লজিক ব্যবহার করে এবং আরডুইনো থেকে 5V তাদের ক্ষতি করে।

(ছবিতে, ক্রস আউট উপাদান প্রয়োজন হয় না।)

ধাপ 2: সার্কিট

সার্কিট
সার্কিট
সার্কিট
সার্কিট
সার্কিট
সার্কিট

LCD এর জন্য Arduino উদাহরণের জন্য আদর্শ পিনআউট, I2C এর জন্য ডিফল্ট পিন এবং পুশবুটনের জন্য 3 টি অতিরিক্ত পিন ব্যবহার করে সার্কিটটি বেশ সোজা।

যদি আপনি এলসিডি কীপ্যাড শিল্ড ব্যবহার করেন, এলসিডির জন্য পিনআউট পরিবর্তিত হয় তবে এটি ইতিমধ্যে কোডের মধ্যে বিবেচনা করা হয়। এলসিডি কীপ্যাড শিল্ড বোতামগুলি ব্যবহার করা হয় না কারণ তাদের একটি এনালগ পোলিং পদ্ধতি প্রয়োজন যা দুটি সম্ভাব্য বাস্তবায়ন সার্কিটের মধ্যে সামঞ্জস্যতা ভেঙ্গে দেয় (শিল্ড এবং একা একা LCD)

ধাপ 3: কোড

কোড
কোড

যদি এলসিডি কীপ্যাড শিল্ড ব্যবহার করা হয়, স্কেচের শুরুতে #ডিফাইন এলসিডি_শিল্ডকে অসম্পূর্ণ থাকতে হবে। অন্যথায়, প্রথম ডায়াগ্রাম ব্যবহার করতে এটি মন্তব্য করুন।

ধাপ 4: উপসংহার

উপসংহার
উপসংহার
উপসংহার
উপসংহার
উপসংহার
উপসংহার

কোড এবং সার্কিট পরীক্ষার জন্য, একটি BQ32000 RTC চিপ এবং একটি MMA8452Q অ্যাকসিলরোমিটার ব্যবহার করা হয়েছিল। ছবিগুলিতে দেখা যায়, ডিভাইসটি 4 টি ঠিকানা সনাক্ত করছে: 0x3A এবং 0xD0 লেখার ঠিকানা হিসাবে, এবং 0x3B এবং 0xD1 পড়ার ঠিকানা হিসাবে। এই ঠিকানাগুলি পরীক্ষার ডিভাইসের সাথে সামঞ্জস্যপূর্ণ তাই কোডটি কাজ করছে।

আমি বেইজিং মেকারস্পেস, ফু ইয়াও এবং লিউ জিনের দয়ালু মেয়েদের ধন্যবাদ জানাতে চাই, আমাকে এই স্বল্প সময়ের নোটিশে এই প্রকল্পটি পরীক্ষা করার জন্য প্রয়োজনীয় উপকরণ পেতে সাহায্য করার জন্য।

প্রস্তাবিত: