ورکشاپ آموزشی - آیسی مدار
رفتن به محتوا

گجت پیشگوی هوشمند با ESP32 و نمایشگر جوهر الکترونیک

ابزار و گجت
۲ نظر
۱۷ نفر
کد ۳۰۶۴

امروز در آیسی‌مدار قراره یک گجت جیبی و به‌شدت سرگرم‌کننده بسازیم! پروژه‌ای که پیش روی توئه، یک "شیرینی شانس" (Fortune Cookie) دیجیتال و هوشمنده. ایده کار خیلی ساده و جذابه: دستگاه رو توی دستت می‌گیری، تکونش می‌دی و روی صفحه یک جمله تصادفی، یک عدد تاس یا نتیجه شیر و خط برات نمایش داده می‌شه. این گجت می‌تونه برای تصمیم‌گیری‌های روزمره، سرگرمی با دوستان یا حتی به عنوان یک جاکلیدی خاص، فوق‌العاده کاربردی باشه.

قلب تپنده این پروژه برد قدرتمند و کوچک XIAO ESP32-S3 هست که در کنار یک نمایشگر کم‌مصرف جوهر الکترونیک (ePaper) قرار گرفته. مزیت استفاده از نمایشگرهای ePaper اینه که انرژی بسیار کمی مصرف می‌کنن و حتی زیر نور مستقیم خورشید هم کاملا خوانا هستن؛ در نتیجه باتری دستگاه مدت‌ها دوام میاره. همچنین از یک ماژول شتاب‌سنج برای تشخیص حرکت دست استفاده کردیم تا حس تعاملی بودن گجت کاملا طبیعی به نظر برسه.

بخش جذاب ماجرا اینه که نیازی به طراحی بردهای پیچیده یا لحیم‌کاری‌های سنگین نداری. با ترکیب چند قطعه آماده و یک قاب پرینت سه‌بعدی شده، یک گجت شیک و حرفه‌ای می‌سازیم که می‌تونی تمام جملات و پیشگویی‌های داخلش رو مطابق سلیقه خودت شخصی‌سازی کنی. وسایلت رو آماده کن تا بریم سراغ ساخت این گجت دوست‌داشتنی!

قطعات موردنیاز

  • برد توسعه XIAO ePaper Display Board (مدل ESP32-S3 - EE05)
  • نمایشگر جوهر الکترونیک (ePaper) مونوکروم 1.54 اینچ
  • ماژول شتاب‌سنج و ژیروسکوپ 3 محوره MPU-6050 (مدل GY-521)
  • باتری لیتیوم پلیمر میکرو 3.7 ولت 150 میلی‌آمپر (مدل 402025)
  • هویه و وسایل لحیم‌کاری
  • سیم‌چین و سیم‌لخت‌کن
  • گیره مونتاژ (دست سوم) برای لحیم‌کاری
  • چسب مایع B7000
  • پرینتر سه‌بعدی (مثل Anycubic Kobra 2 Neo یا مشابه)
مرحله ۱

طراحی و پرینت سه‌بعدی قاب گجت

مثل همیشه، قدم اول ساخت بدنه و قاب محافظ پروژه‌ست. من مدل‌های سه‌بعدی قطعات الکترونیکی رو دانلود کردم و با استفاده از نرم‌افزار Fusion 360 یک قاب جمع‌وجور و ساده براش طراحی کردم. فایل‌های STL آماده هستن و می‌تونی اون‌ها رو با فیلامنت PLA و در دو رنگ مختلف پرینت بگیری تا ظاهر دستگاهت جذاب‌تر بشه.

مرحله ۲

آشنایی با برد راه‌انداز XIAO و نمایشگر ePaper

هسته اصلی این پروژه برد جدید و نقلی XIAO ePaper Display Board EE05 هست. این برد راه‌انداز از چیپ قدرتمند XIAO ESP32 S3 Plus استفاده می‌کنه که پین‌های GPIO کافی رو برای اتصال سنسورهای خارجی در اختیارت می‌ذاره. علاوه بر این، روی خودش دکمه‌های قابل برنامه‌ریزی، سوکت باتری و کلید روشن/خاموش داره.

یکی از ویژگی‌های عالی این برد، سازگاریش با پلتفرم‌های بدون کدنویسی (No-code) برای رابط‌های کاربریه که کار ساخت پروژه‌های ePaper رو خیلی سریع‌تر می‌کنه.

به لطف این برد همه‌کاره، ما اصلا نیازی به طراحی PCB اختصاصی یا لحیم‌کاری‌های پیچیده نداریم. تمام قطعات ضروری مثل کلیدها و سوکت باتری روی خودش تعبیه شده و همین باعث می‌شه فرآیند ساخت خیلی ساده و سریع پیش بره.

مرحله ۳

تشخیص حرکت با ماژول ژیروسکوپ MPU-6050

برای این که دستگاه متوجه بشه کی تو دستت تکونش می‌دی، از ماژول سنسور ژیروسکوپ GY-521 استفاده می‌کنیم که چیپ معروف MPU-6050 رو روی خودش داره. در این پروژه ما دیتاهای شتاب‌سنج (Accelerometer) این آیسی رو می‌خونیم تا لرزش و تکان دادن گجت رو تشخیص بدیم. این سنسور از طریق پروتکل I2C به برد اصلی XIAO متصل می‌شه.

مرحله ۴

نمایشگر کم‌مصرف جوهر الکترونیک

برد EE05 با طیف وسیعی از نمایشگرهای 24 پین ePaper سازگاره. من برای این پروژه یک نمایشگر مونوکروم (سیاه و سفید) 1.54 اینچی با رزولوشن 200 در 200 پیکسل رو انتخاب کردم. نمایشگرهای eInk بهترین گزینه برای گجت‌های باتری‌خور هستن چون مصرف برقشون به‌شدت پایینه. برای اتصال این صفحه به برد راه‌انداز، از یک کابل فلت افزایشی (Extender) که همراه خود ماژول هست، استفاده می‌کنیم.

مرحله ۵

تأمین انرژی با باتری لیتیوم پلیمر نقلی

برای روشن نگه داشتن کل این مجموعه، یک باتری میکرو لیپو 3.7 ولت با ظرفیت 150 میلی‌آمپر (مدل 402025) به کار بردیم. شاید ظرفیتش کم به نظر برسه، اما به خاطر مصرف پایین قطعات، برای مدت طولانی جوابگوی کار ماست. خبر خوب اینه که نیازی به مدار محافظ (BMS) جداگانه برای شارژ نداریم، چون خود برد EE05 دارای کنترلر شارژ داخلی هست. فقط کافیه دستگاه رو با کابل USB-C به شارژر متصل کنی تا باتری پر بشه.

مرحله ۶

نقشه سیم‌کشی و اتصالات مدار

تصویر بالا، نقشه دقیق سیم‌کشی پروژه رو نشون می‌ده. پدهای مخصوص لحیم کردن باتری رو می‌تونی پشت برد EE05 پیدا کنی. حالا وسایلت رو جمع کن تا بریم سراغ مونتاژ فیزیکی.

مرحله ۷

لحیم‌کاری و نصب سنسور GY-521

اول سیم‌ها رو به پین‌های ماژول سنسور لحیم کن. بعد از اون، با استفاده از چسب مایع B7000، ماژول رو در جایگاه مخصوصش داخل قاب اصلی بچسبون و محکم کن.

مرحله ۸

جایگذاری باتری لیپو در قاب

مقداری چسب کف قاب بزن و باتری رو با احتیاط دقیقا در فضای خالی بین سوراخ‌های پیچ روی بدنه قرار بده تا تکون نخوره.

مرحله ۹

اتصال برد اصلی به قطعات و نصب آن

حالا سیم‌های سنسور و باتری رو بر اساس نقشه شماتیکی که قبلا دیدیم، به پایه‌های برد EE05 لحیم کن. بعد از تموم شدن اتصالات، برد رو داخل قاب بذار و با استفاده از پیچ‌های سایز M2.5 اون رو به بدنه پیچ کن.

مرحله ۱۰

مونتاژ قاب رویی و نمایشگر ePaper

مقدار کمی چسب روی لبه‌های قاب بالایی بمال. سپس صفحه نمایشگر ePaper رو با ظرافت در محل خودش قرار بده و طوری تراز کن که کاملا با پنجره قاب هم‌راستا بشه.

مرحله ۱۱

اتصال کابل فلت و بستن نهایی قاب

یک سر کابل فلت (FPC) رو به سوکت روی برد EE05 متصل کن. برای سمت دیگه، از قطعه افزاینده کابل استفاده کن و اون رو به فلت خود نمایشگر وصل کن.

در نهایت کمی چسب به لبه‌های بدنه بزن و قاب رویی رو محکم ببند.

مرحله ۱۲

آپلود کدها روی ESP32

دستگاه رو با کابل به کامپیوترت وصل کن. نرم‌افزار Arduino IDE رو باز کن و فایل اصلی با پسوند ino. رو لود کن (مطمئن شو که فایل‌های h.

هم تو همون پوشه باشن). اگر بخوای میزان حساسیت لرزش دستگاه رو کم یا زیاد کنی، می‌تونی متغیرهای مربوط به اون رو در کد اصلی تغییر بدی.

TXT
float shakeThreshold = 30.0;
unsigned long lastShakeTime = 0;
unsigned long shakeCooldown = 1500;

همچنین می‌تونی فایل‌های گرافیکی (Bitmap) رو ویرایش کنی تا طرح روی سکه (شیر یا خط) به شکل دلخواه خودت دربیاد.

مرحله ۱۳

شخصی‌سازی جملات پیشگویی

حالا فایل fortunes.h رو باز کن. اینجا لیستی از تمام جمله‌هایی که قراره روی صفحه نشون داده بشن رو می‌بینی. می‌تونی جملات بامزه یا پیشگویی‌های اختصاصی خودت رو با کمک هوش مصنوعی تولید کنی و اینجا قرار بدی. فقط یادت باشه که هر جمله باید داخل علامت نقل‌قول ("") باشه و با یک ویرگول (,) از جمله بعدی جدا بشه.

بعد از این که جملاتت رو اضافه کردی، برد Seeed Studio Xiao ESP32-S3 Plus رو از منوی آردوینو انتخاب کن و کد رو روی دستگاه آپلود کن.

مرحله ۱۴

تست حالت پیشگویی (شیرینی شانس)

با استفاده از کلید کشویی بغل بدنه، دستگاه رو روشن کن. بعد از بالا اومدن سیستم، اولین برنامه‌ای که می‌بینی حالت "شیرینی شانس" هست. فقط کافیه گجت رو تکون بدی تا پیشگویی یا جمله تصادفی روی صفحه ظاهر بشه. برای دیدن یک جمله جدید، دوباره دستگاه رو تکون بده.

مرحله ۱۵

حالت تاس دیجیتال

دکمه فشاری بغل دستگاه رو بزن تا برنامه عوض بشه. اینجا حالت تاس رو داریم؛ گجت رو تکون بده تا دقیقا مثل یک تاس واقعی برات یک عدد تصادفی بندازه.

مرحله ۱۶

حالت شیر یا خط

یک بار دیگه دکمه کناری رو بزن تا وارد حالت شیر یا خط (Coin Flip) بشی. این برنامه ساده برای زمان‌هایی که سر دوراهی موندی عالیه! تکونش بده تا به صورت رندوم شیر یا خط رو بهت نشون بده.

مرحله ۱۷

جمع‌بندی و نتیجه‌گیری پروژه

در طراحی بدنه، یک سوراخ کوچک هم قسمت بالاش در نظر گرفتم تا بتونی خیلی راحت اون رو به جاکلیدی یا زیپ کوله‌پشتی‌ات وصل کنی. جذاب‌ترین بخش این پروژه اینه که می‌تونی لیست جملات رو کاملا بر اساس علایق خودت شخصی‌سازی کنی. مثلا اگر عاشق ماشین هستی، می‌تونی دیالوگ‌ها یا اصطلاحات خودرویی براش بنویسی و ازش لذت ببری.

امیدوارم از ساخت این گجت در آیسی‌مدار لذت برده باشی. حتما نظرت رو درباره این پروژه برامون بنویس و ایده‌های خلاقانه‌ات برای جملات پیشگویی رو توی کامنت‌ها به اشتراک بذار. منتظر پروژه‌های هیجان‌انگیز بعدی باش!

فایل‌های پیوست

STEP eFortune_.step
STL main enclosure.stl
STL Top_cap .stl

تو میتونی اولین سازنده باشی!

اگه پروژه رو ساختی به اشتراک بزار و اعتبار هدیه بگیر

این آموزش با استانداردهای اختصاصی آیسی‌مدار بازنویسی و بهینه‌سازی شده و تمامی حقوق انتشار آن متعلق به این مجموعه است و در صورت کپی یا بازنشر پیگرد قانونی خواهد داشت.

آموزش‌های مشابه

گفتگو‌های کاربران

تا این لحظه ۲ پرسش و پاسخ ثبت شده