شما هم مثل من از این که هر دفعه برای استفاده از رزبریپای، آن را به کیبورد و ماوس و مانیتور وصل کنید یا این که لپتاپ را روشن کنید، بعد مودم و Hotspot را راه بندازید، IP پیدا کنید و .... خسته شدید؟ تازه حتی اگر این کار را هم بکنید، خیلی از قابلیتهای رزبریپای مثل وبگردی، بازی و تماشای فیلم و ... را از دست خواهید داد. در صورتی که با اتصال یک LCD، به راحتی میتوانید برد خود را به یک لپتاپ (قطعاً با قدرت کمتر) یا یک تبلت (قطعاً با قابلیتهای بیشتر و جذابتر) تبدیلکنید! حتی برای پروژههای مختلف بهخصوص اینترنت اشیا، وجود یک LCD برای ایجاد رابط کاربری و مشاهدهی نتایج، میتواند خیلی مفید باشد. پس در این مطلب که قسمت ششم از مجموعهی آموزش جامع رزبریپای (مبتدی تا پیشرفته) است، قصد داریم مطالب زیر را با هم بررسی کنیم:
- راهاندازی LCD های گرافیکی با استفاده از GPIO ها
- راهاندازی LCD های گرافیکی با استفاده از رابط HDMI
- تنظیم و کالیبره کردن LCD لمسی به منظور بهبود عملکرد آن
- نصب و راه اندازی صفحه کلید مجازی
قطعات مورد نیاز
برد رزبریپای ۴
کارت حافظه با ظرفیت حداقل 8 GB (SD Card)
LCD گرافیکی
رابط HDMI
مقدمه: چرا استفاده از LCD؟
اگر آموزش اتصال به رزبریپای از طریق لپتاپ را مطالعه کرده باشید، حتماً به خاطر دارید که با استفاده از Putty و SSH، فقط به محیط Bash و خط فرمان سیستمعامل خود دسترسی داشتید. با VNC و RDP هم اگرچه میتوان دسکتاپ برد را مشاهده و کنترل کرد، اما این دسترسی نیز با محدودیتهایی همراه است. بهطوری که با استفاده از پروتکلها و نرمافزارهای بالا، نمیتوانید تصاویر دوربین را بهصورت زنده مشاهده کنید. همچنین رابطهای کاربری گرافیکی که با پایتون برای پروژههای خود طراحی میکنید، تنها از طریق مانیتور و LCD قابل مشاهدهاند. پس همانطور که دیدید، در برخی موارد مجبوریم یا از LCD استفاده کنیم یا ار مانیتور. قطعاً استفاده از یک LCD کوچک و قابل نصب روی برد نسبت به مانیتور بزرگ و دست و پا گیر خیلی گزینهی بهتری است. حالا فکر میکنید این LCD کجا میتواند خیلی کاربردی و جذاب باشد؟ فرض کنید برای پروژهی IOT خود، یک رابط کاربری طراحی کردید که کاربر میتواند با انگشت خود و به صورت لمسی با زدن رمز عبور یا RFID وارد حساب شخصی شود، برد و سایر ماژولها را کنترل کند، و نتایج پردازش و عملیات انجام شده را به صورت زنده مشاهده کند. یا این که در صورت لزوم بتوانید خیلی سریع و بدون نیاز به کامپیوتر، وارد محیط کدنویسی برد شده و تغییرات لازم را روی کد خود اعمال کنید. استفاده از LCD همیشه برای پروژههای تخصصی نیست و در صورت تمایل میتوانید رزبریپای را هر زمان که خواستید در جیب خود گذاشته و مانند یک تبلت از آن برای بازی، عکاسی، تماشای فیلم یا وبگردی استفاده کنید. پس این قطعات کوچک میتوانند هم در پروژههای نخصصی و هم در استفادههای شخصی کاربردی باشند.
LCD ها انواع مختلفی دارند. در اینجا ما با LCD های گرافیکی که توانایی نمایش دسکتاپ و محیط گرافیکی سیستمعامل را نشان میدهند، سرو کار داریم. پس فعلاً LCD های کارکتری که فقط برای خواندن اعداد و حروف به کار میروند، کنار بگذارید. (نگران نباشید با توجه به قیمت و کاربرد آنها، در پروژههای بعدی، این دسته از LCD ها را هم با هم راهاندازی میکنیم.) LCD های گرافیکی هم خود میتوانند به دستههای مختلفی بر اساس اندازه تقسیم شوند. LCD های کوچک، معمولاً برای انتقال دادهها از پورتهای GPIO استفاده میکنند. همانطور که حدس زدید، با این کار بیشتر پینهای شما به این نمایشگر اختصاص داده شده و به احتمال زیاد برای اتصال سایر قطعات، با کمبود پین مواجه خواهید شد. بنابراین در صورت امکان بهتر است از LCD های HDMI استفاده کنید. نحوهی راهاندازی همهی LCD ها اعم از HDMI و غیر HDMI، لمسی و غیر لمسی، مشایه است. فقط برای انواع لمسی آنها کافیست پس از راهاندازی، عمل کالیبره کردن را هم انجام دهید تا دقت شناسایی محل لمس شده توسط نمایشگر، بالاتر برود. خب این مقدمهای بود برای آشنایی شما. از اینجا به بعد قصد داریم یک LCD ۲.۳ اینچی را از طریق GPIO و یک LCD ۵ اینچی لمسی را از طریق رابط HDMI به رزبریپای خود متصل کنیم.
در این آموزش فرض شده که رزبریپای شما از قبل دارای سیستمعامل است. در غیر این صورت برای نصب سیستمعامل میتوانید به آموزش راهاندازی رزبریپای ۴ با نصب سیستمعامل رزبین مراجعه کنید.
راهاندازی LCD ۲.۳ اینچی از طریق GPIO به رزبریپای
برای راهاندازی نمایشگر مطابق تصویر بالا، برد و LCD را از طریق پایههای GPIO به هم متصل کنید. پس از این کار برای کارکرد صحیح نمایشگر، لازم است درایور مناسب آن را روی برد خود نصب نمایید. برای دریافت فایل درایور، دستور زیر را در خط فزمان رزبریپای وارد کنید.
git clone https://github.com/waveshare/LCD-show.git
پس از اجرای دستور فوق، مشابه تصویر زیر، فایل حاوی درایورها، در پوشهی LCD-show در دایرکتوری HOME شما قرار خواهد گرفت.
با دستور cd وارد فایل فوق شوید. همانطور که مشاهده میکنید، این فایل حاوی درایور چندین LCD در اندازههای مختلف است. با توجه به این که نمایشگر ما از نوع ۲.۳ اینچی مدل C است، با دستور زیر درایور مربوط به آن را نصب کنید:
./ LCD32C-show
پس از راهاندازی مجدد برد، LCD شما به درستی کار خواهدکرد.
این آموزش برای تمام LCD ها مشابه است. پس اگر LCD شما با نوع استفاده شده در اینجا متفاوت است، با توجه به مدل آن، درایور مناسب را نصب نمایید.
گاهی برای کار با برد خود نیاز دارید نمایشگر شما از حالت افقی به عمودی تغییر پیدا کند(دقیقاً مانند موبایل و تبلت که برای کارهای روزمره، صفحه نمایش عمودی و برای برخی بازیها و مشاهدهی ویدئوها آن را در حالت افقی قرار میدید). برای Rotate کردن تصویر کافیست دستور زیر را در دایرکتوی LCD-show در خط فرمان اجرا کنید. (شما به جای LCD32C-show باید مدل نمایشگر خود را وارد کنید)
./LCD32C-show 90
دستور فوق، صفحه نمایش را ۹۰ درجه میچرخاند. میتوانید به جای ۹۰، ۱۸۰، ۲۷۰ یا ۰ را وارد کنید. خب این تمام چیزی است که برای راهاندازی LCD از طریق GPIO نیاز دارید. اگر موافقید، روش اتصال با HDMI هم بررسی کنیم.
راهاندازی LCD ۵ اینچی از طریق پورت HDMI به رزبریپای
خب همانطور که گفتیم، در صورت اتصال LCD از طریق GPIO ها، تعداد زیادی از پینهای شما اشغال خواهد شد. پس با این کار برای اتصال سایر ماژول و سنسورها با مشکل مواجه خواهید شد. برای حل این مشکل میتوانید از LCD های HDMI استفاده کنید. بر خلاف نمونهی قبلی، برای اتصال HDMI نیاز دارید تنظیماتی را در فایل config.txt سیستمعامل، تغییر دهید. برای این کار دو راه دارید:
از آن جایی که این فایل در دایرکتوری boot قرار دارد و این دایرکتوری نیز از طریق SD Card قابل دسترسی است، میتوانید کارت حافظه را از برد خارج کرده و در کامپیوتر خود فایل config.txt را تغییر دهید. همچنین میتواتید با Putty یا هر روش دیگری که میتوانید، به برد متصل و با دستور زیر، فایل پیکربندی را تغییر دهید:
$ sudo nano /boot/config.txt
برای انجام تغییرات ابتدا بخش مشخص شده را پیدا و با پاک کردن #، آن را از حالت Comment خارج کنید.
سپس دستورات زیر را به آن اضافه کنید:
max_usb_current=1
hdmi_group=2
hdmi_mode=1
hdmi_mode=87
hdmi_cvt 800 480 60 6 0 0 0
در نهایت فایل config شما به شکل زیر خواهد بود.
عبارت 800*480 سایز LCD شما را تعریف میکند. بنابراین با توجه به مدل نمایشگر خود، این اندازه را به درستی تعریف کنید تا تصویر به خوبی برای شما نمایش داده شود.
برای استفاده از LCD، ابتدا برد خود را خاموش کنید. سپس برای روشن کردن LCD، ابتدا کابل تغذیهی آن را از طریق USB به یکی از پورتهای USB برد خود متصل کنید. برای دریافت تصویر نیز نمایشگر و برد را از طریق HDMI به هم متصل کنید. پس از روشن کردن رزبریپای، باید تصویر دسکتاپ را روی نمایشگر خود مشاهده کنید. ممکن است پس از اعمال تغییرات گفته شده، Touch نمایشگر شما به درستی کار نکند. برای حل این مشکل، مشابه LCD قبلی باید درایور مناسب با مدل خود را نصب کنید. پس دوباره وارد ~/LCD-show شده و با توجه به این که در این آموزش از نمایشگر ۵ اینچی استفاده میکنیم، این بار برای نصب دستور زیر را وارد میکنیم:
./LCD5-show
پس از راهاندازی مجدد، Touch نمایشگر شما هم فعال خواهد شد.
مشکلی که این بار ممکن است برای شما پیش بیاید این است که Touch شما دقیق عمل نکند. یعنی هنگامی که انگشت خود یا قلم مخصوص LCD را روی صفحه نمایش فشار میدهید، نقطهی تشخیص داده شده با نقطهای که شما میخواستید، متفاوت باشد. برای حل این مشکل باید LCD را کالیبره کنید. بنابراین دستورات زیر را به ترتیب در خط فرمان برد وارد کنید.
sudo apt-get update
sudo apt-get install xserver-xorg-input-evdev
sudo cp -rf /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf
sudo reboot
پس از انجام عملیات فوق، همانطور که مشاهده میکنید، در منوی Start و بخش Preferences، بخش جدیدی به نام Calibrate Touchscreen ایجاد شده است. برای کالیبره کردن LCD خود، روی آن کلیک کنید.
این کار حتماً باید مستقیم از طریق LCD لمسی انجام شود. در صورت استفاده از VNC و RDP، این قسمت برای شما اجرا نخواهد شد.
پس از اجرا با صفحهی زیر مواجه خواهید شد. در این قسمت سعی کنید دقیقاً علامتهای + را فشار دهید. در غیر این صورت، کالیبره کردن با دقت خوبی انجام نمیشود. اگر نمیخواهید از قلم استفاده کنید، کالیبره سازی را با انگشت خود انجام دهید.
پس از این که روی هر ۴ علامت مثبت کلیک کردید، نتایج کالیبره کردن LCD شما نمایش داده خواهد شد. اعداد مشخص شده را یادداشت نمایید. (این اعداد برای شما میتواند متفاوت باشد)
در قدم بعدی لازم است این نتایج را در فایل 99-calibration.conf در آدرس /etc/X11/xorg.conf.d ذخیره کنید. بنابراین اگر چنین فایلی برای شما وجود نداشت با دستورات زیر آن را ایجاد کنید.
$ sudo mkdir /etc/X11/xorg.conf.d
$ sudo nano /etc/X11/xorg.conf.d/99-calibration.conf
سپس عبارات مشخص شده در تصویر قبلی را در این فایل وارد کنید. در نهایت فایل 99-calibration.conf شما به شکل زیر خواهد بود. این فایل را ذخیره کرده و پس از reboot کزدن برد، Touch صفحه نمایش شما با دقت مطلوبی کار خواهد کرد.
این هم از LCD لمسی و غیر لمسی. نکتهای که نباید فراموش کنیم این است که با وجود استفاده از LCD لمسی هم، بدون کیبورد نمیتوانیم از رزبریپای به خوبی استفاده کنیم. (پس چه کاریه واسه لمسی پول اضافی بدیم؟!) اگر هم بخواهیم همیشه یک کیبورد USB همراه خود داشته باشیم، اصلاً کار منطقی و معقولی نیست. برای این مشکل چه پیشنهادی دارید؟
آموزش نصب صفحه کلید (کیبورد) مجازی
جواب ساده است! دقیقاً همانطوری که از موبایل و تبلت استفاده میشود، در اینجا هم با نصب یک صفحه کلید مجازی، میتوانیم از رزبریپای بدون نیاز به هیچ وسیلهی اضافی و دست و پا گیری استفاده کنیم. برای این هم کار سختی ندارید. کافیست پکیج کیبورد را با دستور زیر نصب کنید:
$ sudo apt-get install matchbox-keyboard
سپس میتوانید با استفاده از Touch صفحه نمایش، منوی Start را باز کرده و از بخش Accessories، Keyboard را انتخاب کنید. با Drag کردن صفحهی کیبورد، میتوانید آن را در هر جایی از دسکتاپ که خواستید قرار دهید.
همانطور که گفتیم، نحوهی راهاندازی سایر LCD ها در اندازههای مختلف نیز به صورت مشابه انجام میشود. برای اطلاعات بیشتر میتوانید به سایت شرکت Waveshare که سازندهی انواع این LCD ها است، مراجعه کنید.
نتیجهگیری
در این بخش نحوهی راهاندازی انواع LCD های لمسی و غیر لمسی، با استفاده از GPIO ها و رابط HDMI را به طور کامل بررسی کردیم. همچنین برای افزایش دقت Touch صفحه نمایشهای لمسی، عمل کالیبره کردن، آموزش داده شد. در نهایت برای استفاده از رزبریپای بدون نیاز به کیبورد و ماوس، کیبورد مجازی را معرفی کردیم. بنابراین برای بی نیازی از وسایل جانبی اضافی ، میتوانید از یک LCD لمسی با کیبورد مجازی استفاده کنید.
خب تا اینجا یاد گرفتیم با LCD به برد خود متصل و آن را کنترل کنیم. این روش اگرچه مزیتهایی مانند استفاده از رابطهای کاربری گرافیکی، استفاده از دوربین، استفاده از رزبریپای به تنهایی و بدون نیاز به هیچ وسیلهی جانبی (البته به جز LCD) را برای ما فراهم میکند، اما خب با هزینه همراه است. ایدهی جالبی که شاید به ذهن شما هم رسیده باشد، اتصال برد به موبایل به جای لپتاپ و LCD است. با توجه به این که امروزه، استفاده از گوشیهای هوشمند فراگیر شده، این روش هم هزینهی خرید LCD را ندارد، هم مشکلات حمل لپتاپهای بزرگ را. بنابراین در قسمت بعدی آموزش این نوع اتصال را با استفاده از روشهای مختلف بررسی میکنیم.
نظرات شما باعث بهبود محتوای آموزشی ما میشود. اگر این آموزش را دوست داشتید، همینطور اگر سوالی در مورد آن دارید، از شنیدن نظراتتان خوشحال خواهیم شد.
نظرات (4)