فهرست مطالب:

صبح دوست: 8 قدم
صبح دوست: 8 قدم

تصویری: صبح دوست: 8 قدم

تصویری: صبح دوست: 8 قدم
تصویری: گوز زدن پریانکا چوپرا هنرپیشه بالیوود در یکی از برنامه های لایف تلویزیونی |C&C 2024, جولای
Anonim
Image
Image

برخی از افراد برنامه های بسیار شلوغی دارند ، که باعث می شود فراموش کردن یک یا دو مورد آسان باشد. با استفاده از این ساعت زنگ دار می توانید چندین زنگ هشدار را تنظیم کنید تا شما را در برنامه نگه دارد. ساعت 24 ساعته کار می کند و تنها کاری که باید انجام دهید این است که آن را طوری برنامه ریزی کنید که در ساعات مختلف روز متناسب با برنامه شما خاموش شود. هنگامی که این کار را انجام می دهید ، زمان هایی که تنظیم کرده اید بر روی صفحه LCD ظاهر می شوند ، بنابراین می توانید از صحت آنها مطمئن شوید و به عنوان یک یادآور اضافی عمل می کنند.

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

طرح و مواد
طرح و مواد

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

مرحله 2: طراحی و مواد

طرح و مواد
طرح و مواد

در این مرحله ما سعی کردیم لیستی از همه چیزهایی که فکر می کردیم برای لوازم الکترونیکی و بدنه خارجی به آن نیاز داریم تهیه کنیم. سپس به طرحي از چگونگي تمايل ساعت زنگ دار و نحوه مونتاژ محفظه خارجي آن دست يافتيم.

مرحله 3: ایجاد پوشش بیرونی

ایجاد پوشش بیرونی
ایجاد پوشش بیرونی
ایجاد پوشش بیرونی
ایجاد پوشش بیرونی

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

مرحله 4: برش محفظه بیرونی توسط لیزر

برش محفظه بیرونی با لیزر
برش محفظه بیرونی با لیزر

برای نمونه اولیه دوم می خواستم اندازه گیری های دقیق را انجام دهم و مجبور شدم یک pdf برای ارسال به برش لیزری ایجاد کنم. برای انجام این کار از وب سایت برنامه جعبه ساز ، https://boxdesigner.connectionlab.org استفاده کردم. سپس در آن وب سایت ابعاد سه بعدی جعبه ، ضخامت مواد ، واحدهای اندازه گیری و نوع پرونده ای را که می خواستم ایجاد شود وارد کردم. ابعاد جعبه ها 7.5 در x 3 در x 5 اینچ بود و من از 1/8 ضخامت مواد اکریلیک استفاده کردم. سپس اندازه گیری بریدگی های مفصل انگشت به طور خودکار 0.46875 اینچ پیکربندی شد. من نسخه pdf را انتخاب کردم زیرا این نوع پرونده ای است که دستگاه برش لیزری می خواند و می خواستم تغییراتی در adobe فایل ایجاد کنم. رنگ خطوط را به قرمز تغییر دادم تا برش لیزری بداند که آنها را بجای حکاکی برش دهد و یک جعبه مستطیلی با ابعاد 3.92 اینچ در 1.56 اینچ به قطعه جلویی آن اضافه کردم. جعبه من همچنین یک مستطیل برش خورده با ابعاد 1 اینچ در 0.5 اینچ در قسمت سمت راست در پایین اضافه کردم تا به عنوان دهانه ای برای طناب متصل به ساعت زنگ دار عمل کند. آخر من سه دهانه مدور در بالا برای دو زنگ و دکمه اضافه کردم. دهانه های زنگ دارای قطر 0.5 اینچ و باز شدن دکمه 0.375 اینچ بود.

مرحله 5: ترکیب آن

کنار هم قرار دادن
کنار هم قرار دادن

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

مرحله 6: کد

معرفی:

این پروژه با استفاده از زبان c ++ در نرم افزار Arduino IDE کدگذاری شده است. میکروکنترلر مورد استفاده NodeMCU با ESP8266 بود. برای این پروژه ما به روشی برای حفظ دقیق زمان ، به صدا در آوردن صدای زنگ ، به صدا در آمدن زنگ هشدار و به صفحه ای برای نمایش زمان و زمان زنگ احتیاج داریم. برای کد کامل به این پیوند مراجعه کنید

واردات کتابخانه ها

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

#شامل "RTClib.h"

#شامل "Wire.h" #شامل #شامل #شامل #شامل #شامل

شروع متغیرها

سپس باید متغیرها را برای بعداً راه اندازی کنیم ، طرح پین را برای دکمه های زنگ تعیین کنیم ، RTC را تنظیم کنیم و آدرس I2C صفحه نمایش LCD را تنظیم کنیم.

LiquidCrystal_I2C ال سی دی (0x27 ، 20 ، 4) ؛

const int buzzer1 = 12؛ const int buzzer2 = 0؛ const int button = 2؛ RTC_DS3231 rtc؛ char daysOfTheWeek [7] [12] = {"یکشنبه" ، "دوشنبه" ، "سه شنبه" ، "چهارشنبه" ، "پنجشنبه" ، "جمعه" ، "شنبه"} int starttime؛ int activetime؛ int prevoustime = 0؛ char ahours1 [3]؛ char amins1 [3]؛ int hour1 = 0 ؛ int min1 = 0 ؛ char ahours2 [3]؛ char amins2 [3]؛ int hour2 = 0 ؛ int min2 = 0 ؛ char ahours3 [3]؛ char amins3 [3]؛ int hour3 = 0 ؛ int min3 = 0 ؛ int alarm = 0؛ int ByteReceived؛ char recainedChar؛ const byte numChars = 32؛ char ReceChars [numChars]؛

برپایی

در مرحله بعد ، ما باید یک تابع داشته باشیم که تمام فرایندهای لازم را آغاز کند. در این تابع ، ما باید LCD را راه اندازی کرده و زمان های اولیه را چاپ کنیم ، عملکرد کوچکتری ایجاد کنیم که در صورت نداشتن زمان واقعی به RTC می دهد و مانیتور سریال را راه اندازی کنیم.

void setup () {

#ifndef ESP8266 در حالی که (! سریال) ؛ #endif if (! rtc.begin ()) {Serial.println ("RTC پیدا نشد")؛ در حالی که (1) ؛ } if (rtc.lostPower ()) {Serial.println ("RTC برق را از دست داد ، اجازه دهید زمان را تنظیم کنیم!") ؛ rtc.adjust (DateTime (F (_ DATE_) ، F (_ TIME_)))} lcd.init () ؛ lcd.lightlight ()؛ // Baklight را روشن می کند. lcd.clear ()؛ // LCD lcd.print ("00:00") را پاک می کند ؛ // نمایش روی LCD پس از بارگذاری کد lcd.setCursor (10 ، 0) ؛ lcd.print ("00:00") ؛ lcd.setCursor (0 ، 1) ؛ lcd.print ("زمان") ؛ lcd.setCursor (10 ، 1) ؛ lcd.print ("زنگ هشدار 1") ؛ lcd.setCursor (0 ، 3) ؛ lcd.print ("زنگ هشدار 2") ؛ lcd.setCursor (0 ، 2) ؛ lcd.print ("00:00") ؛ lcd.setCursor (10 ، 3) ؛ lcd.print ("زنگ هشدار 3") ؛ lcd.setCursor (10 ، 2) ؛ lcd.print ("00:00") ؛ rtc.begin ()؛ pinMode (دکمه ، ورودی) ؛ // یک پین برای دکمه سکوت pinMode (buzzer1 ، OUTPUT) تنظیم کنید ؛ // تنظیم پین برای خروجی زنگ pinMode (buzzer2 ، OUTPUT) ؛ // یک پین برای خروجی زنگ تنظیم کنید Serial.begin (9600)؛ Serial.println ("زمان ورود زنگ هشدارها با فرمت HHMM بدون فاصله بین زنگ هشدار") ؛ زمان شروع = millis ()/1000؛ }

در حال دریافت داده ها

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

void recvWithEndMarker () {

استاتیک int ndx = 0؛ String timein = Serial.readString ()؛ برای (ndx = 0 ؛ timein [ndx] ؛ ndx ++) {ReceChars [ndx] = timein [ndx] ؛ } ReceChars [ndx] = '\ 0'؛ Serial.print (دریافت Chars) ؛ }

تنظیم زنگ هشدارها

گام بعدی این است که بتوانید آلارم ها را تنظیم کنید. در اینجا کد هشدار 1 آمده است. برای زنگ هشدار 2 و 3 نیز همین روند با تغییرات کمی در تعداد تکرار شد.

/* زنگ هشدار 1*/

recvWithEndMarker ()؛ int h ، m ؛ برای (h = 0؛ h <2؛ h ++) {ahours1 [h] = دریافت شده Chars [h]؛ } برای (m = 2؛ m <4؛ m ++) {amins1 [m-2] = دریافت شده Chars [m]؛ } ahours1 [h] = '\ 0'؛ amins1 [m-2] = '\ 0'؛ Serial.print (ahours1)؛ Serial.print (amins1)؛ hour1 = atoi (ahours1) ؛ min1 = atoi (amins1) ؛ Serial.print (hour1) ؛ Serial.print (min1) ؛

زنگ/دکمه

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

/ * دکمه سکوت */

سکوت درون ؛ int b؛ b = digitalRead (2) ؛ if (b == LOW) {سکوت = 1؛ } else {سکوت = 0؛ } / * شروع زنگ هشدار * / if (ساعت == ساعت 1 && دقیقه == دقیقه 1) {زنگ = 1؛ } else if (ساعت == ساعت 2 && دقیقه == دقیقه 2) {زنگ = 1؛ } else if (ساعت == ساعت 3 && دقیقه == دقیقه 3) {زنگ = 1؛ } else {alarm = 0؛ سکوت = 0 ؛ } if (زنگ == 1 && سکوت == 0) {تن (buzzer1 ، 4000 ، 1000) ؛ تن (buzzer2 ، 4000 ، 1000) ؛ تاخیر (1000) ؛ noTone (buzzer1) ؛ noTone (buzzer2) ؛ تاخیر (1000) ؛ }

زمان چاپ

در نهایت ، ما باید زمان های هشدار و زمان واقعی را روی صفحه LCD چاپ کنیم.

DateTime now = rtc.now ()؛

ساعت int = (اکنون. ساعت ()) ؛ int mins = (now.minute ())؛ / * زمان هشدار با فرمت 00:00 */ lcd.setCursor (10 ، 0) ؛ ال سی دی چاپ (ahours1) ؛ lcd.setCursor (13 ، 0) ؛ lcd.print (amins1) ؛ lcd.setCursor (0 ، 2) ؛ ال سی دی چاپ (ahours2) ؛ lcd.setCursor (3 ، 2) ؛ ال سی دی چاپ (amins2) ؛ lcd.setCursor (10 ، 2) ؛ ال سی دی چاپ (ahours3) ؛ lcd.setCursor (13 ، 2) ؛ ال سی دی چاپ (amins3) ؛ / * زمان نمایش از RTC */ lcd.setCursor (0 ، 0) ؛ ال سی دی چاپ (ساعت) ؛ lcd.print (":")؛ ال سی دی چاپ (دقیقه) ؛

مرحله 7: الکترونیک

الکترونیک
الکترونیک
الکترونیک
الکترونیک
الکترونیک
الکترونیک

قطعات متعددی در قطعات الکترونیکی این پروژه وجود دارد ، همانطور که در صورتحساب مواد مشاهده می شود. تصویر اول شماتیک پروژه های الکترونیکی نهایی است. تصویر دوم آخرین طراحی الکترونیکی ما است. تصویر سوم مربوط به پروژه ما در میانه نمونه اولیه دوم است.

برای شروع NodeMCU خود را به انتهای تخته ورق خود وصل کنید. سپس باید همه لوازم الکترونیکی دیگر خود را به NodeMCU و بردبرد متصل کنید. با اتصال صفحه LCD خود به پین های D1 برای SCL و D2 برای SDA شروع کنید. LCD به کاربر اجازه می دهد تا زمان فعلی و زمان های تنظیم شده زنگ را مشاهده کند. اکنون سیم را به پین D3 و D6 متصل کنید. صدای زنگ به زنگ هشدار اجازه می دهد تا کاربر را در هنگام رسیدن به زمان تعیین شده هشدار دهد. اکنون باید یک دکمه را ضمیمه کنید تا اجازه دهید زنگ ساعت متوقف شود. این دکمه را به پین D4 وصل کنید. اکنون شما ساعت واقعی خود را به تخته نان متصل می کنید. ساعت Real-time را سیم کشی کنید تا از پین های SDA و SCL یکسان برای صفحه LCD استفاده کند.

مرحله هشتم: نهایی

نهایی
نهایی

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

توصیه شده: