در این پروژه، با استفاده از نمایشگر گرد TFT GC9A01 با رزولوشن ۲۴۰×۲۴۰ پیکسل و ماژول ESP32‑C3 Super Mini، یک سیستم شبیهساز چشم انسان طراحی و پیادهسازی شده است که رفتار طبیعی پلک زدن را بهطور کاملاً واقعگرایانه نمایش میدهد. ایده اصلی، بازآفرینی توالی حرکت پلکها از طریق پردازش یک ویدیو و تبدیل آن به مجموعهای از فریمهای تصویر است که با سرعت بالا روی نمایشگر اجرا میشوند.
فرآیند تولید این شبیهساز شامل مراحل زیر بوده است:
- استخراج فریمها از ویدیو – ابتدا یک ویدیوی پلک زدن چشم به فریمهای پیدرپی تقسیم شد.
- حذف فریزهای ویدیو – بخشهایی از تصویر که در ویدیو چند ثانیه ثابت مانده بودند، از توالی فریم حذف شد. به جای آن، در اجرای نهایی، با افزودن تأخیر برنامهریزیشده همان حس توقف را شبیهسازی کردیم.
- بهینهسازی دادهها – همه فریمها به یک فایل باینری با رزولوشن ۱۲۰×۱۲۰ پیکسل تبدیل شدند تا حجم ذخیرهسازی کاهش یابد.
- نمایش با دو برابر بزرگنمایی – هنگام اجرا، تصاویر بهصورت اسکیل دوبرابری روی نمایشگر ۲۴۰×۲۴۰ پیکسل نمایش داده شدند که هم جزئیات را بهتر نشان دهد و هم فضای گرد نمایشگر را کامل پر کند.
این رویکرد باعث شده که پروژه علاوه بر واقعی بودن حرکات چشم، کارایی بالایی در پردازش و نمایش داشته باشد، چون استفاده از فایل باینری کوچک سرعت بارگذاری و انتقال داده به نمایشگر را بهشدت افزایش داده است.
تجهیزات استفاده شده در پروژه
-
ESP32-C3 Super mini
-
LCD Tft 240*240 pxl GC9A01
بریم سراغ آموزش
:
برای اجرای صحیح پروژه شبیهساز چشم با نمایشگر GC9A01 و برد ESP32‑C3 Super Mini در محیط Arduino، باید چند مرحله ساده ولی دقیق طی شود. این مراحل به شما کمک میکند تا تمام فایلها و تنظیمات مورد نیاز را بهدرستی آماده و بارگذاری کنید.
1. آمادهسازی فایلهای مورد نیاز
ابتدا سه فایل زیر را از سورس پروژه دانلود کنید:
- 📁 tools
- 📁 Library
- 📁 eye
پس از دانلود، فایلها را استخراج کرده و پوشهی tools را داخل مسیر زیر قرار دهید:
C:\Users\your system\Documents\Arduino
سپس محتوای پوشهی Library را در مسیر زیر کپی کنید:
C:\Users\your system\Documents\Arduino\libraries
2. بارگذاری فایل پروژه در Arduino IDE
در نرمافزار Arduino، فایل eye.ino را باز کنید. از منوی Tools برد خود را روی گزینهی LOLIN C3 Mini قرار دهید.
در قسمت Partition Scheme، گزینهی زیر را انتخاب کنید:
No OTA (1MB APP / 3MB SPIFFS)
اکنون از منوی Sketch به مسیر زیر بروید و فایل باینری دادهها را آپلود نمایید:
Sketch → Upload Sketch Data
این مرحله باعث انتقال فایلهای تصویری چشم به حافظه SPIFFS ماژول میشود. پس از پایان آپلود، برنامه را با گزینهی Upload روی برد بارگذاری کنید و منتظر بمانید تا فرایند کامل شود.
نحوه سیمکشی بین نمایشگر GC9A01 و ماژول ESP32‑C3
برای اتصال درست نمایشگر و ماژول، از جدول زیر استفاده کنید:
| LCD | ESP32‑C3 Super Mini |
|---|---|
| VCC | 3.3V |
| GND | GND |
| SCL | GPIO 4 |
| SDA | GPIO 6 |
| CS | GPIO 7 |
| DC | GPIO 10 |
| RST | GPIO 9 |
| BL | GPIO 3 |
نکته مهم: ولتاژ تغذیه نمایشگر باید ۳٫۳ ولت واقعی باشد. در صورت استفاده از منبع تغذیه جداگانه، حتماً زمینها (GND) را مشترک کنید تا ارتباط دادهها بدون نویز برقرار شود.