فهرست مطالب:

کرونومتر ساده و کاربردی آردوینو: 4 مرحله
کرونومتر ساده و کاربردی آردوینو: 4 مرحله

تصویری: کرونومتر ساده و کاربردی آردوینو: 4 مرحله

تصویری: کرونومتر ساده و کاربردی آردوینو: 4 مرحله
تصویری: نه کاری که نمیدونستی گوشیت انجام میده | 9 کاربرد مخفی گوشی 2024, نوامبر
Anonim
کرونومتر ساده و کاربردی آردوینو
کرونومتر ساده و کاربردی آردوینو

در کرونومتر Arduino در وب جستجو کنید. اگر اینجا هستید ، احتمالاً شما آن را انجام داده اید. از تجربه شخصی ، می توانم به شما بگویم که هر کرونومتر در اینترنت به هر حال بسیار پیچیده است (در کد ، برای مبتدیان) ، یا بسیار ساده شده است ، و عملی نیست ، مانند مواردی که فقط ثانیه شماری می کنند بدون تنظیم مجدد.

شما هم همینطور فکر می کنید ، نه؟ خوب حدس بزن چی. من این کار را انجام دادم ، و علاوه بر این ، من مستقیماً ورودی خود را از تابع millis ()- یک خط بی پایان اعداد (تا 49 روز یا هر چیز دیگر) می گیرم. بهترین قسمت؟ فقط یک خط است

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

برای مبتدیان ، بخوانید و از نبوغ ذهن من لذت ببرید.

شوخی می کنم ، اما راه حلی که به آن رسیدم بسیار دقیق است. این چیزی است که وجود دارد:

مرحله 1: راه حل

راه حل
راه حل

بنابراین مشکل بازنشانی است. آنچه ما می خواهیم یک چرخه پیوسته و تکراری از اعداد است ، از خروجی بی پایان اعداد متوالی (میلی ثانیه) - این اساساً میلی ثانیه ، یا در واقع 1.024 میلی ثانیه ، اما هرچه باشد شمارش می کند.

اولین چیزی که به ذهن می آید استفاده از تفاوت است ، مانند time1 -time2 و تأخیر. فراموشش کن. برای بوت شدن حداقل شش خط کد و یک دستور if نیاز است.

بنابراین در اینجا نحوه انجام آن آمده است. ما محدودیت داریم (59). ما می خواهیم همه چیز از 0 تا 59 بارها و بارها تکرار شود. چگونه؟

اگر … ما بقیه عملکرد میلی را بر 59 تقسیم کنیم … بینگو!

بنابراین ، باید چنین باشد:

(60 [به عنوان مقدار اولیه به دلیل محدودیت 59] + میلی ثانیه () / 1000 [1000 میلی ثانیه ثانیه است])٪ 60

باشه ، توضیح بده (٪) یا مدول ، در اصل یک عملگر مانند (+) است که بقیه را پیدا می کند. مانند 9٪ 2 = 1.

بنابراین:

  • بقیه (60 + 0)٪ 60 = 0
  • بقیه (60 + 1)٪ 60 = 1
  • بقیه (60 + 58)٪ 60 = 58
  • بقیه (60 + 59)٪ 60 = 59
  • بقیه (60 + 60)٪ 60 = 60
  • بقیه (60 + 61)٪ 60 = 1

دیدن!

حالا ، در مورد قطعات.

مرحله 2: بخش ها

قطعات
قطعات

زیاد نیست ، اصلاً

  1. هر آردوینو
  2. هر صفحه نمایش (من از OLED 0.96 اینچی استفاده کردم ، اما شما می توانید از هر چیزی که دارید استفاده کنید ، فقط مطمئن شوید که متغیرهای مناسب را در عملکردهای صفحه نمایش خود قرار دهید.)

خودشه.

مرحله 3: کد

اینجا برو کاملاً واضح است ، بنابراین نباید مشکلی ایجاد شود. کتابخانه ها و init برای 0.96 OLED در کد قرار دارد. اگر متفاوت است ، صفحه نمایش خود را جایگزین کنید.

// کتابخانه های OLED 0.96 اینچی

#عبارتند از

#عبارتند از

#عبارتند از

#عبارتند از

// 0.96 اینچ OLED Init

#تعریف OLED_RESET 4

صفحه نمایش Adafruit_SSD1306 (OLED_RESET) ؛

ثانیه int ؛

دقیقه int ؛

ساعات int ؛

void setup () {

// مقداری دیگر از 0.96 اینچ OLED Init

display.begin (SSD1306_SWITCHCAPVCC ، 0x3C) ؛

display.clearDisplay ()؛ display.setTextSize (2) ؛ display.setTextColor (سفید) ؛ }

حلقه خالی () {

ثانیه = (60 + میلی ثانیه () / 1000)٪ 60 ؛

دقیقه = (60 + میلی ثانیه () / 60000)٪ 60 ؛ ساعت = (25 + میلی ثانیه () / 3600000)٪ 25 ؛

display.clearDisplay ()؛

display.setCursor (0 ، 22) ؛ // چاپ چند ساعت از زمان بازنشانی display.print (ساعت) ؛ display.print ("h:")؛

// چاپ تعداد میوته ها پس از بازنشانی

display.print (دقیقه) ؛

display.print ("m:")؛

// چاپ چند ثانیه از زمان بازنشانی display.print (ثانیه) ؛ display.print ("s")؛

display.setCursor (0 ، 0) ؛

display.print ("کرونومتر") ؛ display.drawLine (0 ، 18 ، 128 ، 18 ، WHITE) ؛ display.display ()؛

}

مرحله 4: نهایی کردن…

در پایان…
در پایان…

پس همین! حالا برو هر کاری دلت می خواهد با آن انجام بده. برای تخم مرغ زمان بگذارید یا محله خود را تسخیر کنید.

به سلامتی هاروش

توصیه شده: