عنوان پروژه: اپلیکیشن طراحی و تست خودکار مدار الکترونیکی از روی متن فارسی
1. مقدمه و هدف پروژه
کاربر بتواند توضیحات یک مدار الکترونیکی را به زبان فارسی وارد کند و اپلیکیشن بهصورت خودکار:
• شماتیک مدار را رسم کند.
• فایل طراحی PCB را تولید کند (فرمت Gerber یا pcbdoc).
• قطعات الکترونیکی را روی برد قرار دهد.
• صحت عملکرد مدار را تست کند.
• خروجی را برای استفاده در نرمافزارهای تولید PCB ذخیره کند.
2. بستر توسعه
• ترجیح کاربر: اندروید
• در صورت عدم امکان پیادهسازی کامل در اندروید، امکان استفاده از سرویسهای مبتنی بر وب یا بکاند خارجی وجود دارد.
3. امکانات کلیدی اپلیکیشن
3.1 ورودی متن فارسی
• یک TextBox یا صفحه متنی برای دریافت توضیح فارسی مدار.
• مثال:
"یک مدار ساده شامل یک مقاومت 220 اهم، یک LED و یک منبع تغذیه 5 ولت. LED به مقاومت متصل شده و سپس به منبع تغذیه.
3.2 تحلیل متن ورودی
• ماژول NLP برای استخراج قطعات، مقادیر، ارتباطات و توپولوژی مدار از متن فارسی.
• تشخیص قطعات استاندارد (مقاومت، خازن، دیود، ترانزیستور، IC و …).
3.3 رسم شماتیک مدار
• استفاده از کتابخانههای رسم شماتیک (در سمت کلاینت یا سرور).
• قابلیت رسم اتصال بین پایهها و نمایش نام قطعات و مقادیر.
3.4 طراحی PCB
• ماژول چیدمان اتوماتیک قطعات روی برد (Auto Routing).
• ایجاد مسیرها و لایهها بهصورت استاندارد.
3.5 تست صحت مدار
• نمایش تصویری از عملکرد مدار (مثلاً روشن شدن LED یا جریان عبوری).
• در صورت امکان، شبیهسازی ابتدایی مدار برای بررسی صحت عملکرد (مثلاً با API یا کتابخانه SPICE).
3.6 خروجی قابل دانلود
• امکان خروجی گرفتن از مدار به فرمتهای زیر:
• Gerber (برای ساخت PCB)
• .pcbdoc (فرمت Altium)
• PDF یا PNG از شماتیک مدار
4. معماری پیشنهادی اپلیکیشن
4.1 Frontend (اندروید یا وب اپ)
• نوشتهشده با Flutter یا React Native (در صورت نیاز به اجرای سریعتر در اندروید).
• نمایش فرم ورود متن، نمایش شماتیک، دکمههای عملیات، خروجی فایل.
4.2 Backend (در صورت نیاز به پردازش سنگین)
• پردازش زبان طبیعی (NLP) روی متن فارسی با Python (مثلاً با استفاده از Transformers یا spaCy).
• تولید شماتیک با کتابخانههایی مانند KiCAD API یا Fritzing.
• تولید Gerber با ابزارهایی مثل EasyEDA API یا gEDA.
5. تکنولوژیهای پیشنهادی
بخش تکنولوژی/کتابخانه
NLP Python (Transformers, spaCy)
شماتیک KiCAD API / Fritzing / SVG custom
PCB AutoRouting + Gerber Export libs
خروجی ZIP + PDF export
اندروید Kotlin یا Flutter
وب React.js یا Vue.js (در صورت نسخه وب اپ)
6. ویژگیهای اضافی (در نسخههای بعدی)
• اتصال به دیتابیس قطعات برای پیشنهاد آیسی و مقاومت واقعی.
• قابلیت خرید آنلاین قطعات یا نمایش لینک خرید.
• اتصال به چاپگر PCB یا ارسال مستقیم فایلها به شرکتهای تولید.
7. عملکرد مورد انتظار
ورودی: متن فارسی توصیفی
خروجی: شماتیک + تست عملکرد + فایلهای ساخت PCB
با امکان ذخیره خروجی برای استفاده در نرمافزارهای حرفهای مانند Altium یا KiCAD.