সুচিপত্র:

NODEMCU LUA ESP8266 MCP23017 16 বিট পোর্ট এক্সপেন্ডার আইসি সহ: 6 টি ধাপ (ছবি সহ)
NODEMCU LUA ESP8266 MCP23017 16 বিট পোর্ট এক্সপেন্ডার আইসি সহ: 6 টি ধাপ (ছবি সহ)

ভিডিও: NODEMCU LUA ESP8266 MCP23017 16 বিট পোর্ট এক্সপেন্ডার আইসি সহ: 6 টি ধাপ (ছবি সহ)

ভিডিও: NODEMCU LUA ESP8266 MCP23017 16 বিট পোর্ট এক্সপেন্ডার আইসি সহ: 6 টি ধাপ (ছবি সহ)
ভিডিও: NodeMCU V3 ESP8266 - обзор, подключение и прошивка в Arduino IDE 2024, নভেম্বর
Anonim
NODEMCU LUA ESP8266 MCP23017 16 বিট পোর্ট এক্সপেন্ডার আইসি সহ
NODEMCU LUA ESP8266 MCP23017 16 বিট পোর্ট এক্সপেন্ডার আইসি সহ

MCP23017 একটি অপেক্ষাকৃত সহজ IC যা একটি বোর্ড তৈরি করে কারণ এতে চিপের উভয় পাশে পোর্ট A এবং B রয়েছে এবং পিনগুলি ক্রমানুসারে রয়েছে।

একইভাবে I2C ঠিকানা বাস সব একসাথে পাশাপাশি।

এই আইসিতে 2 টি পিন রয়েছে যা অব্যবহৃত কারণ এটি MCP23S17 এর সাথে তুলনীয় যা একটি SPI ইন্টারফেস ব্যবহার করে যেখানে এই পিনগুলি ব্যবহার করা হয়।

এই আইসির জন্য একটি ডেটশীট মাইক্রোচিপ থেকে পাওয়া যায়।

ধাপ 1: সার্কিট ডায়াগ্রাম

বর্তনী চিত্র
বর্তনী চিত্র

সার্কিট ডায়াগ্রাম দেখায় কিভাবে IC কে ESP8266 এর সাথে সংযুক্ত করতে হয়

দ্রষ্টব্য: আইসি 2.7 এবং 5.5 ভোল্টের মধ্যে চলে।

আমার বোর্ডে পিন সংযোগ

  • পিন 9 (VDD) থেকে 3v3
  • পিন 18 (RESET) থেকে 3v3
  • GND থেকে 17 (A2) পিন করুন
  • GND থেকে 16 (A1) পিন করুন
  • GND থেকে 15 (A0) পিন করুন
  • পিন 14 (NC) থেকে GND (প্রয়োজনীয় নয়)
  • পিন 13 (SDA) থেকে ESP GPIO0
  • পিন 12 (এসসিএল) থেকে ইএসপি জিপিআইও 2
  • পিন 11 (NC) থেকে GND (প্রয়োজনীয় নয়)
  • GND থেকে 10 (VSS) পিন করুন

ধাপ 2: মূল বোর্ড তৈরি করা

মূল বোর্ড তৈরি করা
মূল বোর্ড তৈরি করা

উপরে বর্ণিত হিসাবে বোর্ডটি সোজা এগিয়ে, সবকিছুই একটি সহজ বিন্যাসের।

আমার প্রধান বোর্ড তৈরিতে সামান্য সময় লেগেছে এবং উপরে দেখানো হয়েছে।

আপনি অবশ্যই এই সার্কিটটি একটি ব্রেডবোর্ডে তৈরি করতে পারেন।

ধাপ 3: অতিরিক্ত বোর্ড

অতিরিক্ত বোর্ড
অতিরিক্ত বোর্ড

আমি কিছু অতিরিক্ত 8 বিট বোর্ড তৈরি করেছি যা সহজেই বিভিন্ন প্রকল্প বোর্ডে প্লাগ করা যায়।

প্রথম বোর্ডটি একটি 7 সেগমেন্ট LED ডিসপ্লের সাথে সংযুক্ত এবং পিন 1 কে সেগমেন্ট a, পিন 2 থেকে b ইত্যাদি সংযুক্ত করা হয়েছে। LEDs রক্ষার জন্য একটি ছোট রোধক (প্রায় 55 ohm) আছে।

দ্বিতীয়টি হল একটি 8 টি সুইচ ব্যাঙ্ক যা একসঙ্গে তারযুক্ত এবং এটি 3.3V বা মাটিতে সংযুক্ত হতে পারে। আমি MCP23017 তাদের অন্তর্নির্মিত হিসাবে কোন পুল প্রতিরোধক অন্তর্ভুক্ত করা হয়নি।

তৃতীয়টি একটি ইবে কিট থেকে, এতে 8 টি এলইডি এবং একটি প্রতিরোধক অ্যারে রয়েছে যা Gnd এর সাথে সংযুক্ত। আমারও একই বোর্ড আছে কিন্তু এলইডিগুলি উল্টোভাবে ইনস্টল করা হয়েছে যাতে এটি Gnd এর পরিবর্তে 3.3V বা 5V এর সাথে সংযুক্ত হয়। ইবেতে তারা 8 টি চ্যানেল প্রবাহিত ওয়াটার লাইট LED DIY কিট, চীন থেকে 99p হিসাবে পরিচিত।

ধাপ 4: প্রোগ্রামিং

প্রোগ্রামিং
প্রোগ্রামিং

আমি একটি ESP01 এর সাথে কাজ করার জন্য প্রোগ্রামগুলি লিখেছি কারণ এতে মাত্র 2 I/O পিন রয়েছে। এটি অবশ্যই কোন ESP8266 বোর্ডের সাথে ব্যবহার করা যেতে পারে। এসডিএ এবং এসসিএল পিন 1 থেকে 12 এর মধ্যে যে কোনও পিনে বরাদ্দ করা যেতে পারে।

যদি LUA এর একটি পুরোনো সংস্করণ ব্যবহার করে (যেমন NodeMCU 0.9.6 build 20150704 Lua 5.1.4 দ্বারা চালিত) I2C ইতিমধ্যেই ইনস্টল করা আছে। অন্যথায় আপনাকে নিশ্চিত করতে হবে যে আপনার বিল্ডে I2C মডিউল অন্তর্ভুক্ত রয়েছে।

আইসি কিভাবে ব্যবহার করা যায় তা দেখানোর জন্য আমি 3 টি সহজ লুয়া প্রোগ্রাম অন্তর্ভুক্ত করেছি।

7Segment.lua একটি LED ডিসপ্লে এবং 1 থেকে 0 সংখ্যার মধ্যে সিকোয়েন্স চালায়।

KittCar.lua 80 এর দশকের বিখ্যাত গাড়ির নকল করার জন্য 8 টি LED বোর্ড চালায়।

Reader.lua পোর্ট B থেকে পড়ে।

ধাপ 5: কোন পিন?

কোন পিন?
কোন পিন?

টিঙ্কার করার সময় আমি একটি অতিরিক্ত প্রোগ্রাম নিয়ে এসেছিলাম।

এটি ইনপুট হিসেবে পোর্ট বি এবং আউটপুট হিসেবে পোর্ট এ ব্যবহার করে। ছবিটি ডিআইপি সুইচ দেখায়, কিন্তু আপনি পোর্ট বি পিনের একটিকে Gnd এর সাথে সংযুক্ত করতে পারেন এবং LED ডিসপ্লে দেখাবে কোন পিনটি সংযুক্ত।

দ্রষ্টব্য: এটি একবারে 1 টি পিনের সাথে কাজ করে!

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

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

অবশ্যই অন্যান্য I/O সম্প্রসারণকারী উপলব্ধ। কিছু 8 বিট, 16 বিট এমনকি 24 বিট! MCP23017 এর মতো সব কাজ করে, কিন্তু এই আইসি তার ক্ষমতার জন্য খুব সস্তা এবং চীন থেকে প্রায় 10p এর জন্য সোর্স করা যায়।

আমি এই আইসি -র সমস্ত বৈশিষ্ট্য ব্যবহার করিনি কারণ সেখানে বাধাগুলিও রয়েছে যা ব্যবহার করা যেতে পারে। ডেটশীট পড়া বিভিন্ন রেজিস্টার এবং আইসি ব্যবহার করার উপায় সম্পর্কে সব বলে।

একই I2C বাসে এই 8 টি ডিভাইস থাকা সম্ভব যা 128 I/O পোর্টগুলি 2 টি লাইন দ্বারা নিয়ন্ত্রিত। সেখানে সম্ভাবনার কথা ভাবুন!

প্রস্তাবিত: