সুচিপত্র:
- ধাপ 1: কিছু শেল কমান্ড
- ধাপ 2: কেস ওয়ান: I2c ডিভাইসের একই ঠিকানা আছে
- ধাপ 3: কেস 2: বিভিন্ন I2c ঠিকানা।
ভিডিও: রাস্পবেরি PI একাধিক I2C ডিভাইস: 3 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:00
হতাশ কারণ আপনি আপনার প্রকল্পে একই I2C ডিভাইসের গুণক ব্যবহার করতে পারবেন না। ধীর মাল্টিপ্লেক্সার ব্যবহার করার দরকার নেই। সর্বশেষ রাস্পবিয়ান কার্নেল GPIO পিন ব্যবহার করে একাধিক I2C বাস তৈরি করতে সমর্থন করে। এই সমাধানটি অতি দ্রুত।
ধাপ 1: কিছু শেল কমান্ড
আপনার রাস্পবেরি পাই এর সময় আপনার i2c ডিভাইসগুলির মধ্যে একটি সংযুক্ত করুন, আপনার রাস্পবেরি পাই শুরু করুন এবং চালান
sudo i2cdetect -y 1
আপনি সংযুক্ত চিত্রের মতো একটি টেবিল দেখতে পাবেন। আমি একটি BMP280 টেম্প এবং ব্যারোমেট্রিক প্রেসার সেন্সর সংযুক্ত করেছি। সারণী অনুযায়ী i2c ঠিকানা 0x76। এই ঠিকানাটি নোট করুন।
আপনার সমস্ত i2c ডিভাইসের জন্য এটি করুন।
ধাপ 2: কেস ওয়ান: I2c ডিভাইসের একই ঠিকানা আছে
এটি সর্বদা সমস্যাযুক্ত কেস ছিল। একটি i2c বাস একাধিক ডিভাইস পরিচালনা করতে পারে, কিন্তু তাদের আলাদা i2c ঠিকানা থাকা উচিত। কিছু i2c ডিভাইসে অন্যান্য i2c ঠিকানা সেট করার জন্য জাম্পার থাকে, কিন্তু অনেকেই তা করেন না। এই ক্ষেত্রে আপনি i2c SDA (ডেটা) এবং এসসিএল (ক্লক) ঘোরানোর জন্য একটি i2c মাল্টিপ্লেক্সার (হার্ডওয়্যার) ব্যবহার করতে পারেন অথবা আপনি একটি অতিরিক্ত i2c বাস বা তার বেশি তৈরি করতে পারেন।
আমি দুটি অতিরিক্ত বাস তৈরি করব, nl বাস 3 এবং 4
ক্লি খুলুন এবং চালান
সিডি /বুট
sudo ন্যানো config.txt
কোডের নিম্নোক্ত লাইনটি যোগ করুন, যে বিভাগে spi এবং i2c সক্রিয় আছে সে ক্ষেত্রে অগ্রাধিকারযোগ্য।
dtoverlay = i2c-gpio, বাস = 4, i2c_gpio_delay_us = 1, i2c_gpio_sda = 23, i2c_gpio_scl = 24
এই লাইনটি GPIO 23 এ SDA হিসেবে এবং GPIO 24 এসসিএল হিসাবে একটি অতিরিক্ত i2c বাস (বাস 4) তৈরি করবে (GPIO 23 এবং 24 ডিফল্ট)
এছাড়াও i2c বাস 3 তৈরি করতে নিচের লাইন যোগ করুন
dtoverlay = i2c-gpio, বাস = 3, i2c_gpio_delay_us = 1, i2c_gpio_sda = 17, i2c_gpio_scl = 27
জিপিআইও 17 হবে এসডিএ এবং জিপিআইও 27 হবে আইসি 2 সি বাস 4 এর জন্য এসসিএল।
প্রস্থান করতে X নিয়ন্ত্রণ করুন।
বাসের নাম্বারিং এবং অর্ডারে নোট:
বাস 0 এবং 2 ব্যবহার করবেন না, এটি বোর্ডের অন্যান্য জিনিস যেমন টুপি ইত্যাদিতে ব্যবহার করা হয়
এপ্রিল 2019 রাস্পবিয়ান মুক্তির জন্য:
আপনি সবসময় আপনার config.txt এ সর্বোচ্চ বাস (এই ক্ষেত্রে বাস 4) দিয়ে শুরু করুন এবং সর্বনিম্ন বাসে (বাস 3) কাজ করুন।
সর্বনিম্ন বাস সবসময় বাস 3 হতে হবে
আপনার যদি 5 টি অতিরিক্ত বাসের প্রয়োজন হয় তবে বাসগুলি অবশ্যই 7, 6, 5, 4, 3 এর ক্রমে দ্বি করতে হবে
বাস নির্দেশে এই সমস্যাটি ছিল না যখন এই নির্দেশযোগ্যটি মূলত লেখা হয়েছিল। মনে হচ্ছে কার্নেলে পরিবর্তন করা হয়েছে।
আপনার পিআই বন্ধ করুন, এটি সুইচ করুন। আপনার i2c ডিভাইসগুলিকে বাস 4 (SDA থেকে GPIO 23 এবং SCL থেকে GPIO 24) এবং অন্যটি i2c বাস 3 (SDA থেকে GPIO 17 এবং SCL থেকে GPIO 27) এর সাথে সংযুক্ত করুন।
পাই চালু করুন।
চালান:
sudo i2cdetect -l (লোয়ার কেস L)
আপনি এখন দেখতে পাবেন যে i2c বাস 3 এবং 4 তালিকাভুক্ত। এছাড়াও চালান:
sudo i2cdetect -y 3
sudo i2cdetect -y 4
এখন আপনি আপনার প্রোগ্রামিং ভাষায় আপনার সেন্সর ব্যবহার করতে পারেন। সঠিক i2c busses উল্লেখ করতে ভুলবেন না।
জনপ্রিয় BMP280 তাপমাত্রা এবং চাপ সেন্সরের জন্য সংযুক্তি একটি উদাহরণ। কোন মাল্টিপ্লেক্সার এই দ্রুত 2 BMP280s পড়তে পারে না।
2 Sensirion SDP 810 সেন্সরের একটি উদাহরণও সংযুক্ত। আবার আমি অতীতে যে মাল্টিপ্লেক্সার ব্যবহার করেছি তার চেয়ে অনেক দ্রুত কাজ করা
আমি অ্যাডাফ্রুট থেকে দুটি নতুন BMP388s পড়ার জন্য পাইথন কোড তৈরি করেছি।
আমি ভবিষ্যতে অন্যান্য সেন্সর যোগ করতে পারি
ধাপ 3: কেস 2: বিভিন্ন I2c ঠিকানা।
সরল। i2c একটি বাস। একটি বাসের উদ্দেশ্য হল একাধিক ডিভাইসের সাথে যোগাযোগ করা। একই i2c বাসের সমান্তরাল ডিভাইসগুলিকে সংযুক্ত করুন। আপনি একটি বাস ব্যবহার করতে পারেন।
চালান:
sudo i2cdetect -y 1
আপনি তালিকাভুক্ত ডিভাইসগুলি দেখতে পাবেন।
প্রস্তাবিত:
Arduino একাধিক I2C ডিভাইস সংযুক্ত করুন: 6 টি ধাপ
Arduino Connect একাধিক I2C ডিভাইস: এই টিউটোরিয়ালে আমরা শিখব কিভাবে অনেক মডিউলকে I2C কানেকশনের সাথে arduino তে সংযুক্ত করতে হয়। সেন্সর যদি আপনি চান নোট: 4 OLED ডিসপ্লে সহ
ASS ডিভাইস (সমাজবিরোধী সামাজিক ডিভাইস): 7 টি ধাপ
ASS ডিভাইস (সমাজবিরোধী সামাজিক ডিভাইস): বলুন আপনি এমন একজন ব্যক্তি যিনি মানুষের কাছাকাছি থাকতে পছন্দ করেন কিন্তু তাদের খুব কাছাকাছি আসা পছন্দ করেন না। আপনিও একজন জনগণকে আনন্দদায়ক এবং মানুষকে না বলা কঠিন সময়। সুতরাং আপনি জানেন না কিভাবে তাদের ফিরে যেতে বলবেন। আচ্ছা, প্রবেশ করুন - ASS ডিভাইস! Y
টিউটোরিয়াল: কিভাবে TCA9548A I2C মাল্টিপ্লেক্সার ব্যবহার করে Arduino একাধিক একই ঠিকানা ডিভাইস নিয়ন্ত্রণ করে: 3 টি ধাপ
টিউটোরিয়াল: কিভাবে TCA9548A I2C মাল্টিপ্লেক্সার ব্যবহার করে একাধিক একই ঠিকানা ডিভাইসগুলিকে Arduino নিয়ন্ত্রণ করে: বর্ণনা: TCA9548A I2C মাল্টিপ্লেক্সার মডিউলটি একই I2C ঠিকানা (8 একই ঠিকানা I2C পর্যন্ত) এক মাইক্রোকন্ট্রোলার পর্যন্ত সংযুক্ত ডিভাইসগুলিকে সংযুক্ত করতে সক্ষম করে। মাল্টিপ্লেক্সার একজন দারোয়ান হিসাবে কাজ করে, নির্বাচিত সেটে কমান্ডগুলি বন্ধ করে দেয়
HDMI ছাড়া রাস্পবেরি পাই 3 বি তে রাস্পবিয়ান ইনস্টল করা - রাস্পবেরি পাই 3B দিয়ে শুরু করা - আপনার রাস্পবেরি পাই 3: 6 ধাপ সেট আপ করা হচ্ছে
HDMI ছাড়া রাস্পবেরি পাই 3 বি তে রাস্পবিয়ান ইনস্টল করা | রাস্পবেরি পাই 3B দিয়ে শুরু করা | আপনার রাস্পবেরি পাই 3 সেট আপ করা: আপনারা কেউ কেউ জানেন যে রাস্পবেরি পাই কম্পিউটারগুলি বেশ দুর্দান্ত এবং আপনি কেবলমাত্র একটি ছোট বোর্ডে পুরো কম্পিউটারটি পেতে পারেন। 1.2 GHz এ ঘড়ি। এটি পাই 3 কে মোটামুটি 50 রাখে
ফিউশন :০: ৫ টি ধাপে একাধিক এসডিএল ফাইল হিসাবে একাধিক সংস্থা রপ্তানি করা
ফিউশন in০ -এ একাধিক এসটিএল ফাইল হিসেবে একাধিক সংস্থা রপ্তানি: যখন আমি প্রথম ফিউশন using০ ব্যবহার শুরু করি, তখন আমার প্রিয় বৈশিষ্ট্যগুলির মধ্যে একটি ছিল থ্রিডি মডেল থেকে থ্রিডি প্রিন্টিং -এ যাওয়া। অন্য কোন সফটওয়্যার মসৃণ কর্মপ্রবাহ প্রদান করেনি। যদি আপনার মডেলটিতে শুধুমাত্র একটি শরীর থাকে তবে এটি করা খুব সহজ। যাহোক