این Instructable به شما نشان می دهد که چگونه یک ساعت زنگ دار باینری با یک دکمه تعویق حسگر لمسی بسازید. این اولین پروژه آموزشی من و اولین پروژه واقعی آردوینو من است، امیدوارم که آن را دوست داشته باشید!
من مدتی پیش یک آردوینو خریدم و فکر میکنم واقعاً خوب است، اما واقعاً هنوز هیچ کار مفیدی با آن انجام ندادهام، بنابراین اکنون فکر کردم وقت آن رسیده است که یک پروژه بزرگتر بسازم. تصمیم گرفتم یک ساعت زنگ دار بزنم چون ساعت قدیمی ام خراب است.
به نظر می رسد برخی از مشکلات در جاسازی ویدیو وجود دارد، اگر نمی توانید ویدیوی بالا را ببینید، در اینجا یک پیوند به آن وجود دارد: ساعت زنگ دار باینری
مرحله 1: چه باید کرد؟
برای کمک به سازماندهی افکارم در مورد نحوه ساخت ساعت، آنچه را که فکر می کنم ساعت زنگ دار باید بتواند انجام دهد را یادداشت کردم. سپس سعی کردم ساعت را طوری بسازم که شرایط را برآورده کند.
یک ساعت زنگ دار باید بتواند: آنچه من استفاده کردم:
- نگه داشتن زمان - کد
- زمان نمایش - LED 5 برای ساعت، 6 برای دقیقه
- نگه داشتن زمان زنگ هشدار - کد
- اجازه دادن به کاربر برای تنظیم زمان - دکمه ها
- اجازه تنظیم به کاربر زنگ هشدار - دکمه ها
- هنگام خاموش شدن زنگ صدا ایجاد می کنند. – بلندگو
– به کاربر اجازه به تعویق انداختن – حسگر لمسی “دکمه”
– به کاربر اجازه دهید زنگ را روشن و خاموش کند. – دکمه حسگر لمسی
خوب است اگر همچنین:
- به نظر می رسد نسبتاً خوب باشد - جعبه ای زیبا به عنوان جعبه
- جالب و جذاب باشد - صفحه نمایش باینری واقعی
مرحله 2: آنچه شما نیاز دارید.
قطعات:
برای نمایشگر:
– 11 LED
– 11 مقاومت 1kΩ (لازم نیست دقیق باشد، هر چیزی بین 300 تا 2k باید کار کند (مقدار کمتر نور روشن تری می دهد)
– Perfboard (من از تخته پرف با لحیم کاری جداگانه برای هر سوراخ استفاده کردم. )
برای صدا:
– 1 بلندگو (پیزو یا معمولی، اگر از بلندگوی معمولی استفاده می کنید، یک مقاومت 1 کیلو اهم به صورت سری با آن قرار دهید)
برای تنظیم زمان و زنگ هشدار:
– 2 دکمه (دکمه ساعت و دکمه دقیقه)
– 1 سوئیچ برای تغییر بین تنظیم زمان و تنظیم زنگ هشدار
– یک تکه تخته سه لا نازک
برای حسگر لمسی:
– فویل آلومینیومی یا حتی بهتر نوار آلومینیومی
– چسب یا چسب برای چسباندن فویل
– کاغذ همرنگ جعبه برای مخفی شدن سنسور
– چسب کاغذ
– مقاومت 1MΩ (بسته به ضخامت جعبه شما میتوانید کمی با این مقدار بازی کنید، مقدار بالاتر حسگر
حساستری میدهد (همچنین آن را کمی کندتر میکند).
:
– سیم اتصال (سیم هسته جامد)
– نوار برق
– لحیم کاری
– جعبه ای برای قرار دادن همه چیز.
ابزار:
– آهن لحیم کاری
– سیم برش و سیم گیر
– مته یا چیز دیگری برای ایجاد سوراخ در کیس دکمه ها.
- اره
لازم نیست، اما خوب است:
- یک مولتی متر، برای آزمایش اتصالات، و غیره
- یک تخته نان بدون لحیم کاری می تواند خوب باشد تا بتوانید به راحتی موارد را آزمایش کنید.
– پین های هدر برای اتصال سیم ها به آردوینو. من این را نداشتم و در ابتدا با برقراری ارتباط خوب در اتصالات به آردوینو مشکلاتی داشتم، با ایمن کردن اتصالات با نوار آن را حل کردم.
مرحله 3: ساختار کد
من کد ساعت را به توابع تقسیم کرده ام، یکی برای هر بیت مهم از عملکرد. توابع در برگه های جداگانه در طرح قرار دارند. سپس اینها در حلقه اصلی اجرا می شوند:
void loop()
{
clock(); // زمان را پیگیری کنید، یعنی متغیرهای ساعت، دقیقه و ثانیه را در صورت نیاز به روز کنید.
نمایش دادن()؛ // بسته به وضعیت سوئیچ تنظیمات، زمان یا زمان زنگ هشدار را نمایش می دهد.
زنگ خطر. هشدار()؛ // بررسی می کند که آیا زمان شروع زنگ هشدار فرا رسیده است یا خیر.
update_buttons_state(); // بررسی می کند که آیا دکمه ها و حالت های حسگر لمسی تغییر کرده اند
buttons(); // کاری را انجام میدهد که دکمهها باید انجام دهند
}
متغیرهایی که برای چندین تابع مورد نیاز هستند در تب اول (که در آن setup() و loop() هستند) و متغیرهایی که فقط برای یک تابع مورد نیاز هستند در همان تب اعلان میشوند. به عنوان آن تابع.
اگر ثابت DEBUG را به 1 تغییر دهید، مقداری خروجی از طریق سریال دریافت خواهید کرد که می تواند برای عیب یابی خوب باشد، مثلاً زمان و مقداری که حسگر لمسی برمی گرداند.