ساخت کاغذ الکترونیکی E-Paper با آردوینو

محتویات
- صفحه نمایش کاغذ الکترونیکی 1.54 اینچی
- ویژگی های صفحه نمایش کاغذ الکترونیکی
- مشخصات صفحه نمایش کاغذ الکترونیکی
- اصل کار نمایش مقاله الکترونیکی
- اتصال صفحه نمایش کاغذ الکترونیکی به آردوینو
- برنامه نویسی E-Paper با آردوینو
- مصرف برق در صفحه نمایش کاغذ الکترونیکی
- مزایای نمایش کاغذ الکترونیکی
- معایب صفحه نمایش کاغذ الکترونیکی
کاغذ الکترونیکی یاE-paper نوعی فناوری است که ظاهر جوهر روی کاغذ را تقلید می کند. صفحه نمایش های کاغذ الکترونیکی با پانل های LCD متفاوت هستند و به جای تابش نور، نور را منعکس میکنند. در این آموزش ما صفحه نمایش کاغذ الکترونیکی را معرفی میکنیم و نحوه راه اندازی E-Paper با آردوینو را آموزش میدهیم. ما کاراکترها و تصاویر را در صفحه E-paper چاپ می کنیم و در پایان این آموزش مزایا و معایب نمایش E-Paper را مورد بحث قرار می دهیم.
این صفحه نمایش ها یکبار برق مصرف میکنند و در صورت قطع برق همچنان تصاویر یا متن ها را نمایش میدهند. برای پاکسازی و قرار دادن تصویر یا متن دیگر در صفحه نمایش دوباره نیاز به مصرف برق هست.
صفحه نمایش کاغذ الکترونیکی 1.54 اینچی
ماژول نمایش کاغذ الکترونیکی 1.54 اینچی Waveshare با رابط SPI دارای وضوح 200×200 پیکسل و دارای یک ماژول کنترل کننده تعبیه شده است. از طریق ارتباط SPI با میکروکنترلر و برد ها ارتباط برقرار می کند و امکان تازه سازی جزئی را فراهم می کند. این نمایشگرها دارای مزیت بزرگی هستند که مصرف بسیار کم انرژی است زیرا دارای پنل های نور پس زمینه نیستند و نیازی به منبع تغذیه مداوم برای نمایش داده ها (داده های استاتیک با فواصل دوره ای) روی صفحه ندارند. همچنین زاویه دید وسیعی دارند و دید خوبی در برابر نور خورشید ارائه می دهد و آن را به یک انتخاب عالی برای برچسب های قفسه، ابزارهای صنعتی و سایر کاربرد های مشابه تبدیل می کند. در این آموزش ، ما از یک صفحه نمایش 1.54 اینچی E-Paper استفاده می کنیم که حدود 15 دلار قیمت دارد.
صفحه نمایش کاغذ الکترونیکی میتواند قسمتی از صفحه نمایش را بروزرسانی کند و قسمت های دیگر را دست نخورده باقی بگذارد. تازه سازی کامل این صفحه نمایش حدود 2 ثانیه طول میکشد و جریان زیادی را استفاده میکند. از طرف دیگر ، به روز رسانی بخشی از صفحه نمایش سریع است و نیازی به جریان زیاد ندارد.
ویژگی های صفحه نمایش کاغذ الکترونیکی
- بدون نور پس زمینه ، آخرین محتوا را برای مدت طولانی حتی در زمان خاموش بودن نمایش می دهد
- مصرف برق بسیار کم، اساسا برق فقط برای تازه سازی استفاده میشود
- ارتباط SPI ، برای اتصال با بردهای کنترل کننده مانند Raspberry Pi/Arduino/Nucleo و …
- تبدیل ولتاژ داخلی ، سازگار با MCU های 3.3V/5V
مشخصات صفحه نمایش کاغذ الکترونیکی
- ولتاژ کار: 3.3V/5V
- رابط: SPI 3 سیم ، SPI 4 سیم
- ابعاد کلی: 48mm × 33mm
- اندازه صفحه نمایش: 27.6 میلی متر × 27.6 میلی متر
- وضوح تصویر: 200*200
- رنگ صفحه نمایش: مشکی ، سفید
- سطح خاکستری: 2
- زمان تجدید جزئی: 0.3 ثانیه
- زمان تازه سازی کامل: 2 ثانیه
- قدرت در زمان تازه سازی: 26.4 میلی وات (نوع)
- قدرت در زمان آماده به کار: <0.017mW
- زاویه دید: >170 درجه
اصل کار نمایش مقاله الکترونیکی
صفحه نمایش کاغذ الکترونیکی بر اساس فناوری Electrophoretic Display Microencapsulated (MED) طراحی شده است که یکی از فن آوری های معروف نمایش تصویر است. در این فناوری ، اولین قدم ساختن کره های میکروسکوپی است که در آن رنگدانه های رنگی در روغن شفاف معلق شده و در پاسخ به بار الکترونیکی حرکت می کنند. در صفحه E-paper هیچ نور پس زمینه ای وجود ندارد زیرا صفحه E-paper با بازتاب نور محیط الگوها را نشان می دهد. صفحه الکترونیکی کاغذ دارای زاویه دید وسیع 180 درجه است و در نور محیط بسیار قابل مشاهده است ، بنابراین به دلیل گستره بودنزاویه دید ، نمایشگرهای کاغذ الکترونیکی به طور گسترده در کاربرد های مختلف مورد استفاده قرار میگیرند. ما نباید از این صفحه نمایش در نور مستقیم خورشید استفاده کنیم زیرا هیچ نور پس زمینه ای ندارند.
اتصال صفحه نمایش کاغذ الکترونیکی به آردوینو
در حال حاضر ، ما قصد داریم صفحه نمایش 1.5 اینچی E-Paper را به Arduino UNO متصل کنیم. صفحه نمایش E-Paper وضوح 200×200 پیکسل را ارائه می دهد که بسیار عالی است. صفحه نمایش E-Paper از صفحه نمایش 3.3V پشتیبانی می کند بنابراین Vcc باید به خروجی 3.3V Arduino Uno متصل شود. سایر پین های صفحه نمایش 5 ولت را تحمل می کنند. پین دوم GND است و به پین GND برد Arduino UNO متصل می شود. پین سوم DIN نام دارد و به پین دیجیتال 11 متصل می شود. پین چهارم CLK است و به پین دیجیتال 13 متصل می شود. پین پنجم (CS) به پین دیجیتال 10 ، پین ششم (DC) به پین دیجیتال 9 متصل می شود. ، پین 7 (RST) به پین دیجیتال 8 (BUSY) و آخرین پین به پین دیجیتال 7 متصل می شود.
E-Paper | Arduino UNO |
3.3V | 3.3V |
GND | GND |
DIN | D11 |
CLK | D13 |
CS | D10 |
DC | D9 |
RST | D8 |
BUSY | D7 |
در شکل زیر ما اتصال سخت افزاری Arduino UNO و صفحه نمایش 1.54 اینچی E-Paper را نشان داده ایم.
در تصویر زیر می توانید تصویر سخت افزاری واقعی مدار صفحه نمایش E-Paper و Arduino UNO را مشاهده کنید.
برنامه نویسی E-Paper با آردوینو
ما قصد داریم لوگوی CircuitDigest را روی صفحه E-paper با یک پیام خوش آمد گویی چاپ کنیم. بنابراین برای انجام این کار ابتدا نرم افزار Arduino IDE را باز کرده و نوشتن کد را شروع می کنیم. ما قصد داریم برخی از خطوط مهم کد را توضیح دهیم ، بنابراین ابتدا از کتابخانه های زیر استفاده می کنیم. کتابخانه و کد کامل در انتهای صفحه در فایل دانلودی قرار داده شده است. در اینجا ما از کتابخانه spi.h برای ارتباط SPI و کتابخانه imagedata.h برای چاپ تصاویر در صفحه E-Paper استفاده کرده ایم.
#include <SPI.h> #include "epd1in54_V2.h" #include "imagedata.h" #include "epdpaint.h" #include <stdio.h>
در اینجا از تابع Serial.println برای چاپ عبارت “Welcome to” در خط اول استفاده می شود. ما فقط دو رنگ برای صفحه نمایش E-Paper داریم ، یکی سیاه و دیگری سفید است. بنابراین ما از Paint.DrawString برای دادن رنگ و اندازه به متن استفاده کرده ایم. همان کاری که ما برای خط بعدی “Circuit Digest” انجام داده ایم.
Serial.println("WELCOME TO"); paint.Clear(COLORED); paint.DrawStringAt(30, 4, "WELCOME TO", &Font16, UNCOLORED); epd.SetFrameMemory(paint.GetImage(), 0, 10, paint.GetWidth(), paint.GetHeight()); paint.Clear(UNCOLORED); paint.DrawStringAt(30, 4, "CIRCUIT DIGEST", &Font16, COLORED); epd.SetFrameMemory(paint.GetImage(), 0, 30, paint.GetWidth(), paint.GetHeight()); paint.SetWidth(64); paint.SetHeight(64); epd.DisplayFrame(); delay(2000);
برای نمایش تصویر، ابتدا باید HEX را برای تصویر تولید کنیم. کد HEX برای یک تصویر را می توان با استفاده از مبدل مانند Image2cpp تولید کرد. پیشنهاد میکنم مقاله تبدیل عکس به کد هگز را مشاهده کنید. در زیر کد هگز را برای لوگوی CircuitDigest مشاهده میکنید. ما باید این کد را در کتابخانه imagedata.cpp بنویسیم.
const unsigned char IMAGE_DATA[] PROGMEM = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ………………………………….. ………………………………….. };
در تصاویر زیر متن و لوگو را مشاهده میکنید که روی کاغذ الکتریکی چاپ شده اند. برای قرار دادن چندین تصویر شما نیاز به استفاده از برد هایی با حافظه بیشتر مثل STM32، رزبری پای و … دارید.
مصرف برق در صفحه نمایش کاغذ الکترونیکی
در حال حاضر ، ما قصد داریم میزان مصرف برق را در صفحه نمایش E-Paper با استفاده از دستگاه کنتور USB اندازه گیری کنیم. هنگامی که صفحه نمایش E-Paper در حال به روز رسانی است ، به مقدار زیادی جریان (حدود 7-9 میلی آمپر) نیاز دارد و هنگامی که صفحه نمایش به روز نمی شود ، فقط 0.02 میلی آمپر جریان می گیرد. بنابراین مصرف برق در صفحه E-Paper بسیار کم است. در تصویر زیر ، می توانید دو مصرف برق متفاوت را در حین به روز رسانی و پس از به روز رسانی مشاهده کنید ، در اینجا ما مقادیر بالاتری را دریافت می کنیم زیرا در حال اندازه گیری مقدار جریان Arduino-UNO نیز هستیم.
مزایای نمایش کاغذ الکترونیکی
کاغذ الکترونیکی یا E-paper نور ساطع نمی کند بلکه منعکس می شود. این نمایشگرها مانند نمایشگرهای LCD معمولی یا OLED نیستند. عکس یا متن ها روی آن مانند جوهر روی کاغذ است. این ویژگی باعث می شود صفحه های کاغذ الکترونیکی برای خواندن بسیار مناسب باشند و در زیر نور مستقیم خورشید خوانایی بالایی دارند. نکته جالب دیگر در مورد صفحه نمایش های کاغذ الکترونیکی این است که می توانند متن و تصاویر ثابت را برای ماه ها بدون برق نگه دارند. صفحه نمایش می تواند متن و تصاویر را حتی در حالت خاموش نشان دهد! این امر صفحه نمایش کاغذ الکترونیکی را برای پروژه های کم مصرف ایده آل می کند.
معایب صفحه نمایش کاغذ الکترونیکی
قیمت صفحه نمایش E-paper در مقایسه با سایر نمایشگرها بسیار بالا است. یکی دیگر از معایب مهم این است که به روزرسانی صفحات E-Paper به زمان زیادی نیاز دارد (به اندازه 2-3 ثانیه) بنابراین ، آنها فقط برای متن و تصاویر ایستا مفید هستند و برای انیمیشن ها مفید نیستند. بنابراین این نمایشگرها فقط برای اهداف خواندن استفاده می شوند. ما نمی توانیم از نمایشگر E-Paper برای انیمیشن ها و فیلم ها استفاده کنیم.
به این ترتیب می توانید Arduino UNO را با یک صفحه نمایش کاغذ الکترونیکی متصل کنید. من می خواهم یک نکته را در پایان این آموزش اضافه کنم ، این صفحه نمایش 1.5 اینچی E-Paper به نسخه 1.54 اینچی E-Paper V2 به روز می شود و کد دو نسخه با یکدیگر سازگار نیست بنابراین باید برای این صفحه از کتابخانه های epd1in54.h استفاده نکنید. برای این صفحه باید از کتابخانه apd1in54_V2.h استفاده کنید. در این آموزش ، ما نحوه چاپ کاراکتر و تصاویر را در صفحه E-paper یاد گرفته ایم.
موارد موجود در فایل : سورس کامل
برای دانلود فایل ها باید حساب کاربری داشته باشید ثبت نام / ورود