ESEN طیف گسترده ای از ماژول های LCD با کاراکتر استاندارد را برای برنامه های کاربردی مشتریان ارائه می دهد. شما می توانید نمایش را با حداقل تعداد پین های کنترل به دست آورید و انتخاب MCU را آسان تر کنید.
ماژول های LCD کاراکتر رایج در بازار یک صفحه انتقال را برای پشتیبانی از رابط I2C اضافه می کنند، همانطور که در شکل 1 نشان داده شده است، که منجر به افزایش ضخامت LCM می شود.فرآیند های بیشتری در تولید و نرخ بهره کمتر.
| شکل ۱:ماژول LCD رایج در بازار که شامل یک برد انتقال برای پشتیبانی از I2C است. | شکل 2: ماژول کریستال مایع 1602 کاراکتر ESEN. این پشتیبانی از رابط I2C و SPI و نیاز به یک صفحه انتقال اضافی ندارد. |
شما نیازی به اضافه کردن یک صفحه رله ندارید. فقط صفحه توسعه Arduino Uno را متصل کنید، و شما می توانید به طور مستقیم ماژول LCD شخصیت را با استفاده از رابط های ارتباطی مختلف کنترل کنید.
تعریف پین LCM را شناسایی کنید
جدول اول:تعریف پین LCM
| پين شماره | نماد | توضیحات |
|---|---|---|
| نه، نه1 | Vss | زمین |
| نه، نه2 | Vdd | منبع برق برای منطق |
| نه، نه3 | V0 | تنظیم کنتراست |
| نه، نه4 | RS | انتخاب فرمان/داده |
| نه، نه5 | RW | خواندن/نوشتن سیگنال انتخاب برای رابط 6800 8/4bit فقط |
| نه، نه6 | E | فقط سیگنال برای رابط 6800 8/4 بیت فعال کنید |
| نه، نه7 | DB0/SA0 | خط اتوبوس داده 0 فقط برای رابط 8 بیتی 6800 خط تنظیم آدرس SA0 برای رابط I2C |
| نه، نه8 | DB1/SA1 | خط اتوبوس داده 1 فقط برای رابط 8 بیتی 6800 خط تنظیم آدرس SA1 برای رابط I2C |
| نه، نه9 | DB2 | خط اتوبوس داده 2 فقط برای رابط 8 بیتی 6800 |
| نه، نه10 | DB3 | خط اتوبوس داده 3 فقط برای رابط 8 بیتی 6800 |
| نه، نه11 | DB4 | خط اتوبوس داده 4 فقط برای رابط 8/4 بیتی 6800 |
| نه، نه12 | DB5/CSB/CSB | خط اتوبوس داده 5 فقط برای رابط 8/4 بیتی 6800 CSB خطوط انتخاب را برای رابط I2C و SPI فعال می کند |
| نه، نه13 | DB6/SDA/SCLK | خط اتوبوس داده 6 فقط برای رابط 8/4 بیتی 6800 خط داده SDA برای رابط I2C زمان بندی SCLK برای SP Interface |
| نه، نه14 | DB7/SCL/SID | خط اتوبوس داده 7 فقط برای رابط 8/4 بیتی 6800 خط زمانی SCL برای رابط I2C خط داده SID برای رابط SPI |
| نه، نه15 | A+ | منبع برق برای B/L + |
| نه، نه16 | ک... | منبع برق برای B/L - |
در مورد V0 در جدول بالا، مقاومت متغیر 20k Ohm برای تنظیم کنتراست کاراکتر استفاده می شود. اگر متن نامرئی باشد یا در طول آزمایش تصویر پس زمینه را نمایش دهد،لطفاً این مقاومت متغیر را برای تنظیم کنتراست بچرخانید.
روش اتصال مقاومت متغیر V0 همانطور که در شکل 3 نشان داده شده است:
| شکل سوم:روش اتصال مقاومت متغیر V0 |
نحوه اتصال LCM و برد توسعه Arduino Uno
روش های اتصال چهار رابط ارتباطی LCM (I2C، SPI، 6800 8bit/4bit) به Arduino Uno همانطور که در شکل 4 نشان داده شده است.کاربران می توانند مشاهده کنند که رابط های I2C و SPI فقط نیاز به تعداد کمی از پین GPIO برای کنترل ماژول های LCD شخصیت.
برای رابط I2C، از آنجا که Arduino Uno مقاومت های کششی را در داخل پین های I2C فراهم می کند، هیچ مقاومت کششی اضافی به پین های SDA و SCL متصل نیست.اگر مقاومت کشش داخلی در برنامه غیرفعال است، باید یک مقاومت کششی خارجی متصل شود.
| (الف)اتصال رابط I2C | ب)اتصال رابط SPI |
| ج)اتصال رابط 6800-4bit | د)اتصال رابط 6800-8bit |
| شکل ۴:روش های اتصال 4 رابط ارتباطی LCM به Arduino Uno | |
دستورات LCM
هر رابط ارتباطی نمی تواند از مجموعه کامل دستورات LCM استفاده کند؛ با رابط SPI، خط کنترل RW و پین های MISO وجود ندارد، بنابراین دستور خواندن پشتیبانی نمی شود. برای نوشتن،از طریق خط کنترل RS برای تعیین اینکه آیا به نوشتن داده های دستور یا نمایش داده ها.
در رابط I2C، خط کنترل RW وجود ندارد بنابراین پشتیبانی از دستورات خواندن نیز وجود ندارد. قبل از نوشتن داده های دستور یا نمایش داده ها،کد کنترل فرمان (A0=0) یا کد کنترل داده (A0=1) باید ارسال شود تا مشخص شود که آیا بایت بعدی برای ارسال داده های فرمان یا داده های نمایش است..
زمان بندی رابط SPI و I2C
دو نمودار زمان بندی در شکل 5 و شکل 6 نشان داده شده است. این نمودار زمان بندی کنترل LCM از طریق رابط SPI است.کاربران می توانند مشاهده کنند که LCM از SPI استفاده می کند که رابط SPI معمولی ارائه شده توسط MCU معمولی نیست، به یک خط سیگنال RS اضافی نیاز دارد تا تعیین کند که آیا بایت فعلی ارسال شده یک دستور است یا داده؟داده های بیت (BIT7 ~ BIT0) خط داده (SID) تغییر می کند زمانی که خط ساعت (SCLK) در سطح پایین است. داده های بیت (BIT7~BIT0) زمانی ضبط می شوند که خط ساعت (SCLK) در سطح بالا (BIT7~BIT0) باشد.
| شکل پنجم:زمان بندی فرمان نوشتن SPI |
| شکل ۶:زمان نوشتن داده های SPI |
شکل های 7 و 8 نمودار زمان بندی کنترل LCM را از طریق رابط I2C نشان می دهد.خوانندگان می توانند مشاهده کنند که کنترل رابط I2C برای ارسال سه بایت هر بار برای نوشتن داده های دستور یا نمایش داده ها استدر میان آنها، بیت A0 بایت دوم تعیین می کند که آیا بایت سوم داده های دستور یا داده های نمایش است.
| شکل ۷:I2C زمان بندی نوشتن دستورات |
| شکل ۸:I2C زمان نوشتن داده ها |
کد
LCM را می توان با تغییر تنظیمات برنامه به طور مستقیم کامپایل و استفاده کرد.
مرحله1: حداکثر تعداد کاراکترها را در یک خط LCM تنظیم کنید.
به عنوان مثال، در زیر یک خط واحد را به حداکثر 16 کاراکتر تنظیم می کند.
![]()
مرحله2: حداکثر تعداد خطوط را در LCM تنظیم کنید.
به عنوان مثال، LCM را به دو خط تنظیم می کند.
![]()
مرحله 3: رابط LCM را تنظیم کنید.
به عنوان مثال، مجموعه های زیر رابط I2C هستند.
![]()
مرحله ۴: کامپایل و آپلود برنامه به تخته توسعه Arduino Uno.
شکل 9 یک نمودار طرحی از صفحه نمایش سه LCM را نشان می دهد.
هنگامی که کنتراست نمایش روشن یا تاریک است، مقاومت متغیر در پین V0 می تواند به یک کنتراست مناسب تنظیم شود، همانطور که در شکل 10 نشان داده شده است.
| (الف) کنتراست نور تنها کاراکترهای روشن می توانند دیده شوند. | ب) کنتراست مناسب | (ج) کنتراست تیره هر کاراکتر سایه ای آشکار دارد. |
|---|---|---|
| شکل ۹:یک نمودار طرحی از صفحه نمایش سه LCM | ||
![]()
شکل ۱۰:پین V0 قابل تنظیم است
اگه خواستار کد آزمایشی کامل هستید لطفا با ما تماس بگیرید.
تماس با شخص: Mr. james
تلفن: 13924613564
فکس: 86-0755-3693-4482