سلام خدمت دوستان عزیز امروز در خدمتتون هستیم با آموزش راه اندازی LCD گرافیکی ST7920 با کتابخانه u8glib.h. ابتدا لینک دانلود این کتابخانه رو برای دوستانی که قصد دانلود کتابخانه u8glib.h رو دارند، قرار دادیم.
نمایشگر دات ماتریکس ST7920 LCD
ابتدا به بررسی این نمایشگر می پردازیم.
ST7920 یک نمایشگر LCD است. که از 8,192 پیکسل ساخته شده است و دارای رزولوشن 128*64 میباشد. هنگامی که یک بخش از نمایشگر LCD خاموش میشود، مولکولهای کریستال مایع در آن بخش بهگونهای قرار میگیرند که نور را از خود عبور نمیدهند. این موضوع باعث میشود که به نظر برسد آن بخش، سیاه است! برای کسب اطلاعات بیشتر به ویکیپدیا مراجعه کنید.
ST7920 یک کنترلکننده نمایشگر است که توسط شرکت تایوانی سیترونیکس (Sitronix) ساخته شده است.
مشخصات السیدی ST7920
- نوع: LCD
- رزولوشن: 128×64 pixels
- اندازه صفحه نمایش : 2.9 inch
- ابعاد: 93x70mm
- تغذیه : 2.7 ولت (V) تا 5.5
- رنگ: آبی/سفید یا مشکی/سبز
دیتاشیت ST7920 اطلاعات دقیقی در مورد کنترلر این نمایشگر ارائه میکند، از جمله ویژگیها و نمودارهای زمانی آن. برای دانلود این دیتاشیت روی دیتاشیت ST7920 کلیک کنید.
کتابخانه U8g2 به همراه لینک دانلود
U8g2 یک کتابخانهی خاص برای کنترل آسان نمایشگرهای مونوکروم میباشد. با استفاده از کتابخانه U8g2، شما میتوانید عناصر گرافیکی مانند خطوط، مستطیلها، دایرهها را روی صفحهنمایش رسم کنید. همچنین، از طریق آن، امکان نوشتن متن نیز وجود دارد.
برای دسترسی به یک نمایش کلی از تمامی توابع موجود، شما میتوانید به صفحهی مرجع U8g2 مراجعه کنید. در حال حاضر، U8g2 بیش از 200 نمایشگر مختلف را پشتیبانی میکند. مزیت بزرگ آن این است که شما دیگر نیازی به پیدا کردن کنترلر هر نمایشگر، ندارید چراکه از این کتابخانه برای کنترل اکثر نمایشگر های گرافیکی می توان استفاده کرد.
راهنمای پین های نمایشگر ST7920
در این مدار از یک بردبورد استفاده میکنیم. اگر صفحهنمایش را در بردبورد قرار دهید، خواهید دید که برچسب (لیبل) های پین دیگر قابلمشاهده نیستند. میتوانید تصویر زیر را پرینت کنید. اکنون میتوانید آن را دقیقاً در پایین صفحهنمایش خود قرار دهید و دوباره برچسبهای پین را مشاهده کنید.
اگر پین دقیقاً مطابقت ندارد، تنظیمات پرینتر خود را بررسی کنید تا ببینید آیا بزرگنمایی به 100٪ تنظیم شده است یا خیر.
مدار نمایشگر ST7920
مرحله اول
برای شروع، ابتدا با استفاده از یک بردبورد، سیم 5 ولت را به ردیف پایین+
(رنگ قرمز) و GND را به ردیف بالا
-
(رنگ مشکی) متصل میکنیم. برای این کار، ‘5V’ را در :KnSgtg:Arduino:: به بردبورد متصل میکنیم. همین کار را برای GND نیز انجام میدهیم.
مرحله دوم: تغذیه السیدی
مرحله بعدی تأمین ولتاژ 5 ولت ال سی دی (LCD) است. برای انجام این کار، از پین های ‘Vcc’ و ‘GND’ در سمت راست صفحه نمایش استفاده می کنیم. این پین ها را به ردیف پایین
+ و ردیف بالا– روی بردبورد متصل کنید.
مرحله سوم: نور پسزمینه LCD (اختیاری)
حالا زمان آن رسیده است که به بک لایت را روشن کنیم. بک لایت این نمایشگر دارای یک آند (+) و یک کاتد (-) است. LEDهای نور پسزمینه با ولتاژ 3.3 ولت کار میکنند، بنابراین آن را به 5 ولت متصل نکنید، زیرا ممکن است نور پسزمینه خراب شود.
برای تأمین نور پسزمینه LCD، پین BLA (- نور پسزمینه) را به 3V3 و پین BLK (+ نور پسزمینه) را به ردیف بالایی بردبورد متصل کنید.
مرحله چهارم: دادههای سریال
حالا باید به نمایشگر بگوییم که چگونه دادهها را ارائه خواهیم داد. ما قصد داریم از پروتکل SPI (رابط محیطی سریال) استفاده کنیم. با پین PSB میتوانیم حالت انتقال داده را تنظیم کنیم.
اگر پین PSB را روی high قراردهیم ، نمایشگر دادههای موازی را انتظار دارد، با LOW سریال. در این پروژه، باید پین PSB با اتصال به ردیف بالایی – برد بورد، روی حالت Low قرار دهیم.
مرحله پنجم: SPI (پورت ارتباط جانبی سریال)
آخرین مرحله کامل کردن اتصالات داده برای ارتباط SPI است. SPI از سه پورت مختلف استفاده میکند:
- Serial Clock SCK
- Master In Slave Out MOSI
- Chip Select CS
ما از پین 13 آردوینو (سیم نارنجی) به عنوان سریال کلاک ‘SCK.’ استفاده خواهیم کرد. در نمایشگر، پین E به عنوان پین مورد نظر برچسبگذاری شده است.
برای Master In Slave Out MOSI پروتکل SPI، پین 11 آردوینو (سیم آبی) را به پین RW (Read Write) روی نمایشگر متصل میکنیم.
آخرین مرحله اتصال سیم CS (chip select) یعنی انتخاب چیپ است که این چیپ روی نمایشگر با برچسب RS که مخفف Register Select است، به پین 10 آردوینو متصل خواهد شد.
خب دیگه مدار کاملاً آماده است و حالا زمان کدنویسی رسیده! 😎
کد آردوینو
همانطور که قبلاً اشاره شد، ما از کتابخانه U8g2 استفاده میکنیم. ابتدا باید این کتابخانه را نصب کنیم. برای نصب آن، مراحل زیر را انجام دهید:
Sketch ▸ Include Library ▸ Manage libraries…
U8g2 را جستجو کرده و روی گزینه install برای کتابخانه U8g2 by Oliver کلیک کنید.
ما قصد داریم از کد دمو U8g2 استفاده کنیم.
File ▸ Examples ▸ U8g2 ▸ page_buffer ▸ GraphicsTest
اگر کمی به سمت پایین اسکرول کنید، تعاریف زیادی از نمایشگرها خواهید دید:
1 2 3 4 | 1 //U8G2_ST7920_128X64_1_8080 u8g2(U8G2_R0, 8, 9, 10, 11, 4, 5, 6, 7, /*enable=*/ 18 /* A4 */, /*cs=*/ U8X8_PIN_NONE, /*dc/rs=*/ 17 /* A3 */, /*reset=*/ 15 /* A1 */); 2 //U8G2_ST7920_128X64_1_SW_SPI u8g2(U8G2_R0, /* clock=*/ 18 /* A4 */ , /* data=*/ 16 /* A2 */, /* CS=*/ 17 /* A3 */, /* reset=*/ U8X8_PIN_NONE); 3 //U8G2_ST7920_128X64_1_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* CS=*/ 10, /* reset=*/ 8); 4 //U8G2_ST7920_128X64_1_HW_SPI u8g2(U8G2_R0, /* CS=*/ 10, /* reset=*/ 8); |
برای صفحهنمایش ما، این کدی است که باید استفاده کنیم:
1 | 1 U8G2_ST7920_128X64_1_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* CS=*/ 10, /* reset=*/ 8); |
شاید برای شما مفید باشد: آموزش آردوینو از مقدماتی تا پیشرفته به همراه پروژه های عملی
آپلود کد آردوینو
اکنون برنامه ما برای آپلود در آردوینو آماده است. ابتدا باید برد آردوینو خود را با کابل USB به کامپیوتر وصل کنید. سپس باید مطمئن شوید که برد صحیح را در نرمافزار IDE انتخاب کردهاید.
Tools ▸ Board ▸ Arduino/Genuino UNO
و همچنین، پورت صحیح را نیز باید انتخاب کنید.
Tools ▸ Port
اگر مطمئن نیستید از کدام پورت استفاده کنید، میتوانید همه آنها را تست کنید تا در نهایت، بتوانید کد خود را با موفقیت آپلود کنید.
بالا سمت چپ یک دکمه گرد با علامت چک را نشان میدهد. با فشردن این دکمه، نرمافزار IDE متوجه میشود که کد شما را برای خطاهای احتمالی تأیید کند. IDE فقط بررسی میکند که آیا میتواند کد شما را بخواند یا خیر و بررسی نمیکند که آیا کد را درست نوشتهاید یا خیر.
اگر همه چیز درست انجام شود، نرمافزار IDE پیغام Compiling completed را نشان میدهد. اکنون میتوانید کد خود را با فشاردادن دکمه موردنظر (دکمه گردی که دارای یک فلش به سمت راست است) آپلود کنید.
پیغام “Avrdude done. Thank you” به معنای اتمام موفقیتآمیز آپلود برنامه شماست. برنامه شما بلافاصله پس از آپلود شروع به اجرا خواهد کرد.
کد دمو کتابخانه U8g2 روی صفحهنمایش
اکنون باید کد روی آردوینو کار کند. اگر درست کار نکرد، بررسی کنید که همه سیمها را بهدرستی وصل کردهاید و هیچ اتصالی شل نیست.
این بود آموزش استفاده از کتابخانه U8g2 برای راه اندازی ال سی دی ST7920 شما می توانید برای مشاهده دیگر پروژه های آردوینو روی لینک کلیک نمایید.