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

ساعت دیجیتال هوشمند با افکت Morphing و ماژول ESP8266

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

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

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

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

  1. فقط به دو قطعه اصلی نیاز داری: یه نمایشگر و یه میکروکنترلر وای‌فای
  2. هیچ نیازی به هویه و لحیم‌کاری نیست
  3. نیازی به مهارت برنامه‌نویسی نداری؛ کدها کاملا آماده هستن!

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

  • ماژول ماتریس ال‌ای‌دی رنگی مدل P3 (ابعاد 64 در 32)
  • برد وای‌فای NodeMCU ESP8266
  • سیم جامپر ماده به ماده (حدود 20 سانتی‌متر)
  • کابل Micro USB از نوع دیتا (برای برنامه‌ریزی برد)
  • آداپتور تغذیه 5 ولت با حداقل جریان 2 آمپر
  • فیش مادگی آداپتور (برای اتصال بدون لحیم‌کاری منبع تغذیه)
مرحله ۱

نکات مهم درباره قطعات

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

  • ماژول ماتریس P3
  • برد NodeMCU ESP8266
  • سیم‌های جامپر
  • کابل دیتای Micro USB
  • آداپتور 5 ولت 2 آمپر
  • فیش ترمینال‌دار آداپتور

نکات خیلی مهم:

  • بعضی از کابل‌های USB فقط برای شارژ کردن ساخته شدن و دیتا رو منتقل نمی‌کنن. برای آپلود کردن کدها روی ESP حتما به یه کابل دیتا نیاز داری.
  • ماتریس P3 بیشتر از 6000 تا ال‌ای‌دی داره. تو این ساعت ما هیچ‌وقت قرار نیست همه اون‌ها رو همزمان روشن کنیم، برای همین یه آداپتور 2 آمپری کاملا کارمون رو راه می‌ندازه. اما اگه بعدا خواستی پروژه‌های دیگه‌ای باهاش انجام بدی و رنگ سفید رو با حداکثر نور روشن کنی، به یه تغذیه 8 آمپری نیاز پیدا می‌کنی.
مرحله ۲

نگاهی کلی به سیم‌کشی‌ها

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

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

مرحله ۳

سیم‌کشی‌های مربوط به برد ESP

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

یادت باشه هنوز نباید برد ESP رو به کامپیوتر وصل کنی. باید تمام سیم‌کشی‌ها تموم بشه و بعد دستگاه رو روشن کنیم. تو این قسمت ما از پین‌های D0 تا D8 و دو تا پین GND استفاده می‌کنیم.

کاری به پین 3 ولت نداریم چون برد قراره از طریق کابل USB تغذیه بشه. پین‌های فرستنده و گیرنده (TX و RX) رو هم خالی می‌ذاریم چون ارتباطمون با برد از طریق USB یا وای‌فای انجام می‌شه.

مرحله ۴

سیم‌کشی ماتریس LED - بخش اول

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

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

  • حتما به جهت فلش‌های دیتا دقت کن
  • اتصالات رو طبق لیبل‌های روی عکس انجام بده
مرحله ۵

سیم‌کشی ماتریس LED - بخش دوم

دسته دوم سیم‌های جامپر رو باید برای اتصال کانکتور سمت چپ به کانکتور سمت راست ماتریس استفاده کنیم. تو تصویر سوم می‌تونی جزئیات اتصال سمت راست ماتریس رو ببینی.

مرحله ۶

اتصال منبع تغذیه (برق)

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

کاملا مشخصه که سیم قرمز باید به قطب مثبت (+) و سیم مشکی به قطب منفی (-) فیش آداپتور وصل بشه. حالا اون سر دیگه کابل تغذیه رو به سوکت برق ماتریس وصل کن. بازم حواست به قطب‌ها باشه: سیم قرمز به VCC و سیم مشکی به GND.

اگه کابلت طوریه که می‌تونه دو تا ماتریس رو همزمان روشن کنه، فرقی نمی‌کنه از کدوم سوکتش استفاده کنی. اما فوق‌العاده مهمه که سیم‌های قرمز و مشکی رو برعکس وصل نکنی!

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

مرحله ۷

نصب نرم‌افزار Arduino IDE

برای آپلود کردن کدهای ساعت روی برد ESP، به نرم‌افزار آردوینو (Arduino IDE) و چند تا کتابخونه نیاز داریم. این نرم‌افزار رو می‌تونی مستقیما از سایت رسمی آردوینو دانلود و روی سیستمت نصب کنی.

مرحله ۸

نصب کتابخانه‌های مورد نیاز

وقتی نرم‌افزار آردوینو رو باز کردی، باید کتابخونه‌های زیر رو بهش اضافه کنی:

  • از منوی بالا برو به مسیر: Sketch > Include Library > Manage Libraries
  • کتابخونه‌های زیر رو جستجو کن و آخرین نسخه‌شون رو نصب کن: Adafruit GFX Library و PxMatrix و WiFiManager و DoubleResetDetector
  • برای کتابخونه ArduinoJSON حتما باید نسخه 5.13.2 رو پیدا و نصب کنی.

نکته خیلی حیاتی: کدهای این ساعت با نسخه‌های 6 یا 7 کتابخونه ArduinoJSON کار نمی‌کنه و موقع کامپایل ارور می‌ده. پس حتما مطمئن شو که دقیقا نسخه 5.13.2 رو نصب کرده باشی. رعایت این نکته باعث می‌شه بدون دردسر کدها رو کامپایل کنی.

مرحله ۹

نصب پکیج پشتیبانی از برد ESP8266

برای اینکه نرم‌افزار آردوینو بتونه برد وای‌فای ما رو بشناسه، باید پکیج ESP8266 رو بهش معرفی کنیم.

  • پنجره مدیریت کتابخونه‌ها رو ببند.
  • برو به منوی File و روی Preferences کلیک کن.
  • در بخش Additional Boards Manager URLs باید لینک مربوط به پکیج‌های ESP8266 رو وارد کنی (این لینک رو می‌تونی با یه سرچ ساده تو اینترنت پیدا کنی و اینجا پیست کنی).
  • روی Ok کلیک کن تا تنظیمات ذخیره بشه.
  • حالا برو به منوی Tools و بخش Board و روی Boards Manager کلیک کن.
  • کلمه 8266 رو سرچ کن.
  • پکیج esp8266 by ESP8266 Community رو پیدا و نصب کن.
مرحله ۱۰

نصب درایور CH340

آخرین چیزی که برای ارتباط کامپیوتر و برد نیاز داریم، درایور چیپ USB برد هست. اکثر بردهای NodeMCU از چیپ CH340 استفاده می‌کنن. تو اینترنت سرچ کن، درایور CH340 رو برای سیستم‌عاملت دانلود و نصب کن تا پورت USB کامپیوترت بتونه به درستی برد رو شناسایی کنه. این همون درایوریه که برای بردهای آردوینو نانو کلون هم استفاده می‌شه.

مرحله ۱۱

آپلود کردن کد روی برد

دیگه چیزی تا پایان کار نمونده...

  1. کدهای پروژه Morphing Clock رو از اینترنت دانلود کن و از حالت فشرده خارج کن. بعد فایل MorphingClock.ino رو تو نرم‌افزار آردوینو باز کن.
  2. قبل از اینکه کابل رو وصل کنی، یه بار دیگه سیم‌کشی‌ها رو چک کن. حواست باشه زیر برد ESP هیچ شیء فلزی نباشه که اتصال کوتاه ایجاد کنه. وقتی کابل USB رو وصل می‌کنی باید صدای اتصال دیوایس تو ویندوز رو بشنوی. تو منوی Tools تنظیمات برد رو انتخاب کن و پورت (Port) متصل شده رو مشخص کن. سایز فلش رو هم روی 4M (1M SPIFFS) تنظیم کن. حالا دکمه Upload رو بزن. این مرحله ممکنه حدود 30 ثانیه طول بکشه و چندتا پیام اخطار هم بده که طبیعیه؛ در نهایت کد روی برد نوشته می‌شه.

رفع مشکلات احتمالی (عیب‌یابی):

  • اگه موقع آپلود ارور کانکت نشدن گرفتی، مطمئن شو که پورت درست رو از منوی Tools انتخاب کردی.
  • اگه هیچ پورتی تو لیست نیست، یعنی یا درایور CH340 رو درست نصب نکردی یا کابل USB تو از نوع دیتا نیست (فقط کابل شارژه).
  • اگه قبل از آپلود تو مرحله کامپایل ارور گرفتی، اول خطاهای قرمز پایین صفحه رو بخون. اخطارها (Warnings) مهم نیستن و مشکلی ایجاد نمی‌کنن.
  • اگه ارور مربوط به JSON گرفتی، همون‌طور که قبلا گفتم باید حتما از نسخه 5.13.2 کتابخونه ArduinoJSON استفاده کنی.
  • اگه آپلود با موفقیت انجام شد اما ساعت کار نکرد، دکمه ریست روی برد ESP رو بزن. اگه تو سریال مانیتور حروف نامفهوم دیدی، تنظیمات Flash Size رو تغییر بده و دوباره آپلود کن.
مرحله ۱۲

تنظیمات اتصال به وای‌فای و منطقه زمانی

وقتی آپلود تموم شد، کلمه Connecting روی ماتریس نمایش داده می‌شه. الان برد داره سعی می‌کنه به وای‌فای وصل بشه تا زمان رو آپدیت کنه، اما چون رمز مودمت رو نداره نمی‌تونه کاری کنه.

  • دکمه ریست (RST) روی برد رو دو بار پشت سر هم با فاصله یک ثانیه فشار بده.
  • روی نمایشگر مشخصات یه نقطه اتصال نشون داده می‌شه. (اسم: MorphClk و رمز: HariFun و آی‌پی: 192.168.4.1)
  • تو این حالت برد ESP تبدیل به یه مودم شده که باید با گوشیت یا کامپیوترت بهش وصل بشی.
  • وای‌فای گوشیت رو روشن کن و به شبکه‌ای به اسم MorphClk با رمزی که دادم وصل شو.
  • ممکنه گوشیت پیام بده که این شبکه اینترنت نداره، که کاملا طبیعیه.
  • حالا مرورگر گوشیت رو باز کن و آدرس 192.168.4.1 رو وارد کن.
  • تو صفحه‌ای که باز می‌شه، روی Configure WiFi کلیک کن، اسم مودم خونه‌تون رو انتخاب کن و رمزش رو بزن. این اطلاعات برای همیشه تو حافظه برد ذخیره می‌شه.
  • تو همین صفحه باید منطقه زمانی (TimeZone) رو هم تنظیم کنی تا ساعت محلی رو درست نشون بده.
  • اگه می‌خوای ساعت به صورت 24 ساعته باشه تو فیلد مربوطه حرف Y رو وارد کن و اگه فرمت 12 ساعته می‌خوای حرف N رو بزن.
  • بعد از ذخیره، حتما وای‌فای گوشیت رو دوباره به مودم خونه وصل کن تا اینترنتت برگرده.
مرحله ۱۳

کار تمومه؛ از ساعت جدیدت لذت ببر!

خب، اینم از این!

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

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

مرحله ۱۴

امکانات بیشتر و توسعه کدها

برنامه‌نویس‌های مختلف تو اینترنت این پروژه رو حسابی توسعه دادن و فیچرهای جدیدی مثل نمایش تاریخ، دما و رطوبت رو هم به این ساعت اضافه کردن.

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

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

ZIP HariFun_166_Morphing_Clock-Shared.zip

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

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

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

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

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

هنوز نظری ثبت نشده؛ تو شروع کن!