فارسی نویسی در آردوینو با کتابخانه u8g2

نوشته شده توسط آی دریمز در 17 سپتامبر 2019

یکی از کتابخانه های بسیار پیشرفته که در زمینه راه اندازی طیف وسیعی از نمایشگرها (نمایشگرهای تک رنگ) در آردوینو ساخته شده است، کتابخانه u8g2 است. این کتابخانه ویژگی های منحصر به فردی دارد که یکی از آنها، پشتیبانی از زبان هایی مانند فارسی، عربی، ژاپنی و… است. علاوه بر این می توان از فونت و سایز دلخواه، برای نمایش کلمات استفاده کرد و هیچ محدودیتی در این زمینه وجود ندارد. حتی می توان فونت دلخواه برای آن طراحی کرد!
این کتابخانه بصورت پیش فرض در نمایش حروف فارسی یا عربی مشکل دارد و حروف را بصورت جدا از هم نمایش می دهد. برای رفع این مشکل توابعی نوشتم تا بتوان کلمات فارسی یا عربی را دوباره از ابتدا طراحی کرد و حروف را بصورت درست کنار هم قرار داد. برای استفاده از توابع نیاز به کار خاصی نخواهید داشت، کافیست کتابخانه u8g2 را بر روی آردوینو نصب کنید، نمایشگر خود را به بُرد آردوینو متصل کرده و سپس مثال معرفی شده را دانلود و روی بُرد خود آپلود کنید. (البته لازم است نوع نمایشگر و نحوه اتصال آن را در این خط ویرایش نمایید.) نتیجه بصورت تصویر بالا خواهد بود. امیدوارم توضیحات فوق، برایتان مفید بوده باشد.

این کتابخانه یا مثال، اختصاصاً برای کتابخانه u8g2 نوشته شده است اما می توان با کمی تغییرات در جاهای دیگر هم از آن استفاده کرد. برای قسمت های مختلف این کد، زحمات زیادی کشیده شده و می توان ادعا کرد، برای اولین بار است که در اینترنت، فارسی نویسی مستقیم روی نمایشگرهای LCD یا OLED با فونت و سایز دلخواه با کمک آردوینو، منتشر شده است، لذا استفاده از این کد بصورت شخصی و تجاری، صرفاً فقط با ذکر نام پدید آورنده، مجاز است.
لطفاً مشکلات یا سئوالات خود را در قسمت نظرات مطرح بفرمایید. اگر این کد زمان توسعه پروژه شما را کاهش داد و به شما کمک کرد، من را به یک فنجان قهوه، مهمان کنید.

علاوه بر این، قبلاً کتابخانه ای برای نمایش کلمات فارسی معرفی کرده بودم که دارای محدودیت سایز و فونت بود و سایز هر حرف، حداکثر 8 در 8 پیکسل بود و نمی توانستیم سایز یا نوع فونت کلمات را تغییر دهیم. این مشکل با معرفی روش بالا برطرف می شود.

15 دیدگاه دسته‌بندی : آردوینو, آموزش

15 دیدگاه برای “فارسی نویسی در آردوینو با کتابخانه u8g2”

  1. علیرضا گفت:

    سلام از این روش می توان برای ماژول p10 استفاده کرد .تابلو روان

    • آی دریمز گفت:

      توابعی که در این کد استفاده شده برای تمامی نمایشگر های پیکسلی (مثل P10) قابل استفاده هست.

  2. علیرضا گفت:

    ممکنه یک بزرگواری کنید و یک مثال از این مثال برای پی 10 بگذارید .خواهشمندم اینکار انجام دهید .

  3. علیرضا گفت:

    این مثال لطفا چک کنید خطا تبدیل میگیره ازش اردوینو

  4. وحید گفت:

    سلام
    ممنون بابت مطلب بالا

    میتونیم توی utf_lcd هم استفاده کنیم؟؟

    • آی دریمز گفت:

      سلام
      تست نشده
      نمایشگرتون چیه ؟ و اینکه باید ببینید می تونید از کتابخونه u8g2 استفاده کنید یا نه.

  5. ايمان گفت:

    سلام ممنون بابت اشتراک گزاری فارسی نویسی خیلی دنبالش میگشتم
    یه سوالی داشتم؟ من نمی تونم از مثال شما به صورت i2c در نمایشگر های oled i2c استفاده کنم در متلب قبلی با کتابخانه قبلی تونستم از فارسی نوشتن در oled i2c استفاده کنم ولی در این کتابخانه u8g2 هر کاری میکنم نمیشه با این کتابخانه oled i2c رو فارسی سازی کنم از مثال های این کتابخانه u8g2 که تو بخش example هست تونستم مثال hello word رو نمایش بدم رو نمایشگر oled i2c خودم ولی وقتی بخش تنظیم نوع نمایشگر i2c رو از مثال hello word کپی میکنم و به جای نوع نمایشگر شما که spi هست قرار میدم و اپلود میکنم کار نمیکنه هیچی نمایش نمیده ممنون میشم کمکم کنید این مشکلو حل کنم.

    • آی دریمز گفت:

      درود بر شما
      نوع نمایشگرتون چیه و با چه سخت افزاری به نمایشگر متصل شدید ؟

  6. حسین گفت:

    سلام وقت بخیر
    چطور میتونم این متن فارسی رو اسکرول کنم ؟ با u8g2

  7. حسین گفت:

    سلام وقت بخیر
    چطوز میتونم یک متن فارسی در پایتون رو با استفاده از پورت سریال و به کمک کتابخانه u8g2 چاپ کنم ؟

  8. فرزاد گفت:

    با عرض سلام و وقت بخیر
    من از OLED با درایور SSD1306 با ابعاد 128*32 و پروتکل I2C استفاده میکنم. ممکنه لطفا بفرمایید چطور خط مورد نظر در کد شما رو برای این سخت افزار تغییر بدم؟

دیدگاه‌تان را ارسال کنید ...


Time limit is exhausted. Please reload the CAPTCHA.