فهرست مطالب:

ساعت زنگ دار Sunrise با صفحه نمایش LCD و برنامه بلوتوث: 8 مرحله
ساعت زنگ دار Sunrise با صفحه نمایش LCD و برنامه بلوتوث: 8 مرحله

تصویری: ساعت زنگ دار Sunrise با صفحه نمایش LCD و برنامه بلوتوث: 8 مرحله

تصویری: ساعت زنگ دار Sunrise با صفحه نمایش LCD و برنامه بلوتوث: 8 مرحله
تصویری: ساعت هوشمند اپل واچ اولترا آنباکسینگ و بررسی اسمارت واچ HW8 ULTRA MAX 2024, نوامبر
Anonim
ساعت زنگ دار Sunrise با صفحه نمایش LCD و برنامه بلوتوث
ساعت زنگ دار Sunrise با صفحه نمایش LCD و برنامه بلوتوث
ساعت زنگ دار Sunrise با صفحه نمایش LCD و برنامه بلوتوث
ساعت زنگ دار Sunrise با صفحه نمایش LCD و برنامه بلوتوث

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

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

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

همه کد ها را می توان در: https://github.com/Sjorsv/sunrisealarm پیدا کرد

مرحله 1: جمع آوری قطعات

جمع آوری قطعات
جمع آوری قطعات
جمع آوری قطعات
جمع آوری قطعات
جمع آوری قطعات
جمع آوری قطعات

ما از یک ساعت به عنوان ورودی خود و یک LED فوق العاده روشن به عنوان خروجی خود برای شبیه سازی طلوع آفتاب استفاده می کنیم.

برای ساخت مدار به موارد زیر نیاز داریم:

- Arduino Uno- clockmodule RTC DS3231 - یک MOSFET برای کنترل روشنایی نور - یک LED فوق العاده روشن (2 عدد گرم ، یک سرد خریدم) - باتری 9 ولت برای روشن کردن LED - یک تخته نان - یک صفحه نمایش LCD (16: 2)- آداپتور بلوتوث hc-05 ، بنابراین می توانیم از برنامه ای برای تنظیم زنگ هشدار استفاده کنیم.

هر چیزی که نیاز دارید را می توانید در www.martoparts.nl خریداری کنید

مرحله 2: مونتاژ مدار

مونتاژ مدار
مونتاژ مدار
مونتاژ مدار
مونتاژ مدار

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

RTC DS3231GND روی آردوینو به GND می رود

VCC به 5v می رود

SDA به آردوینو می رود

SCL به arduino می رود ما از SQW و 32KMOSFET استفاده نمی کنیم

پین دروازه در Arduino Uno به پین ~ 9 می رود زیرا PWM است پین Drain به سمت منفی LED می رود پین منبع به GND در Arduino می رود LCD-DisplayGND به GND در آردوینو می رود

VCC به arduino به A4 می رود SKL به ar5 در arduino LED می رود- به mosfet+ می رود به باتری 5v9v می توانید باتری 9 ولت را در هر فروشگاه محلی خریداری کنید ، با نوار اتصال به arduino وصل کنید.

ماژول بلوتوث hc-055V از آردوینو به 5V می رود

GND روی آردوینو به GND می رود

در حال حاضر 2 ورودی دیگر وجود دارد ، اما قسمت دشواری وجود دارد ، ما باید ورودی های مخالف آن 2 را در arduinoTX متصل کنیم از hc-05 به RX در arduinoRX از hc-05 به TX در arduino می رود

مهم: هنگام بارگذاری کد در arduino خود ، مطمئن شوید که TX & RX را از HC-05 جدا کرده اید ، در غیر این صورت با خطای "در بارگذاری کد خطایی رخ داده است" در کامپایلر مواجه خواهید شد.

مرحله 3: تنظیم صفحه نمایش LCD و ساعت

تنظیم صفحه نمایش LCD و ساعت
تنظیم صفحه نمایش LCD و ساعت
تنظیم صفحه نمایش LCD و ساعت
تنظیم صفحه نمایش LCD و ساعت

کتابخانه مورد استفاده برای صفحه نمایش LCD کریستال مایع است و می توانید آن را در آدرس زیر پیدا کنید: https://github.com/fdebrabander/Arduino-LiquidCrys… فایل زیپ را بارگیری کرده ، ذخیره کرده و در پوشه Arduino/libraries خود قرار دهید.

کتابخانه ای که من برای اجرای ساعت از آن استفاده می کنم را می توانید در Rinky-Dinky Electronics https://www.rinkydinkelectronics.com/library.php؟id=73 پیدا کنید و مطمئن شوید که در صفحه DS3231 هستید. فایل zip را بارگیری کرده ، ذخیره کرده و در پوشه کتابخانه های Arduino خود قرار دهید.

زمان

کتابخانه DS3231 یا DS1307 را در کد آردوینو خود قرار دهید

برای تنظیم زمان ، این 3 خط کد را کامنت نکنید:

// rtc.setDOW (دوشنبه) ؛ // تنظیم روز هفته در SUNDAY // rtc.setTime (23 ، 57 ، 0) ؛ // زمان را روی 12:00:00 (قالب 24 ساعته) // rtc.setDate (14 ، 1 ، 2019) تنظیم کنید ؛ // تاریخ را 1 ژانویه 2014 تعیین کنید

صفحه نمایش ال سی دی

کتابخانه liqduicrystal_i2c را در کد آردوینو خود قرار دهید

برای چاپ روی صفحه نمایش LCD از آن استفاده کنید

lcd.setCursor (col، row) // موقعیت متن چاپ شده lcd.print (~) // متن چاپ شده

مرحله 4: کد نویسی

برنامه نویسی
برنامه نویسی

بارگیری کد در: github:

برای تنظیم ساعت روی صفحه LCD خود ، این 3 خط را کامنت نگذارید:

// rtc.setDOW (دوشنبه) ؛ // تنظیم روز هفته در SUNDAY // rtc.setTime (23 ، 57 ، 0) ؛ // زمان را روی 12:00:00 (قالب 24 ساعته) // rtc.setDate (14 ، 1 ، 2019) تنظیم کنید ؛ // تاریخ را 1 ژانویه 2014 تعیین کنید

از lcd.setCuros (col، row) استفاده کنید؛ برای تنظیم موقعیت متن روی صفحه

lcd.setCursor (0 ، 2) ؛

و print () برای چاپ چیزی روی صفحه نمایش

lcd.print (rtc.getDateStr ()) ؛

در صورت تمایل این متغیرها را تغییر دهید

int fadeTime = 1؛ // چه مدت نور کم می شود تا maxint setHour = 02؛ // ساعت ها را برای بیدار شدن تنظیم کنید (زمان نظامی) int setMin = 49؛ // تنظیم دقیقه برای بیدار شدن int uled = 9؛ // تنظیم pinout با PWM

کد ماژول بلوتوث

رشته firstHalf = getValue (ورودی ، ':' ، 0) ؛ // اولین ورودی را تا ":" بررسی کنید

رشته secondHalf = getValue (ورودی ، ':' ، 1) ؛ // بررسی ورودی دوم بعد از ":"

// اگر از ماژول بلوتوث استفاده نمی کنید از این کد استفاده کنید

// // if (t.hour == setHour && t.min == setMin) // بررسی کنید آیا زمان بیدار شدن فرا رسیده است یا خیر! // {// شروع ()؛ //}

// ابتدا 2 رقم ورودی را بررسی کنید ، سپس 2 رقم دوم ورودی را بررسی کنید

if (t.hour == firstHalf.toInt () && t.min == secondHalf.toInt ()) {شروع ()؛ }}

// منطق برای جدا کردن رشته ها

رشته getValue (داده های رشته ، جدا کننده کاراکتر ، شاخص int) {int found = 0؛ int strIndex = {0 ، -1} ؛ int maxIndex = data.length () - 1؛

برای (int i = 0؛ i <= maxIndex && found <= index؛ i ++) {if (data.charAt (i) == جداکننده || i == maxIndex) {++ پیدا شد؛ strIndex [0] = strIndex [1] + 1؛ strIndex [1] = (i == maxIndex)؟ i+1: i ؛ }} بازگشت یافت شد> فهرست؟ data.substring (strIndex [0] ، strIndex [1]): ""؛ }

مرحله 5: زمان آزمایش است

در صورت کارکرد اجزا کد و تست خود را کامپایل کنید!

مرحله 6: تنظیم برنامه بلوتوث

راه اندازی برنامه بلوتوث
راه اندازی برنامه بلوتوث
راه اندازی برنامه بلوتوث
راه اندازی برنامه بلوتوث
راه اندازی برنامه بلوتوث
راه اندازی برنامه بلوتوث

از آنجا که به نظرم رسیدگی به کد هر زمان که می خواستم زنگ خطر را تنظیم کنم ، آزاردهنده بود ، می خواستم برنامه ای بسازم که زنگ هشدار را تنظیم کند ، که بسیار راحت تر است.

به https://ai2.appinventor.mit.ed بروید. در اینجا می توانیم یک برنامه ساده بسازیم که به ما اجازه می دهد زنگ هشدار را تنظیم کنیم ، من تنظیمات طراحی ساده (که همیشه می توانید بعداً این را تغییر دهید) و کد مورد استفاده برای اتصال بلوتوث. سپس می توانید برنامه خود را منتشر کرده و با استفاده از کد QR یا بارگیری مستقیم برنامه در رایانه خود ، آن را در تلفن خود متصل کنید ، سپس آن را با کابل تلفن خود منتقل کنید. (تصویر صفحه)

مرحله 7: ساختن پرونده

ساخت پرونده
ساخت پرونده
ساخت پرونده
ساخت پرونده
ساخت پرونده
ساخت پرونده

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

مرحله 8: تمام شد

تمام شده!
تمام شده!
تمام شده!
تمام شده!
تمام شده!
تمام شده!

اکنون که کد را در آردوینو بارگذاری کرده اید ، کیس را بسازید و بررسی کنید که آیا ساعت خود را به درستی مونتاژ کرده اید ، می توانید زنگ هشدار را در برنامه بلوتوث تنظیم کرده و بیدار شدن طبیعی تری را شروع کنید!:)

توصیه شده: