مقدمه
- Nokia5110 یک نمایشگر گرافیکی است که قادر به نمایش متن، تصویر و الگوهای متنوع دیگر میباشد.
- این نمایشگر دارای رزولوشن ۴۸*۴۸ بوده و همراه با نور پس زمینه عرضه میشود.
- این نمایشگر از پروتکل SPI برای برقراری ارتباط با میکروکنترلر/میکروپروسسور استفاده میکند.
- برای کنترل خروجی صفحه نمایش، میتوان داده و دستورات را از پردازنده به نمایشگر ارسال کرد.
- این نمایشگر ۸ پین دارد.
برای اطلاعات بیشتر دربارهی نمایشگر Nokia5110 و نحوهی استفاده از آن، به مطلب نمایشگر گرافیکی Nokia5110 در بخش سنسورها و ماژولها مراجعه کنید.
از آنجایی که Nokia5110 از ارتباط SPI بهره میگیرد، باید ابتدا مطمئن شویم که ارتباط SPI در رزبریپای فعال است. اگر فعال نباشد باید آن را فعال کنیم.
ارتباط SPI در رزبریپای
چگونه SPI را فعال کنیم؟
برای فعال کردن SPI در رزبریپای، دستور زیر را وارد کنید.
sudo raspi-config
سپس، در پنجرهی پاپ-آپی که نمایان میگردد باید گزینهی Interface Options را انتخاب کنید.
پس از انتخاب گزینهی Interface، ارتباط SPI را فعال کنید و سپس رزبریپای را مجدداً راهاندازی کنید. اکنون میتوان اتصال SPI را برقرار کرد.
دیاگرام اتصالات
مثال
در اینجا قصد داریم بین نمایشگر Nokia5110 و رزبریپای ۳ ارتباط برقرار کنیم.
از کتابخانهی پایتون Nokia5110، نوشته Adafruit در گیتهاب استفاده میکنیم.
کتابخانه Adafruit نمایشگر Nokia را از اینجا دانلود کنید. اگر قبلا از گیتهاب فایل دانلود نکردین آموزش گیتهاب را اول مطالعه کنید.
کتابخانهی فوق را از حالت فشرده خارج کرده و با استفاده از دستور زیر، در همان دایرکتوری خودش نصب کنید.
sudo python setup.py install
همچنین، باید کتابخانهی python imaging را نیز نصب کنید.
sudo apt-get install python-imaging
پس از افزودن کتابخانه، میتوانید ارتباط بین نمایشگر Nokia و رزبریپای را با اجرای مثالهای موجود در پوشهی examples کتابخانه تست کنید.
در اینجا، میخواهیم یک برنامه پایتون کوچک بنویسیم و در آن متن، تصویر و انیمیشن پرنده را نشان دهیم. فایل این برنامه پایتون به همراه تصویر نمونه در پوشهی «example» کتابخانه در ضمیمهها موجود است.
نکته: هنگام نمایش تصویر روی Nokia5110، باید تصویر را برای برنامه فراهم کنیم. این تصویر باید در ابعاد نمایشگر (۴۸*۴۸ در اینجا) باشد. اگر تصویر ما رزولوشنی غیر از این داشته باشد، با خطا مواجه خواهیم شد.
برنامه پایتون
''' Nokia5110 LCD Display Interface with Raspberry Pi http://www.electronicwings.com ''' import time import Adafruit_Nokia_LCD as LCD import Adafruit_GPIO.SPI as SPI from PIL import ImageDraw from PIL import Image from PIL import ImageFont # Raspberry Pi hardware SPI config: DC = 23 RST = 24 SPI_PORT = 0 SPI_DEVICE = 0 # Hardware SPI usage: disp = LCD.PCD8544(DC, RST, spi=SPI.SpiDev(SPI_PORT, SPI_DEVICE, max_speed_hz=4000000)) # Initialize library. disp.begin(contrast=40) # Clear display. disp.clear() disp.display() font = ImageFont.load_default() # Load image and convert to 1 bit color. image = Image.new('1', (LCD.LCDWIDTH, LCD.LCDHEIGHT)) draw = ImageDraw.Draw(image) draw.rectangle((0,0,LCD.LCDWIDTH,LCD.LCDHEIGHT), outline=255, fill=255) draw.text((3,24), 'Welcome to EW', font=font) #Display Image disp.image(image) disp.display() time.sleep(1.0) image = Image.open('pi_logo.png').convert('1') # Display image. disp.image(image) disp.display() time.sleep(0.5) print('Press Ctrl-C to quit.') while True: #Create animation of Flying Bird image2 = Image.open('bird_1.png').convert('1') # Display image. disp.image(image2) disp.display() time.sleep(0.1) image2 = Image.open('bird_2.png').convert('1') # Display image. disp.image(image2) disp.display() time.sleep(0.1) image2 = Image.open('bird_3.png').convert('1') # Display image. disp.image(image2) disp.display() time.sleep(0.1) image2 = Image.open('bird_4.png').convert('1') # Display image. disp.image(image2) disp.display() time.sleep(0.1) image2 = Image.open('bird_5.png').convert('1') # Display image. disp.image(image2) disp.display() image2 = Image.open('bird_4.png').convert('1') # Display image. disp.image(image2) disp.display() time.sleep(0.1) image2 = Image.open('bird_3.png').convert('1') # Display image. disp.image(image2) disp.display() time.sleep(0.1) image2 = Image.open('bird_2.png').convert('1') # Display image. disp.image(image2) disp.display() time.sleep(0.1)
ویدئوی خروجی
- منبع: ترجمه از سایت electronicwings.com
امیدواریم که آموزش «اتصال نمایشگر Nokia5110 به رزبریپای» براتون مفید واقع شده باشه. پیشنهاد میکنیم دیگر آموزشهای رزبریپای را هم ببینید. همچنین اگر به پایتون علاقمند هستید آموزشهای پایتون را هم مطالعه کنید.
اگر این نوشته برایتان مفید بود لطفا کامنت بنویسید.