সেন্সরগুলির সাথে কথা বলার জন্য আমি কীভাবে আই 2 সি ব্যবহার করতে পারি?


29

আমি কীভাবে ডিজিটাল সেন্সরগুলির সাথে I²C ইন্টারফেসের সাথে কথা বলতে পারি?

হার্ডওয়্যার:
রাস্পবেরি পাই এর জিপিআইওতে আমি কোন পিনগুলি ব্যবহার করতে পারি?

সফ্টওয়্যার:
আইআইসি লাইব্রেরিগুলি কি উপলব্ধ?

উত্তর:


23

আরপির জিপিআইও সম্পর্কে প্রচুর তথ্য এখানে রয়েছে: http://elinux.org/Rpi_Low-level_peripherals

এটি অনুসারে, আপনি I²C এর জন্য যে কোনও জিপিআইও পিন প্রোগ্রাম করতে পারেন তবে:

পিন 3 (এসডিএ0) এবং পিন 5 (এসসিএল 0) I²C ইন্টারফেস হিসাবে ব্যবহার করার জন্য প্রিসেট রয়েছে। সুতরাং এই পিনগুলির জন্য বোর্ডে 1.8 কিলোহম টানুন প্রতিরোধকগুলি।

সেই উইকি পৃষ্ঠায় কয়েকটি ভাষার জন্য নিম্ন-স্তরের জিপিআইও কোড উদাহরণ রয়েছে যা আপনাকে শুরু করা উচিত। আইআইসি আসলে কী তা আপনার যদি একটি রিফ্রেশার প্রয়োজন হয় তবে এখানে একটি যা আরপিআইকেও বিবেচনায় রাখে।

নির্দিষ্ট I²C নিয়ন্ত্রণ জন্য, এই পাইথন গ্রন্থাগার সহায়ক হতে পারে, এটা নিয়ে আলোচনা হচ্ছে এই ব্লগ পোস্টে , যা একটি কোড নমুনা অন্তর্ভুক্ত করা হয়েছে।


আই 2 সি এর জন্য এডিসন স্পার্কফুন জিপিআইও পিনগুলি মানিয়ে নেওয়ার সম্ভাবনা সম্পর্কে কোনও মন্তব্য?
ভূগোলিক

7

এ নিয়ে প্রচুর আলোচনা চলছে। এখানে আমার পড়া এবং গণ্ডগোলের বিষয়টি আমাকে দেখায়:

  1. আই 2 সি সমর্থনটি ডিবিয়ান "স্কিজে" দিয়ে ডিফল্ট কার্নেলে তৈরি করা হয়নি
  2. একটি কাস্টম কার্নেলটি i2cspi মডিউল দিয়ে সংকলন করতে হবে ( এখানে একটি জিআইটি গাছের সংক্ষেপণ রয়েছে )
  3. এখনও পর্যন্ত যে ড্রাইভারগুলি লেখা হয়েছে কেবলমাত্র 3.2 কার্নেল এবং পরবর্তীকালের জন্য এবং লেখক ফাঁক ফাঁকা নিরাপত্তা গর্তের কারণে 3.1.9+ সমর্থন করার কোনও ইচ্ছা পোষণ করে না ( ক্রিস বুট ড্রাইভারটির সাথে আলোচনা করেছেন )
  4. ভাগ্যক্রমে, ডেবিয়ান "হুইজি" বিতরণ, বর্তমানে রাসপির জন্য বিটাতে রয়েছে এই চালকটি। এটি 3.2 কার্নেলের সাথে আসে।

2
হ্যাঁ, আপনি যেমন উল্লেখ করেছেন এটি এখন স্ট্যান্ডার্ড কার্নেলের মধ্যে নির্মিত - অফিসিয়াল রাস্পবিয়ান এবং ডেবিয়ান হুইজি ডিস্ট্রোস উভয়ই। আমি এখানে কিছু পরামর্শ যা অনুসরণ করা সহজ হয় অনুসৃত এবং আমি, / dev ... আপ দেখাচ্ছে i2c ডিভাইস raspberrypi.org/phpBB3/viewtopic.php?f=37&t=15511 প্রয়োজনে সেখানে একটি বিট আরো বিস্তারিত এখানে: robot- ইলেক্ট্রনিক্স.কম
ফাইলস

আরও বিশদ পেতে, ওয়েবলিংকের পরিবর্তে এখানে ডেটা রাখুন এবং আশা করা যায় এটি পুরানো হয়ে যায় না: হুইজি 2012-09-18 চিত্র হিসাবে, আপনি সম্পাদনা করে /etc/modprobe.d/raspi-blacklist.confমন্তব্যটির জন্য মন্তব্যটি মন্তব্য করেছেন i2c-bcm2708; তারপরে সম্পাদনা করুন /etc/modulesএবং সংযোজন করুন i2c-dev; তারপরে পুনরায় বুট করুন। আপনার এখন একটি /dev/i2c-0বিশেষ ফাইল থাকা উচিত যা ব্যবহার করা খুব সহজ।
দামিয়ান


2

হার্ডওয়্যার:

তাপিও দ্বারা উল্লিখিত হিসাবে, হার্ডওয়্যারটি http://elinux.org/Rpi_Low-level_peripherals এ ভালভাবে নথিভুক্ত করা হয়েছে

সফটওয়্যার:

লিনাক্স ইউজারস্পেস ( #include <linux/i2c-dev.h>) এ একটি আই 2 সি-ডেভ শিরোনাম রয়েছে । তদ্ব্যতীত পড়ার জন্য আপনার একটি অক্ষরের প্রয়োজন সঠিক মডিউলগুলি লোড করে এটি করা যেতে পারে। i2c_bcm2708নিম্ন স্তরের ড্রাইভারের i2c-devজন্য এবং চরিত্র তৈরির জন্য বাসগুলির জন্য সিদ্ধান্ত নেয় ives প্রয়োগ করুন ...

sudo modprobe -r i2c_bcm2708
sudo modprobe i2c_bcm2708 baudrate=<your preferred baudrate>

উড়ে তাদের লোড করার জন্য। প্রয়োগ করুন ...

sudo sh -c 'echo "i2c-dev" >> /etc/modules'
sudo sh -c 'echo "options i2c_bcm2708 baudrate=<your preferred baudrate>\n" > /etc/modprobe.d/custom.conf

এবং স্থায়ীভাবে তৈরি এবং প্রদর্শিত করতে অবরুদ্ধ i2c_bcm2708তালিকা/etc/modprobe.d/raspi-blacklist.conf/dev/i2c-0/dev/i2c-1

এখন থেকে আপনি কীভাবে নিজে আইআইসি ডেল মাস্ত্রো ব্যবহার করবেন সে সম্পর্কে ইঙ্গিতগুলি অনুসরণ করতে পারেন ।

আমি অন্যদের তুলনায় এই পদ্ধতিটি পছন্দ করি কারণ এটি প্ল্যাটফর্মग्नস্টিক। আপনি linux/i2c-dev.hঅন্যান্য ডিভাইসগুলির সাথেও ব্যবহার করতে পারেন , যতক্ষণ না নিম্ন স্তরের আই ² সি ড্রাইভার রয়েছে।

শুভেচ্ছা সহ

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.