সুচিপত্র:

একটি বেসিক স্ট্যাম্প 2 (bs2) এবং চার্লিপ্লেক্সিং ব্যবহার করে 5x4 LED ডিসপ্লে ম্যাট্রিক্স: 7 টি ধাপ
একটি বেসিক স্ট্যাম্প 2 (bs2) এবং চার্লিপ্লেক্সিং ব্যবহার করে 5x4 LED ডিসপ্লে ম্যাট্রিক্স: 7 টি ধাপ

ভিডিও: একটি বেসিক স্ট্যাম্প 2 (bs2) এবং চার্লিপ্লেক্সিং ব্যবহার করে 5x4 LED ডিসপ্লে ম্যাট্রিক্স: 7 টি ধাপ

ভিডিও: একটি বেসিক স্ট্যাম্প 2 (bs2) এবং চার্লিপ্লেক্সিং ব্যবহার করে 5x4 LED ডিসপ্লে ম্যাট্রিক্স: 7 টি ধাপ
ভিডিও: জমির কি কি কাগজ পত্র সংগ্রহে রাখবেন। land deed ep#609 2024, নভেম্বর
Anonim
একটি বেসিক স্ট্যাম্প 2 (bs2) এবং চার্লিপ্লেক্সিং ব্যবহার করে 5x4 LED ডিসপ্লে ম্যাট্রিক্স
একটি বেসিক স্ট্যাম্প 2 (bs2) এবং চার্লিপ্লেক্সিং ব্যবহার করে 5x4 LED ডিসপ্লে ম্যাট্রিক্স

একটি বেসিক স্ট্যাম্প 2 এবং কিছু অতিরিক্ত LEDs বসে আছে? চার্লিপ্লেক্সিংয়ের ধারণার সাথে কেন খেলবেন না এবং মাত্র 5 টি পিন ব্যবহার করে একটি আউটপুট তৈরি করুন।

এই নির্দেশের জন্য আমি BS2e ব্যবহার করব কিন্তু BS2 পরিবারের যেকোন সদস্যের কাজ করা উচিত।

ধাপ 1: চার্লিপ্লেক্সিং: কি, কেন এবং কিভাবে

আসুন আগে কেন পথ থেকে বেরিয়ে আসি। কেন একটি বেসিক স্ট্যাম্প 2 দিয়ে চার্লিপ্লেক্সিং ব্যবহার করবেন? --- ধারণার প্রমাণ: চার্লিপ্লেক্সিং কিভাবে কাজ করে এবং BS2 সম্পর্কে কিছু শিখুন। এটি দ্রুত 8-পিন চিপ ব্যবহার করে আমার জন্য উপকারী হতে পারে (তাদের মধ্যে মাত্র 5 টি i/o হবে) ।--- দরকারী কারণ: মূলত কোনটি নেই। BS2 লক্ষণীয় ঝলকানি ছাড়া প্রদর্শনের জন্য অনেক ধীর। আমি www.instructables.com থেকে চার্লিপ্লেক্সিং সম্পর্কে শিখেছি এবং আপনিও করতে পারেন: চার্লিপ্লেক্সিং এলইডি- তত্ত্ব কয়েকটি মাইক্রোকন্ট্রোলার পিন থেকে প্রচুর এলইডি চালানোর উপায়। এছাড়াও উইকিপিডিয়ায়: চার্লিপ্লেক্সিং আমি কিভাবে 5 টি আই/ও পিনের সাহায্যে 20 টি এলইডি চালাতে পারি? --- অনুগ্রহ করে "চার্লিপ্লেক্সিং কি?" এটি আমার চেয়ে ভালভাবে ব্যাখ্যা করে। চার্লিপ্লেক্সিং traditionalতিহ্যবাহী মাল্টিপ্লেক্সিং থেকে আলাদা যা প্রতিটি সারির জন্য এবং প্রতিটি কলামের জন্য একটি আই/ও পিন প্রয়োজন (এটি 5/4 ডিসপ্লেতে মোট 9 আই/ও পিন হবে)।

পদক্ষেপ 2: হার্ডওয়্যার এবং পরিকল্পিত

হার্ডওয়্যার এবং পরিকল্পিত
হার্ডওয়্যার এবং পরিকল্পিত

উপকরণ তালিকা: 1x - বেসিক স্ট্যাম্প 220x - একই ধরনের হালকা রঙ নির্গত ডায়োড (LEDs) (রঙ এবং ভোল্টেজ ড্রপ) 5x - প্রতিরোধক (প্রতিরোধক মান সম্পর্কে নিচে দেখুন) সহায়ক/ptionচ্ছিক: আপনার BS2 স্মারক পুশ বাটন রিসেট সুইচ হিসাবে প্রোগ্রাম করার পদ্ধতি -9v পাওয়ার সাপ্লাই BS2 এর আপনার সংস্করণের উপর নির্ভর করে (আপনার ম্যানুয়াল পড়ুন) স্কিম্যাটিক: এই পরিকল্পনাটি যান্ত্রিক লেআউটের কথা মাথায় রেখে করা হয়েছে। আপনি দেখতে পাবেন LEDs এর গ্রিড বাম দিকে সেট করা হয়েছে, এটি সেই ওরিয়েন্টেশন যার জন্য BS2 কোড লেখা হয়েছে। লক্ষ্য করুন যে এলইডিগুলির প্রতিটি জোড়া অ্যানোড অন্যটির ক্যাথোডের সাথে সংযুক্ত। তারপর তারা পাঁচটি i/o পিনের একটিতে সংযুক্ত থাকে। আপনার LEDs এর জন্য ডেটশীট চেক করুন অথবা আপনার LEDs এর ভোল্টেজ ড্রপ খুঁজে পেতে আপনার ডিজিটাল মাল্টিমিটারে LED সেটিং ব্যবহার করুন। আসুন কিছু হিসাব করি: সাপ্লাই ভোল্টেজ - ভোল্টেজ ড্রপ / কাঙ্ক্ষিত কারেন্ট = প্রতিরোধক মান BS2 5v নিয়ন্ত্রিত শক্তি সরবরাহ করে, এবং 20ma উৎস করতে পারে স্রোতের আমার LEDs এর একটি 1.6v ড্রপ আছে এবং 20ma.5v - 1.6v /.02amps = 155ohms এ কাজ করে আপনার BS2 কে রক্ষা করার জন্য আপনি গণনার সাথে যা পান তা থেকে পরবর্তী উচ্চতর প্রতিরোধক মান ব্যবহার করা উচিত, এই ক্ষেত্রে আমি বিশ্বাস করি এটি 180ohms হবে। আমি 220ohms ব্যবহার করেছি কারণ আমার ডেভেলপমেন্ট বোর্ডের প্রতিটি i/o পিনের জন্য এটিতে রোধের মান রয়েছে। দ্রষ্টব্য: আমি বিশ্বাস করি যেহেতু প্রতিটি পিনে একটি প্রতিরোধক রয়েছে তাই এটি প্রতিটি নেতৃত্বের প্রতিরোধকে কার্যকরভাবে দ্বিগুণ করে কারণ একটি পিন V+ এবং অন্যটি Gnd। এই ক্ষেত্রে যদি আপনি প্রতিরোধক মান অর্ধেক কমানো উচিত। খুব বেশী একটি প্রতিরোধক মানের বিরূপ প্রভাব একটি dimmer LED হয়। কেউ কি এটি যাচাই করতে পারে এবং আমাকে একটি PM বা মন্তব্য করতে পারে যাতে আমি এই তথ্য আপডেট করতে পারি? আমি আমার সোল্ডার-কম ব্রেডবোর্ডে এই চিপটি ব্যবহার করি এবং একটি সার্কিট সিরিয়াল প্রোগ্রামিং (ICSP) হেডার অন্তর্ভুক্ত করেছি। শিরোলেখ হল 5 টি পিন, 2 থেকে 5 টি পিন একটি DB9 সিরিয়াল ক্যাবলে 2-5 পিনের সাথে সংযুক্ত (পিন 1 অব্যবহৃত)। অনুগ্রহ করে মনে রাখবেন যে এই ICSP হেডার পিন 6 এবং 7 ব্যবহার করতে DB9 তারের একে অপরের সাথে সংযুক্ত থাকতে হবে। পুনরায় সেট করুন: একটি ক্ষণস্থায়ী পুশ রিসেট বোতাম alচ্ছিক। এটি ধাক্কা দেওয়ার সময় পিন 22 কে মাটিতে টেনে নেয়।

ধাপ 3: ব্রেডবোর্ডিং

ব্রেডবোর্ডিং
ব্রেডবোর্ডিং
ব্রেডবোর্ডিং
ব্রেডবোর্ডিং

এখন এটি একটি রুটিবোর্ডে ম্যাট্রিক্স তৈরির সময়। এটি ক্লোজআপ ছবিতে বিস্তারিত এবং এখানে গভীরভাবে ব্যাখ্যা করা হয়েছে: ১। বড় ছবির সাথে মেলে আপনার ব্রেডবোর্ডের দিকে আপনার দিকে Anode (+) এবং ক্যাথোড (-) দিয়ে LED 1 রাখুন। LED 1 ক্যাথোডের সংযোগকারী টার্মিনাল স্ট্রিপে Anode (+) এর সাথে একই ওরিয়েন্টেশনে LED 2 রাখুন। LED 1 এর Anode কে LED 2.5 এর ক্যাথোডের সাথে সংযুক্ত করতে একটি ছোট জাম্পার তার ব্যবহার করুন। বোর্ডে LED এর প্রতিটি জোড়া যোগ না হওয়া পর্যন্ত পুনরাবৃত্তি করুন। আমি সাধারণত রুটি বোর্ডের পাওয়ার বাস স্ট্রিপগুলি BS2 I/O পিনের জন্য বাস স্ট্রিপ হিসাবে ব্যবহার করি। কারণ এখানে মাত্র 4 টি বাস স্ট্রিপ আছে আমি P4 (পঞ্চম I/O সংযোগ) এর জন্য একটি টার্মিনাল স্ট্রিপ ব্যবহার করি। এটি নীচের বড় ছবিতে দেখা যাবে। LED 1 ক্যাথোডের জন্য P0 বাস স্ট্রিপের সাথে টার্মিনাল স্ট্রিপটি সংযুক্ত করুন। প্রতিটি জোড়ার জন্য সঠিক P* প্রতিস্থাপন করে প্রতিটি বিজোড় সংখ্যাযুক্ত LED এর জন্য পুনরাবৃত্তি করুন (পরিকল্পিত দেখুন)। LED 2 ক্যাথোডের জন্য P1 বাস স্ট্রিপের সাথে টার্মিনাল স্ট্রিপটি সংযুক্ত করুন। প্রতিটি জোড়ার জন্য সঠিক P* প্রতিস্থাপন করে প্রতিটি বিজোড় সংখ্যাযুক্ত LED এর জন্য পুনরাবৃত্তি করুন (পরিকল্পিত দেখুন)। প্রতিটি বাস স্ট্রিপকে BS2 (P0-P4).9 এ উপযুক্ত I/O পিনের সাথে সংযুক্ত করুন। সমস্ত সংযোগ পরীক্ষা করে নিশ্চিত করুন যে তারা পরিকল্পিত। উদযাপন করুন। দ্রষ্টব্য: ক্লোজ-আপে আপনি দেখতে পাবেন যে আমি ধাপ 7 অনুসরণ করেছি বলে মনে হচ্ছে না কারণ দ্বিতীয় I/O পিনের সংযোগটি বিজোড় সংখ্যার LEDs এর Anode- এ রয়েছে। মনে রাখবেন যে এমনকি সংখ্যাযুক্ত LEDs এর ক্যাথোড বিজোড় সংখ্যার LEDs এর Anode এর সাথে সংযুক্ত থাকে তাই সংযোগ একই ভাবে হয়। যদি এই নোটটি আপনাকে বিভ্রান্ত করে, তবে এটি উপেক্ষা করুন।

ধাপ 4: প্রোগ্রামিং বেসিক

চার্লিপ্লেক্সিং কাজ করার জন্য আপনি একবারে কেবল একটি নেতৃত্ব চালু করুন। আমাদের BS2 এর সাথে কাজ করার জন্য আমাদের দুটি মৌলিক পদক্ষেপ প্রয়োজন: ১। OUTS কমান্ড ব্যবহার করে পিনের জন্য আউটপুট মোড সেট করুন। BS2 কে বলুন DIRS কমান্ড ব্যবহার করে আউটপুট হিসেবে কোন পিন ব্যবহার করতে হবে এটি কাজ করে কারণ BS2 কে বলা যেতে পারে কোন পিনগুলি উঁচু এবং নিচুতে চালাতে হবে এবং কোন পিন আউটপুট হবে তা নির্দিষ্ট না করা পর্যন্ত অপেক্ষা করতে হবে। শুধু LED ঝলকানোর চেষ্টা করছে 1. যদি আপনি পরিকল্পিতভাবে দেখেন যে P0 কে LED 1 এর ক্যাথোড (-) পর্যন্ত সংযুক্ত করা হয়েছে এবং P1 একই LED এর Anode এর সাথে যুক্ত। এর মানে হল আমরা P0 কম এবং P1 উচ্চ চালাতে চাই। এটি এভাবে করা যেতে পারে: "OUTS = % 11110" যা P4-P1 উচ্চ এবং P0 কম চালায়। (% নির্দেশ করে একটি বাইনারি সংখ্যা অনুসরণ করতে হবে। সর্বনিম্ন বাইনারি সংখ্যা সর্বদা ডানদিকে থাকে। 0 = নিম্ন, 1 = উচ্চ) BS2 সেই তথ্য সঞ্চয় করে কিন্তু তার উপর কাজ করবে না যতক্ষণ না আমরা ঘোষণা করি কোন পিনগুলি আউটপুট। এই পদক্ষেপটি গুরুত্বপূর্ণ কারণ একই সময়ে শুধুমাত্র দুটি পিন আউটপুট হওয়া উচিত। বাকিগুলি ইনপুট হওয়া উচিত, যা সেই পিনগুলিকে হাই ইম্পিডেন্স মোডে সেট করে যাতে তারা কোনও স্রোত ডুবে না। আমাদের P0 এবং P1 চালাতে হবে তাই আমরা সেগুলিকে আউটপুটে সেট করব এবং বাকিগুলিকে ইনপুটে সেট করব: "DIRS = % 00011"। = ইনপুট, 1 = আউটপুট) একসাথে কিছু দরকারী কোডের মধ্যে রাখি: '{$ STAMP BS2e}' {$ PBASIC 2.5} DO OUTS = %11110 'P0 কম এবং P1-P4 উচ্চ DIRS = %00011' P0- সেট করুন আউটপুট হিসাবে P1 এবং P2-P4 ইনপুট হিসাবে PAUSE 250 'LED এর জন্য DIRS = 0 তে থামুন' ইনপুটে সমস্ত পিন সেট করুন। এটি LED বন্ধ থাকার জন্য LED PAUSE 250 'বিরতি বন্ধ করবে

ধাপ 5: উন্নয়ন চক্র

এখন যেহেতু আমরা একটি পিন কাজের সময় দেখেছি যাতে তারা সবাই কাজ করে তা নিশ্চিত করে। 20led_Zig-Zag। আপনি লক্ষ্য করবেন যে প্রতিটি পিন বিন লাইট জ্বালানোর পরে আমি সমস্ত পিনকে ইনপুটে ফিরিয়ে দিতে "DIRS = 0" ব্যবহার করি। যদি আপনি আউটপুট পিন বন্ধ না করে OUTS পরিবর্তন করেন তবে আপনি কিছু "ভূত" পেতে পারেন যেখানে একটি নেতৃত্ব যা জ্বালানো উচিত নয় তা চক্রের মধ্যে জ্বলজ্বল করতে পারে। প্রতিটি LED ব্লিঙ্কের মধ্যে মাত্র 1 মিলিসেকেন্ড বিরতি থাকবে। এটি দৃ pers়তার দৃist়তা (POV) প্রভাব সৃষ্টি করবে যা দেখে মনে হবে যে সমস্ত LEDs জ্বলছে। এই LEDs dimmer তৈরীর প্রভাব আছে কিন্তু আমরা কিভাবে এই ম্যাট্রিক্স অক্ষর প্রদর্শন করবে সারাংশ। একটি ব্যবহারযোগ্য প্যাটার্নে LEDs। এই ফাইলটি আমার প্রথম প্রচেষ্টা। আপনি দেখতে পাবেন যে ফাইলের নীচে অক্ষরগুলি 5 ডিজিটের বাইনারির চার লাইনে সংরক্ষণ করা হয়েছে। প্রতিটি লাইন পাঠ করা হয়, বিশ্লেষণ করা হয়, এবং একটি সাবরুটিন বলা হয় প্রতিবার একটি নেতৃত্ব জ্বালানোর প্রয়োজন হয় এই কোডটি কাজ করে, সংখ্যার মাধ্যমে সাইকেল চালায় 1-0। যদি আপনি এটি চালানোর চেষ্টা করেন তবে লক্ষ্য করুন যে এটি একটি খুব ধীর রিফ্রেশ হারে জর্জরিত যার ফলে অক্ষরগুলি স্বীকৃত হওয়ার জন্য খুব ধীর গতিতে ফ্ল্যাশ করে। এই কোডটি অনেক কারণে খারাপ। প্রথমত, বাইনারির পাঁচটি সংখ্যা EEPROM- এ 8 ডিজিটের বাইনারি হিসাবে যতটা জায়গা নেয় ততটুকুই সমস্ত তথ্য চারটি বিটের গ্রুপে সংরক্ষিত থাকে। দ্বিতীয়ত, SELECT CASE সিদ্ধান্ত নিতে ব্যবহৃত যে কোন পিনটি জ্বালানো দরকার 20 টি ক্ষেত্রে। BS2 প্রতি SELECT অপারেশনে 16 টি ক্ষেত্রে সীমাবদ্ধ। এর মানে হল যে IF-THEN-ELSE স্টেটমেন্ট দিয়ে আমাকে সেই সীমাবদ্ধতাকে হ্যাক করতে হবে। এর চেয়ে ভালো উপায় হতে হবে। কয়েক ঘন্টা মাথা আঁচড়ানোর পরে আমি এটি আবিষ্কার করেছি।

ধাপ 6: একটি ভাল দোভাষী

আমাদের ম্যাট্রিক্সের প্রতিটি সারি 4 টি এলইডি দ্বারা গঠিত, প্রতিটি চালু বা বন্ধ হতে পারে। BS2 তার EEPROM- এ চারটি বিটের গ্রুপে তথ্য সংরক্ষণ করে। এই পারস্পরিক সম্পর্কটি আমাদের জন্য জিনিসগুলিকে আরও সহজ করে তুলতে হবে। এটি EASROM- এ সংরক্ষিত হিসাবে সংখ্যা 7 বা এখানে নির্বাচন করে: '7 %1111, %1001, %0010, %0100, %0100, প্রতিটি সারিতে 0-15 এর দশমিক সমতুল্য তাই আমরা একটি পড়ি মেমরি থেকে সারি করুন এবং এটি সরাসরি SELECT CASE ফাংশনে ফিড করুন। এর মানে হল যে প্রতিটি অক্ষর (1 = নেতৃত্বাধীন, 0 = নেতৃত্বাধীন) তৈরি করতে ব্যবহৃত মানব পঠনযোগ্য বাইনারি ম্যাট্রিক্স হল দোভাষীর চাবি। 5 টি সারির প্রত্যেকটির জন্য একই SELECT CASE ব্যবহার করার জন্য আমি অন্য একটি সিলেক্ট কেস ব্যবহার করেছি DIRS এবং OUTS ভেরিয়েবল হিসাবে সেট করতে। আমি প্রথমে অক্ষরের পাঁচটি লাইনের প্রতিটিতে ROW1-ROW5 ভেরিয়েবল পড়ি। মূল প্রোগ্রামটি তখন চরিত্রটি প্রদর্শনের জন্য সাবরুটিনকে ডাকে। এই সাবরুটিনটি প্রথম সারি নেয় এবং চারটি সম্ভাব্য OUTS সংমিশ্রণকে পরিবর্তনশীল outp1-outp4 এবং দুটি সম্ভাব্য DIRS সংমিশ্রণকে directc1 এবং direc2 এ বরাদ্দ করে। LEDs ফ্ল্যাশ করা হয়, সারি কাউন্টার বৃদ্ধি করা হয়, এবং একই প্রক্রিয়া অন্য চার সারির প্রতিটি জন্য চালানো হয় এটি প্রথম দোভাষী প্রোগ্রামের তুলনায় অনেক দ্রুত। বলা হচ্ছে, এখনও লক্ষণীয় ঝলকানি রয়েছে। ভিডিওটি একবার দেখুন, ক্যামেরা ফ্লিকারটিকে আরও খারাপ দেখায় কিন্তু আপনি ধারণাটি পান। এই ধারণাটিকে আরও দ্রুত চিপে পোর্ট করা, যেমন একটি পিক মাইক্রো বা একটি এভিআর চিপ এই অক্ষরগুলিকে একটি লক্ষণীয় ঝলকানি ছাড়াই প্রদর্শন করতে সক্ষম করবে।

ধাপ 7: এখান থেকে কোথায় যেতে হবে

সার্কিট বোর্ড তৈরির জন্য আমার কাছে একটি সিএনসি মিল বা এচিং সরবরাহ নেই তাই আমি এই প্রকল্পটি ব্যবহার করব না। আপনার যদি একটি মিল থাকে এবং এখান থেকে এগিয়ে যাওয়ার জন্য সহযোগিতা করতে আগ্রহী হন, তাহলে আমাকে একটি বার্তা পাঠান। আমি এই প্রকল্পের জন্য একটি সমাপ্ত পণ্যের কিছু দেখানোর জন্য উপকরণ এবং শিপিংয়ের জন্য অর্থ প্রদান করতে পেরে খুশি হব।

অন্যান্য সম্ভাবনা: 1. এটি অন্য চিপে পোর্ট করুন। এই ম্যাট্রিক্স নকশাটি যে কোন চিপের সাথে ব্যবহার করা যেতে পারে যার মধ্যে 5 i/o পিন পাওয়া যায় যা ত্রি-রাষ্ট্রীয় সক্ষম (পিনগুলি উচ্চ, নিম্ন, বা ইনপুট (উচ্চ প্রতিবন্ধকতা) হতে পারে)। 2. একটি দ্রুত চিপ (সম্ভবত AVR বা picMicro) ব্যবহার করে আপনি স্কেল বাড়াতে পারেন। একটি 20pin চিপের সাহায্যে আপনি 14 পিন চার্লিপ্লেক্স 8x22 ডিসপ্লেতে ব্যবহার করতে পারেন এবং বাকি পিনগুলি কম্পিউটার বা অন্য নিয়ামক থেকে সিরিয়াল কমান্ড গ্রহণ করতে ব্যবহার করতে পারেন। আরও তিনটি 20-পিন চিপ ব্যবহার করুন এবং আপনার একটি স্ক্রোলিং ডিসপ্লে থাকতে পারে যা 8x88 মোট 11 টি অক্ষরের জন্য (অবশ্যই প্রতিটি অক্ষরের প্রস্থের উপর নির্ভর করে)। শুভ কামনা মজা কর!

প্রস্তাবিত: