فهرست مطالب:

DIY Arduino Binary Clock: 14 مرحله (همراه با تصاویر)
DIY Arduino Binary Clock: 14 مرحله (همراه با تصاویر)

تصویری: DIY Arduino Binary Clock: 14 مرحله (همراه با تصاویر)

تصویری: DIY Arduino Binary Clock: 14 مرحله (همراه با تصاویر)
تصویری: ESP32 Tutorial 4 - Data types Define Variable Int, bool, char, Serial Monitor-ESP32 IoT Learnig kit 2024, جولای
Anonim
ساعت زنگ دار دودویی آردوینو DIY
ساعت زنگ دار دودویی آردوینو DIY
ساعت زنگ دار دودویی آردوینو DIY
ساعت زنگ دار دودویی آردوینو DIY
ساعت زنگ دار دودویی آردوینو DIY
ساعت زنگ دار دودویی آردوینو DIY

دوباره ساعت کلاسیک دوتایی است! اما این بار با عملکردهای بیشتر! در این آموزش ، من به شما نحوه ساخت یک ساعت زنگ دار دودویی با آردوینو را نشان خواهم داد که می تواند نه تنها زمان ، بلکه تاریخ ، ماه را به شما نشان دهد ، حتی با عملکردهای زمان سنج و زنگ هشدار که می توانند به عنوان چراغ خواب نیز استفاده شوند! بدون هیچ گونه بحث بیشتر بیایید شروع کنیم!

توجه: این پروژه از ماژول RTC استفاده نمی کند ، بنابراین دقت بستگی به برد مورد استفاده شما دارد. من یک مکانیزم اصلاحی را وارد کرده ام که حرکت زمانی را در مدت زمان معینی تصحیح می کند ، اما برای یافتن مقدار صحیح آن دوره باید آزمایش کنید (بیشتر در این مورد در زیر) ، و حتی با مکانیسم اصلاحی باز هم حرکت می کند به مدت طولانی (در مقایسه با بدون یکی). اگر کسی علاقه مند است ، می تواند از ماژول RTC در این پروژه استفاده کند

تدارکات

LED 5 میلی متری (در هر رنگی ، از 13 LED سفید با یک LED RGB به عنوان نشانگر استفاده کردم) --- 14 عدد

آردوینو نانو (دیگران ممکن است کار کنند) --- 1 عدد

میکرو سوئیچ --- 1 عدد

یک تکه کوچک فویل آلومینیومی

تخته نصب (برای محوطه ، اما با خیال راحت طرح مورد نظر خود را طراحی کنید)

یک تکه کاغذ سفید (یا هر رنگ دیگر)

مقداری فیلم پلاستیکی (فیلم مورد استفاده برای جلد کتاب)

دسته ای سیم

وزوز --- 1 عدد

ترانزیستور NPN --- 1 عدد

مقاومت 6k8 --- 14 عدد ، 500R --- 1 عدد ، 20R (10Rx2) --- 1 عدد ، 4k7 --- 1pc

منبع تغذیه پروژه (من از باتری لیتیوم استفاده کردم)

نوار LED 5050 و سوئیچ کشویی (اختیاری)

مرحله 1: مدار را وصل کنید

مدار را وصل کنید!
مدار را وصل کنید!

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

1) قسمت زنگ

2) پنل LED

3) سوئیچ (دکمه فشار)

4) نوار LED

5) سنسور خازنی

6) منبع تغذیه

7) همه آنها را به آردوینو وصل کنید

بیشتر اوقات ، این فقط یک مرحله "دنبال کردن شماتیک" است. بنابراین شماتیک بالا را بررسی کنید یا حتی آن را بارگیری و چاپ کنید!

مرحله 2: آماده سازی قسمت Buzzer

آماده سازی قسمت سوزن
آماده سازی قسمت سوزن
آماده سازی قسمت سوزن
آماده سازی قسمت سوزن
آماده سازی قسمت سوزن
آماده سازی قسمت سوزن

اگر قبلا از آژیر با آردوینو استفاده کرده اید ، می دانید که اگر آن را مستقیماً به آردوینو وصل کنیم صدای آن به اندازه کافی بلند نخواهد بود. بنابراین ما به تقویت کننده نیاز داریم. برای ساخت تقویت کننده ، ما به یک ترانزیستور NPN نیاز داریم (اساساً هر NPN کار می کند ، من از S9013 استفاده کردم زیرا آن را از پروژه قدیمی دریافت کردم) و مقداری مقاومت برای محدود کردن جریان. برای شروع ، ابتدا جمع کننده ، امیتر و پایه ترانزیستور را مشخص کنید. کمی جستجوی گوگل برگه برای این کار مفید خواهد بود. سپس ، کلکتور ترانزیستور را به پایانه منفی زنگ وصل کنید. در پایانه مثبت زنگ ، ما فقط یک تکه سیم را به آن لحیم می کنیم تا بعداً بتوانیم آن را به آردوینو خود لحیم کنیم. پس از این ، مقاومت 500R (یا هر مقدار مشابه مقاومت) را به پایه ترانزیستور لحیم کرده و از مقاومت ، یک قطعه دیگر سیم را برای استفاده در آینده لحیم کنید. در نهایت ، دو مقاومت 10R را به صورت سری به امیتر ترانزیستور لحیم کرده و سیم دیگری را از مقاومتها وصل کنید.

در واقع ، به شماتیک مراجعه کنید.

p/s: من هنوز نمی دانم چگونه در هنگام نوشتن این مقاله مقاومت را برای ترانزیستور انتخاب کنم. مقدار مورد استفاده من به صورت تجربی انتخاب شده است.

مرحله 3: آماده سازی پنل LED

آماده سازی پنل LED
آماده سازی پنل LED
آماده سازی پنل LED
آماده سازی پنل LED
آماده سازی پنل LED
آماده سازی پنل LED

LED ها و مقاومت را مطابق آن به صفحه نمونه اولیه وصل کرده و لحیم کنید. خودشه. شماتیک را دنبال کنید. در صورت علاقه به فاصله ای که من استفاده کردم ، برای هر ستون 3 سوراخ و برای هر سطر دو سوراخ (به تصویر مراجعه کنید). و چراغ نشانگر؟ بصورت تصادفی وصل کردم

پس از لحیم کاری LED ها و مقاومت به برد ، تمام پایانه های مثبت LED ها را به یکدیگر وصل کنید. سپس سیم ها را یکی یکی به هر کدام از مقاومت ها در پایانه های منفی LED ها لحیم کنید تا بعداً آنها را به آردوینو لحیم کنیم.

توجه: ممکن است این مرحله اشتباه گرفته شود. به یاد داشته باشید که به جای اتصال همه پایه ها به یکدیگر ، ما تمام ترمینال های مثبت را با یکدیگر و ترمینال منفی را به پین جداگانه در آردوینو متصل می کنیم. بنابراین ما از پین Arduino GPIO به عنوان پایه استفاده می کنیم ، نه Vcc. اگر به طور تصادفی آن را به عقب متصل می کنید ، نگران نباشید. در عملکرد ledcontrol می توانید تمام HIGH را به LOW و LOW به HIGH را تغییر دهید.

مرحله 4: آماده سازی سوئیچ (در واقع دکمه فشاری)

آماده سازی سوئیچ (در واقع دکمه فشاری)
آماده سازی سوئیچ (در واقع دکمه فشاری)
آماده سازی سوئیچ (در واقع دکمه فشاری)
آماده سازی سوئیچ (در واقع دکمه فشاری)
آماده سازی سوئیچ (در واقع دکمه فشاری)
آماده سازی سوئیچ (در واقع دکمه فشاری)

برای سوئیچ (من آن را سوئیچ می نامم زیرا از میکرو سوئیچ استفاده کردم ، اما می دانید که دکمه فشاری است) ، ما به یک مقاومت کشویی 4k7 و البته خود سوئیچ نیاز داریم. آه ، تهیه سیم را فراموش نکنید. کار را با لحیم کردن مقاومت و یک تکه سیم به محل مشترک (COM) میکرو سوئیچ شروع کنید. سپس ، یک قطعه دیگر سیم را به حالت عادی باز شده (NO) میکرو سوئیچ لحیم کنید. در نهایت ، سیم دیگری را به مقاومت وصل کنید. آن را با مقداری چسب حرارتی محکم کنید.

گوشه دانش: چرا به مقاومت کششی احتیاج داریم؟

"اگر پین ورودی/خروجی دیجیتال را از همه چیز جدا کنید ، LED ممکن است به طور نامنظم چشمک بزند. این به این دلیل است که ورودی" شناور "است - یعنی به طور تصادفی یا بالا یا پایین برمی گردد. به همین دلیل شما نیاز به کشش یا مقاومت کششی در مدار. " - منبع: وب سایت آردوینو

مرحله 5: تهیه نوار LED

تهیه نوار LED
تهیه نوار LED
تهیه نوار LED
تهیه نوار LED

نوار LED برای چراغ جانبی تخت خواب است که اختیاری است. فقط نوار LED و کلید کشویی را به صورت سری به هم وصل کنید ، هیچ چیز خاصی وجود ندارد.

مرحله 6: آماده سازی سنسور ظرفیت

آماده سازی سنسور ظرفیت
آماده سازی سنسور ظرفیت
آماده سازی سنسور ظرفیت
آماده سازی سنسور ظرفیت
آماده سازی سنسور ظرفیت
آماده سازی سنسور ظرفیت
آماده سازی سنسور ظرفیت
آماده سازی سنسور ظرفیت

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

مرحله 7: تهیه منبع تغذیه

آماده سازی منبع تغذیه
آماده سازی منبع تغذیه
آماده سازی منبع تغذیه
آماده سازی منبع تغذیه
آماده سازی منبع تغذیه
آماده سازی منبع تغذیه

از آنجا که من از باتری لیتیوم به عنوان منبع تغذیه استفاده می کنم ، به یک ماژول TP4056 برای شارژ و محافظت و یک مبدل تقویت کننده برای تبدیل ولتاژ به 9 ولت نیاز دارم. اگر تصمیم دارید از آداپتور دیواری 9 ولت استفاده کنید ، ممکن است به جک DC نیاز داشته باشید یا فقط آن را مستقیماً وصل کنید. توجه داشته باشید که مقدار مقاومت برای تقویت کننده برای 9 ولت طراحی شده است و اگر می خواهید از ولتاژ دیگری استفاده کنید ، ممکن است نیاز به تغییر مقاومت داشته باشید.

مرحله 8: اتصال آنها به آردوینو

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

شماتیک را دنبال کنید! شماتیک را دنبال کنید! شماتیک را دنبال کنید!

پین اشتباه را وصل نکنید وگرنه همه چیز عجیب می شود.

مرحله 9: محوطه سازی

محفظه
محفظه
محفظه
محفظه
محفظه
محفظه
محفظه
محفظه

ابعاد طراحی من 6.5cm*6.5cm*8cm است ، بنابراین کمی حجیم است. این شامل یک پنجره جلو برای صفحه نمایش LED و پنجره بالای چراغ خواب است. برای طراحی من ، به تصاویر مراجعه کنید.

مرحله 10: زمان برنامه نویسی

Image
Image
زمان برنامه نویسی!
زمان برنامه نویسی!

طرح زیر را بارگیری کرده و در Arduino خود بارگذاری کنید. اگر نمی دانید چگونه این کار را انجام دهید ، زحمت انجام این پروژه را به خود ندهید! فقط شوخی کردم ، در اینجا یک آموزش خوب در مورد آن وجود دارد: بارگذاری طرح در arduino

سپس مانیتور سریال را باز کنید ، و باید ببینید که زمان فعلی خروجی دارد. برای تنظیم زمان ، نحوه انجام این کار در اینجا آمده است.

برای تنظیم ساعت: h ، XX - جایی که xx ساعت فعلی است

برای تنظیم دقیقه: دقیقه ، XX - xx دقیقه فعلی است

برای تنظیم دوم: s ، XX

برای تعیین تاریخ: d ، XX

برای تنظیم ماه: دوشنبه ، XX

وقتی کامنت فوق اجرا شد ، باید مقداری را که به تازگی تنظیم کرده اید به شما بازگرداند. (به عنوان مثال وقتی ساعت را با h ، 15 تنظیم می کنید ، باید ساعت نمایش: 15 در مانیتور سریال برگردد.

برای حسگر خازنی ، ممکن است لازم باشد قبل از کارکردن آن را کالیبره کنید. برای انجام این کار ، میکرو سوئیچ را دوبار فشار دهید و به مانیتور سریال نگاه کنید. باید تعدادی عدد خروجی بدهد. حالا انگشت خود را روی سنسور خازنی بگذارید و ببینید به محدوده عدد توجه کنید. در مرحله بعد ، متغیر "captrigger" را اصلاح کنید. فرض کنید وقتی فشار می دهید 20-30 دریافت کنید ، سپس captrigger را روی 20 تنظیم کنید.

از طرح کتابخانه ADCTouch استفاده کنید ، مطمئن شوید که آن را نصب کرده اید.

مرحله 11: مکانیسم اصلاحی

دوره زمانی برای مکانیسم اصلاحی در کد من به زمانی که برای من دقیق است تنظیم شده است. اگر زمان هنوز دقیق نیست ، باید مقدار متغیر "corrdur" را تغییر دهید

corrdur اکنون در آخرین به روزرسانی به طور پیش فرض 0 است.

مقدار corrdur به این معنی است که چند میلی ثانیه طول می کشد تا سرعت یک ثانیه کاهش یابد

برای پیدا کردن مقدار corrdur ، از فرمول زیر استفاده کنید:

2000/(y-x)/x)

جایی که x = مدت زمان واقعی سپری شده و y = مدت زمان سپری شده ساعت ، هر دو در ثانیه

برای یافتن مقدار x و y ، باید یک آزمایش کوچک انجام دهید.

زمان ساعت را روی زمان واقعی تنظیم کنید و زمان اولیه را ثبت کنید (زمان اولیه واقعی و ساعت اولیه ساعت باید یکسان باشد). پس از مدتی (چند ساعت) ، زمان واقعی نهایی و ساعت نهایی را ثبت کنید.

x = زمان واقعی نهایی-زمان اولیه و y = ساعت زمان نهایی-زمان اولیه

سپس مقدار corrdur را در کد تغییر داده و مجدداً به Arduino بارگذاری کنید.

سپس آزمایش را تکرار کنید و این بار فرمول به این صورت تغییر کرد:

2000/((2/z)+(y-x/x))

جایی که x و y همان چیز قبلی است ، در حالی که z مقدار corrdur فعلی است.

بارگذاری مجدد و آزمایش را بارها و بارها انجام دهید تا به اندازه کافی برای شما دقیق باشد.

در صورتی که ساعت شما هنوز در حال افزایش است حتی corordur روی 0 تنظیم شده است (به این معنی که مکانیسم اصلاحی وجود ندارد) ، باید ++ دوم را به دوم تغییر دهید- در مکانیسم اصلاحی بخشی از کد (من در مورد آن نظر دادم) ، corordur را روی 0 تنظیم کنید ، سپس شماره را بیابید میلی ثانیه طول می کشد تا یک ثانیه سرعت بگیرد.

مرحله 12: نحوه استفاده از همه توابع

Image
Image

با فشار دادن میکرو سوئیچ می توانید حالت را تغییر دهید.

در حالت اول ، به سادگی زمان را نمایش می دهد. اگر چراغ نشانگر 1 بار در ثانیه چشمک بزند ، زنگ هشدار خاموش است. اگر 2 بار در ثانیه باشد ، زنگ هشدار روشن است. با فشار دادن سنسور خازن می توانید زنگ هشدار را در حالت اول به مدت 10 دقیقه به تعویق بیاندازید.

در حالت دوم ، تاریخ را نمایش می دهد. فشار دادن سنسور خازنی کاری نمی کند.

در حالت سوم ، می توانید تایمر را تنظیم کنید. با فشار دادن سنسور خازن ، تایمر روشن می شود و باید ببینید چراغ نشانگر شروع به چشمک زدن می کند. سنسور خازنی نیز برای تنظیم زمان تایمر استفاده می شود. محدوده تایمر 1 دقیقه تا 59 دقیقه است.

در حالت چهارم ، می توانید ساعت زنگ دار را با استفاده از حسگر خازنی تنظیم کنید

در حالت پنجم ، می توانید دقیقه زنگ را با استفاده از سنسور خازنی تنظیم کنید.

در حالت ششم ، با فشار دادن سنسور خازن ، دقیقه بدون تغییر ساعت به 30 و دوم به 0 تنظیم می شود. این بدان معناست که تا زمانی که ساعت شما بیش از 30 دقیقه حرکت نکند ، می توانید با استفاده از این حالت آن را مجدداً تنظیم کنید.

حالت هفتم حالت انجام هیچ کاری است در صورتی که سنسور خازنی هنگام شارژ خاموش شود.

اوه ، برای خاموش کردن زنگ هشدار ، فقط میکرو سوئیچ را فشار دهید. (آخرین به روزرسانی شامل اسنوز آلارم)

خوب ، خواندن ساعت چطور؟ آسان است! خواندن ساعت دودویی - Wikihow ممکن است در ابتدا احساس عجیبی داشته باشید ، اما به آن عادت خواهید کرد!

مرحله 13: نتیجه گیری

نتیجه
نتیجه
نتیجه
نتیجه

چرا این پروژه را شروع کردم. در ابتدا به این دلیل است که من یک ساعت دیجیتالی قدیمی دارم و می خواهم آن را به یک ساعت زنگ دار تبدیل کنم. متأسفانه ساعت قدیمی خراب شد. بنابراین من دوست داشتم که چرا با استفاده از آردوینو یکی را ایجاد نکنم؟ با کمی جستجوی گوگل ، این پروژه ساعت دودویی بدون RTC را با دستور Cello62 پیدا کردم. با این حال ، ویژگی ساعت زنگ دار مورد نظر من را ندارد ، بنابراین من کد را می گیرم و خودم آن را اصلاح می کنم. و پروژه متولد می شود. علاوه بر این ، مسابقه ساعت را اخیراً با آموزش دیدم که انگیزه بیشتری برای انجام این کار به من داد. به هر حال ، این هنوز اولین پروژه من با استفاده از آردوینو است ، بنابراین مجموعه ای از پیشرفت های احتمالی.

بهبود آینده:

1) از RTC استفاده کنید

2) زنگ ساعت یا زمان یا تایمر را به صورت بی سیم تنظیم کنید!

3) به هر ویژگی که فکر می کنم

مرحله 14: به روز رسانی: پس از یک هفته استفاده

به روز رسانی: پس از یک هفته استفاده
به روز رسانی: پس از یک هفته استفاده
به روز رسانی: پس از یک هفته استفاده
به روز رسانی: پس از یک هفته استفاده
به روز رسانی: پس از یک هفته استفاده
به روز رسانی: پس از یک هفته استفاده

گذشته از مشکل آشکار - رانش زمان ، مشکل بعدی من مصرف برق است. ابتدا ولتاژ را تا 9 ولت افزایش می دهم ، سپس توسط تنظیم کننده خطی در آردوینو کاهش می یابد. تنظیم کننده خطی بسیار ناکارآمد است. ساعت فقط برای یک روز دوام می آورد. این بدان معناست که من باید هر روز آن را شارژ کنم. این بزرگترین معامله نیست تا زمانی که متوجه شوید کل سیستم تنها حدود 50 efficient کارآمد است. با توجه به اینکه باتری من 2000 میلی آمپر ساعت است ، می توانم هر روز توان تلف شده را محاسبه کنم.

مصرف برق = (7.4Wh*10٪)+(7.4Wh*90٪*50٪) = 4.07Wh در روز

یعنی 1.486 کیلووات ساعت در سال! آیا می توان از آن برای جوشاندن 283 گرم آب (از 25 درجه سانتیگراد تا 100 درجه سانتیگراد) استفاده کرد؟ اما به هر حال ، من قصد دارم کارایی ساعت را افزایش دهم. راه این کار این است که اصلا از تنظیم کننده خطی استفاده نکنید. این بدان معناست که ما باید مبدل تقویت کننده را به خروجی 5 ولت مستقیماً در پین 5 ولت در آردوینو تنظیم کنیم. در مرحله بعد ، برای به حداقل رساندن توان مصرفی بیشتر ، باید دو LED روی صفحه (پین 13 و قدرت) را حذف کنم ، زیرا آنها 0.95 وات ساعت در روز هدر می دهند. متأسفانه ، من در لحیم کاری SMD کاملاً مشکوک هستم ، بنابراین تنها راه من برای انجام این کار این است که ریل روی تخته را برش دهم. پس از این ، من باید مقاومت امیتر را در زنگ و چراغ خواب کنار بگذارم (نوار LED در 5V کار نمی کند). اما آیا این بدان معناست که شما باید آن ویژگی شگفت انگیز را کنار بگذارید؟ نه! شما در اینجا دو انتخاب دارید: از دیود LED معمولی 5 میلی متری استفاده کنید یا از نوار LED 5 ولت استفاده کنید. اما برای من ، من از انجام این پروژه در هفته گذشته خسته شده بودم ، بنابراین تصمیم گرفتم این ویژگی را کنار بگذارم. با این حال ، من در ابتدا از سوئیچ برای ویژگی نور برای روشن یا خاموش کردن صفحه ساعت برای صرفه جویی بیشتر در انرژی استفاده کردم ، اما وقتی خاموش می کنم LED چشمک می زند. اشکال ویژگی می شود؟ من نمی دانم (کسی می داند لطفاً به من در زیر بگوید).

در پایان اصلاح ، ساعت اکنون بیش از 2 روز دوام می آورد!

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

در مورد رانش زمان ، از آنجا که اتصال مجدد به کامپیوتر برای تنظیم مجدد آن بسیار ناخوشایند است ، من حالت دیگری را اضافه کرده ام که دقیقه را روی 30 و دوم را به 0 تنظیم می کند. این بدان معناست که می توانید آن را در هر نیم ساعت تنظیم مجدد کنید!

توصیه شده: