فهرست مطالب:

آردوینو غروب/سحر ساعت تایمر: 15 قدم
آردوینو غروب/سحر ساعت تایمر: 15 قدم

تصویری: آردوینو غروب/سحر ساعت تایمر: 15 قدم

تصویری: آردوینو غروب/سحر ساعت تایمر: 15 قدم
تصویری: همون بسیجیایی که مسخرشون می‌کردید شدن نظامی 💜 #ایران #یگان_امداد #پلیس #نوپو #police #اغتشاش 2024, نوامبر
Anonim
Arduino Dusk/dawn Clock Timer
Arduino Dusk/dawn Clock Timer

خلاصه:

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

معرفی:

برخی از چراغهای خانه من هنگام غروب به طور خودکار روشن می شوند ، تا زمان معینی از پیش تعیین شده یا تا سحر (تمام شب).

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

به عنوان یک چالش خوب ، تصمیم گرفتم به جای آن یک زمان سنج مستقل مبتنی بر آردوینو بسازم. از ساعت واقعی و کتابخانه Dusk2Dawn برای تعیین زمان روشن یا خاموش کردن چراغ ها استفاده می کند. محفظه این تایمر به صورت سه بعدی چاپ شده و در Thingiverse یافت می شود. کد آردوینو برای این پروژه را می توانید در GitHub پیدا کنید.

در ایجاد این تایمر از طرح ها و مدارهای زیادی در اینترنت الهام گرفتم. از همه همکارانی که به صراحت ذکر نشده اند تشکر می کنم.

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

راه حل های جایگزین:

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

محدودیت های:

کد ارائه شده با این پروژه شامل تغییرات تغییرات در ساعت تابستانی بر اساس سیستم صرفه جویی در روز اروپا بود.

مرحله 1: لیست قطعات و ابزارها

لیست قطعات و ابزارها
لیست قطعات و ابزارها

قطعات:

هزینه کل قطعات (بدون احتساب چاپ سه بعدی) تقریباً 30 یورو ، -.

  • آردوینو نانو V3 (سازگار) بدون سرصفحه
  • منبع تغذیه 5V 0.6A (34 x 20 x 15 میلی متر)
  • رله حالت جامد 5V - کم فعال - 2A 230VAC
  • ساعت واقعی DS3231 (کوچک)
  • صفحه نمایش 0.96 اینچی OLED SPI 128*64 پیکسل
  • رمزگذار چرخشی - EC11 - 20 میلی متر
  • دستگیره شفت 6 میلی متری 15 میلی متر * 17 میلی متر
  • برد مدار چاپی ،
  • پیچ 4* M3x25mm
  • محفظه چاپ سه بعدی
  • لوله های کوچک کننده حرارتی
  • سیم ها
  • بلوک ترمینال پیچ (برای اتصال سیمهای خنثی)

ابزار مورد نیاز:

  • آهن لحیم کاری
  • سیم لحیم کاری
  • پمپ لحیم کاری
  • استریپرهای سیم
  • کاترها
  • چاپگر سه بعدی (برای چاپ محفظه)
  • انواع ابزارهای کوچک

هشدار

این مدار روی ولتاژ 230 ولت کار می کند و اگر به کار با ولتاژ اصلی عادت ندارید یا تجربه کافی در کار با ولتاژ اصلی 230 ولت AC ندارید ، لطفاً از این پروژه دور بمانید

من هیچ مسئولیتی در قبال هرگونه خسارت یا خسارتی که مستقیماً ناشی از یا پیروی از این پروژه باشد بر عهده نمی گیرم

همیشه توصیه می شود هنگام کار با AC Mains مراقبت و احتیاط مناسب را انجام دهید

مرحله 2: صفحه نمایش OLED و ساعت واقعی را آماده کنید

صفحه نمایش OLED و ساعت واقعی را آماده کنید
صفحه نمایش OLED و ساعت واقعی را آماده کنید

محفظه چاپ سه بعدی برای حداقل اندازه طراحی شده است. در نتیجه ، سرصفحه های صفحه نمایش OLED و ساعت واقعی باید حذف شوند.

در آماده سازی برای مرحله بعدی ، هرگونه لحیم کاری باقی مانده را با پمپ آبگیری از سوراخ ها پاک کنید.

مرحله 3: رمزگذار روتاری را آماده کنید

رمزگذار روتاری را آماده کنید
رمزگذار روتاری را آماده کنید

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

در تصویر اتصال زمین (به بالا سمت راست و پایین وسط) نیز از قبل آماده شده است.

توجه: مطمئن شوید که رمزگذار دوار با برد مدار چاپی بدون لمس آردوینو در محفظه قرار می گیرد. ممکن است لازم باشد تخته مدار چاپی را آسیاب کنید تا به راحتی جا بیفتد.

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

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

سه قسمت محفظه را با چاپگر سه بعدی چاپ کنید. به دستورالعمل Thingiverse مراجعه کنید.

مرحله 5: LED تغذیه Arduino را غیرفعال کنید (اختیاری)

LED Power Arduino را غیرفعال کنید (اختیاری)
LED Power Arduino را غیرفعال کنید (اختیاری)

برای جلوگیری از درخشندگی سبز در تایمر ، می توان LED روشنایی آردوینو را غیرفعال کرد.

توجه داشته باشید که این اصلاح اختیاری است.

اصلاح آردوینو نانو شامل برداشتن مقاومت در کنار منبع تغذیه است (دایره قرمز را در تصویر ببینید).

مرحله 6: منبع تغذیه + رله حالت جامد

منبع تغذیه + رله حالت جامد
منبع تغذیه + رله حالت جامد

در این مرحله منبع تغذیه و رله حالت جامد با هم ترکیب شده و در قسمت پایین محفظه نصب می شوند.

اتصالات بین منبع تغذیه و رله در پایین این قطعات ایجاد می شود. بلوک ترمینال پیچ رله برای اتصال به آردوینو استفاده می شود.

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

  • سیم اتصال را بین رله حالت جامد A1 به یکی از اتصالات AC منبع تغذیه لحیم کنید
  • سیم را به اتصال AC دیگر منبع تغذیه لحیم کنید (در مرحله 7 به بلوک ترمینال پیچ خنثی متصل می شود)
  • سیم را بین منبع تغذیه لحیم کنید -Vo به رله DC-
  • سیم را برای اتصال منبع تغذیه +Vo به رله DC +لحیم کنید

توجه: ممکن است لازم باشد که سیم های منبع تغذیه و رله را کوتاه کنید تا بتوانید در محفظه جا شوید.

مرحله 7: آردوینو نانو + منبع تغذیه + رله حالت جامد

آردوینو نانو + منبع تغذیه + رله حالت جامد
آردوینو نانو + منبع تغذیه + رله حالت جامد

در این مرحله ، آردوینو نانو به منبع تغذیه و رله حالت جامد متصل می شود.

  • دو سیم با طول تقریبی 70 میلی متر برش دهید. از یک طرف 30 میلی متر عایق و از طرف دیگر 4 میلی متر جدا کنید.
  • طرف را با عایق جدا شده 30 میلی متری به آردوینو +5V و GND لحیم کنید ، در حالی که سیم از بین می رود
  • دو لوله کوچک کننده با طول 20 میلی متر برش دهید و آنها را روی قسمت نواری 25 میلی متری نصب کنید. این امر سیمها را تا اتصال با بلوک ترمینال پیچ اتصال DC+ و DC- رله حالت جامد جدا می کند.
  • توجه داشته باشید که سیمهای GND و +5V برای اتصال صحیح به بلوک ترمینال پیچ رله باید عبور کنند.
  • یک سیم به طول تقریباً 40 میلی متر برش دهید و 4 میلی متر را از دو طرف جدا کنید. یک طرف را به اتصال A2 در BACKSIDE آردوینو لحیم کنید ، و طرف دیگر را به اتصال CH1 بلوک ترمینال پیچ اتصال حالت جامد وصل کنید.

هشدار

آردوینو به جای استفاده از رگولاتور قدرت داخلی آردوینو مستقیماً از منبع تغذیه پایدار +5 ولت تغذیه می کند. بنابراین ، هنگامی که آردوینو از منبع تغذیه نیرو دریافت می کند ، اتصال USB ایمن نیست.

همیشه قبل از استفاده از اتصال USB آردوینو ، برق 230VAC را قطع کنید.

مرحله 8: Arduino Nano + Real Time Clock

آردوینو نانو + ساعت واقعی
آردوینو نانو + ساعت واقعی

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

  • سیم را که از آردوینو GND (همچنین به DC- رله متصل است) به ساعت-- زمان واقعی بچسبانید.
  • سیم را که از آردوینو+5V (همچنین به DC+رله متصل است) به ساعت+زمان واقعی لحیم کنید.
  • دو سیم به طول تقریباً 40 میلی متر برش دهید و 4 میلی متر را از دو طرف جدا کنید.
  • سیم بین Arduino A4 و ساعت زمان واقعی D (SDA) لحیم کنید.
  • سیم را بین آردوینو A5 و ساعت واقعی C (SCL) لحیم کنید.
  • سیم های ساعت واقعی را شکل دهید تا از تداخل آنها با رمزگذار چرخشی اطمینان حاصل کنید. برای این کار ، سیم ها باید در پایین محفظه باشند.

مرحله 9: صفحه نمایش OLED را وصل کنید

صفحه نمایش OLED را وصل کنید
صفحه نمایش OLED را وصل کنید

در این مرحله صفحه نمایش OLED SPI به آردوینو اضافه می شود.

  • 2 سیم به طول 65 میلی متر برش دهید و 4 میلی متر را از دو طرف جدا کنید.
  • سیم را به اتصال GND صفحه نمایش OLED لحیم کنید. این سیم را به سیم جدا شده از لوله کاهنده حرارتی که از آردوینو GND می آید لحیم کنید (به مرحله 4 مراجعه کنید) و هر دو سیم را به بلوک ترمینال پیچ مدار رله حالت جامد وصل کنید.
  • سیم را به اتصال VCC صفحه نمایش OLED لحیم کنید. این سیم را به سیم جدا شده لوله کاهنده حرارتی که از آردوینو + 5 ولت می آید لحیم کنید (به مرحله 4 مراجعه کنید) و هر دو سیم را به بلوک ترمینال پیچ DC + رله حالت جامد وصل کنید.
  • 5 سیم به طول 65 میلی متر برش دهید و 4 میلی متر را از دو طرف جدا کنید.
  • سیم را برای اتصال D0 (CLK) به آردوینو D10 لحیم کنید
  • سیم را برای اتصال D1 (MOSI / DATA) به Arduino D9 لحیم کنید
  • سیم را برای اتصال RES (RT) به آردوینو D8 لحیم کنید
  • سیم را برای اتصال DC به Arduino D11 لحیم کنید
  • سیم را برای اتصال CS به Arduino D12 لحیم کنید

توجه: ترتیب سیم های صفحه نمایش منطقی نیست. این نتیجه استفاده از مثال Adafruit ، و سپس تغییر اتصالات است زیرا استفاده از D13 منجر به ایجاد LED قرمز در آردوینو می شود.

جایگزین

برای اتصالات SPI می توان از دستور "معمولی" استفاده کرد. بدین منظور ، تعریف خروجی دیجیتالی برنامه آردوینو در oledcontrol.cpp باید بر این اساس تنظیم شود:

// استفاده از نرم افزار SPI

// پین تعاریف

#تعریف CS_PIN 12

#تعریف RST_PIN 8

#DC_PIN 11 را تعریف کنید

#تعریف MOSI_PIN 9

#تعریف CLK_PIN 10

مرحله 10: رمزگذار روتاری

رمزگذار روتاری
رمزگذار روتاری

نمودار اتصالات آردوینو را به رمزگذار چرخشی نشان می دهد (رمزگذار که از بالا دیده می شود).

  • 4 سیم 45 میلی متری را جدا کنید و 4 میلی متر را از دو طرف جدا کنید.
  • Arduino GND را به کانکتورهای میانی بالا سمت راست و پایین رمزگذار وصل کنید
  • Arduino D2 را به پایین سمت چپ رمزگذار وصل کنید
  • Arduino D3 را به پایین سمت راست رمزگذار وصل کنید
  • Arduino D4 را به بالا سمت چپ رمزگذار وصل کنید

مرحله 11: نصب در محفظه

نصب در محفظه
نصب در محفظه

تمام قطعات الکترونیکی را در قسمت پایین محفظه نصب کنید:

  • آردوینو را روی شکاف عمودی بکشید
  • ساعت واقعی را در قسمت پایینی بکشید
  • منبع تغذیه و رله را در قسمت بالا بکشید ، مطمئن شوید که رله روی پایه های آن نشسته است.

مرحله 12: اتصال به شبکه اصلی / نور برای تغییر

اتصال به شبکه اصلی / نور برای تغییر
اتصال به شبکه اصلی / نور برای تغییر
اتصال به شبکه اصلی / نور برای تغییر
اتصال به شبکه اصلی / نور برای تغییر

هشدار

هنگام کار با AC Mains مراقبت و احتیاط مناسب را تضمین کنید ، اطمینان حاصل کنید که AC AC قطع شده است

من هیچ مسئولیتی در قبال هرگونه خسارت یا خسارتی که مستقیماً ناشی از یا پیروی از این پروژه باشد ، بر عهده نمی گیرم

  • فاز AC AC را به بلوک ترمینال پیچ A1 (سمت چپ) رله وصل کنید.
  • فاز چراغ مورد نظر را به بلوک ترمینال پیچ B1 (راست) رله وصل کنید.
  • برای اتصال سیم خنثی AC ، سیم خنثی سبک و سیم خنثی منبع تغذیه از یک بلوک ترمینال پیچ جداگانه استفاده کنید.
  • برای تسکین فشار ، دور هر یک از کابل های برق را یک کراوات بچسبانید.

مرحله 13: اتمام محوطه

پایان دادن به محوطه
پایان دادن به محوطه

در این مرحله نصب در محفظه به پایان می رسد

  • صفحه OLED را از طریق سوراخ نصب صفحه در قسمت وسط محفظه بکشید.
  • رمزگذار چرخشی را از طریق سوراخ قسمت وسط بکشید ، اطمینان حاصل کنید که خطوط ضد چرخش به هم نزدیک شده اند. رمزگذار دوار را با استفاده از واشر و مهره موجود نصب کنید.
  • قسمت بالای محفظه را نصب کرده و با نصب چهار پیچ M3x25mm از پایین ، محفظه را ببندید.

مرحله 14: برنامه نویسی آردوینو

هشدار

آردوینو به جای استفاده از رگولاتور قدرت داخلی آردوینو مستقیماً از منبع تغذیه پایدار +5 ولت تغذیه می کند. بنابراین ، هنگامی که آردوینو از منبع تغذیه نیرو دریافت می کند ، اتصال USB ایمن نیست.

همیشه قبل از استفاده از اتصال USB آردوینو ، برق 230VAC را قطع کنید.

برنامه تایمر آردوینو را از GitHub بازیابی کنید.

این برنامه از Arduino IDE استفاده می کند که می توانید آن را در اینجا دریافت کنید.

این برنامه از کتابخانه های اضافی زیر استفاده می کند:

SSD1303Ascii

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

توجه داشته باشید که از کتابخانه dusk2dawn نیز استفاده می شود ، اما به دلیل تغییر در رابط کاربری ، به عنوان کد درج شده است.

برای اطمینان از محاسبه درست غروب / طلوع ، طول و عرض جغرافیایی و منطقه زمانی باید تنظیم شود.

همانطور که در مثال dusk2dawn توضیح داده شد ، راهی آسان برای یافتن طول و عرض جغرافیایی برای هر مکان این است که نقطه را در Google Maps پیدا کنید ، روی مکان روی نقشه راست کلیک کرده و "What here here؟" را انتخاب کنید. در پایین ، کارتی با مختصات را مشاهده خواهید کرد.

طول و عرض جغرافیایی در برنامه ، در خطوط 19 و 20 Dusk2Dawn.cpp کدگذاری شده است:

/* عرض جغرافیایی و طول جغرافیایی محل شما باید در اینجا تنظیم شود.

* * نکته: یک راه آسان برای یافتن طول و عرض جغرافیایی برای هر مکان این است که * نقطه را در Google Maps پیدا کنید ، روی مکان روی نقشه راست کلیک کرده و * «اینجا چیست؟» را انتخاب کنید. در پایین ، کارتی با مختصات * مشاهده می کنید. */ #تعریف LATITUDE 52.097105 ؛ // اوترخت #تعریف LONGTITUDE 5.068294 ؛ // اوترخت

منطقه زمانی نیز در خط 24 Dusk2Dawn.cpp کدگذاری شده است. به طور پیش فرض روی هلند (GMT + 1) تنظیم شده است:

/* منطقه زمانی خود را (جبران شده به GMT) در اینجا وارد کنید.

*/ #محدوده زمانی 1 را تعریف کنید

هنگام برنامه نویسی Arduino برای اولین بار ، حافظه EEPROM باید راه اندازی شود. برای این کار ، خط 11 timer.cpp را برای انجام مقداردهی اولیه EEPROM تغییر دهید:

// برای اولین بار در برنامه نویسی به true تغییر دهید

#تعریف INITIALIZE_EEPROM_MEMORY نادرست

برنامه را در آردوینو بارگذاری کرده و آردوینو را بوت کنید.

مقداردهی اولیه EEPROM را غیرفعال کنید و برنامه را دوباره در آردوینو بارگذاری کنید. اکنون تایمر هنگام راه اندازی مجدد تنظیمات زمان تغییر را به خاطر می آورد.

مرحله 15: تنظیم زمان و تغییر زمان

مفاهیم تعامل کاربر:

  • برای تأیید انتخاب ها ، از فشار کوتاه استفاده می شود. علاوه بر این ، در صفحه تایمر اصلی یک فشار کوتاه نور را خاموش یا روشن می کند.
  • فشار طولانی برای ورود به منو از صفحه تایمر اصلی استفاده می شود. در هر نقطه از منو ، یک فشار طولانی به صفحه تایمر اصلی باز می گردد.
  • ‘>’ فهرست انتخاب. این مکان نما گزینه انتخاب شده را در یک منو نشان می دهد.

صفحه اصلی تایمر

صفحه اصلی تایمر نشان می دهد:

روز هفته سو

زمان کنونی 16:00

وضعیت تایمر فعلی و زمان تعویض بعدی تایمر خاموش تا 17:12

سحر و غروب سحر 08:05 غروب 17:10

تنظیم زمان صحیح

برای ورود به منو ، فشار طولانی را فشار دهید. گزینه های زیر نشان داده شده است:

برگشت زمان تنظیم برنامه روز هفته برنامه آخر هفته گزینه ها

زمان تنظیم را برای تنظیم تاریخ و زمان ساعت واقعی انتخاب کنید. مقادیر صحیح را برای موارد زیر وارد کنید:

YearMonthDayTime

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

تنظیم برنامه تایمر

تایمر دارای 2 برنامه است ، یکی برای روزهای هفته ، یکی برای آخر هفته. توجه داشته باشید که جمعه بخشی از آخر هفته محسوب می شود ، چراغ ها می توانند کمی بیشتر روشن بمانند.

هر تایمر دارای یک کلید روشن و خاموش است. لحظه یا می تواند باشد:

  • زمان: زمان دقیق مشخص شده
  • Dawn: بر اساس زمان محاسبه شده سحر تغییر دهید
  • غروب: بر اساس زمان محاسبه شده از غروب تغییر دهید

برای غروب و سحر می توان مقدار تصحیح 59 دقیقه قبل یا بعد از آن را وارد کرد.

مثال ها:

برای روشن کردن چراغ در تمام شب ، روشن کردن در (غروب + 10 دقیقه) ، خاموش شدن در (سحر - 10 دقیقه) را انتخاب کنید

برای روشن کردن چراغ در شب ، روشن کردن هنگام غروب را انتخاب کنید ، ساعت را خاموش کنید: 22:30.

گزینه ها

در صفحه گزینه ها می توان زمان تعویض را برای تغییر صفحه تنظیم کرد.

با خاموش شدن صفحه ، فشار دادن دکمه رمزگذار چرخشی به صفحه تایمر اصلی باز می گردد.

توصیه شده: