অতিরিক্ত জিপিআইও গুলি ডিজিটাল আই / ও হিসাবে ব্যবহার করছেন?


11

আশা করি এই প্রশ্নটি বরং সহজ তবে আমার দ্রুত গুগলিংয়ের উত্তরটি খুঁজে পেল না।

আমি জানি যে আরপিআইতে বেশ কয়েকটি জিপিআইও রয়েছে যা আমি বিশেষায়িত জিপিআইও (এসপিআই, আই 2 সি, ইউআরটি, ইত্যাদি) ব্যবহার করতে পারি। আমার প্রকল্পে আমি নিয়মিত জিপিআইওগুলির বাইরে চলে যাচ্ছি এবং এসপিআই, আই 2 সি এবং অন্যান্য জিপিআইওগুলিকে "নিয়মিত" জিপিআইও হিসাবে ব্যবহার করতে চাই। আমি জানি যে এটি করা যেতে পারে তবে আমি অনুমান করি যে আমি কীভাবে এগুলিকে এসপিআই / আই 2 সি / ইত্যাদি মোডে না চালাতে এবং কেবল নিয়মিত জিপিআইও হিসাবে চালানোর জন্য সেট আপ করতে পারি তা নিশ্চিত নই।

এগুলির জন্য সঠিকভাবে সেট আপ করার জন্য আমার কি কিছু করা দরকার?

উত্তর:


10

সংক্ষিপ্ত উত্তর

না, আপনি (প্রায়) না। এটি প্রকৃতপক্ষে অন্যভাবে - আপনাকে এগুলি সেট আপ করতে হবে জিপিআইও নয় বরং তাদের বিশেষ উদ্দেশ্যে পরিবেশন করতে। ব্যতিক্রম কেবলমাত্র ইউআআআরটি পিন। এছাড়াও এবং আইইসি পিনগুলি একরকম বিশেষ।

ইউআরটি পিন

কনসোলের জন্য কার্নেল দ্বারা ইউআরটি পিনগুলি ব্যবহার করা হয়। আপনি যদি সেগুলি আপনার ব্যবহারের জন্য উপলব্ধ থাকতে চান তবে তাদের সেগুলি ব্যবহার না করার জন্য আপনাকে সিস্টেমটি কনফিগার করতে হবে:

  • সম্পাদনা /boot/cmdline.txtএবং অপসারণ console=ttyAMA0,115200এবং kgdboc=ttyAMA0,115200পরামিতি
  • লাইনটি সম্পাদনা করুন /etc/inittabএবং মন্তব্য করুন ( #এর সামনে চরিত্রটি রাখুন):

    T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
    
  • আপনার রাস্পবেরিপি পুনরায় বুট করুন

এখন পিনগুলি সিস্টেম দ্বারা ব্যবহার করা উচিত নয় এবং আপনি সেগুলি ব্যবহার করতে পারেন

আইসিসি পিন

আইসিসি পিনগুলিতে বোর্ডে 1.8k পুল-আপ রেজিস্টার ইনস্টল করা আছে। তাদের অক্ষম করা যায় না। এটি কিছু পরিস্থিতিতে এই পিনগুলির ব্যবহারকে সীমাবদ্ধ করে (তবে অন্যের পক্ষে কার্যকর হতে পারে)।

অতিরিক্ত সমাধান

জিপিআইও পিনগুলিতে কম চলতে থাকলে আপনি কখনও কখনও কিছু অতিরিক্ত (তবে সাধারণ) হার্ডওয়্যার ব্যবহার করে সহজেই এর নম্বরটি প্রসারিত করতে পারেন। উদাহরণস্বরূপ, আউটপুট হিসাবে, আপনি উভয়ই কিনতে এবং ব্যবহার করতে, সহজেই ( shift registersবা I²C I/O expanders`I²C বাস প্রসারণকারীও বলা হয়) ব্যবহার করতে পারেন। আপনি এর ব্যবহারের উদাহরণটি এখানে পেতে পারেন ।

PFC8574(বা এই পরিবারের অনুরূপ) এত জনপ্রিয় যে কার্নেল মডিউল ব্যবহারের জন্য প্রস্তুত রয়েছে যা আপনার জন্য সমস্ত যোগাযোগ পরিচালনা করে ( এটি অফিসিয়াল রাস্পবেরিপি কার্নেলে সক্ষম নয়, এটি ব্যবহারের জন্য আপনাকে আপনার নিজস্ব কার্নেলটি সংগ্রহ করতে হবে )। মডিউলটি বলা হয় gpio_pcf857x, এটি সরবরাহ করে যে আপনি এটি দিয়ে modprobeচাপিয়েছেন (আইসিসি চালকদের পাশাপাশি) এবং যে চিপটি আপনি I²Cবাসের সাথে সংযুক্ত করেছেন , আপনি এটি এইভাবে সক্রিয় করতে পারেন:

echo pcf8574 0x27 > /sys/class/i2c-adapter/i2c-0/new_device

pcf8574আপনার প্রকৃত চিপের নামটি কোথায় (এই মডিউলটি কয়েকটি আলাদা চিপগুলি পছন্দ করতে পারে pca967xএবং করতে পারে max732x) এবং 0x27এটির ঠিকানাটি I²C(আপনি যখন ওয়্যারটি চালানোর সময় আপনি চিপের ঠিকানাটি কনফিগার করতে পারেন)।

এটি /sys/class/gpio/ডিরেক্টরিতে এমন এন্ট্রি তৈরি করবে যা আপনাকে রাস্পবেরিপিতে অন্যান্য জিপিআইও বন্দরগুলির মতো একইভাবে ব্যবহার করতে দেয়, আপনি sysইন্টারফেস ব্যবহার করছেন (যেমন wiringPiSetupSys()ওয়্যারিংপিতে উদাহরণস্বরূপ ) providing দুর্ভাগ্যক্রমে, পাইথনের RPi.GPIOমডিউলটি এই মোডটিকে সমর্থন করে না তাই এটি এই লাইব্রেরির সাহায্যে এই পিনগুলি ব্যবহার করতে সক্ষম হবে না। পিনগুলিতে 248-255 বা অনুরূপ কিছু উচ্চ সংখ্যা থাকবে।

দ্রষ্টব্য: PCF8574 এটি sinking current- এটি ড্রাইভ সিঙ্ক দিতে পারে (স্বল্প রাজ্যে গ্রহণ করুন) যতটা 20 এমএ এর মতো তবে এটি কেবলমাত্র উচ্চ মাত্রায় 0.1mA উত্স সরবরাহ করতে পারে। এর অর্থ হল আপনি সাধারণত এটি বিপরীত যুক্তিতে ব্যবহার করতে যাচ্ছেন, অর্থাত্‍ +3.3V -> LED -> RESISTOR -> PCF8574_PIN

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