AVRSTM32بسکامکدویژن

راه اندازی ماژول سون سگمنت و دات ماتریس MAX7219 با stm32 و avr

راه اندازی ماژول MAX7219

5/5 - (24 امتیاز)

راه اندازی LED ماتریسی 8×8 با MAX7219

LED ماتریسی 8×8 یک آرایه LED دو بعدی است که برای نمایش کاراکترها، نمادها و تصاویر می توانیم از آن استفاده کنیم . تقریباً همه نمایشگرهای LED مدرن که در فضای باز استفاده می شود و به آنها تابلو روان نیز گفته می شود از LED ماتریس استفاده می کنند.

یک ماژول LED ماتریس تک رنگی معمولی 8×8 دارای 16 پین است که 8 پین برای هر سطر و 8 پین برای هر ستون دارد. دلیل سیم‌کشی تمام سطرها و ستون‌ها به هم، کاهش تعداد پین‌های مورد نیاز است. اگر اینطور نبود، یک واحد ماتریس 8×8  به 65 پین نیاز داشت، یعنی برای هر LED یک پین نیاز بود .

با سیم‌کشی ردیف‌ها و ستون‌ها به یکدیگر، تنها 16 پین مورد نیاز است. این تکنیک کنترل تعداد زیادی LED با پین های کمتر، Multiplexing نامیده می شود.

در این تکنیک هر ستون برای مدت زمان بسیار کوتاهی فعال می شود و همزمان LED های آن ستون با آدرس دادن به ردیف مربوطه روشن می شود. ستون ها آنقدر سریع جابجا می شوند (صدها یا هزاران بار در ثانیه) که تداوم چشم انسان، نمایشگر را کاملاً روشن می بیند. بنابراین تنها حداکثر هشت LED در یک زمان روشن می شود.

اما در کنار مزیت کاهش تعداد پین ها در روش Multiplexing ، معایبی نیز وجود دارد . در روش مالتی پلکس شما باید از 8 ترانزیستور قدرت برای درایور سطر یا ستون های led ماتریسی استفاده کنید و برای ثابت نگه داشتن تصویر بدون پرش ، باید دائماً نمایشگر را به رفرش کنید ، که باعث اضافه شدن بار پردازشی به میکروکنترلر می شود .

راه اندازی led ماتریسی 8x8
راه اندازی led ماتریسی 8×8

آی سی MAX7219

در این آموزش قصد داریم یک راه ساده و تا حدودی ارزان برای کنترل یک led ماتریس 8×8 معرفی کنیم .  آی سی MAX7219 گزینه ای بسیار مناسی برای کنترل یک ماتریس 8×8 می باشد .

آی سی قدرتمند MAX7219 می تواند تمام کارهای کنترلی و رفرش صفحه نمایش را برای شما انجام می دهد. تنها کاری که باید انجام دهید این است که دستورات سریال را از طریق رابط 4 پین SPI ارسال کنید و به طور خودکار بقیه موارد را انجام می دهد.

آی سی MAX7219 می تواند 64 LED جداگانه را به طور کامل کنترل کند ، از جمله حفظ روشنایی یکسان، و به شما امکان می دهد روشنایی LED ها را با سخت افزار یا نرم افزار (یا هر دو) تنظیم کنید.

هنگامی که صفحه نمایش توسط میکروکنترلر به روز می شود، MAX7219 تمام کارهای رفرش صفحه نمایش را با فرکانس 800 هرتز انجام می دهد. در نتیجه بار پردازشی را از میکروکنترلر خارج می کند و این امکان را به ما می دهد که به جای رفرش صفحه نمایش ماتریسی ، کارهای دیگری را با میکروکنترلر انجام دهیم .

حتی می‌توانید نمایشگر را برای حالت صرفه‌جویی در مصرف برق خاموش کنید، و همچنان در حالی که خاموش است، داده‌ها را ارسال کنید. و یکی دیگر از چیزهای خوب این است که هنگام روشن شدن، LED ها را خاموش نگه می دارد، بنابراین در ثانیه های اول کار هیچ سایه ای از نمایش قبلی وجود ندارد.

تراشه MAX7219 از طریق رابط SPI ارتباط برقرار می کند، بنابراین برای اتصال به یک میکروکنترلر فقط به 3 پین داده نیاز دارد، و علاوه بر این، می توانیم چندین ماژول را با هم برای نمایش بزرگتر با استفاده از همان 3 سیم به هم متصل و زنجیره کنیم.

چندین برد MAX7219 وجود دارد که دو مورد از آنها محبوب تر هستند ، یکی generic module و دیگری ماژول FC-16.

ماژول max7219
ماژول max7219

یک ماژول معمولی MAX7219 شامل یک نمایشگر ماتریس 8×8 و یک درایور نمایشگر LED MAX7219 است.

آی سی max7219
آی سی max7219

 

تنظیم حداکثر جریان و روشنایی آی سی MAX7219

آی سی MAX7219 به شما این امکان را می دهد که روشنایی نمایشگر را با سخت افزار یا نرم افزار (یا هر دو) تنظیم کنید. برای تنظیم روشنایی در سطح سخت افزار، برد  MAX7219 دارای یک مقاومت (RSet) است.

تنظیم نور MAX7219
تنظیم نور MAX7219

این مقاومت مسئول تنظیم حد بالای جریانی است که به LED ها وارد می شود و در نتیجه روشنایی کلی نمایشگر را تعیین می کند.

جدول زیر مقادیر مقاومتی را نشان می دهد که باید با توجه به ولتاژ و جریان پیشرو برای ماتریس LED خود استفاده کنید. به عنوان مثال، اگر یک LED 2V 20 mA دارید، مقدار مقاومت شما 28kΩ خواهد بود (مقادیر بر حسب kΩ هستند).

تنظیم حداکثر جریان و روشنایی آی سی MAX7219
تنظیم حداکثر جریان و روشنایی آی سی MAX7219

تنظیم روشنایی از طریق نرم افزار و توابع کتابخانه نیز امکان پذیر است .

پایه های (pinout) ماژول MAX7219

هر نوع ماژول را که انتخاب کنید، دو کانکتور روی آن ماژول وجود خواهد داشت.

پایه های ماژول max7219
پایه های ماژول max7219

کانکتور ورودی :
پین های در یک طرف ماژول برای ارتباط با میکروکنترلر استفاده می شود.

  • VCC : به 5 ولت وصل می شود. با توجه به جریان بالای نمایشگر (تا 1 آمپر، در صورتی که روشنایی تا آخر بالا باشد)، توصیه می شود تغذیه ماژول max7219 را از منبع تغذیه خارجی تامین کنید. در غیر این صورت اگر از تغذیه هدر بورد یا میکروکنترلر شما توان تامین تا 1 آمپر را ندارد ، حتما روشنایی را زیر 50 درصد نگه دارید تا رگولاتور ولتاژ  بیش از حد گرم نشود.
  • GND : به زمین متصل می شود.
  • DIN : ورودی داده است. آن را به هر پایه دیجیتالی میکروکنترلر می توانید وصل کنید.
  • CS/LOAD : پایه Chip Select است (گاهی اوقات به عنوان LOAD برچسب گذاری می شود). آن را به هر پایه دیجیتالی میکروکنترلر می توانید وصل کنید.
  • CLK : پین کلاک است. آن را به هر پایه دیجیتالی میکروکنترلر می توانید وصل کنید.

کانکتور خروجی :
پین های در انتهای دیگر ماژول زمانی استفاده می شوند که می خواهید نمایشگرها را با هم زنجیر کنید.

  • VCC : در ماژول بعدی به 5 ولت وصل می شود.
  • GND : در ماژول بعدی به GND متصل می شود.
  • DOUT : داده خروجی است و به پین ​​DIN ماژول بعدی متصل می شود.
  • CS/LOAD : به CS / LOAD در ماژول بعدی متصل می شود.
  • CLK : در ماژول بعدی به CLK متصل می شود.

 

راه اندازی سون سگمنت با MAX7219

ماژول نمایشگر SPI7SEGDISP8.56 مبتنی بر تراشه درایور صفحه نمایش MAXIM MAX7219 است که یک رابط سریال 3 سیم (SPI) برای هدایت نمایشگرهای 7segment  (نوع کاتدی مشترک) تا 8 رقم ارائه می دهد.

جریان آی سی max7219 برای همه LED ها از طریق مقاومت خارجی R1 تنظیم می شود و کمی قبل تر جدولی برای بدست آوردن مقدار مقاومت قرار داده شده است .

همچنین قادر به ارائه کنترل نرم افزاری روشنایی صفحه نمایش (16 مرحله از حداقل به حداکثر) از طریق یک مدولاتور داخلی pwm است. برای جزئیات بیشتر در مورد بلوک دیاگرام داخلی و عملکرد MAX7219 دیتاشیت را بخوانید.

راه اندازی سون سگمنت 8 دیجیت با max7219
راه اندازی سون سگمنت 8 دیجیت با max7219

پایه های ماژول سون سگمنت نیز همانند پایه های ماژول دات ماتریس می باشد .

راه اندازی ماژول سون سگمنت MAX7219 با stm32 و کدویژن

ما یک کتابخانه کارآمد و بهینه جهت راه اندازی ماژول سون سگمنت 8 دیجیت و یک کتابخانه برای راه اندازی دات ماتریس با MAX7219 تهیه کردیم .

کتابخانه MAX7219 توسط توابع HAL نوشته شده است و تمامی تنظیمات با نرم افزار CubeMX انجام می شود . ماژول MAX7219 قابل اتصال به تمامی پین های میکروکنترلر به صورت دلخواه را دارد .

مثال همراه پروژه بصورت عملی بر روی بورد بلوپیل با چیپ STM32F103C8T6 تست شده است ، که در ادامه فیلم عملکرد آن قرار داده شده است . این کتابخانه قابلیت اضافه شدن به سایر میکروکنترلرهای STM32 را نیز دارد .

راه اندازی سون سگمنت max7219 با stm32
راه اندازی سون سگمنت max7219 با stm32

 

فیلم زیر راه اندازی 8 عدد سون سگمنت با درایور max7219 می باشد .

راه اندازی ماژول دات ماتریس MAX7219 با stm32 و کدویژن

فیلم زیر راه اندازی 4 عدد دات ماتریکس 8*8 با درایور max7219 می باشد . در این پروژه ابتدا یک متن بصورت تابلو روان عبور می کند ، سپس مقدار ساعت از ماژول ds3231 خوانده شده و بر روی دات ماتریس نمایش داده می شود ، مقدار دقیقه و ساعت توسط دو عدد کلید قابل تنظیم می باشند . هر 10 ثانیه یکبار مقدار دما از سنسور دمای داخلی ماژول ds3231 خوانده می شود و به مدت 5 ثانیه بر روی دات ماتریس نمایش داده می شود .
پروژه برای stm32 با ماژول بلوپیل که میکروکنترلر آن stm32f103c8t6 می باشد انجام شده است . این کتابخانه را می توانید بدون مشکل برای دیگر انواع و سری های stm32 بکار ببرید . تمامی تنظیمات از طریق نرم افزار cubemx انجام می شود و نیازی به تغییر در فایل کتابخانه نمی باشد . پایه های ماژول دات ماتریس را می توانید به هر پایه دلخواه stm32 وصل کنید .
این کتابخانه قابلیت نمایش متن بصورت اسکرول شدن یا همان تابلو روان را دارد . قابلیت نمایش هر نوع کاراکتر دلخواه به صورت ثابت در موقعیت دلخواه را نیز دارد . کاراکتر مورد دلخواه را میتوانید بسازید و به کتابخانه اضافه کنید .
قابلیت اضافه کردن تعداد ماژول دات ماتریس بیشتر از 4 عدد را دارد فقط باید تعداد ماژول داد ماتریس را در کتابخانه وارد کنید .

قابلیت های کتابخانه دات ماتریس max7219 برای کدویژن به شرح زیر می باشد :
پایه های ماژول دات ماتریس را می توانید به هر پایه دلخواه avr وصل کنید .
قابلیت نمایش متن بصورت اسکرول شدن را دارد .
قابلیت نمایش هر نوع کاراکتر دلخواه به صورت ثابت در موقعیت دلخواه را دارد .
کاراکتر مورد دلخواه را میتوانید بسازید و به کتابخانه اضافه کنید .
قابلیت اضافه کردن تعداد ماژول دات ماتریس بیشتر از 4 عدد را دارد فقط باید تعداد ماژول داد ماتریس را در کتابخانه وارد کنید .

راه اندازی دات ماتریکس max7219 با stm32
راه اندازی dot matrix max7219 با stm32

توجه : گزینه هایی که با s7 مشخص شده اند ،  کتابخانه راه اندازی 7 segment با max7219 می باشند .

توجه : گزینه هایی که با DotMatrix مشخص شده اند ،کتابخانه راه اندازی DotMatrix با max7219 می باشند .

توجه : گزینه هایی که با DotMatrix_Clock مشخص شده اند، پروژه ساعت بر روی دات ماتریس با قابلیت تنظیم می باشد .

همچنین بخوانید : ساعت دیجیتال روی سون سگمنت + قابلیت تنظیم

  نویسنده : حسین غیاثوند
 خرید و دانلود در لحظه :

Admin

در زمینه برنامه نویسی و اینترنت اشیاء فعالیت می کنم . علاقمند به یادگیری و اشتراک گذاری آموخته های خود هستم .

نوشته های مشابه

guest
4 دیدگاه
قدیمی ترین
جدیدترین محبوب ترین
بازخورد داخلی
مشاهده همه نظرات