فهرست مطالب:
تصویری: ساعت محیط واقعی زمان: 4 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:55
هدف
من این ساعت را ساختم زیرا یک نوار LED قابل آدرس دهی در اطراف دارم و می خواهم از آن استفاده کنم. سپس دیدم اتاق من ساعت خوبی ندارد که با دیوارهای آن مطابقت داشته باشد. بنابراین تصمیم گرفتم یک ساعت بسازم که می تواند رنگ آن را با توجه به حال و هوا و رنگ دیوار کاربران تغییر دهد.
مرحله 1: ویدیوی YouTube
برای مشاهده دستورالعمل کامل ، این ویدیوی یوتیوب را تماشا کنید
مرحله 2: روش
من ابتدا یک تخته سه لا با ابعاد 24 15 15 اینچ برداشتم.
نوار LED را به قطعات برش داده و روی تخته بچسبانید سپس بعد از لحیم کاری آنها را با یک کاغذ سیاه مشکی پوشانده سپس یک ورق ترموکول را روی آن بچسبانید و ترموکول را با یک برش تیز به شکل 4 صفحه هفت قسمت به همراه دو سوراخ در مرکز سپس مدارم را با استفاده از نمودار مدارهای زیر آماده کنید
و همه اینها را پشت تخته چسباند. من همچنین یک pcb سفارشی برای همان از https://jlcpcb.com سفارش دادم ، آنها بهترین نمونه های PCB را با کمترین قیمت از چین ارائه می دهند و سریع و ایمن در سراسر جهان ارسال می شوند. بعد از لحیم کاری تمام اجزای خود روی تخته ، من تخته نان را برداشته و همه چیز را پشت تخته و قسمت جلویی آن را با استفاده از یک کاغذ کمیاب شفاف نازک ثابت کردم. ساعت فوق العاده به نظر می رسد و زیبایی دیوار را افزایش می دهد. رنگهای سفارشی آن را برای هر دیوار مناسب می کند.
اگر این پروژه را دوست دارید با مهربانی عضو شوید یا از وب سایت ما دیدن کنید https://robocircuits.com با تشکر از شما برای خواندن!
مرحله 3: کد
/* کد توسط RoboCircuits طراحی شده است
* برای راهنمایی در مورد این کد از وب سایت ما دیدن کنید https://robocircuits.com * این کد از کتابخانه DS3231.h استفاده می کند آن را از https://robocircuits.com بارگیری کنید * برای آموزش کامل فیلم را در کانال YouTube ما مشاهده کنید https:// youtube. com/robocircuits */
#شامل #شامل شود
int i = 0 ، j = 0 ، k = 150 ؛
// DS3231 را با استفاده از رابط سخت افزاری DS3231 rtc (SDA ، SCL) آغاز کنید ؛
#ifdef _AVR_ #شامل #endif
// کدام پین در آردوینو به NeoPixels متصل است؟ // در Trinket یا Gemma پیشنهاد می کنیم این مورد را به 1 #پین 6 #تعریف کنید
// چند NeoPixel به آردوینو وصل شده است؟ #تعریف NUMPIXELS 45
// وقتی کتابخانه NeoPixel را راه اندازی می کنیم ، به آن می گوییم چند پیکسل است و از کدام پین برای ارسال سیگنال استفاده می کند. // توجه داشته باشید که برای نوارهای قدیمی NeoPixel ممکن است نیاز به تغییر پارامتر سوم داشته باشید-برای اطلاعات بیشتر در مورد مقادیر احتمالی به مثال strandtest // مراجعه کنید. پیکسل های Adafruit_NeoPixel = Adafruit_NeoPixel (NUMPIXELS ، PIN ، NEO_GRB + NEO_KHZ800) ؛
تاخیر int = 500 ؛ // تأخیر نیم ثانیه
void setup () {// این برای Trinket 5V 16MHz است ، اگر از Trinket #ifined if ((_AVR_ATtiny85_) اگر (F_CPU == 16000000) clock_prescale_set (clock_div_1) استفاده نمی کنید ، می توانید این سه خط را حذف کنید. #endif // کد ویژه پایان کار ساده
pixels.begin ()؛ // این کتابخانه NeoPixel را اولیه می کند. // راه اندازی اتصال سریال Serial.begin (115200)؛ // مقداردهی اولیه شی rtc rtc.begin ()؛ // برای تنظیم تاریخ و زمان //rtc.setDOW(WEDNESDAY) خطوط زیر را می توان بدون نظر گذاشت ؛ // روز هفته را به SUNDAY //rtc.setTime(12 ، 0 ، 0) تنظیم کنید ؛ // زمان را روی 12:00:00 (قالب 24 ساعته) //rtc.setDate(1 ، 1 ، 2014) تنظیم کنید ؛ // تاریخ را 1 ژانویه 2014 تنظیم کنید}
حلقه خالی () {if (digitalRead (2) == HIGH) {int a = analogRead (A0)؛ int b = analogRead (A1) ؛ int c = analogRead (A2) ؛ i = نقشه (a، 0، 1025، 0، 150)؛ // رنگ سبز j = نقشه (b، 0، 1025، 0، 150)؛ // رنگ آبی k = نقشه (c ، 0 ، 1025 ، 0 ، 150) ؛ // رنگ قرمز} else {i = 0؛ j = 0 ؛ k = 150 ؛ }
// کد برای نور پس زمینه برای (int x = 29؛ x <= 45؛ x ++) {pixels.setPixelColor (x، pixels. Color (i، j، k))؛ pixels.show ()؛ }
// واکشی زمان واقعی از رشته rtc x = rtc.getTimeStr ()؛ // زمان ارسال Serial.println (rtc.getTimeStr ()) ؛ int hour1 = x.charAt (0) ؛ int hour2 = x.charAt (1) ؛ int min1 = x.charAt (3) ؛ int min2 = x.charAt (4) ؛ ساعت 1 = ساعت 1 تا 48 ؛ ساعت 2 = ساعت 2-48؛ min1 = min1-48 ؛ min2 = min2-48 ؛
// نمایش زمان در کلید ساعت (ساعت 1) {// مورد 0: صفر (0) ؛ //زنگ تفريح؛ مورد 1: یک (0) ؛ زنگ تفريح؛ مورد 2: دو (0) ؛ زنگ تفريح؛ پیش فرض: nulll (0)؛ زنگ تفريح؛ } switch (hour2) {case 0: zero (7)؛ زنگ تفريح؛ مورد 1: یک (7) ؛ زنگ تفريح؛ مورد 2: دو (7) ؛ زنگ تفريح؛ مورد 3: سه (7) ؛ زنگ تفريح؛ مورد 4: چهار (7) ؛ زنگ تفريح؛ مورد 5: پنج (7) ؛ زنگ تفريح؛ مورد 6: شش (7) ؛ زنگ تفريح؛ مورد 7: هفت (7) ؛ زنگ تفريح؛ مورد 8: هشت (7) ؛ زنگ تفريح؛ مورد 9: نه (7) ؛ زنگ تفريح؛ پیش فرض: nulll (7)؛ زنگ تفريح؛ } switch (min1) {case 0: zero (15)؛ زنگ تفريح؛ مورد 1: یک (15) ؛ زنگ تفريح؛ مورد 2: دو (15) ؛ زنگ تفريح؛ مورد 3: سه (15) ؛ زنگ تفريح؛ مورد 4: چهار (15) ؛ زنگ تفريح؛ مورد 5: پنج (15) ؛ زنگ تفريح؛ پیش فرض: nulll (15)؛ زنگ تفريح؛ } switch (min2) {case 0: zero (22)؛ زنگ تفريح؛ مورد 1: یک (22) ؛ زنگ تفريح؛ مورد 2: دو (22) ؛ زنگ تفريح؛ مورد 3: سه (22) ؛ زنگ تفريح؛ مورد 4: چهار (22) ؛ زنگ تفريح؛ مورد 5: پنج (22) ؛ زنگ تفريح؛ مورد 6: شش (22) ؛ زنگ تفريح؛ مورد 7: هفت (22) ؛ زنگ تفريح؛ مورد 8: هشت (22) ؛ زنگ تفريح؛ مورد 9: نه (22) ؛ زنگ تفريح؛ پیش فرض: nulll (22)؛ زنگ تفريح؛ } pixels.setPixelColor (14 ، پیکسل. رنگ (i ، j ، k)) ؛ pixels.show ()؛ تأخیر (250) ؛ pixels.setPixelColor (14 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ pixels.show ()؛ تأخیر (250) ؛ }
void zero (int a) {pixels.setPixelColor (a+0، pixels. Color (i، j، k))؛ pixels.show ()؛ pixels.setPixelColor (a+1، pixels. Color (i، j، k))؛ pixels.show ()؛ pixels.setPixelColor (a+2، pixels. Color (i، j، k))؛ pixels.show ()؛ pixels.setPixelColor (a+3 ، pixels. Color (0 ، 0 ، 0)) ؛ pixels.show ()؛ pixels.setPixelColor (a+4 ، پیکسل. رنگ (i ، j ، k)) ؛ pixels.show ()؛ pixels.setPixelColor (a+5 ، پیکسل. رنگ (i ، j ، k)) ؛ pixels.show ()؛ pixels.setPixelColor (a+6 ، پیکسل. رنگ (i ، j ، k)) ؛ pixels.show ()؛ } void one (int a) {pixels.setPixelColor (a+0، pixels. Color (0، 0، 0))؛ pixels.show ()؛ pixels.setPixelColor (a+1 ، pixels. Color (0 ، 0 ، 0)) ؛ pixels.show ()؛ pixels.setPixelColor (a+2، pixels. Color (i، j، k))؛ pixels.show ()؛ pixels.setPixelColor (a+3 ، pixels. Color (0 ، 0 ، 0)) ؛ pixels.show ()؛ pixels.setPixelColor (a+4 ، pixels. Color (0 ، 0 ، 0)) ؛ pixels.show ()؛ pixels.setPixelColor (a+5 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ pixels.show ()؛ pixels.setPixelColor (a+6 ، پیکسل. رنگ (i ، j ، k)) ؛ pixels.show ()؛ } void two (int a) {pixels.setPixelColor (a+0، pixels. Color (0، 0، 0))؛ pixels.show ()؛ pixels.setPixelColor (a+1، pixels. Color (i، j، k))؛ pixels.show ()؛ pixels.setPixelColor (a+2، pixels. Color (i، j، k))؛ pixels.show ()؛ pixels.setPixelColor (a+3 ، پیکسل. رنگ (i ، j ، k)) ؛ pixels.show ()؛ pixels.setPixelColor (a+4 ، پیکسل. رنگ (i ، j ، k)) ؛ pixels.show ()؛ pixels.setPixelColor (a+5 ، پیکسل. رنگ (i ، j ، k)) ؛ pixels.show ()؛ pixels.setPixelColor (a+6 ، pixels. Color (0 ، 0 ، 0)) ؛ pixels.show ()؛ } void three (int a) {pixels.setPixelColor (a+0، pixels. Color (0، 0، 0))؛ pixels.show ()؛ pixels.setPixelColor (a+1، pixels. Color (i، j، k))؛ pixels.show ()؛ pixels.setPixelColor (a+2، pixels. Color (i، j، k))؛ pixels.show ()؛ pixels.setPixelColor (a+3 ، پیکسل. رنگ (i ، j ، k)) ؛ pixels.show ()؛ pixels.setPixelColor (a+4 ، pixels. Color (0 ، 0 ، 0)) ؛ pixels.show ()؛ pixels.setPixelColor (a+5 ، پیکسل. رنگ (i ، j ، k)) ؛ pixels.show ()؛ pixels.setPixelColor (a+6 ، پیکسل. رنگ (i ، j ، k)) ؛ pixels.show ()؛ } void four (int a) {pixels.setPixelColor (a+0، pixels. Color (i، j، k))؛ pixels.show ()؛ pixels.setPixelColor (a+1 ، pixels. Color (0 ، 0 ، 0)) ؛ pixels.show ()؛ pixels.setPixelColor (a+2، pixels. Color (i، j، k))؛ pixels.show ()؛ pixels.setPixelColor (a+3، pixels. Color (i، j، k))؛ pixels.show ()؛ pixels.setPixelColor (a+4 ، pixels. Color (0 ، 0 ، 0)) ؛ pixels.show ()؛ pixels.setPixelColor (a+5 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ pixels.show ()؛ pixels.setPixelColor (a+6 ، پیکسل. رنگ (i ، j ، k)) ؛ pixels.show ()؛ } void five (int a) {pixels.setPixelColor (a+0، pixels. Color (i، j، k))؛ pixels.show ()؛ pixels.setPixelColor (a+1، pixels. Color (i، j، k))؛ pixels.show ()؛ pixels.setPixelColor (a+2 ، pixels. Color (0 ، 0 ، 0)) ؛ pixels.show ()؛ pixels.setPixelColor (a+3 ، پیکسل. رنگ (i ، j ، k)) ؛ pixels.show ()؛ pixels.setPixelColor (a+4 ، pixels. Color (0 ، 0 ، 0)) ؛ pixels.show ()؛ pixels.setPixelColor (a+5 ، پیکسل. رنگ (i ، j ، k)) ؛ pixels.show ()؛ pixels.setPixelColor (a+6 ، پیکسل. رنگ (i ، j ، k)) ؛ pixels.show ()؛ } void six (int a) {pixels.setPixelColor (a+0، pixels. Color (i، j، k))؛ pixels.show ()؛ pixels.setPixelColor (a+1، pixels. Color (i، j، k))؛ pixels.show ()؛ pixels.setPixelColor (a+2 ، pixels. Color (0 ، 0 ، 0)) ؛ pixels.show ()؛ pixels.setPixelColor (a+3 ، پیکسل. رنگ (i ، j ، k)) ؛ pixels.show ()؛ pixels.setPixelColor (a+4 ، پیکسل. رنگ (i ، j ، k)) ؛ pixels.show ()؛ pixels.setPixelColor (a+5 ، پیکسل. رنگ (i ، j ، k)) ؛ pixels.show ()؛ pixels.setPixelColor (a+6 ، پیکسل. رنگ (i ، j ، k)) ؛ pixels.show ()؛ } void هفت (int a) {pixels.setPixelColor (a+0، pixels. Color (0، 0، 0))؛ pixels.show ()؛ pixels.setPixelColor (a+1، pixels. Color (i، j، k))؛ pixels.show ()؛ pixels.setPixelColor (a+2، pixels. Color (i، j، k))؛ pixels.show ()؛ pixels.setPixelColor (a+3 ، pixels. Color (0 ، 0 ، 0)) ؛ pixels.show ()؛ pixels.setPixelColor (a+4 ، pixels. Color (0 ، 0 ، 0)) ؛ pixels.show ()؛ pixels.setPixelColor (a+5 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ pixels.show ()؛ pixels.setPixelColor (a+6 ، پیکسل. رنگ (i ، j ، k)) ؛ pixels.show ()؛ } void هشت (int a) {pixels.setPixelColor (a+0، pixels. Color (i، j، k))؛ pixels.show ()؛ pixels.setPixelColor (a+1، pixels. Color (i، j، k))؛ pixels.show ()؛ pixels.setPixelColor (a+2، pixels. Color (i، j، k))؛ pixels.show ()؛ pixels.setPixelColor (a+3 ، پیکسل. رنگ (i ، j ، k)) ؛ pixels.show ()؛ pixels.setPixelColor (a+4 ، پیکسل. رنگ (i ، j ، k)) ؛ pixels.show ()؛ pixels.setPixelColor (a+5 ، پیکسل. رنگ (i ، j ، k)) ؛ pixels.show ()؛ pixels.setPixelColor (a+6 ، پیکسل. رنگ (i ، j ، k)) ؛ pixels.show ()؛ } void nine (int a) {pixels.setPixelColor (a+0، pixels. Color (i، j، k))؛ pixels.show ()؛ pixels.setPixelColor (a+1، pixels. Color (i، j، k))؛ pixels.show ()؛ pixels.setPixelColor (a+2، pixels. Color (i، j، k))؛ pixels.show ()؛ pixels.setPixelColor (a+3 ، پیکسل. رنگ (i ، j ، k)) ؛ pixels.show ()؛ pixels.setPixelColor (a+4 ، pixels. Color (0 ، 0 ، 0)) ؛ pixels.show ()؛ pixels.setPixelColor (a+5 ، پیکسل. رنگ (i ، j ، k)) ؛ pixels.show ()؛ pixels.setPixelColor (a+6 ، پیکسل. رنگ (i ، j ، k)) ؛ pixels.show ()؛ } void nulll (int a) {pixels.setPixelColor (a+0، pixels. Color (0، 0، 0))؛ pixels.show ()؛ pixels.setPixelColor (a+1 ، pixels. Color (0 ، 0 ، 0)) ؛ pixels.show ()؛ pixels.setPixelColor (a+2 ، pixels. Color (0 ، 0 ، 0)) ؛ pixels.show ()؛ pixels.setPixelColor (a+3 ، pixels. Color (0 ، 0 ، 0)) ؛ pixels.show ()؛ pixels.setPixelColor (a+4 ، pixels. Color (0 ، 0 ، 0)) ؛ pixels.show ()؛ pixels.setPixelColor (a+5 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ pixels.show ()؛ pixels.setPixelColor (a+6 ، pixels. Color (0 ، 0 ، 0)) ؛ pixels.show ()؛ }
مرحله 4: متشکرم
از https://robocircuits.com دیدن فرمایید
توصیه شده:
نحوه استفاده از ماژول ساعت در زمان واقعی (DS3231): 5 مرحله
نحوه استفاده از ماژول ساعت در زمان واقعی (DS3231): DS3231 یک ساعت زمان واقعی کم هزینه و بسیار دقیق I2C (RTC) با نوسان ساز بلوری با جبران دما (TCXO) و کریستال است. این دستگاه دارای ورودی باتری است و زمان دقیق را در زمان تغذیه اصلی حفظ می کند
تنظیم DTC3231 RTC (ساعت زمان واقعی) به صورت دقیق ، سریع و خودکار با استفاده از جاوا (+-1s): 3 مرحله
تنظیم دقیق DS3231 RTC (ساعت در زمان واقعی) با استفاده از جاوا (+-1s): این دستورالعمل به شما نشان می دهد که چگونه زمان را بر روی ساعت واقعی DS3231 با استفاده از آردوینو و یک برنامه جاوا کوچک که از آن استفاده می کند ، تنظیم کنید. اتصال سریال آردوینو. منطق اساسی این برنامه: 1. آردوینو یک درخواست سریال ارسال می کند
استفاده از ماژول های ساعت در زمان واقعی DS1307 و DS3231 با آردوینو: 3 مرحله
استفاده از ماژولهای ساعت در زمان واقعی DS1307 و DS3231 با آردوینو: ما همچنان از منابع مختلف درخواست هایی در مورد نحوه استفاده از ماژول های ساعت واقعی DS1307 و DS3231 با Arduino دریافت می کنیم-بنابراین این اولین مورد از دو بخش آموزش نحوه استفاده از آنها است. برای این آموزش آردوینو ما دو ماژول ساعت در زمان واقعی برای ما داریم
ساعت زمان واقعی DS1307 RTC با آردوینو: 4 مرحله
DS1307 ساعت زمان واقعی RTC با آردوینو: در این آموزش ، ما با ساعت زمان واقعی (RTC) و نحوه آردوینو آشنا می شویم & amp؛ ساعت زمان واقعی IC DS1307 به عنوان یک دستگاه زمان بندی کنار هم قرار گرفته است. ساعت واقعی زمان (RTC) برای نظارت بر زمان و نگهداری تقویم استفاده می شود. به منظور استفاده از RTC ، w
NODEMCU Lua ESP8266 با ساعت در زمان واقعی (RTC) و EEPROM: 7 مرحله
NODEMCU Lua ESP8266 با ساعت زمان واقعی (RTC) و EEPROM: اگر می خواهید یک گزارش داده را نگه دارید ، گرفتن زمان صحیح ضروری است. روشهای مختلفی برای گرفتن زمان از منابع اینترنتی وجود دارد. ممکن است بپرسید چرا از ESP8266 برای حفظ وقت خود استفاده نمی کنید؟ خوب می توانید ، این RTC داخلی خود را دارد (زمان واقعی