فهرست مطالب:
- مرحله 1: T-T-Watch چیست؟
- مرحله 2: Simple Watch PoC
- مرحله 3: طراحی Face Watch
- مرحله 4: تنظیم زمان
- مرحله 5: مصرف برق
- مرحله 6: تراشه مدیریت قدرت قابل برنامه ریزی
- مرحله 7: برنامه
- مرحله 8: برنامه نویسی مبارک
- مرحله 9: Arduino-T-Watch-GFX
تصویری: TTGO T-Watch: 9 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:55
این دستورالعمل ها نحوه شروع بازی با TTGO T-Watch را نشان می دهد.
مرحله 1: T-T-Watch چیست؟
TTGO T-Watch کیت توسعه مبتنی بر ساعت ESP32 است. 16 مگابایت فلاش و 8 مگابایت PSRAM هر دو از مشخصات اصلی هستند. همچنین دارای یک LCD IPS LCD 240x240 ، صفحه لمسی ، درگاه کارت micro-SD ، درگاه I2C ، RTC ، شتاب سنج 3 محوره و یک دکمه سفارشی است. همچنین می توان صفحه پشتی را به ماژول های دیگر مانند LORA ، GPS و SIM تغییر داد.
اما مهمترین چیزی که می تواند به یک ساعت قابل استفاده تبدیل شود ، سیستم قدرت است. دارای تراشه مدیریت قدرت قابل برنامه ریزی چند کاناله AXP202. این اولین بار است که یک کیت توسعه می بینم که دارای تراشه قدرت I2C قابل کنترل است!
با توجه به رابط AXP202X_Library ، می توانید هر کانال تغذیه را روشن یا خاموش کنید ، سطح باتری ، وضعیت شارژ و حتی خاموش شدن مستقیم برق را بخوانید ، درست مانند فشار دادن دکمه پاور.
مرجع.:
github.com/Xinyuan-LilyGO/TTGO-T-Watch
مرحله 2: Simple Watch PoC
تراشه قدرت خوب به نظر می رسد ، اما برای باتری داخلی 180 میلی آمپر ساعتی چقدر دوام می آورد؟
از آنجا که به عنوان چشم انداز ساعت طراحی شده است ، بیایید با یک مثال ساده ساعت به عنوان PoC شروع کنیم تا نحوه عملکرد تراشه را بررسی کنیم.
مرحله 3: طراحی Face Watch
ESP32 یک تراشه بسیار قدرتمند است ، پردازنده دو هسته ای 240 مگاهرتز و سرعت SPI 80 مگاهرتز می تواند طرح بندی صفحه نمایش بسیار روان را طراحی کند. بنابراین من یک ساعت مچی مناسب با رفت و برگشت مداوم دست دوم طراحی کردم.
با این حال ، مشکلات طراحی بسیار غیر منتظره است ، حذف آخرین دست دوم بدون پلک زدن آسان نیست. من 4 روش اضافی برای ساخت آن امتحان کرده ام. تصاویر بالا یک بازطراحی ناموفق را نشان می دهد که پیکسل های ثانیه آخر بر روی صفحه حذف نشده است. طراحی چهره ساعت کار می تواند کلمات زیادی را بیان کند اما کمی خارج از این پروژه است. شاید بتوانم در دستورالعمل بعدی خود در مورد سفر طراحی بیشتر توضیح دهم ، باید آن را "Arduino Watch Core" نامید.
مرحله 4: تنظیم زمان
T-Watch دارای تراشه RTC داخلی است ، به این معنی که می تواند زمان بازنشانی را در حین توسعه حفظ کند. قبل از اینکه بتواند زمان را حفظ کند ، ابتدا باید زمان را تعیین کنیم.
روشهای مختلفی برای تنظیم زمان وجود دارد:
- ESP32 دارای قابلیت WiFi است ، بنابراین می توانید زمان را با NTP همگام سازی کنید
- مانند سایر دستگاه های الکترونیکی ، مانند دوربین دیجیتال ، می توانید برای تنظیم زمان ، یک رابط کاربری بنویسید
- می توانید از GPS backplane استفاده کنید ، سپس می توانید از ماهواره زمان بگیرید
برای ساده تر کردن ، هنوز هم روش تنبلی متفاوتی برای تنظیم زمان وجود دارد ، می توانید این روش را در مثال ساعت TFT پیدا کنید. هنگامی که برنامه را در Arduino کامپایل می کنید ، پیش پردازنده 2 متغیر "_DATE_" و "_TIME_" را برای ثبت زمان کامپایل تعریف می کند. ما می توانیم از این اطلاعات برای ایجاد یک برنامه بسیار ساده برای تنظیم زمان RTC استفاده کنیم.
توجه داشته باشید:
این برنامه ساده همیشه زمان راه اندازی را تنظیم می کند. اما زمان کامپایل فقط در اولین بوت معتبر است ، بنابراین هنگامی که برنامه زمان موفقیت را تعیین کرد ، باید با برنامه دیگر بازنویسی کنید.
مرجع.:
gcc.gnu.org/oninedocs/cpp/Standard-Predef…
مرحله 5: مصرف برق
هنگامی که ساعت در حال کار است و رفت و برگشت مداوم را نشان می دهد ، کمی بیش از 60 میلی آمپر مصرف می کند. به دلیل صرفه جویی در مصرف برق ، پس از یک دوره مشخص باید به حالت خواب بروید.
اگر نور پس زمینه LCD را خاموش کنم و ESP32 را با خواب عمیق صدا کنم ، به حدود 7.1 میلی آمپر می رسد. فقط باتری 180 میلی آمپر ساعتی می تواند حدود 1 روز دوام بیاورد.
من می دانم که حدود 6 میلی آمپر توسط تراشه LCD مصرف می شود. با توجه به برگه اطلاعات ST7789 ، دستور ورود به حالت خواب وجود دارد. اما کتابخانه فعلی TFT_eSPI هنوز API حالت خواب ندارد.
و هنوز هم حدود 1 میلی آمپر در جایی مصرف می شود.
مرحله 6: تراشه مدیریت قدرت قابل برنامه ریزی
تراشه های زیادی در کیت توسعه وجود دارد ، با توجه به برگه اطلاعات آنها ، اکثر آنها از حالت ذخیره انرژی پشتیبانی می کنند. با این حال ، همه کتابخانه ها API حالت صرفه جویی در مصرف انرژی را نشان نمی دهند. و این یک کد طولانی برای صرفه جویی در مصرف برق است که با بررسی و فراخوانی هر ماژول وارد حالت خواب می شود.
خاموش کردن مستقیم برق دقیقاً مانند فشردن مستقیم دکمه پاور چطور؟ AXP202X_Library می تواند فقط با فراخوانی تابع shutdown () این کار را انجام دهد. در حالت خاموش ، فقط کمی کمتر از 0.3 میلی آمپر مصرف می کند. برای باتری 180 میلی آمپر ساعتی می تواند 25 روز دوام آورد!
توجه داشته باشید:
من به تازگی باتری را در 28 ژوئن شارژ کرده ام ، شما می توانید برای اطلاع از آخرین وضعیت باتری ، توییتر من را دنبال کنید.
به روز رسانی:
باتری در 18 جولای خالی می شود ، باتری می تواند 20 روز دوام بیاورد. در طول دوره ای که من چند بار در روز زمان را بررسی می کنم ، فرض می کنم که ساعت معمولی می تواند 1-2 هفته در استفاده عادی دوام بیاورد.
مرجع.:
github.com/lewisxhe/AXP202X_Library/pull/2
مرحله 7: برنامه
- برای نصب نرم افزار و کتابخانه ، https://github.com/Xinyuan-LilyGO/TTGO-T-Watch صفحه را دنبال کنید.
- کد منبع را در GitHub بارگیری کنید:
- برای به روز رسانی تاریخ و زمان RTC ، Set_RTC.ino را باز کرده ، کامپایل و بارگذاری کنید
- Arduino-T-Watch-simple.ino را باز ، کامپایل و بارگذاری کنید
- انجام شده!
برنامه تماشای ساده انجام می دهد:
- تاریخ و زمان RTC را بخوانید
- رسم علامت ساعت (می توانید علامت ساعت گرد یا مربع را انتخاب کنید)
- رفت و برگشت مداوم را نشان می دهد
- قدرت خاموش شدن بعد از 60 ثانیه (یا ممکن است دکمه پاور را برای خاموش شدن فوری نگه دارید)
- دکمه پاور را فشار دهید تا دوباره روشن شود
مرحله 8: برنامه نویسی مبارک
TTGO T-watch می تواند بسیار بیشتر از یک ساعت ساده کار کند ، به عنوان مثال.
- ESP32 می تواند ارتباط بی سیم WiFi و BT ایجاد کند
- استفاده از صفحه لمسی می تواند یک رابط کاربری جذاب تر ایجاد کند
- شتاب سنج سه محوره (BMA423) ، الگوریتم شمارنده گام داخلی و سایر سنسورهای چند منظوره GS
- صفحه عقب قابل تعویض می تواند عملکرد LORA ، GPS ، سیم کارت را اضافه کند
- پورت I2C می تواند ویژگی های بسیار بیشتری را گسترش دهد
مرحله 9: Arduino-T-Watch-GFX
Arduino-T-Watch-simple نیاز به فشار و نگه داشتن دکمه پاور کوچک برای بیدار شدن دارد و معرفی اولیه LCD چند ثانیه تأخیر دارد. بنابراین تجربه کاربر چندان خوب نیست.
من برنامه دیگری به نام Arduino-T-Watch-GFX برای بهبود این کار اضافه کرده ام. این برنامه با استفاده از کتابخانه صفحه نمایش Arduino_GFX تغییر می کند ، سپس می تواند به صفحه نمایش بگوید که در حالت صرفه جویی در مصرف برق وارد حالت خواب می شود. بنابراین هنگامی که ESP32 وارد خواب سبک می شود ، فقط زیر 3 میلی آمپر مصرف می کند. و همچنین می تواند با لمس صفحه نمایش باعث بیدار شدن شود. ESP32 از خواب بیدار می شود و خواب خارج از آن بسیار سریعتر از کل راه اندازی مجدد است ، می توانید ویدیوی بالا را مشاهده کنید که تقریباً پاسخ فوری است. از لحاظ نظری ، باتری باید بیش از 2 روز دوام بیاورد: P
توصیه شده:
ESP32 TTGO قدرت سیگنال WiFi: 8 مرحله (همراه با تصاویر)
ESP32 TTGO WiFi Signal Strength: در این آموزش ما نحوه نمایش قدرت سیگنال شبکه WiFi با استفاده از برد ESP32 TTGO را یاد می گیریم. فیلم را تماشا کنید
چگونه: نصب Raspberry PI 4 Headless (VNC) با Rpi-imager و تصاویر: 7 مرحله (همراه با تصاویر)
چگونه: نصب Raspberry PI 4 Headless (VNC) با Rpi-imager و تصاویر: من قصد دارم از این Rapsberry PI در چندین پروژه سرگرم کننده در وبلاگم استفاده کنم. به راحتی آن را بررسی کنید. من می خواستم دوباره به استفاده از Raspberry PI بپردازم ، اما در مکان جدیدم صفحه کلید یا موس نداشتم. مدتی بود که من یک تمشک راه اندازی کردم
نمایش TTGO (رنگی) با Micropython (صفحه TTGO T): 6 مرحله
TTGO (رنگی) با Micropython (TTGO T-display): TTGO T-Display یک برد بر اساس ESP32 است که شامل یک صفحه نمایش 1.14 اینچی رنگی است. این تخته را می توان با جایزه ای کمتر از 7 دلار خریداری کرد (شامل ارسال ، جایزه ای که در banggood دیده شده است). این یک جایزه باور نکردنی برای ESP32 از جمله صفحه نمایش است
نمایش اسلاید تصاویر تعطیلات خود را با لمس سحر و جادو!: 9 مرحله (همراه با تصاویر)
نمایش اسلاید تصاویر خود را با لمس جادو! برای مطابقت با پرچم و موضوع کشوری که من از آن دیدن می کنم (در این مورد ، سیسیل). تی
تطبیق یک گوشی تلفن همراه با تلفن همراه: 7 مرحله (همراه با تصاویر)
انطباق یک گوشی تلفن همراه با یک تلفن همراه: توسط بیل ریو ([email protected]) اقتباس شده برای دستورالعمل ها توسط موس ([email protected]) سلب مسئولیت: روش شرح داده شده در اینجا ممکن است برای شما کارساز نباشد گرفتن. اگر کار نمی کند ، یا اگر چیزی را خراب می کنید ، m نیست