সুচিপত্র:

পুশবাটন LED ম্যাট্রিক্স: 4 টি ধাপ
পুশবাটন LED ম্যাট্রিক্স: 4 টি ধাপ

ভিডিও: পুশবাটন LED ম্যাট্রিক্স: 4 টি ধাপ

ভিডিও: পুশবাটন LED ম্যাট্রিক্স: 4 টি ধাপ
ভিডিও: mod11lec53 2024, নভেম্বর
Anonim
পুশবাটন এলইডি ম্যাট্রিক্স
পুশবাটন এলইডি ম্যাট্রিক্স

এই প্রকল্পটিকে আরেকটি প্রারম্ভিক আরডুইনো প্রকল্প হিসাবে ভাবা যেতে পারে যা আপনার সাধারণ 'এলইডি ব্লাইকিং' প্রকল্পের চেয়ে কিছুটা বেশি উন্নত। এই প্রকল্পে একটি LED ম্যাট্রিক্স, পুশবটন, শিফট রেজিস্টার (যা আপনার Arduino বোর্ডে পিন সংরক্ষণ করতে পারে) এবং মাল্টিপ্লেক্সিং নামে একটি মূল ধারণা অন্তর্ভুক্ত করে। আমি আশা করি আপনি টিউটোরিয়ালটি আলোকিত পাবেন এবং নিজেকে উন্নত করার জন্য নিজেকে চ্যালেঞ্জ জানাবেন!

সরবরাহ

(1x) Arduino Uno

(5x) স্পর্শযোগ্য পুশবাটন

(2x) 0.1 uF ক্যাপাসিটার

(2x) 1 uF ক্যাপাসিটার

(8x) 1k প্রতিরোধক

(5x) 10k প্রতিরোধক

(2x) 74HC595 শিফট রেজিস্টার

জাম্পার তার

কালো তার

লাল তার

ধাপ 1: ধাপ 1: একটি LED ম্যাট্রিক্স তৈরি করা

ধাপ 1: একটি LED ম্যাট্রিক্স তৈরি করা
ধাপ 1: একটি LED ম্যাট্রিক্স তৈরি করা
ধাপ 1: একটি LED ম্যাট্রিক্স তৈরি করা
ধাপ 1: একটি LED ম্যাট্রিক্স তৈরি করা
ধাপ 1: একটি LED ম্যাট্রিক্স তৈরি করা
ধাপ 1: একটি LED ম্যাট্রিক্স তৈরি করা

এই প্রকল্পে 8x8 LED ম্যাট্রিক্স তৈরির জন্য আমি যে টিউটোরিয়ালটি ব্যবহার করেছি তা এখানে পাওয়া যাবে। একটি LED ম্যাট্রিক্সের জন্য সাধারণ কনফিগারেশন রয়েছে:

ক) সাধারণ সারি অ্যানোড

খ) সাধারণ সারি ক্যাথোড

যেহেতু আমি ম্যাট্রিক্সের সাধারণ সারি ক্যাথোড বিন্যাস ব্যবহার করেছি, তাই আমি মূলত এখানে এটি নিয়ে আলোচনা করব এবং আপনি একই যুক্তিকে সাধারণ সারি আনোড বিন্যাসে প্রসারিত করতে পারেন। সাধারণ সারি ক্যাথোড বিন্যাসে, এলইডি'র ক্যাথোডগুলি (অথবা নেগেটিভ টার্মিনাল যা একটি এলইডি -তে খাটো লেগ) সারিতে একসাথে সংযুক্ত থাকে যখন অ্যানোডগুলি (বা ধনাত্মক টার্মিনাল যা একটি এলইডি -তে দীর্ঘ পা) কলামে একসাথে সংযুক্ত থাকে । একটি নির্দিষ্ট এলইডি সম্বোধন করার জন্য, ক্যাথোড সারিটি টানুন যা LED ক্যাথোড কম এবং আনোড কলামটি টানুন যে LED অ্যানোডটি উচ্চ।

দ্রষ্টব্য: উপরের লিঙ্কে দেখানো এলইডি ম্যাট্রিক্স তৈরির সময়, এলইডিতে যেকোনো পরিমাণ ভোল্টেজ প্রয়োগ করার আগে 1k ওহম প্রতিরোধকগুলির সাথে অ্যানোড কলামগুলি সংযুক্ত করতে ভুলবেন না।

ধাপ 2: ধাপ 2: পুশবাটন এবং শিফট রেজিস্টারগুলি সংযুক্ত করুন

ধাপ 2: পুশবাটন এবং শিফট রেজিস্টারগুলি সংযুক্ত করুন
ধাপ 2: পুশবাটন এবং শিফট রেজিস্টারগুলি সংযুক্ত করুন
ধাপ 2: পুশবাটন এবং শিফট রেজিস্টারগুলি সংযুক্ত করুন
ধাপ 2: পুশবাটন এবং শিফট রেজিস্টারগুলি সংযুক্ত করুন
ধাপ 2: পুশবাটন এবং শিফট রেজিস্টারগুলি সংযুক্ত করুন
ধাপ 2: পুশবাটন এবং শিফট রেজিস্টারগুলি সংযুক্ত করুন
ধাপ 2: পুশবাটন এবং শিফট রেজিস্টারগুলি সংযুক্ত করুন
ধাপ 2: পুশবাটন এবং শিফট রেজিস্টারগুলি সংযুক্ত করুন

পুশবাটন এবং শিফট রেজিস্টারের জন্য তারের উপরে দেখানো হয়েছে। আমি লক্ষ্য করতে চাই যে সার্কিট ডায়াগ্রামে শিফট রেজিস্টারগুলি চিপগুলির জন্য স্থল (IC এর পিন 8) এবং Vcc বা পাওয়ার সাপ্লাই (IC এর পিন 16) পিন দেখায় না; গ্রাউন্ড পিনটি Arduino বোর্ডের GND পিনের সাথে সংযুক্ত এবং Vcc Arduino বোর্ডের 5V পিনের সাথে সংযুক্ত। প্রতিটি শিফট রেজিস্টারের Vcc পিনটি মাটিতে সংযুক্ত 0.1uF ক্যাপাসিটরের সাথেও সংযুক্ত থাকে।

দ্রষ্টব্য: প্রতিটি শিফট রেজিস্টারের আউটপুটগুলি QA থেকে QH হিসাবে তালিকাভুক্ত করা হয় (QH*উপেক্ষা করুন)। এগুলি সর্বনিম্ন তাৎপর্যপূর্ণ বিট (LSB) (QA- এর জন্য) থেকে সর্বাধিক উল্লেখযোগ্য বিট (MSB) (QH এর জন্য) অর্থাত্ QA 0 তম সারি বা কলাম ইত্যাদি নিয়ন্ত্রণ করবে।

ধাপ 3: ধাপ 3: কোড আপলোড করা

LED ম্যাট্রিক্স নিয়ন্ত্রণ করার কোড এই টিউটোরিয়ালের সাথে সংযুক্ত। আমি যতটা সম্ভব কোডটি মন্তব্য করার চেষ্টা করেছি যাতে প্রোগ্রামটি কীভাবে কাজ করে তা খুব স্পষ্ট হবে। প্রোগ্রামের মূল ভিত্তি হল একটি ম্যাট্রিক্স যা কোন এলইডি চালু বা বন্ধ থাকা উচিত তার উপর নজর রাখে। ভুলবশত অবাঞ্ছিত ডায়োড চালু না করে বিভিন্ন LEDs সঠিকভাবে প্রদর্শন করার জন্য মাল্টিপ্লেক্সিং নামে একটি ধারণা ব্যবহার করা। মাল্টিপ্লেক্সিং মূলত একটি বিশেষ সারিতে পৃথক LEDs জ্বালানো এবং অন্যান্য সারিতে অন্যান্য LEDs, তারপর বাকি সারির জন্য একই কাজ করছে। কৌতুক হল যে যদি এলইডিগুলি দ্রুত সারিগুলির মধ্যে দিয়ে যায়, আপনার চোখ বলতে পারে যে পৃথক সারিগুলি একবারে জ্বলছে। আপনি যদি এলইডি দিয়ে আপনার চোখ ফাঁকি দিতে আরও উপায়গুলি অন্বেষণ করতে চান, তাহলে আপনি দৃ of়তার ধারণার ধারণাটি দেখতে চাইতে পারেন (গুগল বা নির্দেশাবলীতে সহজেই অনুসন্ধানযোগ্য)।

যেভাবে অ্যানোড কলাম এবং ক্যাথোড সারি আপডেট করা হয় তা হল 'UpdateShiftRegisters' নামে একটি ব্যবহারকারী-সংজ্ঞায়িত ফাংশনের মাধ্যমে। এই ফাংশনটি প্রথমে ল্যাচ পিনটি চালু করে, যা নিয়ন্ত্রণ করে যদি একটি নতুন বাইট (8 বিট) আউটপুটে পাঠানো হয়, কম তাই আউটপুটে কোন পরিবর্তন সম্ভব নয় যখন চিপে নতুন বিট লেখা হচ্ছে। তারপর 'ShiftOut' নামক একটি অন্তর্নির্মিত Arduino ফাংশন ব্যবহার করে, যা বিশেষভাবে শিফট রেজিস্টারে ডেটা পাঠানোর কাজ পরিচালনা করে, প্রোগ্রামটি লেখায় যে কোনটি (ক্যাথোড) সারি কম হবে এবং কোনটি (অ্যানোড) কলাম বেশি হওয়া উচিত। অবশেষে, ল্যাচ পিনটি উচ্চ টানা হয় যাতে আউটপুট (LEDs) আপডেট করা যায়।

ধাপ 4: অতিরিক্ত তথ্য/সম্পদ

এখানে ওয়েবসাইট বা বইগুলির কিছু লিঙ্ক রয়েছে যা এই প্রকল্প সম্পর্কিত অতিরিক্ত তথ্য দিতে পারে:

learn.adafruit.com/adafruit-arduino-lesson-4-eight-leds/arduino-code

www.arduino.cc/en/tutorial/ShiftOut

www.ti.com/lit/ds/symlink/sn74hc595.pdf

www.youtube.com/watch?v=7VYxcgqPe9A

www.youtube.com/watch?v=VxMV6wGS3NY

আরডুইনো দিয়ে শুরু করা, ম্যাসিমো বানজির দ্বিতীয় সংস্করণ

প্রস্তাবিত: