امروز قصد داریم آی سی درایور نمایشگر LED Maxim MAX7219 را بررسی کنیم. دلیل انجام این کار این است که به شما نشان دهیم چگونه چیزی که قبلاً کاملاً پیچیده بود را می توان بسیار ساده ساخت - و این همان چیزی است که تمام این فناوری برای آن است، اینطور نیست؟
اگر تا به حال سعی کرده اید تعداد زیادی LED یا بیش از دو یا سه نمایشگر 7 قسمتی یا حتی یک ماتریس LED را کنترل کنید، متوجه می شوید که کارهای زیادی در بخش نرم افزاری و سخت افزاری چیزها وجود دارد. معمولاً شامل تعداد زیادی رجیستر شیفت، سوئیچینگ ترانزیستورها و کدنویسی بسیار خوبی است تا همه چیز کار کند. و سپس کد شما خیلی بزرگ است، بنابراین صفحه نمایش بهقدری آهسته اسکن میشود که میتواند سوسو بزند و غیره.
دیگر نه! MAX7219 همراه با یک کتابخانه عالی (به هر حال برای آردوینو خوب است) تمام سردردها را در کمترین زمان برطرف می کند. امروز بعد از استفاده از آن برای اولین بار، برای مدت کوتاهی عصبانی بودم که زودتر از آن مطلع نشدم... بهتر از هرگز.
بله، در نگاه اول ممکن است فکر کنید که این کار مستغلات زیادی را می طلبد، اما باعث صرفه جویی در مقداری نیز می شود. این تراشه می تواند 64 LED جداگانه را به طور کامل کنترل کند، از جمله حفظ روشنایی یکسان، و به شما امکان می دهد روشنایی LED ها را با سخت افزار یا نرم افزار (یا هر دو) تنظیم کنید. این می تواند LED ها را در حدود 800 هرتز تازه کند، بنابراین دیگر از نمایشگرهای LED ناهموار و سوسو زننده خبری نیست. حتی میتوانید نمایشگر را برای حالت صرفهجویی در مصرف برق خاموش کنید، و همچنان هنگام خاموش بودن، دادههای آن را ارسال کنید. و یک چیز خوب دیگر - هنگامی که روشن می شود، LED ها را خاموش نگه می دارد، بنابراین در ثانیه های اول کار، هیچ نمایشگر حواس پرتی وجود ندارد.
رابط MAX7219 نیز بسیار ساده است، شما فقط به سه پایه خروجی دیجیتال از یک میکروکنترلر، 5 ولت و زمین نیاز دارید. حداکثر هشت آی سی را می توان برای کنترل همزمان 512 LED - فقط از سه پین داده - آبشاری کرد. وای. با این حال، کنترل همه این LED ها به منبع تغذیه ای نیاز دارد که می تواند 330 میلی آمپر را فقط برای آی سی اجازه دهد، بنابراین نمی توانید آن را فقط از Ardiuino خود استفاده کنید - به برق خارجی نیاز دارید. هیچ چیزی را رگولاتور LM7805 نمی تواند برطرف کند.
برای اطلاعات فنی بیشتر، برگه داده در اینجا آمده است: MAX7219.pdf . اکنون برای اینکه آن را برای ما کار کنیم - این مقاله استفاده از ماتریس LED 8 x 8 و همچنین 8 رقم اعداد LED 7 قسمتی را نشان می دهد. اول از همه، بیایید جنبه سخت افزاری را بررسی کنیم.
به طور معمول شما باید برای تغییر ردیف ها و ستون ها برنامه ریزی کنید و این دستورات را در نرم افزار تکرار کنید و همچنین از ترانزیستورهای سوئیچینگ یا 74HC4066 برای کنترل کاتدها استفاده کنید.
مثال دیگر یک ماژول LED 7 قطعه ای چند رقمی است - جریان از طریق پین های آند وارد می شود و هر رقم تنها زمانی روشن می شود که کاتد آن به زمین متصل شود.
دارای پایه های ورودی برای هر یک از هشت عنصر LED، و چهار پایه کاتد، یکی برای هر رقم. همانطور که در ادامه خواهید دید می توانیم از دو عدد از این نمایشگرها با MAX7219 خیلی راحت استفاده کنیم.
هنگام استفاده با (به عنوان مثال) یک برد آردوینو ، می توانید داده های سریال را در، ساعت و بارگذاری به سه پین دیجیتال متصل کنید. مقاومت کنترل سخت افزاری از طریق محدود کردن جریان به LED ها است. نمونه های من از مقدار 1k0 1/4 وات استفاده می کنند. اگر می خواهید این مقدار را آزمایش کنید، ابتدا به صفحه 10 برگه داده مراجعه کنید. علاوه بر این، مطمئن شوید که زمین MAX7219 به زمین میکروکنترلر متصل است. خازن ها برای کاهش ریپل جریان تغذیه استفاده می شوند. و در اینجا مدار نمایش روی تخته نان است:
در عکس بالا، پنج سیم سمت چپ به برد آردوینو (5 ولت، GND، بار، ساعت، دیتا) متصل است. دو سیم از بلوک ترمینال به منبع تغذیه DIY 5v من سر میزنند.
اکنون زمان بررسی جنبه نرم افزاری یا نحوه کنترل MAX7219 است. دانش من در مورد میکروکنترلرها در حال حاضر فقط آردوینو است، بنابراین برای این بررسی از آن استفاده خواهیم کرد. خوشبختانه یک کتابخانه عالی وجود دارد که به طور خاص برای MAX7219 نوشته شده است - کتابخانه LedControl . شما باید کتابخانه را از صفحه LedControl دانلود و نصب کنید . اگر برای نصب کتابخانه به راهنمایی نیاز دارید، لطفاً از اینجا دیدن کنید .
نویسنده کار شگفت انگیزی در مستندسازی کتابخانه خود انجام داده است، بنابراین من به طور خلاصه عملکردهای اساسی را که برای چشمک زدن چیزها نیاز دارید، شرح خواهم داد. در اینجا یک طرح نمایشی بسیار ابتدایی وجود دارد: