نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی
  • خانه
  • ویندوز فون
  • ساعت الکترونیکی بزرگ با دستان خودتان. ساعت DIY با صفحه نمایش LED

ساعت الکترونیکی بزرگ با دستان خودتان. ساعت DIY با صفحه نمایش LED

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

1. ساعت - تقویم:

    شمارش و نمایش ساعت، دقیقه، ثانیه، روز هفته، روز، ماه، سال.

    دسترسی تنظیم خودکارزمان فعلی که هر ساعت تولید می شود ( حداکثر مقادیر+/-9999 واحد، 1 واحد. = 3.90625 میلی‌ثانیه)

    محاسبه روز هفته از تاریخ (برای قرن جاری)

    انتقال خودکاربرای تابستان و زمان زمستان(معلول)

  • سالهای کبیسه در نظر گرفته شده است

2. دو ساعت زنگ دار مستقل (یک ملودی هنگام فعال شدن به صدا در می آید)
3. تایمر با افزایش 1 ثانیه. (حداکثر زمان شمارش 99 ساعت 59 دقیقه و 59 ثانیه)
4. کرونومتر دو کانال با وضوح شمارش 0.01 ثانیه. ( حداکثر زمان 99 ساعت 59 دقیقه و 59 ثانیه می‌شمرد)
5. کرونومتر با وضوح شمارش 1 ثانیه. (حداکثر زمان شمارش 99 روز)
6. دماسنج در محدوده -5 درجه سانتیگراد. تا 55 درجه سانتیگراد (محدود شده توسط محدوده دما عملکرد عادیدستگاه ها) با افزایش 0.1 درجه سانتیگراد.
7. خواننده و شبیه ساز کلیدهای الکترونیکی- تبلت های نوع DS1990 با استفاده از پروتکل Dallas 1-Wire (حافظه 50 قطعه که قبلاً حاوی چندین "کلید همه جانبه" جهانی است) با قابلیت مشاهده کد کلید بایت به بایت.
8. از راه دورکنترل بر روی پرتوهای IR (فقط دستور "عکس گرفتن" اجرا شده است) برای دوربین های دیجیتال"Pentax"، "Nikon"، "Canon"
9. چراغ قوه LED
10. 7 ملودی
11. سیگنال صوتی در ابتدای هر ساعت (قابل خاموش شدن است)
12. تأیید صدای فشار دادن دکمه (قابل خاموش شدن است)
13. نظارت بر ولتاژ باتری با عملکرد کالیبراسیون
14. تنظیم روشنایی نشانگر دیجیتال

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

نمودار شماتیک ساعت

این دستگاه بر روی میکروکنترلر ATmega168PA-AU ساخته شده است. ساعت بر اساس تایمر T2 تیک می زند، که در حالت ناهمزمان از کوارتز ساعت در 32768 هرتز کار می کند. میکروکنترلر تقریباً همیشه در حالت خواب است (نشانگر خاموش است)، هر ثانیه یک بار بیدار می شود تا این ثانیه را به زمان فعلی اضافه کند و دوباره به خواب می رود. در حالت فعال، MK از نوسانگر داخلی RC در 8 مگاهرتز کلاک می شود، اما پیش مقیاس کننده داخلی آن را بر 2 تقسیم می کند، در نتیجه، هسته در 4 مگاهرتز کلاک می شود. برای نشان دادن، از چهار نشانگر دیجیتال LED تک رقمی هفت بخش با یک آند مشترک و یک نقطه اعشار استفاده می شود. همچنین 7 LED وضعیت وجود دارد که هدف آنها به شرح زیر است:
د1- علامت ارزش منفی(منهای)
D2- علامت کرونومتر در حال اجرا (چشمک می زند)
د3- علامت اولین آلارم روشن
د4- علامت دزدگیر دوم روشن است
D5- نشانگر تغذیه سیگنال صوتیدر ابتدای هر ساعت
D6- علامت تایمر در حال کار (چشمک می زند)
D7- نشانگر ولتاژ پایین باتری

R1-R8 - مقاومت های محدود کننده جریان بخش هایی از نشانگرهای دیجیتال HG1-HG4 و LED های D1-D7. R12,R13 - تقسیم کننده برای نظارت بر ولتاژ باتری. از آنجایی که ولتاژ منبع تغذیه ساعت 3 ولت است و LED سفید D9 به 3.4-3.8 ولت نیاز دارد. جریان نامیمصرف شود، سپس با قدرت کامل نمی درخشد (اما کافی است تا در تاریکی تلو تلو نخورد) و بنابراین بدون مقاومت محدود کننده جریان متصل می شود. عناصر R14، Q1، R10 برای کنترل LED مادون قرمز D8 طراحی شده اند (اجرای کنترل از راه دوربرای دوربین های دیجیتال). R19، R20، R21 برای جفت شدن هنگام برقراری ارتباط با دستگاه هایی که دارای رابط 1-Wire هستند استفاده می شود. کنترل توسط سه دکمه انجام می شود که من به طور معمول آنها را می نامم: MODE (حالت)، UP (بالا)، DOWN (پایین). اولین آنها همچنین برای بیدار کردن MK توسط یک وقفه خارجی طراحی شده است (در این مورد نشانگر روشن می شود)، بنابراین به طور جداگانه به ورودی PD3 متصل می شود. فشار دادن دکمه های باقی مانده با استفاده از ADC و مقاومت های R16، R18 تعیین می شود. اگر دکمه ها در عرض 16 ثانیه فشرده نشوند، MK به حالت خواب می رود و نشانگر خاموش می شود. وقتی در حالت است "کنترل از راه دور برای دوربین ها"این فاصله 32 ثانیه است و با چراغ قوه روشن - 1 دقیقه. MK را همچنین می توان به صورت دستی با استفاده از دکمه های کنترل به حالت خواب در آورد. زمانی که کرونومتر با وضوح شمارش 0.01 ثانیه کار می کند. دستگاه به حالت خواب نمی رود.

تخته مدار چاپی

این دستگاه بر روی یک برد مدار چاپی دو طرفه به شکل گرد با توجه به اندازه قطر داخلی کیس مونتاژ می شود. ساعت مچی. اما در تولید از دو تخته یک طرفه با ضخامت 0.35 میلی متر استفاده کردم. این ضخامت دوباره با کندن آن از لمینت فایبرگلاس دو طرفه به ضخامت 1.5 میلی متر بدست آمد. سپس تخته ها به هم چسبانده شدند. همه این کارها به این دلیل انجام شد که من فایبرگلاس دو طرفه نازک نداشتم و هر میلی متر ضخامت ذخیره شده در فضای داخلی محدود قاب ساعت بسیار ارزشمند است و در ساخت هادی های چاپی با استفاده از LUT نیازی به تراز نبود. روش. طراحی تخته مدار چاپیو موقعیت قطعات در فایل های پیوست می باشد. در یک طرف نشانگرها و مقاومت های محدود کننده جریان R1-R8 وجود دارد. در پشت همه جزئیات دیگر وجود دارد. دو سوراخ برای LED های سفید و مادون قرمز وجود دارد.

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

طراحی، قطعات و جایگزینی احتمالی آنها

میکروکنترلر ATmega168PA-AU را می توان با ATmega168P-AU، ATmega168V-10AU ATmega168-20AU جایگزین کرد. نشانگرهای دیجیتال - 4 قطعه KPSA02-105 درخشش قرمز فوق العاده روشن با ارتفاع رقم 5.08 میلی متر. می توان از همان سری KPSA02-xxx یا KCSA02-xxx تهیه کرد. (فقط سبز نیست - آنها کم نور خواهند درخشید) من از آنالوگ های دیگر با اندازه های مشابه با روشنایی مناسب آگاه نیستم. در HG1، HG3، اتصال قطعات کاتد با HG2، HG4 متفاوت است، زیرا برای سیم کشی برد مدار چاپی برای من راحت تر بود. در این راستا از یک جدول مولد کاراکتر متفاوت برای آنها در برنامه استفاده شده است. از مقاومت ها و خازن های SMD استفاده شده برای نصب سطحیسایز استاندارد 0805 و 1206 ال ای دی D1-D7 سایز استاندارد 0805 ال ای دی های سفید و مادون قرمز با قطر 3 میلی متر. تخته دارای 13 سوراخ است که باید جامپرها در آنها نصب شوند. یک DS18B20 با رابط 1-Wire به عنوان سنسور دما استفاده می شود. LS1 یک توییتر پیزوالکتریک معمولی است که در درب آن قرار می گیرد. با یک کنتاکت با استفاده از فنری که روی آن تعبیه شده به برد و با دیگری توسط خود کاور به بدنه ساعت متصل می شود. تشدید کننده کوارتز از یک ساعت مچی.

برنامه نویسی، سیستم عامل، فیوزها

برای برنامه نویسی در مدار، برد فقط 6 نقطه تماس گرد (J1) دارد، زیرا یک کانکتور کامل در ارتفاع مناسب نیست. من آنها را با استفاده از برنامه نویس وصل کردم دستگاه تماس، ساخته شده از یک شاخه پین ​​PLD2x3 و فنرهایی که روی آنها لحیم شده است و با یک دست آنها را به پوزه ها فشار می دهید. در زیر یک عکس از دستگاه است.

من از آن استفاده کردم زیرا در طول فرآیند اشکال زدایی مجبور شدم بارها MK را reflash کنم. هنگام فلش کردن سیستم عامل یکبار مصرف، لحیم کردن سیم های نازک متصل به برنامه نویس به وصله ها و سپس لحیم کردن مجدد آنها آسان تر است. فلش کردن MK بدون باتری راحت تر است، اما به طوری که برق از یکی از آنها تامین شود منبع خارجی+ 3 ولت یا از یک برنامه نویس با ولتاژ تغذیه یکسان. این برنامه در اسمبلر در محیط VMLAB 3.15 نوشته شده است. کدهای منبع، سیستم عامل برای FLASH و EEPROM در برنامه.

بیت های فیوز میکروکنترلر DD1 باید به صورت زیر برنامه ریزی شوند:
CKSEL3...0 = 0010 - کلاکینگ از اسیلاتور RC داخلی 8 مگاهرتز.
SUT1...0 =10 - زمان راه اندازی: 6 CK + 64 میلی ثانیه.
CKDIV8 = 1 - تقسیم کننده فرکانس بر 8 غیرفعال است.
CKOUT = 1 - ساعت خروجی در CKOUT غیرفعال است.
BODLEVEL2…0 = 111 - کنترل ولتاژ تغذیه غیرفعال است.
EESAVE = 0 - پاک کردن EEPROM هنگام برنامه ریزی کریستال ممنوع است.
WDTON = 1 - تایمر Watchdog همیشه روشن نیست.
بیت های FUSE باقی مانده بهتر است دست نخورده باقی بمانند. اگر روی "0" تنظیم شود، بیت FUSE برنامه ریزی می شود.

فلش کردن EEPROM با dump موجود در بایگانی مورد نیاز است.

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

آدرس سلول

هدف

پارامتر

توجه داشته باشید

مقدار ولتاژ باتری که در آن سیگنال سطح پایین رخ می دهد

260 (104 دلار) (2.6 ولت)

ضریب برای تصحیح مقدار ولتاژ باتری اندازه گیری شده

فاصله زمانی برای تبدیل به حالت خواب

1 واحد = 1 ثانیه

فاصله زمانی برای تبدیل به حالت خواب زمانی که چراغ قوه روشن است

1 واحد = 1 ثانیه

فاصله زمانی برای تغییر حالت خواب در حالت کنترل از راه دور برای دوربین ها

1 واحد = 1 ثانیه

شماره های کلید IButton در اینجا ذخیره می شوند

توضیحات کوچک در مورد نکات:

1 امتیاز این نشان دهنده سطح ولتاژ باتری است که در آن LED روشن می شود و مقدار کم آن را نشان می دهد. من آن را روی 2.6 ولت تنظیم کردم (پارامتر - 260). اگر به چیز دیگری نیاز دارید، برای مثال 2.4 ولت، باید 240 (00F0 دلار) بنویسید. بایت کم در سلول در آدرس 0000 دلار و بایت بالا در 0001 دلار ذخیره می شود.

2 امتیاز. چون روی برد نصب نکردم مقاومت متغیربرای تنظیم دقت اندازه گیری ولتاژ باتری به دلیل کمبود جا، نرم افزار کالیبراسیون را معرفی کردم. روش کالیبراسیون برای اندازه گیری دقیقبعدی: ابتدا ضریب 1024 (400 دلار) در این سلول EEPROM نوشته شده است، باید دستگاه را به حالت فعال تغییر دهید و ولتاژ نشانگر را نگاه کنید و سپس ولتاژ واقعی باتری را با یک ولت متر اندازه بگیرید. ضریب تصحیح (K)، که باید تنظیم شود، با فرمول محاسبه می شود: K=Uр/Ui*1024 که در آن Uр ولتاژ واقعی اندازه گیری شده توسط ولت متر است، Ui ولتاژی است که توسط خود دستگاه اندازه گیری شده است. پس از محاسبه ضریب "K"، وارد دستگاه می شود (همانطور که در دستورالعمل های عملیاتی ذکر شده است). بعد از کالیبراسیون خطای من از 3% بیشتر نشد.

3 امتیاز. در اینجا می‌توانید زمانی را تنظیم کنید که در صورت فشار دادن هیچ دکمه‌ای، دستگاه به حالت خواب برود. قیمت من 16 ثانیه است. برای مثال، اگر باید در 30 ثانیه بخوابید، باید 30 (26 دلار) را یادداشت کنید.

در نکات 4 و 5 همینطور.

6 امتیاز. در آدرس 0030 دلار کد خانواده کلید صفر (Dallas 1-Wire) و سپس شماره 48 بیتی و CRC آن ذخیره می شود. و بنابراین 50 کلید به ترتیب.

راه اندازی، ویژگی های عملیاتی

راه‌اندازی دستگاه به کالیبره کردن اندازه‌گیری ولتاژ باتری، همانطور که در بالا توضیح داده شد، خلاصه می‌شود. همچنین لازم است انحراف نرخ ساعت را به مدت 1 ساعت تشخیص دهید، مقدار اصلاح مناسب را محاسبه و وارد کنید (روش در دستورالعمل های عملیاتی توضیح داده شده است).

تغذیه دستگاه توسط باتری لیتیومی CR2032 (3V) و بسته به روشنایی نشانگر، تقریباً 4 µA در حالت خواب و 5...20 میلی آمپر در حالت فعال مصرف می کند. با استفاده روزانه پنج دقیقه ای حالت فعالباتری بسته به روشنایی باید تقریباً 2 تا 8 ماه دوام بیاورد. قاب ساعت به نگاتیو باتری متصل است.

خواندن کلید روی DS1990 آزمایش شد. شبیه سازی بر روی اینترکام متاکوم آزمایش شده است. زیر شماره سریالاز 46 تا 49 (4 مورد آخر) فلش می شود (همه کلیدها در EEPROM ذخیره می شوند ، می توان آنها را قبل از چشمک زدن تغییر داد) کلیدهای جهانی برای اینترکام. کلید ثبت شده به شماره 49 تمام اینترکام های متاکوم را که با آنها برخورد کردم باز کرد ، فرصتی برای تست بقیه کلیدهای جهانی نداشتم ، کد آنها را از شبکه گرفتم.

کنترل از راه دور برای دوربین ها بر روی مدل های Pentax optio L20 و Nikon D3000 آزمایش شد. Canon برای بازبینی یافت نشد.

کتابچه راهنمای کاربر 13 صفحه را شامل می شود، بنابراین من آن را در مقاله لحاظ نکردم، اما آن را در یک پیوست در قالب PDF قرار دادم.

آرشیو شامل:
طرح در و GIF.
ترسیم برد مدار چاپی و چیدمان عناصر در قالب.
سیستم عامل و کد منبع در اسمبلر.

فهرست عناصر رادیویی

تعیین تایپ کنید فرقه تعداد توجه داشته باشیدخرید کنیددفترچه یادداشت من
DD1 MK AVR 8 بیتی

ATmega168PA

1 PA-AU به دفترچه یادداشت
U2 حسگر دما

DS18B20

1 به دفترچه یادداشت
Q1 ترانزیستور ماسفت

2N7002

1 به دفترچه یادداشت
C1، C2 خازن30 pF2 به دفترچه یادداشت
C3، C4 خازن0.1 µF2 به دفترچه یادداشت
C5 خازن الکترولیتی47 µF1 به دفترچه یادداشت
R1-R8، R17 مقاومت

100 اهم

9 به دفترچه یادداشت
R9 مقاومت

10 کیلو اهم

1 به دفترچه یادداشت
R10 مقاومت

8.2 اهم

1 به دفترچه یادداشت
R11 مقاومت

300 اهم

1 به دفترچه یادداشت
R12 مقاومت

2 MOhm

1 به دفترچه یادداشت
R13 مقاومت

220 کیلو اهم

1 به دفترچه یادداشت
R14 مقاومت

30 کیلو اهم

1 به دفترچه یادداشت
R15، R19 مقاومت

4.7 کیلو اهم

2 به دفترچه یادداشت
R16 مقاومت

20 کیلو اهم

1
20 اوت 2015 در 12:34 ب.ظ

خانگی ساعت دیجیتال, پایه عنصر- قسمت 1، اندازه گیری زمان

  • DIY یا خودتان آن را انجام دهید

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

واضح است که عملکرد کلیدیساعت - اندازه گیری زمان (چه کسی فکر می کرد، درست است؟). و توصیه می شود این کار را تا حد امکان دقیق انجام دهید؛ چندین گزینه و دام وجود دارد.

بنابراین، چه روش هایی برای اندازه گیری زمان در سخت افزار موجود است که می توانیم از آنها استفاده کنیم؟

نوسانگر داخلی CPU RC

بیشترین ایده سادهچیزی که ممکن است به ذهنتان خطور کند این است که به سادگی یک تایمر نرم افزاری تنظیم کنید و ثانیه شماری کنید. بنابراین، این ایده خوب نیست. البته ساعت کار خواهد کرد، اما دقت ژنراتور داخلی به هیچ وجه تنظیم نشده است و می تواند در 10٪ از مقدار اسمی "شناور" شود. بعید است که کسی به ساعتی نیاز داشته باشد که 15 دقیقه در ماه طول بکشد.

ماژول زمان واقعی DS1307

یک گزینه صحیح تر، که در اکثر محصولات "عامیانه" نیز استفاده می شود، ساعت بیدرنگ است. ریز مدار از طریق I2C با میکروکنترلر ارتباط برقرار می کند و به حداقل سیم کشی (کوارتز و یک جفت مقاومت) نیاز دارد. قیمت هر تراشه حدود 100 روبل یا در eBay برای یک برد آماده با تراشه، ماژول حافظه و کانکتور باتری حدود 1 دلار است.

طرح از دیتاشیت:

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

به نظر می رسد که همه چیز خوب است، اگر نه برای یک مشکل - دقت کم. دقت تقریبی کوارتز ساعت 20-30ppm است. نام ppm - قطعات در میلیون، تعداد قطعات در میلیون را نشان می دهد. به نظر می رسد که 20 میلیونیم فوق العاده است، اما برای فرکانس 32768 هرتز به نظر می رسد 20 * 32768/1000000 = ± 0.65536 هرتز، یعنی. در حال حاضر نیم هرتز با محاسبات ساده می توان دریافت که با چنین تفاوتی، یک ژنراتور 56 هزار چرخه اضافی (یا گمشده) در روز "کلیک" می کند که معادل 2 ثانیه در روز است. کوارتز انواع مختلفی دارد، برخی از کاربران نیز در مورد خطای 5 ثانیه در روز نوشتند. به نوعی خیلی دقیق نیست - در یک ماه چنین ساعتی حداقل یک دقیقه طول می کشد. این تفاوت قابل توجهی است که با چشم غیر مسلح قابل توجه است (زمانی که سریال تلویزیونی مورد علاقه مادربزرگ از ساعت 11 شروع می شود و ساعت 11.05 را نشان می دهد ، توسعه دهنده چنین ساعتی در مقابل اقوام خجالت می کشد).

با این حال، از آنجایی که دمای اتاق کم و بیش پایدار است و فرکانس کوارتز تغییر زیادی نخواهد کرد، می توانید اصلاح نرم افزاری را اضافه کنید. توصیه دیگری که در انجمن ها ارائه می شود، استفاده از کوارتز ساعت قدیمی است مادربردها، طبق بررسی ها، آنها در آنجا کاملاً دقیق هستند.

ماژول زمان واقعی DS3231

ما اولین کسی نیستیم که سؤال صحت را مطرح می کنیم و شرکت دالاس، به دنبال خواسته ها، یک ماژول پیشرفته تر - DS3231 را منتشر کرد. این ساعت "ساعت واقعی بسیار دقیق" نام دارد و دارای یک ژنراتور داخلی با اصلاح دما است. دقت 10 برابر بیشتر و 2ppm است. قیمت کمی بالاتر است، اما بدنه تراشه برای نصب SMD طراحی شده است، لحیم کاری چندان راحت نیست، اما می توانید یک برد آماده در eBay خریداری کنید.


(عکس از وب سایت فروشنده)

دقت 6 ثانیه در ماه نتیجه خوبی است. اما ما جلوتر خواهیم رفت - در حالت ایده آل، ساعت های قرن بیست و یکم اصلاً نیازی به تنظیم ندارند.

ماژول رادیویی DCF-77

روش نسبتا عجیب و غریب است، اما به خاطر کامل بودن نمی توان آن را نادیده گرفت. تعداد کمی از مردم می دانند، اما سیگنال های زمان دقیق از دهه 70 از طریق رادیو مخابره شده است. فرستنده DCF-77 در آلمان نزدیک فرانکفورت قرار دارد و در فرکانس VHF 77.5 کیلوهرتز، مهرهای زمانی دقیق ارسال می شود (بله، آنها قبلاً 20 سال پیش ساعت دیواری و رومیزی داشتند که نیازی به تنظیم نداشتند).

خوبی این روش این است که مدار مصرف برق پایینی دارد به طوری که در حال حاضر حتی ساعت های مچی با این فناوری نیز تولید می شود. یک برد گیرنده آماده DCF-77 را می توان در ebay خریداری کرد، قیمت درخواستی 20 دلار است.

بسیاری از ساعت ها و ایستگاه های هواشناسی توانایی دریافت DCF-77 را دارند، تنها مشکل این است که سیگنال عملا به روسیه نمی رسد. نقشه پوشش از ویکی پدیا:

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

ماژول GPS

اگر ساعت نزدیک به پنجره قرار گیرد، کاملاً مناسب است روش واقعیبه دست آوردن زمان دقیق - ماژول GPS. این ماژول ها را می توان با ارزان قیمت در ebay خریداری کرد (قیمت شماره 10-15 دلار است). به عنوان مثال، Ublox NEO-6M مستقیماً به پین ​​های سریال پردازنده متصل می شود و رشته های NMEA را با سرعت 9600 خروجی می دهد.

داده ها تقریباً در قالب زیر ارائه می شوند: "$GPRMC,040302.663,A,3939.7,N,10506.6,W,0.27,358.86,200804,*1A" و تجزیه آنها حتی برای یک آردوینو ضعیف نیز دشوار نیست. به هر حال، میهن پرستان می توانند ماژول گران تر Ublox NEO-7N را خریداری کنند که (طبق بررسی ها) از GPS و Glonass پشتیبانی می کند.

بدیهی است که ماژول GPS در مورد مناطق زمانی مختلف چیزی نمی‌داند، بنابراین توسعه‌دهنده باید در مورد محاسبه و تغییر ساعت تابستانی/زمستانی خود فکر کند. منهای دیگر با استفاده از GPS- مصرف انرژی نسبتاً بالا (با این حال، برخی از ماژول ها را می توان با استفاده از دستورات جداگانه به "حالت خواب" تغییر داد).

وای فای

و در نهایت، آخرین (و واضح ترین راه در حال حاضر) برای به دست آوردن زمان دقیق، گرفتن آن از اینترنت است. در اینجا دو رویکرد وجود دارد. اولین و ساده‌ترین راه این است که از چیزی مانند Raspberry PI با لینوکس به‌عنوان صفحه ساعت استفاده کنید، سپس نیازی به انجام کاری ندارید، همه چیز به درستی انجام می‌شود. اگر چیزی "عجیب و غریب" می خواهید، جالب ترین گزینه ماژول esp8266 است.

این یک ارزان است (قیمت صدور حدود 200 روبل در ebay است) ماژول WiFi می تواند از طریق پورت سریال پردازنده با سرور ارتباط برقرار کند، در صورت تمایل، می توان آن را نیز reflash کرد (سیرم افزارهای شخص ثالث بسیار زیادی وجود دارد). و بخشی از منطق (مثلاً نظرسنجی سرور زمان) را می توان در خود ماژول انجام داد. سیستم عامل شخص ثالثبسیاری از همه چیز پشتیبانی می شود، از Lua گرفته تا C++، بنابراین گزینه های کاملاً کافی برای "انعطاف دادن مغز شما" وجود دارد.

در این مرحله، موضوع اندازه گیری زمان احتمالاً می تواند بسته شود. در قسمت بعدی نگاهی دقیق تر به پردازنده ها و روش های خروجی زمان خواهیم داشت.

ساعت مچی خانگی با نشانگر خلاء، ساخته شده در سبک استیمپانک. مطالب از www.johngineer.com گرفته شده است. این ساعت مچی بر اساس صفحه نمایش IVL-2 مونتاژ شده است. من در ابتدا چندین مورد از این نشانگرها را برای ایجاد یک ساعت رومیزی استاندارد خریدم، اما پس از مدتی فکر متوجه شدم که می توانم یک ساعت مچی شیک نیز بسازم. این نشانگر دارای تعدادی ویژگی است که آن را نسبت به سایر نمایشگرهای شوروی برای این منظور مناسب تر می کند. در اینجا پارامترها هستند:

  • جریان نامی فیلامنت 60 میلی آمپر 2.4 ولت است، اما با 35 میلی آمپر 1.2 ولت کار می کند.
  • اندازه کوچک- فقط 1.25 x 2.25 اینچ
  • می تواند با نسبتا کار کند ولتاژ پایینشبکه های 12 ولت (تا 24)
  • فقط 2.5 میلی آمپر / قطعه در 12.5 ولت مصرف می کند

همه عکس ها را می توان با کلیک بر روی آنها بزرگتر کرد. بزرگترین مانع برای تکمیل موفقیت آمیز پروژه غذا بود. از آنجایی که این ساعت قرار بود بخشی از یک لباس باشد، مهم نیست که باتری آن تنها 10 ساعت دوام می آورد. من روی AA و AAA مستقر شدم.

این طرح کاملا ساده است. میکروکنترلر Atmel AVR ATMega88 و ساعت واقعی - DS3231. اما تراشه‌های دیگری نیز وجود دارند که بسیار ارزان‌تر هستند، که در یک ژنراتور به خوبی کار می‌کنند.

صفحه نمایش VFD توسط MAX6920 هدایت می شود - یک شیفت رجیستر 12 بیتی با خروجی های ولتاژ بالا (تا 70 ولت). استفاده از آن آسان، بسیار قابل اعتماد و جمع و جور است. همچنین برای درایور نمایشگر این امکان وجود داشت که دسته ای از اجزای مجزا را لحیم کند، اما این به دلیل محدودیت فضا غیرعملی بود.

ولتاژ باتری همچنین یک مبدل تقویت کننده 5 ولت (MCP1640 SOT23-6) را تغذیه می کند که برای عملکرد عادی AVR، DS3231 و MAX6920 مورد نیاز است و همچنین به عنوان ولتاژ ورودی برای مبدل تقویت کننده دوم (NCP1403 SOT23-5) عمل می کند. که 13 ولت را برای ولتاژ شبکه نشانگر خلاء تولید می کند.

این ساعت دارای سه سنسور است: یک آنالوگ و دو سنسور دیجیتال. سنسور آنالوگ یک ترانزیستور نوری است و برای تشخیص سطح نور (Q2) استفاده می شود. سنسورهای دیجیتال: BMP180 - فشار و دما، و MMA8653 - شتاب سنج برای تشخیص حرکت. هر دو سنسور دیجیتالاز طریق گذرگاه I2C به DS3231 متصل شده است.

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

حتی در جوانی می خواستم یک ساعت الکترونیکی بسازم. به نظرم می رسید که مونتاژ ساعت اوج مهارت است. در نتیجه، من یک ساعت با یک تقویم و یک ساعت زنگ دار در سری K176 مونتاژ کردم. اکنون آنها منسوخ شده اند و من می خواستم چیزی مدرن تر را جمع آوری کنم. بعد از جستجوی طولانیدر اینترنت (من هرگز فکر نمی کردم که جلب رضایت من آنقدر سخت باشد؛)) از این طرح خوشم آمد. تفاوت مدار فوق این است که از یک ریز مدار نادر استفاده نمی شود TRIC6V595، و ترکیب آن و موارد دیگر آنالوگ قدرتمندروی ریز مدارها 74HC595و ULN2003. اصلاحات در نمودار در زیر آورده شده است.



طرح ال ای دی الکترونیکیتیک تیک ساعت

نویسنده محترم نمودار OLEDفریمور هم مال اوست. ساعت، زمان جاری، سال، ماه و روز هفته و همچنین دمای بیرون و داخل خانه را با تیک تیک نمایش می دهد. 9 آلارم مستقل دارند. امکان تنظیم (تصحیح) ضربه + - دقیقه در روز، انتخاب سرعت خط، تغییر روشنایی LED ها، بسته به زمان روز.

در صورت قطعی برق، ساعت یا از طریق یونیستور (ظرفیت 1 فاراد برای 4 روز کافی است) یا با باتری تغذیه می شود. هر کس آن را دوست دارد، برد برای نصب هر دو طراحی شده است. آنها دارای یک منوی کنترلی بسیار راحت و قابل فهم هستند (همه کنترل ها فقط با دو دکمه انجام می شوند). از قطعات زیر در ساعت استفاده شده است (همه قطعات در کیس SMD هستند):

میکروکنترلر AtMEGA 16A

-
شیفت رجیستر 74HC595

-
تراشه ULN2803(هشت کلید دارلینگتون)

-
سنسورهای دما DS18B20(در صورت درخواست نصب می شود)

-
25 مقاومت در 75 اهم (نوع 0805)

-
3 مقاومت 4.7 کیلو اهم

-
2 مقاومت 1.5 کیلو اهم

-
1 مقاومت 3.6 کیلو اهم

-
6 عدد خازن SMD با ظرفیت 0.1 uF

-
1 خازن 220 µF

-
کوارتز ساعتی در فرکانس 32768 هرتز.

-
ماتریس 3 تکه مارک 23088-ASR 60x60 میلی متر - کاتد مشترک

-
هر زنگ 5 ولتی



برد مدار چاپی برای خط تیک تاک ساعت LED الکترونیکی

برای ساکنان اوکراین، به شما می گویم، ماتریس ها در فروشگاه رادیویی Lugansk موجود است. از مزایای ساعت ها نسبت به سایر دستگاه های مشابه می توان به حداقل قطعات و تکرارپذیری بالا اشاره کرد. ساعت LEDآنها بلافاصله پس از نصب سیستم عامل شروع به کار می کنند، مگر اینکه اشتباهاتی در نصب وجود داشته باشد. میکروکنترلر در مدار فلاش می شود؛ برای این منظور پین های مخصوصی روی برد تعبیه شده است. با Poniprog فلش کردم. فیوز صفحه نمایش برای برنامه ها ponyprogو AVRدر زیر آورده شده است، فایل های سیستم عامل نیز به زبان های اوکراینی و روسی ارسال شده است که برای چه کسانی آشناتر است.


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

مسکن خانگی برای ساعت های LED

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

ویدئویی از کارکرد ساعت

من قبلا چهار نسخه از این ساعت ها را جمع آوری کرده ام و هر کدام را به عنوان هدیه تولد به اقوامم تقدیم می کنم. و همه واقعاً آنها را دوست داشتند. اگر شما هم می خواهید این ساعت را جمع آوری کنید و سوالی دارید، می توانید از انجمن ما دیدن کنید. با احترام، وویتوویچ سرگئی ( سرگئی-78 ).

در مورد مقاله ساعت LED ELECTRONIC بحث کنید

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

1. دستگاه های خروجی

بنابراین، ما یک پلتفرم خاص (کنترل کننده آردوینو، رزبری، PIC/AVR/STM و غیره) داریم و وظیفه این است که نوعی نشانگر را به آن متصل کنیم. گزینه های زیادی وجود دارد که ما آنها را بررسی خواهیم کرد.

نمایش بخش

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

مراقب ترافیک باشید!

مزایا: سادگی طراحی، زوایای خوبمرور، قیمت پایین.
معایب: مقدار اطلاعات نمایش داده شده محدود است.
دو نوع طرح نشانگر وجود دارد، با یک کاتد مشترک و یک آند مشترک؛ داخل آن چیزی شبیه به این است (نمودار از وب سایت سازنده).

1001 مقاله در مورد نحوه اتصال LED به میکروکنترلر وجود دارد که گوگل می تواند کمک کند. سختی ها از زمانی شروع می شوند که ما می خواهیم انجام دهیم ساعت بزرگ- از این گذشته ، نگاه کردن به یک نشانگر کوچک چندان راحت نیست. سپس به نشانگرهای زیر نیاز داریم (عکس از eBay):

آنها با برق 12 ولت تغذیه می شوند و به سادگی مستقیماً از میکروکنترلر کار نمی کنند. اینجاست که میکرو مدار به کمک ما می آید. CD4511، فقط برای این منظور. نه تنها داده ها را از یک خط 4 بیتی به اعدادی که نیاز دارید، بلکه شامل یک سوئیچ ترانزیستوری داخلی برای تامین ولتاژ به نشانگر است. بنابراین، در مدار باید یک ولتاژ "قدرت" 9-12 ولت و یک مبدل کاهنده جداگانه (به عنوان مثال L7805) برای تغذیه "منطق" مدار داشته باشیم.

شاخص های ماتریسی

در اصل، اینها همان LED ها هستند، فقط به شکل یک ماتریس 8x8. عکس از eBay:

آنها در eBay به صورت تک ماژول یا بلوک های آماده، به عنوان مثال 4 قطعه فروخته می شوند. مدیریت آنها بسیار ساده است - یک ریز مدار از قبل روی ماژول ها لحیم شده است MAX7219، اطمینان از عملکرد و اتصال آنها به میکروکنترلر تنها با استفاده از 5 سیم. کتابخانه های زیادی برای آردوینو وجود دارد، هرکسی می تواند به کد آن نگاه کند.
مزایا: قیمت پایین، زاویه دید خوب و روشنایی.
معایب: وضوح پایین اما برای کار استنتاج، زمان کاملاً کافی است.

نشانگرهای LCD

نشانگرهای LCD می توانند گرافیکی یا متنی باشند.

گرافیک‌های گران‌تر هستند، اما به شما اجازه می‌دهند اطلاعات متنوع‌تری را نمایش دهید (مثلاً یک نمودار فشار جو). متن‌ها ارزان‌تر و کار کردن با آن‌ها آسان‌تر هستند، همچنین به شما امکان نمایش شبه گرافیک‌ها را می‌دهند - امکان بارگیری نمادهای سفارشی در صفحه نمایش وجود دارد.

کار با یک نشانگر LCD از روی کد دشوار نیست، اما یک نقطه ضعف خاص وجود دارد - نشانگر به خطوط کنترل زیادی (از 7 تا 12) از میکروکنترلر نیاز دارد که ناخوشایند است. بنابراین، چینی ها به ایده ترکیب یک نشانگر LCD با یک کنترلر i2c رسیدند، که در نهایت بسیار راحت بود - فقط 4 سیم برای اتصال کافی است (عکس از eBay).


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

نشانگرهای OLED

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

در واقع در همه چیز خوب هستند به جز قیمت. در مورد نشانگرهای کوچک، اندازه 0.9-1.1 اینچ، سپس (به جز برای یادگیری نحوه کار با i2c) مقداری استفاده عملیپیدا کردن برای آنها سخت است.

نشانگرهای تخلیه گاز (IN-14، IN-18)

این شاخص ها اکنون کاملاً محبوب هستند، ظاهراً به دلیل "گرم". صدای لولهنور» و اصالت طراحی.


(عکس از nocrotec.com)

نمودار اتصال آنها تا حدودی پیچیده تر است، زیرا این نشانگرها از ولتاژ 170 ولت برای احتراق استفاده می کنند. یک مبدل از ولتاژ 12 ولت => 180 ولت را می توان بر روی یک میکرو مدار ساخت MAX771. برای تامین ولتاژ نشانگرها از ریز مدار شوروی استفاده می شود K155ID1، که به طور خاص برای این منظور ایجاد شده است. قیمت صدور در خود تولیدی: حدود 500 روبل برای هر نشانگر و 100 روبل برای K155ID1، تمام قسمت های دیگر، همانطور که در مجلات قدیمی نوشتند، "کمبود ندارند." مشکل اصلی اینجاست که هم IN-xx و هم K155ID1 مدت‌هاست که از تولید خارج شده‌اند و شما فقط می‌توانید آنها را در بازارهای رادیویی یا در چند فروشگاه تخصصی خریداری کنید.

2. انتخاب پلت فرم

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

آردوینو

ساده ترین گزینه برای مبتدیان. برد تمام شده ارزان است (حدود 10 دلار در eBay با ارسال رایگان) و دارای تمام اتصالات لازم برای برنامه نویسی است. عکس از eBay:

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

پردازنده های 32 بیتی STM

برای کسانی که چیزی قدرتمندتر می خواهند، بردهای آماده با پردازنده STM وجود دارد، به عنوان مثال یک برد با STM32F103RBT6 و صفحه نمایش TFT. عکس از eBay:

در اینجا ما قبلاً اشکال زدایی کامل در یک IDE کامل داریم (از بین همه موارد مختلف، من Coocox IDE را بیشتر دوست داشتم)، با این حال، ما به یک برنامه نویس-اشکال‌زدای ST-LINK جداگانه با اتصال JTAG نیاز داریم (مشکل قیمت در eBay 20-40 دلار است). یا می توانید برد توسعه STM32F4Discovery را که این برنامه نویس قبلاً روی آن تعبیه شده است خریداری کنید و می توان از آن به طور جداگانه استفاده کرد.

Raspberry PI

و در نهایت، برای کسانی که می خواهند ادغام کامل با دنیای مدرن، وجود دارد کامپیوترهای تک بردیبا لینوکس، همه احتمالاً قبلاً Raspberry PI را می شناسند. عکس از eBay:

این کامپیوتر تمام عیاربا لینوکس، یک گیگابایت حافظه رم و یک پردازنده 4 هسته ای روی برد. یک پنل 40 پین در لبه برد قرار دارد که به شما امکان می دهد وسایل جانبی مختلف را متصل کنید (پین ها از طریق کد موجود هستند، به عنوان مثال در پایتون، بدون ذکر C/C++)، همچنین وجود دارد. USB استاندارددر قالب 4 کانکتور (شما می توانید WiFi را وصل کنید). HDMI استاندارد نیز وجود دارد.
قدرت برد کافی است، به عنوان مثال، نه تنها برای نمایش زمان، بلکه برای اجرای یک سرور HTTP برای تنظیم پارامترها از طریق یک رابط وب، بارگیری پیش بینی آب و هوا از طریق اینترنت و غیره. به طور کلی، فضای زیادی برای پرواز فانتزی وجود دارد.

تنها مشکل Raspberry (و پردازنده های STM32) این است که پین ​​های آن از منطق 3 ولت استفاده می کنند و بیشتر دستگاه های خارجی(به عنوان مثال، صفحه نمایش های LCD) "به روش قدیمی" از 5 ولت کار می کنند. البته، شما می توانید آن را وصل کنید و در اصل کار خواهد کرد، اما کاملاً نیست روش صحیح، و به نوعی حیف است که یک تخته 50 دلاری را خراب کنید. راه درست- از یک "مبدل سطح منطقی" استفاده کنید که فقط 1-2 دلار در eBay هزینه دارد.
عکس از eBay:

اکنون کافی است دستگاه خود را از طریق چنین ماژول وصل کنیم و همه پارامترها سازگار خواهند بود.

ESP8266

این روش نسبتا عجیب و غریب است، اما به دلیل فشرده بودن و هزینه کم راه حل، کاملا امیدوار کننده است. با پول بسیار کمی (حدود 4 تا 5 دلار در eBay) می توانید یک ماژول ESP8266 حاوی پردازنده و وای فای را خریداری کنید.
عکس از eBay:

در ابتدا، چنین ماژول هایی به عنوان یک پل وای فای برای تبادل از طریق پورت سریال در نظر گرفته شده بودند، اما بسیاری از علاقه مندان نوشته اند. سیستم عامل جایگزین، به شما امکان می دهد با سنسورها، دستگاه های i2c، PWM و غیره کار کنید. به طور فرضی، دریافت زمان از سرور NTP و نمایش آن از طریق i2c بر روی نمایشگر کاملا امکان پذیر است. برای کسانی که می خواهند بسیاری از تجهیزات جانبی مختلف را به هم متصل کنند، بردهای NodeMCU ویژه ای وجود دارد تعداد زیادینتیجه گیری، قیمت موضوع حدود 500 روبل است (البته در eBay):

تنها نکته منفی این است که ESP8266 بسیار کم است حافظه رم(بسته به سیستم عامل، از 1 تا 32 کیلوبایت)، اما این کار را جالب تر می کند. ماژول های ESP8266 از منطق 3 ولت استفاده می کنند، بنابراین مبدل سطح بالا نیز در اینجا مفید خواهد بود.

این سفر مقدماتی در الکترونیک خانگی را به پایان می رساند؛ نویسنده برای همه آرزوی آزمایش های موفق دارد.

به جای نتیجه گیری

بالاخره راضی شدم با استفاده از تمشک PI با نشانگر متنی پیکربندی شده برای کار با شبه گرافیک (که معلوم شد ارزان تر از صفحه نمایش گرافیکیهمان مورب). از صفحه نمایش عکس گرفتم ساعت رومیزیدر زمان نگارش این مقاله

ساعت نشان می دهد زمان دقیق، برگرفته از اینترنت و آب و هوا که از Yandex به روز شده است، همه اینها در پایتون نوشته شده است و چندین ماه است که کاملاً خوب کار می کند. در همان زمان، یک سرور FTP روی ساعت در حال اجرا است که (همراه با ارسال پورت روی روتر) اجازه می دهد تا سیستم عامل خود را نه تنها از خانه، بلکه از هر مکانی که اینترنت وجود دارد، به روز کند. به عنوان یک امتیاز، منابع Raspberry، در اصل، برای اتصال دوربین و/یا میکروفون با قابلیت نظارت از راه دور آپارتمان، یا کنترل ماژول ها/رله ها/سنسورهای مختلف کافی است. می‌توانید انواع «خوبی‌ها» مانند نشانگر LED نامه‌های دریافتی و غیره را اضافه کنید.

PS: چرا eBay؟
همانطور که می بینید، قیمت ها یا عکس ها از eBay برای همه دستگاه ها داده شده است. چرا اینطور است؟ متأسفانه، فروشگاه‌های ما اغلب بر اساس این اصل زندگی می‌کنند که «به قیمت 1 دلار خریدند، به قیمت 3 دلار فروختند و با این 2 درصد زندگی می‌کنند». مانند مثال ساده, آردوینو اونوهزینه R3 (در زمان نوشتن) 3600 روبل در سنت پترزبورگ و 350 روبل در eBay با ارسال رایگان از چین. تفاوت واقعاً یک مرتبه بزرگ است، بدون هیچ گونه اغراق ادبی. بله، برای تحویل گرفتن بسته از اداره پست باید یک ماه صبر کنید، اما فکر می کنم چنین تفاوت قیمت ارزش آن را دارد. اما با این حال، اگر کسی در حال حاضر و فوری به آن نیاز دارد، احتمالاً فروشگاه های محلییک انتخاب وجود دارد، در اینجا هر کسی برای خودش تصمیم می گیرد.

بهترین مقالات در این زمینه