چگونه می توان از صفحه نمایش LCD با یک سیاه و سفید استفاده کرد؟
در دنیای سیستم های تعبیه شده ، Beaglebone Black به عنوان یک کامپیوتر تک تخته قدرتمند و همه کاره معرفی می شود. هنگامی که با نمایشگر کاراکتر LCD جفت می شوید ، می توان از آن برای طیف گسترده ای از برنامه ها استفاده کرد ، از شاخص های وضعیت ساده گرفته تا سیستم های پیچیده نظارت بر داده ها. من به عنوان یک تامین کننده نمایشگرهای LCD ، من هیجان زده ام که چگونه می توانید یک صفحه نمایش LCD را با یک سیاه و سفید با رنگ سیاه ادغام کنید.


درک نمایشگرهای شخصیت سیاه و LCD Beaglebone
Beaglebone Black مجهز به یک قشر بازوی 1GHz - پردازنده A8 ، 512MB RAM و پین ورودی/خروجی چندگانه است. این پین ها به آن امکان برقراری ارتباط با دستگاه های مختلف خارجی از جمله نمایشگرهای شخصیت LCD را می دهند.
نمایشگرهای کاراکتر LCD به طور گسترده ای برای نمایش متن و گرافیک ساده استفاده می شوند. آنها در اندازه ها و تنظیمات مختلف مانندماژول LCD Display LCD 20x2،نمایشگر LCD 0802، ونمایشگر LCD 16x1بشر این نمایشگرها به طور معمول از کنترلر Hitachi HD44780 یا یک سازگار استفاده می کنند ، که دارای پروتکل ارتباطی خوب است.
اتصال سخت افزار
قبل از شروع برنامه نویسی ، باید نمایشگر کاراکتر LCD را به BeagleBone Black وصل کنیم. در اینجا مراحل کلی وجود دارد:
- منبع تغذیه: پین VSS (GND) LCD را به پین زمین بر روی سیاه و سفید Beaglebone وصل کنید. پین VDD (5V) LCD را به منبع تغذیه 5 ولت وصل کنید. اگر BeagleBone Black شما می تواند قدرت 5 ولت را فراهم کند ، می توانید مستقیماً از آن استفاده کنید. در غیر این صورت ، شما ممکن است به منبع تغذیه خارجی نیاز داشته باشید. پین VO (تنظیم کنتراست) را به یک پتانسیلومتر وصل کنید تا کنتراست صفحه نمایش تنظیم شود.
- پین های کنترل: پین RS (ثبت نام) LCD را به یک پین GPIO در Beaglebone Black وصل کنید. این پین برای انتخاب بین ثبت دستورالعمل و ثبت داده ها استفاده می شود. پین RW (خواندن/نوشتن) را به زمین وصل کنید ، زیرا ما عمدتا داده ها را به صفحه نمایش خواهیم نوشت. پین E (Enable) را به یک پین GPIO دیگر روی Black Beaglebone وصل کنید. این پین برای بستن داده ها به صفحه نمایش استفاده می شود.
- داده ها: می توانید اتصال LCD را در حالت 4 - بیت یا 8 - بیت انتخاب کنید. در حالت 4 - بیت ، پین های D4 - D7 LCD را به چهار پین GPIO روی Black Beaglebone وصل کنید. در حالت 8 - بیت ، تمام پین های D0 - D7 را به هشت پین GPIO وصل کنید. حالت 4 - بیت متداول تر است زیرا از پین های GPIO کمتری استفاده می کند.
راه اندازی نرم افزار
پس از اتصال سخت افزار ، برای کنترل صفحه نمایش LCD باید نرم افزاری بنویسیم. ما می توانیم از Python استفاده کنیم ، که دارای کتابخانه هایی است که باعث می شود تعامل با پین های GPIO در Beaglebone Black آسان شود.
در اینجا یک مثال ساده کد پایتون برای نمایش پیام در صفحه نمایش LCD 16x2 در حالت 4 - بیت وجود دارد:
وارد کردن adafruit_bbio.gpio به عنوان زمان واردات gpio # تعریف پین های gpio برای کنترل LCD rs = "p8_7" e = "p8_8" d4 = "p8_9" d5_10 "p8_10" d6 = "p8_11" d7 = "p8_12" # # de de de de de deb nibble nibble nibble nibble nibble nibble nibble nibble nibble nibble nibble nibble nibble nibble nibble gpio.output (d4 ، (nibble & 0x01) == 0x01) gpio.output (d5 ، (nibble & 0x02) == 0x02) gpio.output (d6 ، (nibble & 0x04) == 0x04) gpio.output (d7 ، (nibble و 0x08) == 0x08) gpio.high) time.sleep (0.0001) gpio.output (e ، gpio.low) # تابع ارسال بایت به LCD def lcd_send_byte (بایت ، rs): gpio.output (rs ، rs) high_nibble = (byte >> 4) 4) & 0x00f low_nibble low_nibble = byt LCD_SEND_NIBBLE (HIGH_NIBBLE) LCD_SEND_NIBBLE (LOW_NIBBLE) TIME.SLEEP (0.0005) # عملکرد برای اولیه سازی LCD DEF LCD_INIT (): gpio.setup (rs ، gpio.out) gpio.setup (e ، gpio.out) gpio.setup (d4 ، gpio.outup (d4 ، gpio.out) gpio.setup (d4 ، gpio.out) gpio.setup (d4 ، gpio.out) gpio.setup (d4 ، gpio.out) gpio.setup (d4). gpio.out) gpio.setup (d6 ، gpio.out) gpio.setup (d7 ، gpio.out) # اولیه سازی LCD در زمان 4 - زمان بیت. sleep (0.05) lcd_send_nibble (0x03) time.sleep (0.005) lcd_send_nibble (0x03) time.slep (0x03) LCD_SEND_NIBBLE (0x03) LCD_SEND_NIBBLE (0x02) LCD_SEND_BYTE (0x28 ، gpio.low) # 4 - حالت بیت ، 2 خط ، 5x8 نقطه LCD_SEND_BYTE (0x0C ، GPIO.LOW) # TOPSEND_BYTE_BYTESORD_BYTESORD_BYTESORSORE ON ، CURSOR OFF OFF OFF OF OF OFF OF LCDANDORE OF LCDANDORE OF LCDENDOR. # CURSOR افزایشی LCD_SEND_BYTE (0x01 ، gpio.low) # Clear Display Time.Sleep (0.002) # تابع نمایش یک رشته در LCD DEF LCD_DISPLAY_STRING (رشته): برای کاراکتر در رشته: lcd_send_byte (ord: (char) ، gpio.hight) # برنامه اصلی # __ نام اصلی # نام اصلی # __ نام اصلی # __ __ نام اصلی # __ __ نام اصلی # __ نام اصلی # " LCD_INIT () LCD_DISPLAY_STRING ("سلام ، BeagleBone!")
این کد ابتدا پین های GPIO را روی Black Beaglebone آغاز می کند. سپس نمایشگر LCD را در حالت 4 بیت آغاز می کند. سرانجام ، پیامی را در LCD نشان می دهد.
استفاده پیشرفته
شما می توانید کاری بیش از نمایش یک پیام ساده در LCD انجام دهید. به عنوان مثال ، می توانید داده های پویا مانند خوانش سنسور را نمایش دهید. همچنین می توانید نمایشگرهای چند خط ایجاد کنید و از کاراکترهای سفارشی استفاده کنید.
برای نمایش داده های پویا ، می توانید اصلاح کنیدlcd_display_stringعملکرد برای به روزرسانی صفحه با داده های جدید در فواصل منظم. به عنوان مثال ، اگر یک سنسور دما دارید که به BeagleBone Black متصل است ، می توانید مقدار دما را بخوانید و آن را روی LCD نمایش دهید.
وارد کردن adafruit_bbio.gpio به عنوان gpio واردات زمان واردات تصادفی # برای شبیه سازی داده های سنسور # تعریف پین های gpio برای کنترل LCD rs = "p8_8" e = "p8_8" d4 = "p8_9" p8_9 "d5 =" p8_10 "d6 =" p8_11 "d7 =" d7 = "p8_12" lcd_send_nibble (nibble): gpio.output (d4 ، (nibble & 0x01) == 0x01) gpio.output (d5 ، (nibble & 0x02) == 0x02) gpio.output (d6 ، (nibble & 0x04) == 0x04)) 0x04) gpio.output. gpio.output (e ، gpio.high) time.sleep (0.0001) gpio.output (e ، gpio.low) # عملکرد ارسال بایت به LCD def lcd_send_byte (بایت ، byte ، rs): gpio.output (rs ، rs) high_nibble = (byte>> 4) LCD_SEND_NIBBLE (HIGH_NIBBLE) LCD_SEND_NIBBLE (LOW_NIBBLE) TIME.SLEEP (0.0005) # عملکرد برای اولیه سازی LCD DEF LCD_INIT (): gpio.setup (rs ، gpio.out) gpio.setup (e ، gpio.out) gpio.setup (d4 ، gpio.outup (d4 ، gpio.out) gpio.setup (d4 ، gpio.out) gpio.setup (d4 ، gpio.out) gpio.setup (d4 ، gpio.out) gpio.setup (d4). gpio.out) gpio.setup (d6 ، gpio.out) gpio.setup (d7 ، gpio.out) # اولیه سازی LCD در زمان 4 - زمان بیت. sleep (0.05) lcd_send_nibble (0x03) time.sleep (0.005) lcd_send_nibble (0x03) time.slep (0x03) LCD_SEND_NIBBLE (0x03) LCD_SEND_NIBBLE (0x02) LCD_SEND_BYTE (0x28 ، gpio.low) # 4 - حالت بیت ، 2 خط ، 5x8 نقطه LCD_SEND_BYTE (0x0C ، GPIO.LOW) # TOPSEND_BYTE_BYTESORD_BYTESORD_BYTESORSORE ON ، CURSOR OFF OFF OFF OF OF OFF OF LCDANDORE OF LCDANDORE OF LCDENDOR. # CURSOR افزایشی LCD_SEND_BYTE (0x01 ، gpio.low) # Clear Display Time.Sleep (0.002) # تابع نمایش یک رشته در LCD DEF LCD_DISPLAY_STRING (رشته): برای کاراکتر در رشته: lcd_send_byte (ord: (char) ، gpio.hight) # برنامه اصلی # __ نام اصلی # نام اصلی # __ نام اصلی # __ __ نام اصلی # __ __ نام اصلی # __ نام اصلی # " LCD_INIT () در حالی که درست: دما = تصادفی. randint (20 ، 30) # پیام خواندن دمای شبیه سازی = F "TEMP: {دما} C" LCD_SEND_BYTE (0x01 ، GPIO.LOW) # زمان نمایش روشن. SLEEP (0.002) LCD_DISPLAY_STRINPRATTRING_STRING (2)
پایان
ادغام یک صفحه نمایش LCD با سیاه و سفید Beaglebone یک فرآیند ساده است. با اتصال سخت افزار مناسب و برنامه نویسی نرم افزار ، می توانید نمایشگرهای مفید و تعاملی ایجاد کنید. ما به عنوان یک تامین کننده از نمایشگرهای LCD شخصیت ، طیف گسترده ای از محصولات را ارائه می دهیم که برای استفاده با Beaglebone Black مناسب هستند. اگر علاقه مند به خرید نمایشگرهای LCD برای پروژه های خود هستید ، برای کسب اطلاعات بیشتر با ما تماس بگیرید و برای شروع مذاکره تهیه تهیه کنید. ما متعهد به ارائه محصولات با کیفیت بالا و خدمات عالی مشتری هستیم.
منابع
- مستندات کتابخانه GPIO Adafruit Beaglebone
- برگه کنترلر LITACHI HD44780 LCD
