فهرست مطالب:
- مرحله 1: مطالب خود را تهیه کنید
- مرحله 2: قسمت جلو و عقب را برش دهید
- مرحله 3: پنل عقب را به پایان برسانید
- مرحله 4: پنل LED را بسازید
- مرحله 5: یک راهنمای نور تهیه کنید
- مرحله 6: قاب دکمه را بسازید
- مرحله 7: PCB اصلی را لحیم کنید
- مرحله 8: ساعت را جمع کنید
- مرحله 9: کد را بارگذاری کرده و سنسور نور را کالیبره کنید
- مرحله 10: معرفی سریع سیستم دودویی
- مرحله 11: استفاده از ساعت زنگ دار دودویی
- مرحله 12: درک کد (اختیاری)
- مرحله 13: کلمات پایانی
تصویری: ساعت زنگ دار دودویی مبتنی بر آردوینو: 13 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:57
توسط مهندسی زیرزمین بیشتر توسط نویسنده دنبال کنید:
درباره: سلام ، نام من جان است و من یک سازنده هستم ، من عاشق ساختن و خلق چیزها هستم و همچنین در تعمیر وسایل بسیار خوب هستم. از آنجا که می توانم فکر کنم همیشه عاشق ایجاد چیزهای جدید بوده ام و این همان کاری است که تا … ادامه می دهم در مورد مهندسی زیرزمین »
هی ،
امروز می خواهم به شما نشان دهم که چگونه یکی از آخرین پروژه های خود ، ساعت زنگ دار باینری خود را بسازید.
تعداد زیادی ساعت دوتایی مختلف در اینترنت وجود دارد ، اما این شاید اولین ساعت باشد ، ساخته شده از نوار LED های رنگارنگ آدرس پذیر ، همچنین دارای عملکرد زنگ هشدار و دکمه های لمسی برای تنظیم مواردی مانند زمان و رنگ است.
لطفا اجازه ندهید ظاهر پیچیده آن شما را بترساند. با کمی توضیح ، خواندن باینری در واقع آنقدرها هم که به نظر می رسد سخت نیست. و اگر مایل به یادگیری چیز جدیدی هستید ، می خواهم بعداً در انجام این کار به شما کمک کنم.
اجازه دهید کمی از داستان پشت این پروژه برای شما بگویم:
من در ابتدا برنامه ای برای ساخت یک ساعت "معمولی" داشتم که از LED ها به عنوان عقربه ها استفاده می کرد ، اما LED های کافی در دست نداشتم.
بنابراین ، وقتی می خواهید زمان را با حداقل LED نشان دهید ، چه کار می کنید؟
شما به صورت دودویی بروید ، و این دقیقاً همان کاری است که من در اینجا انجام دادم.
این ساعت سومین نسخه از نوع خود است. من یک نمونه اولیه بسیار ساده درست بعد از اینکه ایده پروژه به من وارد شد و آن را به Maker Faire در هانوفر بردم ، ساختم تا ببینم مردم در مورد آن چه فکر می کنند. در آنجا که آنجا بودم ، بازخوردهای بسیار مثبت و جالبی و همچنین ایده های بهبودی دریافت کردم.
نتیجه تمام این ایده ها و ساعت ها تفکر ، کارکردن و برنامه نویسی ، این ساعت زنگ دار بسیار جالب است که دارای ویژگی های بسیار بیشتری نسبت به نسخه 1.0 است و امروز ما هر مرحله از مراحل ساخت را طی می کنیم ، بنابراین شما می توانید خودتان به راحتی یکی بسازید
همچنین یک ویدیوی بسیار مفصل در یوتیوب وجود دارد ، در صورتی که نمی خواهید همه چیز را بخوانید.
مرحله 1: مطالب خود را تهیه کنید
در اینجا لیستی کوچک از همه اجزا و ابزارهایی وجود دارد که برای ساختن ساعت باینری خود نیاز دارید.
الکترونیک:
- 18 چراغ Ws2811 قابل آدرس دهی (به عنوان مثال نئوپیکسل) بر روی یک نوار با 60 LED در متر (ebay)
- آردوینو نانو (با پردازنده ATMega328) (ebay)
- ماژول 1307 RTC (ebay)
- 4X دکمه های لمسی خازنی (ebay)
- bs18b20 سنسور دمای دیجیتال (ebay)
- LDR (ebay)
- بلندگوی لپ تاپ/تلفن هوشمند یا زنگ پیزو
- ترانزیستور 2222A NPN (یا چیزی مشابه)
- سربرگ های مردانه
- سرصفحه های زاویه دار زن (ebay)
- مقاومت 1 کیلو اهم
- مقاومت 4 ، 7 کیلو اهم
- مقاومت 10 کیلو اهم
- سیم ها
- نمونه اولیه 7x5cm PCB سوراخ 24x18 (ebay)
- سیم نقره ای (سیم جواهرات) (ebay)
- آداپتور USB مینی 90 درجه (ebay)
مواد دیگر
- روکش وینیل
- پیچ های سر فلنج 4X 45 میلی متر m4 (ebay)
- واشر فلزی 32X m4
- مهره قفل 4X m4
- مهره 28X m4
- 4X 10 میلی متر مربع مسطح PCB برنج (ebay)
- پیچ 8X 8mm m3 (ebay)
- ورق آلومینیوم
- ورق 2 میلی متر اکریلیک شیری
- ورق 2 میلی متر اکریلیک شفاف
- ورق ام دی اف 3 میلی متری
- نوار دو طرفه
ابزارها
- مینی کابل USB
- رایانه ای که Arduino IDE را اجرا می کند
- مته 3 ، 5 میلی متر
- مته 4 ، 5 میلی متر
- مته قدرت
- چاقوی برش
- اره مقابله
- یون لحیم کاری
- قیچی برش فلز
- فایل
- سمباده
الگوها (اکنون با ابعاد)
- قرعه کشی دفتر Libre
کد
- طرح ها
- کتابخانه دکمه ای
- کتابخانه تایمر
- کتابخانه Jukebox
- RTClib اصلاح شده
- کتابخانه Adopruit Neopixel
- Arduino-Temperature-Control-Library
مرحله 2: قسمت جلو و عقب را برش دهید
اولین قطعه ای که می خواهیم بسازیم پنل جلویی اکریلیک است. ما علامت گذاری می کنیم که می خواهیم برش هایمان به کجا برسد ، در حالی که این را در نظر داریم ، که ما کمی تحمل برای سنباده زنی می خواهیم. سپس ما به سادگی اکریلیک را با چاقوی برش خود خرد می کنیم. پس از انجام این کار برای 10 تا 20 بار ، یک شیار داریم. سپس می توانیم آن نخلستان را در لبه یک میز قرار دهیم و اکریلیک را تا زمان شکستن خم کنیم.
بعد از اینکه پانل جلویی به اندازه بریده شد ، پنل پشتی را از یک تکه MDF جدا می کنیم. ما می توانیم از اره برقی خود برای این کار استفاده کنیم ، اما یک چاقوی برش نیز کار می کند. ما فقط باید MDF را روی یک تکه چوب چسبانده و آن را با چاقوی برش بزنیم تا تیغه از بین برود و ما دو تکه جداگانه داشته باشیم.
حالا ما دو پانل را با هم ساندویچ می کنیم و هر طرف را سنباده می کنیم تا کاملاً هماهنگ شود.
پس از انجام این کار ، اولین الگو را برش می دهیم و با استفاده از نوار روی دو پانل قرار می دهیم و شروع به حفاری سوراخ های مشخص شده می کنیم.
ابتدا سوراخ 4 ، 5 میلی متری را در هر 4 گوشه ایجاد می کنیم. از آنجا که اکریلیک بسیار شکننده است و ما نمی خواهیم آن را بشکند ، ما با یک مته کوچک شروع کرده و راه خود را ادامه می دهیم تا به قطر سوراخ مورد نظر برسیم. سپس از الگو برای سنباده زدن گوشه ها به شکل مناسب استفاده می کنیم.
مرحله 3: پنل عقب را به پایان برسانید
در حال حاضر ، می توانیم پنل جلویی را کنار بگذاریم و قالب دوم را روی پنل پشتی بچسبانیم ، جایی که باید از مته ای به ابعاد 3 و 5 میلی متر برای سوراخ های رویه 4 pcb و همچنین 4 سوراخ که لبه ها را مشخص می کند استفاده کنیم. برای پنجره کوچک عقب
سپس از اره برقی خود برای برش پنجره و صاف کردن لبه ها با یک فایل استفاده می کنیم. شما همچنین نمی خواهید سوراخ کابل USB کوچک را فراموش کنید (من در مورد یک سازنده نه چندان متمرکز شنیده ام که تمایل به انجام چنین کارهایی دارد: D).
با پایان برش پشت صفحه ، می توانیم آن را در وینیل بپیچیم. ما به سادگی دو قطعه را به اندازه مناسب برش می دهیم و قسمت اول را به یک طرف اعمال می کنیم. سپس رینگ ها را بریده و پنجره را آزاد می کنیم. سشوار می تواند به باز نمایان شدن همه سوراخ ها کمک کند ، بنابراین می توانیم آنها را نیز برش دهیم. پس از انجام همین کار برای طرف دیگر ، از الگوی بعدی و تکنیک خراش و شکستن خود برای ساخت پنجره کوچک اکریلیک برای پنل پشتی خود استفاده می کنیم.
مرحله 4: پنل LED را بسازید
اکنون ما به برجسته ترین این پروژه به معنای واقعی کلمه می رسیم. پنل LED.
ما از قیچی برش فلزی خود برای برش یک قطعه 12 ، 2 سانتی متر در 8 سانتی متر از یک ورق فلز استفاده می کنیم. هنگام انجام این کار مراقب باشید ، زیرا قیچی لبه های بسیار تیز ایجاد می کند. ما با فایل و مقداری کاغذ سنباده آنها را صاف می کنیم. سپس الگوی بعدی خود را برای ایجاد سوراخ برای پیچ ها و سیم ها اضافه می کنیم.
زمان آماده سازی LED های واقعی است.
ابتدا آنها را به سه نوار از هر 6 LED تقسیم می کنیم. برخی از نوارهای LED دارای یک لایه چسب بسیار نازک هستند یا اصلاً چسب ندارند ، بنابراین ما نوارهای خود را روی یک تکه نوار دو طرفه چسبانده و با چاقو به اندازه آن می بریم. این باعث می شود که به صفحه فلزی بچسبد و اگرچه این یک راه حل حرفه ای نیست ، لنت های مسی را از سطح فلزی زیر عایق بندی می کند.
قبل از اینکه نوارها را به صفحه بچسبانیم ، آن را با الکل تمیز می کنیم. در حالی که LED ها را وصل می کنیم ، باید مطمئن شویم که آنها را در محل مناسب و در جهت مناسب قرار داده ایم. فلش های کوچک روی نوار LED نشان دهنده جهت حرکت داده ها در نوار است.
همانطور که در تصویر پنجم مشاهده می کنید ، خط داده ما از گوشه سمت چپ بالای صفحه آمده است ، از اولین نوار به سمت راست می رود ، تا به ابتدای نوار زیر در سمت چپ و غیره. به بنابراین همه فلش های ما باید به سمت راست اشاره کنند.
بیایید یون لحیم کاری خود را گرم کرده و مقداری قلع را روی لنت های مسی و همچنین روی سیم خود قرار دهیم. خطوط داده همانطور که توضیح دادم متصل می شوند ، در حالی که ما به سادگی پدهای مثبت و منفی نوار را به طور موازی به هم وصل می کنیم.
پس از وصل شدن نوارها ، از چاقوی خود استفاده می کنیم و انتهای هر نوار را با دقت بالا می آوریم و LED ها را پایین نگه می داریم ، بنابراین آنها همچنان به سمت بالا نشان می دهند. سپس مقداری چسب داغ در زیر قرار می دهیم تا اتصالات لحیم کاری خود را عایق بندی کنیم.
پس از انجام این کار و چند پین هدر را به سیم هایی که به PCB می روند اضافه می کنیم. طول این سیم ها باید حدود 16 سانتی متر باشد. برای اطمینان بیشتر ، اینکه صفحه فلزی چیزی کوتاه نمی کند ، ما از یک مولتی متر برای اندازه گیری مقاومت بین همه پین ها استفاده می کنیم. اگر چیزی بالاتر از 1 کیلو اهم نشان دهد ، همه چیز خوب است.
حالا ما می توانیم آن را به آردوینو متصل کنیم ، یک تست بدیع اجرا کنیم و از رنگ ها لذت ببریم.
مرحله 5: یک راهنمای نور تهیه کنید
اگر صفحه LED خود را درست پشت اکریلیک شیری قرار دهیم ، تشخیص LED های جداگانه می تواند بسیار مشکل باشد. این کار خواندن ساعت ما را سخت تر از آنچه شده است می کند.
برای حل این مشکل ، ما قصد داریم راهنمای کوچکی برای خود بسازیم. برای این کار ما به سادگی قطعه دیگری از MDF را برش می دهیم که اندازه آن برابر با صفحه جلویی است. سپس یک الگوی دیگر به آن اضافه می کنیم و هجده سوراخ 3 ، 5 میلی متری برای LED ها ، و همچنین چهار سوراخ 4 ، 5 میلی متری برای پیچ ها در آن ایجاد می کنیم. سپس می توانیم آن را به قسمت جلویی بچسبانیم و از کاغذ سنباده برای تراز کردن این دو استفاده کنیم.
همانطور که در تصویر آخر مشاهده می کنید ، اکنون نور بسیار متمرکزتر به نظر می رسد.
مرحله 6: قاب دکمه را بسازید
آخرین جزء محوطه ، که ما قصد داریم آن را بسازیم ، قاب دکمه است.
ما ، دوباره ، یک قطعه MDF را به اندازه مناسب برش می دهیم و یک قالب به آن اضافه می کنیم ، سپس تمام سوراخ های لازم را حفر می کنیم و با استفاده از اره برقی خود ، قسمت میانی را برش می دهیم.
فریم ما قرار است 4 دکمه لمسی ، سنسور نور و بلندگوی کوچک ما را در جای خود نگه دارد. قبل از اینکه بتوانیم آنها را به قاب وصل کنیم ، چند تکه روکش کوچکتر را از MDF برش می دهیم. سپس اجزای خود را به صورت داغ روی آن روکش ها می چسبانیم و سیم به آنها اضافه می کنیم.
پدهای پاور دکمه لمسی به طور موازی متصل می شوند ، در حالی که هر خط خروجی یک سیم جداگانه دریافت می کند. این نیز زمان مناسبی برای آزمایش این است که آیا همه آنها کار می کنند یا خیر. از آنجا که سنسور نور از یک طرف به 5 ولت نیاز دارد ، می توانیم آن را به سادگی به پد VCC دکمه های زنگ وصل کرده و سیم را به پای دیگر بچسبانیم.
پس از آماده شدن پانل ها ، ما به کناره های قاب برش می دهیم تا جایی برای آنها و سیم های آنها ایجاد شود.
سپس گرد و غبار چوب را با استفاده از جارو برقی از روی تمام قطعات جدا کرده و روی آنها را با روکش وینیل می پوشانیم.
ما از چاقوی دقیق برای حذف قطعات وینیل ، مستقیماً در قسمت های حساس ماژول های لمسی خود استفاده می کنیم. با استفاده از نوار دو طرفه ، می توانیم دکمه های خود را به MDF وصل کنیم. من دکمه هایم را از فوم لاستیکی ساخته ام ، که به آنها بافت خوب و نرم می بخشد ، اما شما می توانید از هرگونه مواد غیر فلزی که می خواهید استفاده کنید.
روی قاب ما از چاقوی خود برای آزاد کردن کمی از MDF استفاده می کنیم ، که سطح چسبناکی را برای چسب داغ به ما می دهد. سپس در نهایت می توانیم اجزا را به کناره های قاب خود بچسبانیم.
مرحله 7: PCB اصلی را لحیم کنید
اجازه دهید قاب را همانطور که هست بگذارید و به PCB بروید. می توانید طرح PCB را در تصویر اول مشاهده کنید.
ما با قرار دادن قطعات با کمترین مشخصات روی برد مدار شروع می کنیم. کوچکترین اجزای آن پل های سیمی هستند ، که من آنها را کمی دیر به خاطر آوردم ، بنابراین با مقاومت ها شروع کردم. ما اجزای خود را در جای خود لحیم می کنیم و به مجموعه بالاتر قطعات بعدی می رویم.
بعد ما پین هدر زن خود را داریم. برای صرفه جویی در فضا و اینکه بتوانیم لوازم الکترونیکی خود را از پهلو به برق متصل کنیم ، آنها را در زاویه 90 درجه سوار می کنیم.
ترانزیستورها واقعاً با فاصله سوراخ 2 ، 54 میلی متری PCB ما مطابقت ندارند ، بنابراین ما از انبردست خود استفاده می کنیم تا پاهای آنها را با دقت در شکل دوم خم کنید. ابتدا یکی از پاهای آنها را در جای خود لحیم می کنیم و PCB را برمی گردانیم. سپس اتصال لحیم کاری را دوباره گرم می کنیم و از انگشت خود یا یک انبردست برای درست قرار دادن اجزا استفاده می کنیم. حالا می توانیم دو پای دیگر را در جای خود لحیم کنیم.
پس از همه اجزای کوچک ، ما آردوینو و ماژول ساعت واقعی خود را در جای خود لحیم کردیم. ماژول RTC همچنین فاصله سوراخ را به خوبی مطابقت نمی دهد ، بنابراین ما فقط می خواهیم طرفی را که دارای 7 پد لحیم کاری با پین هدر است ، تجهیز کنیم. علاوه بر این ، مقداری نوار را در زیر آن قرار می دهیم تا از اتصال کوتاه جلوگیری شود.
از آنجا که همه اجزای ما در جای خود لحیم شده اند ، اکنون زمان آن رسیده است که اتصالات را در طرف دیگر برد انجام دهیم. برای این منظور ما سیم غیر عایق خود را بیرون می آوریم. برای صاف کردن آن می توان از یک انبردست استفاده کرد. سپس سیم را به قطعات کوچکتر برش می دهیم و به PCB لحیم می کنیم.
برای ایجاد اتصال ، یک اتصال لحیم کاری را گرم می کنیم و سیم را وارد می کنیم. سپس یون لحیم کاری را روی آن نگه می داریم تا زمانی که به دمای مناسب برسد و لحیم آن را در بر گیرد و یک مفصل بدست آوریم که شبیه آنچه در تصویر است. اگر سیم را گرم نکنیم ، ممکن است به یک اتصال سرد برسیم ، که شبیه به مثال دیگر است و عملکرد خوبی ندارد. ما می توانیم با استفاده از برش سیم خود ، سیم را هنگام لحیم کاری به پایین فشار دهیم و مطمئن شویم که روی صفحه مدار چاپی قرار گرفته است. در مسیرهای اتصال طولانی تر ، هر 5 تا 6 سوراخ را به یک پد لحیم می کنیم تا به گوشه یا جزء بعدی برسیم.
در گوشه ای سیم را بالای نیمه اول یک پد لحیم کاری می بریم و انتهای آن را لحیم می کنیم. سپس یک تکه سیم جدید برداشته و از آنجا با زاویه مناسب حرکت می کنیم.
ایجاد این اتصالات سیم خالی بسیار دشوار است و نیاز به مهارت دارد ، بنابراین اگر برای اولین بار این کار را انجام می دهید ، قطعاً ایده بدی نیست که قبل از تلاش برای انجام آن روی یک PCB قراضه ، آن را روی یک PCB قراضه تمرین کنید.
پس از اتمام لحیم کاری ، اتصالات را دوباره بررسی می کنیم و مطمئن می شویم که هیچ اتصال کوتاه ایجاد نکرده ایم. سپس می توانیم PCB را داخل قاب دکمه قرار دهیم و از آن به عنوان مرجع طول سیم های فریم لازم استفاده کنیم. سپس سیم ها را به طول مناسب برش می دهیم و پین هدرهای نر را به آنها اضافه می کنیم.
تمام اتصالات 5 ولت و زمین دکمه های لمسی در یک کانکتور 2 پین قرار می گیرند ، 4 سیم خروجی دارای یک کانکتور 4 پین هستند و خط سنسور نور و همچنین دو سیم بلندگو به یک کانکتور سه پین ادغام می شوند. فراموش نکنید که یک طرف هر سوکت و کانکتور را با نوک تیز یا نوار علامت گذاری کنید ، بنابراین تصادفاً آنها را به روش اشتباه وصل نکنید.
مرحله 8: ساعت را جمع کنید
پس از این کار به صفحه جلویی برگشتم و با دقت یک برچسب ، ساخته شده از فویل چاپگر لیزری شفاف را به عنوان آخرین لمس استفاده کردم.
با وجود اینکه بسیار دقیق آن را اعمال کردم ، نتوانستم نتیجه ای بدون حباب دریافت کنم ، که متأسفانه با بازرسی دقیق تر به وضوح قابل مشاهده است. فویل همچنین به خوبی به گوشه ها نمی چسبد ، بنابراین من واقعاً نمی توانم این محلول را توصیه کنم.
احتمالاً می توان آن را با برچسب بهتری انجام داد ، یا اگر در نقاشی مهارت دارید ، می توانید اعداد را با نوک تیز اضافه کنید.
اکنون ما همه اجزا را داریم و می توانیم ساعت خود را جمع آوری کنیم.
کار را با کنار هم قرار دادن راهنمای نور و صفحه جلو شروع می کنیم. پس از قرار گرفتن هر 4 پیچ ، دو پنل را تراز کرده و سپس آنها را محکم می کنیم. چند مهره بعداً به صفحه نور می آید ، که در آن باید نگاهی به جهت بیندازیم. کابل باید در بالا باشد.
قطعه سوم ، قاب دکمه است. به خاطر داشته باشید که هنگام نگاه از سمت جلو ، بلندگو باید در سمت راست ساعت باشد. کابل پنل led خود را از وسط قاب بکشید ، قبل از اینکه آن را در محل خود ثابت کنید.
حالا ما قسمت جلویی را قرار می دهیم و به پنل پشتی می رویم. در تصویر ، شما همچنین می توانید آداپتور مینی USB 90 درجه خود ساخته زیبا خود را مشاهده کنید. من یک آداپتور مناسب به شما وصل کردم ، بنابراین مجبور نیستید با این نوع آشفتگی کنار بیایید. شما به سادگی می توانید آداپتور خود را به برق متصل کرده و کابل را از سوراخی در پنل پشتی عبور دهید.
ما پیچ های M3 و جداکننده های PCB خود را می گیریم تا پنجره کوچک را تعمیر کنیم. مهم است که پیچ ها را با دقت محکم کنید ، زیرا ما نمی خواهیم به اکریلیک خود آسیب برسانیم. سپس ما PCB خود را برداشته ، آداپتور خود را به برق وصل کرده و آن را روی فاصله گیرها وصل می کنیم. قسمت کامپوننت باید رو به پنجره باشد ، در حالی که پورت USB آردوینو رو به پایین ساعت است.
سپس همه اتصالات را از مجموعه جلو وصل می کنیم ، در حالی که قطبیت را در نظر داریم و همه سیم ها را با دقت به ساعت فشار می دهیم. سپس می توانیم آن را با پنل پشتی ببندیم و 4 مهره قفل باقی مانده را محکم کنیم.
در پایان ، شما می خواهید یک واشر در هر طرف هر پنل داشته باشید ، در حالی که راهنمای نور مستقیماً در پشت پنل جلویی قرار گرفته است. ما یک مهره بین راهنمای نور و پنل led و دو عدد دیگر داریم که آن را از قاب دکمه جدا می کند. همچنین می توانید آن را در تصویر آخر مشاهده کنید.
همانطور که از پیچ های کوتاه با طول 40 میلی متر استفاده می کردم ، فقط 3 مهره دارم که قاب پشتی و قاب را از هم جدا می کند. با پیچ و مهره های 45 میلیمتری مناسب ، مهره دیگری را در اینجا و همچنین یک یا دو واشر اضافی اضافه می کنید. در پایان مونتاژ ما مهره قفل خود را داریم ، به طوری که همه چیز سر جای خود می ماند.
مرحله 9: کد را بارگذاری کرده و سنسور نور را کالیبره کنید
زمان بارگذاری کد ما
ابتدا همه فایلهای لازم را بارگیری کرده و از حالت فشرده خارج می کنیم. سپس پوشه کتابخانه های Arduino خود را باز کرده و همه کتابخانه های جدید را در آن قرار می دهیم.
اکنون طرح کالیبراسیون سنسور نور را باز می کنیم ، که مقدار روشن و تاریک عملکرد تیره کننده خودکار ساعت را به ما می دهد. ما آن را بارگذاری می کنیم ، مانیتور سریال را باز می کنیم و دستورالعمل های روی صفحه را دنبال می کنیم.
پس از انجام این کار ، کد واقعی ساعت های دودویی را باز می کنیم و دو مقدار را با مقداری که تازه اندازه گیری کرده ایم جایگزین می کنیم.
همه پنجره های دیگر را می بندیم ، کد را روی ساعت خود بارگذاری می کنیم و کار ما تمام می شود.
زمان بازی با ابزار جدید ما فرا رسیده است.
مرحله 10: معرفی سریع سیستم دودویی
قبل از ادامه کار ، می خواهم به س questionالی که احتمالاً در ذهن شما گذشته است پاسخ دهم ،
"چگونه در جهان این ساعت را می خوانید؟"
خوب ، برای این کار می خواهم یک معرفی کوتاه از سیستم دودویی به شما ارائه دهم.
همه ما با سیستم اعشاری آشنا هستیم ، جایی که هر رقم می تواند 10 حالت مختلف داشته باشد ، از 0 تا 9. در دوتایی هر رقم فقط می تواند دو حالت داشته باشد ، 1 یا 0 به همین دلیل است که می توانید از چیزی به عنوان ساده به عنوان led استفاده کنید. نمایش یک عدد دودویی
برای نمایش اعدادی که بیشتر از 9 به صورت اعشاری هستند ، ارقام بیشتری اضافه می کنیم. هر رقم دارای ضرب کننده خاصی است. اولین رقم از سمت راست با ضرب 1 همراه است ، عدد بعدی 10 و عدد بعدی 100 است. با هر رقم جدید ، ضرب ده برابر رقم رقم قبل است. بنابراین می دانیم که عدد دو که یک رقم در سمت چپ قرار دارد ، نشان دهنده عدد 20 است. در حالی که دو رقم در سمت چپ ، نشان دهنده 200 است.
در سیستم دوتایی هر رقم همچنین دارای یک ضرب است. با این حال ، از آنجا که هر رقم فقط می تواند دو حالت مختلف داشته باشد ، هر ضرب کننده جدید دو برابر حالت قبلی است. اوه و به هر حال ، رقم های دوتایی بیت نامیده می شوند. بنابراین بیایید به اولین مثال خود نگاهی بیندازیم ، اگر 1 را در پایین ترین موقعیت قرار دهیم ، 1 ساده است ، اما اگر آن را در موقعیت بالاتر بعدی قرار دهیم ، جایی که ضرب ما 2 است ، عدد 2 را به صورت دودویی نشان می دهد.
در مورد مثال کمی پیچیده تر در پایین تصویر چطور؟ بیت سوم و اول روشن است. برای بدست آوردن عدد اعشاری که در اینجا نشان داده شده است ، به سادگی مقادیر دو بیت را اضافه می کنیم. بنابراین 4 * 1 + 1 * 1 یا 4 + 1 عدد 5 را به ما می دهد.
از 8 بیت به عنوان یک بایت یاد می شود ، بنابراین بیایید ببینیم اگر یک بایت کامل را با یک پر کنیم ، چه عددی به دست می آوریم.1+2+4+8+16+32+64+128 که 255 است و بالاترین مقدار است که یک بایت می تواند داشته باشد.
به هر حال ، در حالی که در سیستم اعشاری رقمی با بیشترین ضرب همیشه اول است ، شما دو روش برای نوشتن یک عدد به صورت دودویی دارید. این دو روش اولین کم بایت (LSB) و مهمترین بایت اول (MSB) نامیده می شوند. اگر می خواهید یک عدد دودویی بخوانید ، باید بدانید از کدام دو فرمت استفاده می شود. با نزدیک شدن به سیستم اعشاری ، ساعت دودویی ما از نوع MSB استفاده می کند.
اجازه دهید به مثال دنیای واقعی خود بازگردیم. همانطور که در تصویر ششم مشخص شده است ، ساعت ما دارای 4 بیت برای نمایش ساعت است. از این رو ما 6 بیت در دقیقه و همچنین 6 بیت برای دوم داریم. بعلاوه ، ما یک بیت صبح/بعد از ظهر داریم.
بسیار خوب ، به من بگویید که در تصویر ششم ساعت چند است ، تا اینکه به آخرین عکس بروید. به ….
در بخش ساعت 2+1 داریم که 3 است و بیت pm روشن است بنابراین عصر است. بعد دقیقه 32+8 ، یعنی 40. برای ثانیه ها 8+4+2 داریم که 14 است. بنابراین ساعت 3:40:14 بعد از ظهر یا 15:40:14 است.
تبریک می گویم ، شما فقط خواندن یک ساعت دوتایی را یاد گرفته اید. البته عادت کردن کمی طول می کشد و در ابتدا باید اعداد را با هم جمع کنید ، هر بار که می خواهید بدانید ساعت چند است ، اما مشابه ساعت آنالوگ بدون شماره گیری ، با الگوهای LED بیش از حد عادت می کنید زمان.
و این بخشی از هدف این پروژه است ، چیزی را که به عنوان سیستم دودویی انتزاعی است وارد دنیای واقعی کرده و آن را بهتر بشناسید.
مرحله 11: استفاده از ساعت زنگ دار دودویی
حالا ما بالاخره می خواهیم با ساعت بازی کنیم ، بنابراین اجازه دهید نگاهی سریع به کنترل ها بیندازیم.
این نرم افزار می تواند بین یک ضربه تک دکمه ، دو ضربه سریع و یک ضربه طولانی تمایز قائل شود. بنابراین هر دکمه را می توان برای چندین عمل استفاده کرد.
دوبار ضربه زدن روی دکمه بالا یا پایین حالت رنگ LED را تغییر می دهد. شما می توانید بین حالت های مختلف رنگ ثابت و محو و همچنین حالت دما را انتخاب کنید. اگر در یکی از حالت های رنگ ثابت هستید ، نگه داشتن دکمه بالا یا پایین رنگ را تغییر می دهد. در حالت محو شدن ، یک ضربه سریع سرعت انیمیشن ها را تغییر می دهد.
برای تنظیم حالت کم نور ، دکمه ok را دوبار ضربه بزنید. پانل led با چند بار پلک زدن حالت تنظیم را نشان می دهد.
- یک زمان به معنی عدم روشنایی است.
- دو بار یعنی روشنایی توسط سنسور نور کنترل می شود.
- سه بار و LED ها به طور خودکار پس از 10 ثانیه عدم فعالیت خاموش می شوند.
- چهار بار و هر دو حالت کم نور ترکیب می شوند.
فشردن طولانی مدت دکمه ok شما را وارد حالت تنظیم زمان می کند ، جایی که می توانید از پیکان بالا و پایین برای تغییر شماره استفاده کنید. با یکبار ضربه زدن روی دکمه ok از ساعت به دقیقه ، یک ضربه دیگر می توانید ثانیه ها را تنظیم کنید. پس از آن ، با آخرین ضربه زمان جدید ذخیره می شود. در صورت ورود به حالت تنظیم زمان ، می توانید به سادگی 10 ثانیه منتظر بمانید و ساعت به طور خودکار آن را ترک می کند.
همانند دکمه ok ، فشار طولانی مدت دکمه زنگ هشدار به شما امکان می دهد زنگ هشدار را تنظیم کنید. دوبار ضربه زدن روی دکمه زنگ هشدار را فعال یا غیرفعال می کند.
اگر ساعت در حال زنگ خوردن است ، فقط روی دکمه زنگ هشدار ضربه بزنید تا برای 5 دقیقه به حالت خواب درآید یا آن را نگه دارید تا خاموش کردن زنگ ساعت غیرفعال شود.
اینها همه عملکردهایی بود که ساعت تا کنون انجام داده است. اگر آخرین نسخه سیستم عامل را بارگیری کنید ، ممکن است در آینده موارد بیشتری را اضافه کنید.
مرحله 12: درک کد (اختیاری)
من می دانم که بسیاری از مردم برنامه نویسی را خیلی دوست ندارند. خوشبختانه برای این افراد ، هیچ دانش برنامه نویسی برای ساختن و استفاده از این ساعت دودویی لازم نیست. بنابراین اگر به برنامه نویسی اهمیت نمی دهید ، می توانید به سادگی از این مرحله بگذرید.
با این حال ، اگر به قسمت برنامه نویسی علاقه دارید ، می خواهم یک نمای کلی از برنامه را به شما ارائه دهم.
توضیح هر جزئیات کوچکی از کد ساعت به تنهایی یک دستورالعمل است ، بنابراین من آن را با توضیح برنامه به صورت شیء گرا ساده می کنم.
در صورتی که نمی دانید این به چه معناست ، برنامه نویسی شی گرا (OOP) مفهومی از اکثر زبان های برنامه نویسی مدرن مانند C ++ است. این به شما امکان می دهد توابع و متغیرهای مختلف را به اصطلاح کلاس ها سازماندهی کنید. کلاس یک الگو است که می توانید از آن یک یا چند شی ایجاد کنید. هر یک از این اشیاء یک نام و مجموعه متغیرهای خاص خود را دریافت می کنند.
به عنوان مثال ، کد ساعت از چند شی MultiTouchButton مانند alarmButton استفاده می کند. این اشیاء از کلاس MultiTouchButton است که بخشی از کتابخانه Button من است. نکته جالب در مورد این اشیا این است که می توانید مانند آنها با اشیاء دنیای واقعی با آنها ارتباط برقرار کنید. به عنوان مثال ، ما می توانیم بررسی کنیم که آیا دکمه زنگ هشدار با فراخوانی alarmButton.wasDoubleTapped () دوبار ضربه خورده است یا خیر. علاوه بر این ، اجرای این تابع به زیبایی در یک فایل متفاوت پنهان شده است و نیازی نیست نگران شکستن آن باشیم ، با تغییر هر چیز دیگری در کد ما. ورود سریع به دنیای برنامه نویسی شی گرا را می توانید در وب سایت Adafruit پیدا کنید.
همانطور که در نمودار بالا مشاهده می کنید ، برنامه ساعت دارای دسته ای از اشیاء مختلف است.
ما فقط در مورد اشیاء دکمه صحبت کردیم ، که می تواند سیگنال های ورودی را به عنوان ضربه ، دوبار ضربه یا فشار طولانی تفسیر کند.
Jukebox همانطور که از نامش پیداست می تواند سر و صدا ایجاد کند. دارای چندین ملودی است که می توان آنها را از طریق یک بلندگوی کوچک پخش کرد.
شی binaryClock زمان و تنظیم زنگ هشدار و همچنین تماشای زنگ را مدیریت می کند. علاوه بر این ، از ماژول rtc زمان می گیرد و آن را به بافر اطلاعات دودویی برای ledPanel تبدیل می کند.
colorController همه عملکردهای جلوه رنگ را در بر می گیرد و colorBuffer را برای ledPanel فراهم می کند. همچنین حالت خود را در Arduinos EEProm ذخیره می کند.
دیمر از روشنایی ساعت مراقبت می کند. دارای حالت های مختلفی است که کاربر می تواند از طریق آن چرخه بزند. حالت فعلی نیز در EEProm ذخیره می شود.
ledPanel بافرهای مختلف را برای مقدار رنگ ، مقدار روشنایی و حالت باینری هر LED مدیریت می کند. هرگاه تابع pushToStrip () فراخوانی شود ، آن ها را می پوشاند و به نوار led ارسال می کند.
همه اشیاء از طریق main (فایل با توابع راه اندازی و حلقه) به هم متصل می شوند که فقط شامل چند عملکرد برای انجام 3 وظیفه ضروری است.
- تفسیر ورودی کاربر - ورودی را از اشیاء 4 دکمه دریافت می کند و آنها را در یک منطق قرار می دهد. این منطق وضعیت فعلی ساعت را بررسی می کند تا مشخص کند که آیا ساعت در حالت عادی است ، زمان را تنظیم یا زنگ می زند و بر این اساس توابع متفاوتی را از سایر اجسام فراخوانی می کند.
- مدیریت ارتباط بین اشیاء - به طور مداوم از شی binaryClock می پرسد که آیا اطلاعات جدیدی در دسترس است یا زنگ هشدار () است. اگر اطلاعات جدیدی داشته باشد ، infoBuffer را از binaryClock دریافت کرده و به شیء ledPanel ارسال می کند. اگر ساعت زنگ می خورد ، جعبه جعبه را شروع می کند.
- به روز رسانی اشیاء - هر یک از اشیاء برنامه دارای یک روش به روز رسانی است که برای مواردی مانند بررسی ورودی ها یا تغییر رنگ LED استفاده می شود. برای اینکه ساعت به درستی کار کند ، باید آنها را بارها و بارها در تابع حلقه فراخوانی کنید.
این باید به شما یک درک کلی از نحوه عملکرد تک تک قطعات کد با هم بدهد. اگر سوالات خاصی دارید ، می توانید به سادگی از من بپرسید.
از آنجا که کد من قطعاً از ایده آل بسیار دور است ، در آینده آن را بیشتر بهبود خواهم داد ، بنابراین ممکن است چند عملکرد تغییر کند. نکته جالب در مورد OOP این است که هنوز هم به شیوه ای مشابه کار می کند و هنوز می توانید از گرافیک برای درک آن استفاده کنید.
مرحله 13: کلمات پایانی
خوشحالم که تا اینجا به خواندن ادامه دادید. این بدان معناست که پروژه من خیلی خسته کننده نبود:).
من مقدار زیادی کار در این ساعت کوچک و حتی بیشتر در تمام اسناد و مدارک و ویدئویی قرار دادم تا برای شما آسان باشد ، و یک ساعت زنگ دار دودویی خود بسازید. امیدوارم تلاش من ارزشش را داشته باشد و بتوانم ایده ای عالی برای پروژه آخر هفته بعدی شما ایجاد کنم یا حداقل به شما الهام بخشم.
خوشحال می شوم نظر شما را در مورد ساعت در نظرات زیر بشنوم:).
حتی اگر سعی کردم همه جزئیات را پوشش دهم ، ممکن است یک یا دو مورد را از دست داده باشم. بنابراین اگر س questionsالی باقی مانده است ، با خیال راحت بپرسید.
مثل همیشه ، بسیار سپاسگزارم که خواندید و مطالب خوشی را ایجاد کردید.
نفر دوم مسابقات LED 2017
توصیه شده:
ساعت هوشمند ساعت زنگ دار Upcycled: 8 مرحله (همراه با تصاویر)
چراغ هوشمند ساعت زنگ دار Upcycled: در این پروژه من یک ساعت زنگ دار کاملاً خراب را به صورت کامل تخلیه می کنم. صفحه ساعت با 12 LED جایگزین شده است که توسط یک نوار LED در اطراف لبه ساعت روشن شده است. 12 LED زمان را مشخص می کند و نوار LED طوری برنامه ریزی شده است که به عنوان زنگ خطر عمل می کند و می چرخد
ساعت زنگ دار هوشمند: یک ساعت زنگ دار هوشمند ساخته شده با تمشک پای: 10 مرحله (همراه با تصاویر)
ساعت زنگ دار هوشمند: ساعت زنگ دار هوشمند ساخته شده با تمشک پای: آیا تا به حال به دنبال ساعت هوشمند بوده اید؟ اگر چنین است ، این راه حل برای شما است! من ساعت زنگ دار هوشمند ساختم ، این یک ساعت است که می توانید زمان زنگ ساعت را با توجه به وب سایت تغییر دهید. هنگامی که زنگ هشدار به صدا در می آید ، یک صدا (زنگ) و 2 چراغ
ساعت زنگ دار خیابان کنجدی DIY (با زنگ خطر!): 6 مرحله (همراه با تصاویر)
ساعت زنگ دار خیابان کنجدی DIY (با هشدار آتش!): سلام به همه! این پروژه اولین پروژه من است. از آنجایی که اولین تولد پسرعموهایم در راه بود ، می خواستم برای او هدیه ای ویژه تهیه کنم. از عمو و عمه ام شنیدم که او در خیابان کنجد است ، بنابراین با خواهر و برادرهایم تصمیم گرفتم یک ساعت زنگ دار بر اساس
ساعت زنگ دار طلوع LED با زنگ هشدار قابل تنظیم: 7 مرحله (همراه با تصاویر)
ساعت مچی LED طلوع آفتاب با زنگ هشدار قابل تنظیم: انگیزه من در این زمستان دوست دخترم هنگام بیدار شدن از خواب با مشکلات زیادی روبرو شد و به نظر می رسید از SAD (اختلال عاطفی فصلی) رنج می برد. من حتی متوجه می شوم که بیدار شدن در زمستان بسیار سخت تر است زیرا خورشید نیامده است
مونتاژ "ساعت هوشمند 2" (ساعت زنگ دار مبتنی بر آردوینو با بسیاری از ویژگی های اضافی): 6 مرحله
مونتاژ "ساعت هوشمند 2" (ساعت زنگ دار مبتنی بر آردوینو با بسیاری از ویژگی های اضافی): این آموزش نحوه مونتاژ کیت برای ساعت هوشمند 2 ، یک پروژه منبع باز (سخت افزاری و نرم افزاری) را نشان می دهد. یک کیت کامل Wise Clock 2 را می توانید در اینجا خریداری کنید. به طور خلاصه ، این کاری است که Wise Clock 2 می تواند انجام دهد (با نرم افزار منبع باز فعلی