ماژول نمایشگر OLED SSD1306
ماژول های نمایشگر ال سی دی OLED، راهی عالی برای داشتن یک صفحه نمایش کوچک برای پروژه های رزبری پای هستند. اندازه های مختلفی از نمایشگرهای OLED وجود دارد، اما به طور معمول 128×32 و 128×64 رایج ترین هستند. نوع ارزان تر این نمایشگر پیکسل تک رنگ است ب طوری که فقط به صورت رنگ سفید یا فقط آبی .. را نمایش می دهند. ماژول نمایشگر OLED که ما برای این پروژه انتخاب کرده ایم؛ پیکسل های سفید دارد، از رابط I2C و از 4 پین برای اتصال به رزبری پای استفاده می کند.
نمایشگری که در شکل بالا مشاهده می کنید (اینچ 128X64 (0.96 است که دارای 4 پین می باشد: VCC و GND برای تغذیه / SDA(سریال دیتا) و SCL(سریال کلاک) برای رابط I2C
دقت داشته باشید که قبل از استفاده از هدر ممکن است به لحیم کاری نیاز داشته باشد.
بروزرسانی سیستم عامل
در اینجا شبیه به بقیه پروژه های خود، با ایجاد یک کارت SD با جدیدترین تصویر Raspbian شروع به کار کنید. سپس با اجرای دستورات زیر اطمینان حاصل کنید که آپدیت باشد :
1 2 |
sudo apt update sudo apt upgrade |
راه اندازی ماژول نمایشگر SSD1306 OLED
اتصال نمایشگر OLED به رزبری پای را مطابق جدول و شماتیک مدار زیر انجام دهید :
پین نمایشگر OLED | پین Pi GPIO |
Vcc( پایه 3.3 ولت ) | 1* |
Gnd( پایه زمین ) | 14** |
SCL(سریال کلاک I2C) | 5 |
SDA(سریال دیتا I2C) | 3 |
* پین VCC را علاوه بر pin1 میتوانید به pin17 هم متصل کنید، هر دو 3.3 ولت را تامین می کنند.
**پین زمین را می توانید به : pin6,9,14,20,25,30,34,39 نیز متصل کرد.
فعال سازی رابط I2C
رابط I2C به صورت پیش فرض غیر فعال است با اجرای raspi-config در خط فرمان فعال سازی رابط را انجام دهید :
1 |
sudo raspi-config |
کتابخانه های زیر ممکن است از قبل نصب شده باشند، جهت اطمینان کد زیر را راه اندازی کنید:
1 2 3 4 5 6 |
sudo apt install -y python3-dev sudo apt install -y python-smbus i2c-tools sudo apt install -y python3-pil sudo apt install -y python3-pip sudo apt install -y python3-setuptools sudo apt install -y python3-rpi.gpio |
توصیه ما این است که از پایتون 3 استفاده کنید،اما اگر به هر دلیلی از Python 2 اسفاده می کنید به جای دستورات بالا کدهای زیر را وارد کنید :
1 2 3 4 5 |
sudo apt install -y python-dev sudo apt install -y python-smbus i2c-tools sudo apt install -y python-pil sudo apt install -y python-pip sudo apt install -y python-setuptools |
آدرس ماژول نمایشگر OLED
بعد از نصب کتابخانه های رابط I2C، باید دستوری را وارد کنید که رابط I2C آدرس ماژول را در I2C bus تشخیص دهد :
1 |
i2cdetect -y 1 |
تصویر زیر نتیجه می شود :
اگر مدل اصلی B Rev 1 Pi را دارید دستور زیر را به جای دستور بالا وارد کنید :
1 |
i2cdetect -y 0 |
نصب کتابخانه پایتون OLED
به منظور نمایش متن،اشکال و تصاویر مختلف بر روی نمایشگر SSD1306 OLED ؛ کتابخانه Adafruit Python را نصب کنید.
نکته : این کتابخانه برای همه ی نمایشگر های SSD1306 OLED در هر دو سایز 128×32 و 128×64 قابل استفاده است.
برای نصب کتابخانه Adafruit git repository را شبیه سازی می کنیم. اطمینان حاصل کنید که با اجرا گیت نصب شود :
1 |
sudo apt install -y git |
سپس کد زیر را استفاده کنید :
1 |
git clone https://github.com/adafruit/Adafruit_Python_SSD1306.git |
پس از اتمام، به فهرست کتابخانه ها بروید :
1 |
cd Adafruit_Python_SSD1306 |
نصب کتابخانه برای Python 2 :
1 |
sudo python setup.py install |
نصب کتابخانه برای Python 3 :
1 |
sudo python3 setup.py install |
با اجرای این پروسه، می توانید کتابخانه را در اسکریپت های Python خود قرار دهید.
مثال: اسکریپت های پایتون
با دستور زیر به فهرست مثال ها بروید :
1 |
cd examples |
اکنون تعدادی اسکریپت های مثال را مشاهده می کنید :
- animate.py
- buttons.py
- image.py
- shapes.py
- stats.py
مثال ها با استفاده از دستور زیر راه اندازی می شود :
( برای پایتون 2)
1 |
python shapes.py |
پایتون 3 :
1 |
python3 shapes.py |
نتایج حاصل از اجرای این مثالها، نمایشی به شکل زیر می تواند باشد :
تنظیم اندازه صفحه
مثال های توسعه دهنده Adafruit، به صورت پیش فرض برای صفحه 128*32 هستد. برای غیر فعال کردن 128 در32 یک کاراکتر # را در جلوی 32×128 قرار دهید و برای فعال سازی صفحه 64×128؛ کاراکتر # را از جلوی آن حذف کنید. به تصویر زیر توجه کنید :
اجرای این مرحله برای شروع نماش تصاویر خود بر صفحه نمایش ضروری است.
ایجاد تصویر جدید
بنابراین مثال image.py را امتحان کردید. برای ایجاد تصویر دلخواه تان می توانید از برنامه های ویرایش عکس مانند فوتوشاپ یا GIMP استفاده کنید. در این آموزش از GIMP استفاده می کنیم.
در حالت ایده آل تصویر باید به صورت :
- رزولیشن : 64×128
- 1 بیت رنگ (i.e. black and white)
به صورت پیش فرض مثال image.py تصویر را به 1bit تبدیل می کند، اما رزولیشن را صحیح در نظر می گیرد.
در اسکریپت مشاهده خواهید کرد که یک خط برای جایگیزین تغییرات اندازه و تبدیل یک تصویر، وجود دارد. بنابراین بدون نگرانی از اندازه و رنگ تصاویر را می توانید دانلود کنید.
تصویر را قرار داده و به 1bit color تبدیل کنید :
1 |
image = Image.open('happycat_oled_64.ppm').convert('1') |
یک تصویر بارگذاری کرده و به یک بیت تبدیل کنید :
1 |
image = Image.open('example.png').resize((disp.width, disp.height), Image.ANTIALIAS).convert('1') |
تغییر اندازه و تبدیل تصاویر
اگر می خواهید یک عکس را قرار دهید،مراحل زیر را اجرا کنید :
- تصویر را بارگذاری کنید.
- تصویر را به 64×128 تغییر سایز دهید.
- تصویر را به (1bit colour (monchrome تبدیل کنید.
- فرمت به صورت فایل “.pbm” یا “.png” باشد.
- آدرسی که در اسکریپت پایتون دارید در رزبری پای کپی کنید.
- Python script را برای استفاده از فایل جدیدتان آپدیت کنید.
در مثال توسعه دهنده Adafruit از فایل به صورت “ppm” است.
چرا صفحه نمایش کار نمی کند ؟
اگر صفحه شما کار نمی کند باید این پست را از ابتدا چک کنید و بررسی کنید که آیا همه مراحل به درستی انجام شده است یا خیر!
- آیا رابط I2C فعال است ؟
- “python-smbus” و “i2c-tools” را فعال کردید ؟
- آیا هر 4 پین ماژول به درستی متصل شده است ؟
- آیا “i2cdetect -y 1” آدرس نمایشگر را در گذرگاه I2C به شما داده است ؟
برای تهیه رزبری پای 4 مدل B رم 4 گیگ ساخت UK،با هزینه ای به صرفه به فروشگاه الکترونیکی ایونیک مراجعه کنید.
امیدوارم که این آموزش برایتان مفید واقع شود.