
2025 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2025-01-23 14:36

MAX7219 কন্ট্রোলার ম্যাক্সিম ইন্টিগ্রেটেড দ্বারা নির্মিত হয় কম্প্যাক্ট, সিরিয়াল ইনপুট/আউটপুট কমন-ক্যাথোড ডিসপ্লে ড্রাইভার যা মাইক্রোকন্ট্রোলারগুলিকে 64 পৃথক LEDs, 7-সেগমেন্ট সংখ্যাসূচক LED ডিসপ্লে পর্যন্ত 8 ডিজিট, বার-গ্রাফ ডিসপ্লে ইত্যাদি অন্তর্ভুক্ত করে। -চিপ হল একটি BCD কোড-B ডিকোডার, মাল্টিপ্লেক্স স্ক্যান সার্কিট্রি, সেগমেন্ট এবং ডিজিট ড্রাইভার এবং একটি 8 × 8 স্ট্যাটিক র RAM্যাম যা প্রতিটি অঙ্ক সংরক্ষণ করে।
MAX7219 মডিউলগুলি ATtiny85 এর মতো মাইক্রোকন্ট্রোলারগুলির সাথে ব্যবহার করা খুব সুবিধাজনক, অথবা, আমাদের ক্ষেত্রে টিনসৌর বোর্ড।
ধাপ 1: হার্ডওয়্যার


MAX7219 মডিউলগুলি সাধারণত এইরকম দেখায়। তাদের একদিকে একটি ইনপুট বাস এবং অন্যদিকে আউটপুট বাস রয়েছে। এটি আপনাকে আরও জটিল সেটআপ তৈরির জন্য ডেইজি চেইন 2 বা তার বেশি মডিউল, যেমন একের পর এক করতে দেয়।
আমরা যে মডিউলগুলি ব্যবহার করছি তা 5 টি ছোট জাম্পার ব্যবহার করে একটি শৃঙ্খলে সংযোগ করতে সক্ষম। নিচের ছবিটি দেখুন।
ধাপ 2: পিনআউট এবং সিগন্যাল
MAX7219 মডিউলে 5 টি পিন রয়েছে:
- VCC - শক্তি (+)
- GND-স্থল (-)
- ডিআইএন - ডেটা ইনপুট
- সিএস - চিপ নির্বাচন
- CLK - ঘড়ি
এর মানে হল যে মডিউল নিয়ন্ত্রণ করার জন্য আমাদের ATtiny85 মাইক্রোকন্ট্রোলার সাইডে 3 টি পিন দরকার। সেগুলো হবে:
- PB0 - CLK এর সাথে সংযুক্ত
- PB1 - CS এর সাথে সংযুক্ত
- PB2 - DIN এর সাথে সংযুক্ত
এটি MAX7219 মডিউলের সাথে সংযোগ স্থাপন এবং এটি প্রোগ্রাম করার জন্য যথেষ্ট।
ধাপ 3: প্রোটোকল

MAX7219 এর সাথে যোগাযোগ করা তুলনামূলকভাবে সহজ - এটি একটি সিঙ্ক্রোনাস প্রোটোকল ব্যবহার করে যার মানে হল যে আমরা যে প্রতিটি ডেটা বিট পাঠাই তার জন্য একটি ঘড়ি চক্র রয়েছে যা সেই ডেটা বিটের উপস্থিতি নির্দেশ করে।
অন্য কথায়, আমরা বিটগুলিতে 2 সমান্তরাল ক্রম পাঠাই - একটি ঘড়ির জন্য এবং অন্যটি ডেটার জন্য। সফটওয়্যারটি এটাই করে।
ধাপ 4: সফটওয়্যার

এই MAX7219 মডিউলটি যেভাবে কাজ করে তা হল:
- আমরা এর অভ্যন্তরীণ রেজিস্টারে বাইট লিখি।
- MAX7219 ডেটা ব্যাখ্যা করে।
- MAX7219 ম্যাট্রিক্সে LEDs নিয়ন্ত্রণ করে।
এর অর্থ এইও যে, তাদের আলো জ্বালানোর জন্য আমাদের সারাক্ষণ এলইডির সারির মধ্য দিয়ে ঘুরতে হবে না - MAX7219 নিয়ামক সেটার যত্ন নেয়। এটি LEDs এর তীব্রতাও পরিচালনা করতে পারে।
সুতরাং, MAX7219 মডিউলগুলি সুবিধাজনক উপায়ে ব্যবহার করার জন্য আমাদের সেই উদ্দেশ্য পূরণ করার জন্য ফাংশনগুলির একটি লাইব্রেরির প্রয়োজন।
প্রথমে, MAX7219 রেজিস্টারে লেখার জন্য আমাদের কিছু মৌলিক ফাংশন দরকার।
- MAX7219 এ একটি বাইট লেখা।
- MAX7219 এ একটি শব্দ (2 বাইট) লেখা।
কন্ট্রোলারে একটি বাইট লেখার ফাংশনটি এরকম দেখাচ্ছে:
void max7219_byte (uint8_t data) {for (uint8_t i = 8; i> = 1; i--) {PORTB & = ~ (1 << MAX7219_CLK); // CLK কে LOW এ সেট করুন যদি (data & 0x80) // ডাটা PORTB এর MSB মাস্ক করুন | = (1 << MAX7219_DIN); // DIN কে HIGH PORTB & = Set (1 << MAX7219_DIN) এ সেট করুন; // নিম্ন পোর্টবিতে ডিআইএন সেট করুন | = (1 << MAX7219_CLK); // CLK কে হাই ডেটাতে সেট করুন << = 1; // বাম দিকে শিফট করুন}}
এখন যেহেতু আমরা MAX7219 এ বাইট পাঠাতে পারি আমরা কমান্ড পাঠানো শুরু করতে পারি। অভ্যন্তরীণ রেজিস্টারের ঠিকানার জন্য ২ য় এবং আমরা যে ডেটা পাঠাতে চাই তার জন্য ২ য় পাঠিয়ে এটি করা হয়।
MAX7219 কন্ট্রোলারে এক ডজনেরও বেশি রেজিস্টার রয়েছে।
একটি কমান্ড বা একটি শব্দ প্রেরণ করা হচ্ছে মূলত 2 পরপর বাইট পাঠানো। ফাংশন বাস্তবায়ন যে খুব সহজ।
void max7219_word (uint8_t address, uint8_t data) {PORTB & = ~ (1 << MAX7219_CS); // CS কম করে max7219_byte (ঠিকানা) সেট করুন; // ঠিকানা max7219_byte (ডেটা) পাঠানো; // ডেটা পাঠানো PORTB | = (1 << MAX7219_CS); // উচ্চ পোর্টবিতে সিএস সেট করুন এবং = ~ (1 << MAX7219_CLK); // CLK কে LOW এ সেট করুন
এখানে যে লাইনটি আমরা সিএস সিগন্যালকে হাই -তে ফিরিয়ে আনি তা এখানে উল্লেখ করা গুরুত্বপূর্ণ - এটি ক্রমের শেষ চিহ্ন - এই ক্ষেত্রে, কমান্ডের শেষ। একটি শৃঙ্খলে সংযুক্ত একটি ম্যাট্রিক্সকে নিয়ন্ত্রণ করার সময় অনুরূপ কৌশল ব্যবহার করা হয়। পরবর্তী পদক্ষেপ, আমরা LEDs চালু এবং বন্ধ করার আগে, MAX7219 নিয়ামককে আরম্ভ করা। নির্দিষ্ট রেজিস্টারে নির্দিষ্ট মান লিখে এটি করা হয়। সুবিধার জন্য, এটি কোডিং করার সময় আমরা একটি অ্যারেতে আরম্ভের ক্রম রাখতে পারি।
uint8_t initseq = {0x09, 0x00, // Decode-Mode Register, 00 = No decode 0x0a, 0x01, // Intensity Register, 0x00.. 0x0f 0x0b, 0x07, // Scan-Limit Register, 0x07 সব লাইন দেখানোর জন্য 0x0c, 0x01, // শাটডাউন রেজিস্টার, 0x01 = নরমাল অপারেশন 0x0f, 0x00, // ডিসপ্লে-টেস্ট রেজিস্টার, 0x00 = নরমাল অপারেশন};
আমাদের ঠিক উপরে 5 টি কমান্ড পাঠাতে হবে একটি ক্রমে ঠিকানা/ডাটা জোড়া হিসাবে। পরবর্তী ধাপ - LEDs একটি সারি আলো
এটি খুবই সহজ - আমরা শুধু একটি কমান্ড লিখি যেখানে 1 ম বাইট হল ঠিকানা (0 থেকে 7) এবং দ্বিতীয় বাইট হল 8 টি বিট যা সারিতে 8 টি LEDs উপস্থাপন করে।
অকার্যকর max7219_row (uint8_t address, uint8_t data) {if (address> = 1 && address <= 8) max7219_word (address, data); }
এটি মনে রাখা গুরুত্বপূর্ণ যে এটি শুধুমাত্র 1 ম্যাট্রিক্সের জন্য কাজ করবে। যদি আমরা একটি শৃঙ্খলে আরো ম্যাট্রিক্স সংযুক্ত করি তবে তারা সবাই একই ডেটা দেখাবে। এর কারণ হল কমান্ড পাঠানোর পর আমরা সিএস সিগন্যালকে আবার হাই -তে নিয়ে আসি যার কারণে চেইনের সকল MAX7219 কন্ট্রোলার ল্যাচ করে এবং শেষ কমান্ড যাই হোক না কেন তা দেখায়।
প্রস্তাবিত:
কিভাবে "skiiiD" দিয়ে Max7219 8x8 ডট ম্যাট্রিক্স ব্যবহার করবেন: 9 টি ধাপ

কিভাবে "skiiiD" দিয়ে Max7219 8x8 ডট ম্যাট্রিক্স ব্যবহার করবেন: এটি ম্যাক্স 7219 8x8 ডট ম্যাট্রিক্সের একটি ভিডিও নির্দেশনা " /শুরু করা-ডব্লিউ
কিভাবে 8x8 বিগ LED ম্যাট্রিক্স তৈরি করবেন (MAX7219 LED 10mm): 9 টি ধাপ (ছবি সহ)

কিভাবে 8x8 বিগ LED ম্যাট্রিক্স (MAX7219 LED 10mm) তৈরি করবেন: আপনি কি ডিসপ্লে হিসেবে রেডিমেড 8x8 LED ম্যাট্রিক্স নিয়ে কাজ করেছেন? এগুলি বিভিন্ন আকারে আসে এবং তাদের সাথে কাজ করা বেশ আকর্ষণীয়। একটি বড় সহজলভ্য আকার প্রায় 60 মিমি x 60 মিমি। যাইহোক, যদি আপনি অনেক বড় রেডিমেড LED ম্যাট্রিক্স খুঁজছেন
ইন্টারফেস এলইডি ডট ম্যাট্রিক্স (8x8) নোডএমসিইউ সহ: 6 টি ধাপ (ছবি সহ)

ইন্টারফেস এলইডি ডট ম্যাট্রিক্স (8x8) নোডএমসিইউ দিয়ে: হ্যালো মেকার্স, আমি আরেকটি সহজ এবং শীতল ইন্সট্রাকটেবল এর সাথে।
8051 মাইক্রোকন্ট্রোলারের সাথে ডট ম্যাট্রিক্স LED ডিসপ্লে ইন্টারফেসিং: 5 টি ধাপ

8051 মাইক্রোকন্ট্রোলারের সাথে ডট ম্যাট্রিক্স LED ডিসপ্লে ইন্টারফেসিং: এই প্রজেক্টে আমরা 8051 মাইক্রোকন্ট্রোলারের সাথে একটি ডট ম্যাট্রিক্স LED ডিসপ্লে ইন্টারফেস করতে যাচ্ছি। এখানে আমরা প্রোটিয়াসে সিমুলেশন দেখাব, আপনি আপনার হার্ডওয়্যারে একই জিনিস প্রয়োগ করতে পারেন। সুতরাং এখানে আমরা প্রথমে একটি অক্ষর মুদ্রণ করবো এই কথায় 'এ' বলি
Arduino- এর সাথে 4x3”TFT ডিসপ্লে কিভাবে ইন্টারফেস করবেন: 4 টি ধাপ

কিভাবে একটি Arduino এর সাথে 4x3”TFT ডিসপ্লে ইন্টারফেস করবেন: FocusLCDs.com আমাকে একটি 4x3” TFT LCD (P/N: E43RG34827LW2M300-R) এর একটি বিনামূল্যে নমুনা পাঠিয়েছে। এটি একটি কালার অ্যাক্টিভ ম্যাট্রিক্স টিএফটি (পাতলা ফিল্ম ট্রানজিস্টার) এলসিডি (তরল ক্রিস্টাল ডিসপ্লে) যা সুইচিং ডিভাইস হিসেবে নিরাকার সিলিকন টিএফটি ব্যবহার করে। এই মডেলটি গ