Search
পর্ব ২৮ঃ মুভিং মেসেজ ডিসপ্লে(ইংরেজি)
by : A.R | November 16, 2017 | 0 comments Skill Level: Advanced
Summary:
ATmega16 ভিত্তিক মুভিং মেসেজ ডিসপ্লে।

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


প্রয়োজনীয় যন্ত্রপাতি

পরিমান

ATmega16

1

MAX7219 Dot Matrix Display Panel 32X8 P3.75

 

1

 Jumper wires

5


সার্কিটটি বিভিন্নভাবে সেটআপ করা যাবে। আপনারা চাইলে প্রোগ্রামার দিয়ে মাইক্রোকন্ট্রোলার প্রোগ্রাম করে ব্রেডবোর্ডে বসাতে পারেন, চাইলে AVR Trainer kit দিয়ে প্রোগ্রামিং এবং সেটআপ দুটোই করতে পারেন, চাইলে একটু কষ্ট করে একটা পিসিবি বানিয়ে নিতেও পারেন।

  
ডট ম্যাট্রিক্সঃ ডট ম্যাট্রিক্স হচ্ছে আটটি সারি ও আটটি কলামে সাজানো মোট ৬৪টি ডটবিশিষ্ট একটি ডিসপ্লে।

প্রতিটি ডট প্রকৃতপক্ষে একটি এলইডি। এলইডিগুলো নিচের ছবির মতো একে অন্যের সাথে যুক্ত থাকে। 


ছবিতে আমরা দেখতে পাচ্ছি আড়াআড়িভাবে সাজানো প্রতিটি এলইডির ক্যাথোড এবং লম্বালম্বিভাবে সাজানো প্রতিটি এলইডির অ্যানোড পরস্পরের সাথে সংযুক্ত। এই কারনেই একটি ৮*৮ ডট ম্যাট্রিক্সের মোট পিন ১৬টি। আটটি সারির জন্য, আটটি কলামের জন্য। 
ধরা যাক, আমরা ৪ নং কলামের ৭ নং সারির ডটটি জ্বালাতে চাই। সেক্ষেত্রে আমাদেরকে কলাম পিন নং 4 কে +5V এবং Row pin no. 7 কে GND এর সাথে কানেক্ট করতে হবে। পিনগুলোতে অবশ্যই কারেন্ট লিমিটিং রেজিস্টর ব্যবহার করতে হবে। 

 
এভাবে আমাদের চাহিদামতো ডটগুলো জ্বালিয়ে বা নিভিয়ে আমরা বিভিন্ন সংখ্যা, অক্ষর বা নকশা দেখাতে পারি।

 
ডট ম্যাট্রিক্স ব্যবহার করে কিছু দেখাতে হলে আমাদের কয়েকটি বিষয় খেয়াল রাখা দরকার। উপরের আলোচনা থেকে আমরা বুঝতে পারছি যে একটি ডট ম্যাট্রিক্সকে সরাসরি মাইক্রোকন্ট্রোলারের  সাথে কানেক্ট করতে গেলে আমাদের ষোলটা পিন প্রয়োজন। শিফট রেজিস্টার ব্যবহার করে পিনের সংখ্যা কমিয়ে আনা যায়।  আরেকটি গুরুত্বপূর্ণ বিষয় হল, যেহেতু একেকটি সারি ও কলামের প্রতিটি এলইডির একটি কমন পিন থাকে, সেহেতু, একাধিক এলইডি জ্‌বালানোর সময় ঐ একই পিনে কানেক্টেড আরও অন্য এলইডিগুলোও জ্বলে উঠতে পারে, এমনকি আমরা সেগুলো জ্বালাতে না চাইলেও। অর্থ্যাৎ, এক্ষেত্রে আমাদের মাল্টিপ্লেক্সিং করতে হবে। হোক সেটা কোডের মাধ্যমে কিংবা হার্ডওয়্যার দিয়েই।
 
আমাদের সমস্যা সমাধানে অত্যান্ত সহায়ক হবে Max7219 আইসি। এটি একটি ডট ম্যাটিক্স এবং সেভেন সেগমেন্ট ডিসপ্লে ড্রাইভার আইসি। এই আইসি দিয়েই আমাদের  8x8 Dot Matrix Display Module তৈরী করা হয়েছে। এই আইসি দিয়ে আমরা দুটি বাইটকে শিফট করতে পারি। একটি কলাম অ্যাড্রেস সিলেকশনের জন্য, অন্যটি  কোনো নির্দিষ্ট এলইডিকে অন বা অফ করার জন্য। এই আইসির সবচেয়ে বড় সুবিধা হল, এটি SPI communication সাপোর্ট করে। অর্থ্যাৎ যেখানে আমাদের মাইক্রোকন্ট্রোলারের ১৬টি পিন খরচ হচ্ছিল সেখানে মাত্র তিনটি ডেটা পিন খরচ করেই আমরা এই আইসির মাধ্যমে ডট ম্যাট্রিক্সে ডেটা পাঠাতে পারি।  আরও একটি বড় সুবিধা হল, MAX7219 আইসিগুলো একটার সাথে আরেকটা কানেক্ট করে লম্বা চেইন বানানো সম্ভব। এভাবে আমরা মাইক্রোকন্ট্রোলারের সাথে একাধিক ডট ম্যাট্রিক্স ডিসপ্লে যুক্ত করতে পারি মাত্র তিনটি ডেটা পিন ব্যবহার করেই। এমনই চারটি ডট ম্যাট্রিক্স ডিসপ্লের চেইন হল  MAX7219 Dot Matrix Display Panel 32X8 P3.75। এই এক্সপেরিমেন্টে আমরা এই ডিসপ্লেটিই ব্যবহার করব। 

সার্কিটঃ 

ডট ম্যাট্রিক্স ডিসপ্লে প্যানেল এবং মাইক্রোকন্ট্রোলারের মধ্যে নিচের কানেকশনটি সম্পন্ন করি।

MAX7219 Dot Matrix Display Panel 32X8 P3.75

Microcontroller(ATmega16A/32A)

 

VCC

VCC

GND

GND

DIN

PB5

LOAD

PB4

CLK

PB7


প্রোগ্রামঃ

এই এক্সপেরিমেন্টের  লাইব্রেরি https://embeddedthoughts.com এর সৌজন্যে পাওয়া। ডকুমেন্ট সেকশন থেকে কোডটি ডাউনলোড করুন।  মাইক্রোকন্ট্রোলারে কোড আপলোড করুন। আরডুইনো কোড ও লাইব্রেরির জন্য এই টিউটোরিয়ালটি দেখুন। 
 
Login to post comments.


Copyright © 2012-13 Techshop Bangladesh. All rights reserved.