اتصال نمایشگر Nokia5110 به رزبری‌پای

مقدمه

  • Nokia5110 یک نمایشگر گرافیکی است که قادر به نمایش متن، تصویر و الگوهای متنوع دیگر می‌باشد.
  • این نمایشگر دارای رزولوشن ۴۸*۴۸ بوده و همراه با نور پس زمینه عرضه می‌شود.
  • این نمایشگر از پروتکل SPI برای برقراری ارتباط با میکروکنترلر/میکروپروسسور استفاده می‌کند.
  • برای کنترل خروجی صفحه نمایش، می‌توان داده و دستورات را از پردازنده به نمایشگر ارسال کرد.
  • این نمایشگر ۸ پین دارد.

برای اطلاعات بیشتر درباره‌ی نمایشگر Nokia5110 و نحوه‌ی استفاده از آن، به مطلب نمایشگر گرافیکی Nokia5110 در بخش سنسورها و ماژول‌ها مراجعه کنید.

برقراری ارتباط بین نمایشگر Nokia5110 و رزبری‌پای

از آنجایی که Nokia5110 از ارتباط SPI بهره می‌گیرد، باید ابتدا مطمئن شویم که ارتباط SPI در رزبری‌پای فعال است. اگر فعال نباشد باید آن را فعال کنیم.

ارتباط SPI در رزبری‌پای

چگونه SPI را فعال کنیم؟

برای فعال کردن SPI در رزبری‌پای، دستور زیر را وارد کنید.

sudo raspi-config

سپس، در پنجره‌ی پاپ-آپی که نمایان می‌گردد باید گزینه‌ی Interface Options را انتخاب کنید.

پس از انتخاب گزینه‌ی Interface، ارتباط SPI را فعال کنید و سپس رزبری‌پای را مجدداً راه‌اندازی کنید. اکنون می‌توان اتصال SPI را برقرار کرد.

دیاگرام اتصالات

برقراری ارتباط بین نمایشگر Nokia5110 و رزبری‌پای

مثال

در اینجا قصد داریم بین نمایشگر Nokia5110 و رزبری‌پای ۳ ارتباط برقرار کنیم.

از کتابخانه‌ی پایتون Nokia5110، نوشته Adafruit در گیت‌هاب استفاده می‌کنیم.

مطلب پیشنهادی:  دسترسی به ورودی و خروجی‌های همه منظوره رزبری‌پای - Raspberry Pi GPIO

کتابخانه 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)

ویدئوی خروجی

مطلب پیشنهادی:  آموزش AWK - برنامه نویسی به زبان AWK

امیدواریم که آموزش «اتصال نمایشگر Nokia5110 به رزبری‌پای» براتون مفید واقع شده باشه.  پیشنهاد می‌کنیم دیگر آموزش‌های رزبری‌پای را هم ببینید. همچنین اگر به پایتون علاقمند هستید آموزش‌های پایتون را هم مطالعه کنید.

اگر این نوشته‌ برایتان مفید بود لطفا کامنت بنویسید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *