فهرست مطالب:

CheminElectrique (بازی مهارت ها) - SRO2002: 9 مرحله
CheminElectrique (بازی مهارت ها) - SRO2002: 9 مرحله

تصویری: CheminElectrique (بازی مهارت ها) - SRO2002: 9 مرحله

تصویری: CheminElectrique (بازی مهارت ها) - SRO2002: 9 مرحله
تصویری: کد نویسی کافی نیست. برای حرفه‌ای بودن به این مهارت ها نیاز دارید 2024, جولای
Anonim
CheminElectrique (بازی مهارت ها) - SRO2002
CheminElectrique (بازی مهارت ها) - SRO2002
CheminElectrique (بازی مهارت ها) - SRO2002
CheminElectrique (بازی مهارت ها) - SRO2002
CheminElectrique (بازی مهارت ها) - SRO2002
CheminElectrique (بازی مهارت ها) - SRO2002

امروز من ساخت بازی ای را که برای مهمانی آخر سال مدرسه برای پسرم ساخته ام به شما ارائه می دهم. در فرانسه ما این جشنواره ها را "kermesses" می نامیم ، من نمی دانم که آیا آنها در کشورهای دیگر وجود دارند و چه نامیده می شوند …

در این مهمانی ها اغلب بازی های یکسانی وجود دارد ، این چیزی است که من آن را بازی های کلاسیک می نامم ، و امسال تصمیم گرفتم نسخه مدرن تری از یکی از این بازی های کلاسیک بسازم: "Chemin electrique" یا "Main chaude".

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

به طور سنتی هیچ وسیله الکترونیکی برای ایجاد این بازی وجود ندارد ، یک باتری ساده 12 ولت با یک لامپ و سیم برق کافی است ، اما من ایده های جالبی برای مدرن تر کردن بازی داشتم.

بنابراین بیایید ببینیم چه چیزی را به عنوان قابلیت اضافه کردم!

مرحله 1: ویژگی ها

همانطور که قبلاً گفتم این بازی به سادگی چراغی را روشن می کند وقتی که بازیکن ناخواسته سیم را با "جوی استیک" لمس می کند ، همچنین اغلب اتفاق می افتد که بازی هنگام تماس صدا ایجاد می کند. در نسخه من از بازی ، در مجموع 6 بلوک 4 LED (سبز-زرد-زرد-قرمز) وجود دارد که به طور همزمان روشن می شوند ، یک زنگ که صدا تولید می کند و همچنین یک لرزشگیر در کنترلر که فعال می شود هنگامی که بین سیم برق و "جوی استیک" تماس وجود دارد.

بسته به مدت زمان تماس بین سیم و کنترلر ، LED ها به تدریج از سبز به قرمز روشن می شوند.

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

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

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

مرحله 2: سلب مسئولیت و اطلاعات بیشتر

سلب مسئولیت و اطلاعات بیشتر
سلب مسئولیت و اطلاعات بیشتر

سلب مسئولیت:

بازی با 4 باتری 1.5 ولت ، ولتاژ کلی 6 ولت تغذیه می شود ، همچنین جریان فعلی که از سیم عبور می کند را به چند میکرو آمپر محدود می کنم. بنابراین ما در زمینه ولتاژ ایمنی بسیار پایین (SELV) با مقدار جریان بسیار کم در دسترس کاربر هستیم.

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

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

اطلاعات بیشتر:

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

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

وقتی مراحل ساخت را طی می کنم ، نشان خواهم داد که اگر مجبور باشم این بازی را دوباره ایجاد کنم ، می توان بهینه سازی کرد. اما من تکرار می کنم که پروژه کاملاً کاربردی است ، اما من کمال گرا هستم…

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

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

مرحله 3: تعهدات

- باید از باتری استفاده کند (برای ایمنی و تحرک)- بازی باید ایمن باشد (کودکان 2 تا 10 ساله از آن استفاده خواهند کرد)

- تنظیمات باید در دسترس باشند (انتخاب فعال سازی صدا/ویبراتور و انتخاب مشکل)

- تنظیمات باید ساده و قابل فهم باشد و به راحتی قابل دسترسی باشد (باید تصور شود که شخصی که در طول مهمانی از بازی مراقبت می کند هیچ چیز در زمینه لوازم الکترونیکی/فنی نمی داند)

- صدا باید به اندازه کافی بلند باشد (بازی در خارج از محیط نسبتاً پر سر و صدا استفاده می شود).

- سیستم برای ذخیره حداکثر و قابل تعویض قطعات فیزیکی (جوی استیک ، سیم برق …)

- باید برای کودکان جذاب باشد (این هدف اصلی است که آنها برای آن بازی می کنند …:))

مرحله 4: اجزاء (BOM)

برای مورد:- تخته چوب

- رنگ آمیزی

- برخی از ابزارهای حفاری و برش….

برای "جوی استیک":- 1 ویبراتور

- جک کابل 3.5 (استریو)

- اتصال جک 3.5 (استریو)

- سیم برق 2.5 میلی متر مربع

- یک لوله PVC کوچک

قطعات الکترونیکی:

- 16F628A

- 12F675

- ULN2003A

- 2 2 2N2222A

- دیود زنر 2.7 ولت

- 12 عدد LED آبی

- 6 عدد LED سبز

- 6 LED قرمز

- LED 12 زرد

- 5 مقاومت 10K

- 2 مقاومت 4.7K

- 1 مقاومت 470 اهم

- 6 مقاومت 2.2K

- 6 مقاومت 510 اهم

- 18 مقاومت 180 اهم

- 1 پتانسیومتر 1K

- 1 کلید ON-OFF

-2 کلید ON-OFF-ON

- 1 زنگ

- 1 مبدل تقویت کننده DC

- سیم برق 2.5 میلی متر مربع

- 2 اتصال موز نر

- 2 اتصال دهنده موز زنانه

- اتصال جک 3.5 (استریو)

- دارای 4 باتری LR6

- برخی از تخته های نمونه اولیه PCB

ابزارهای الکترونیکی: - یک برنامه نویس برای تزریق کد به میکروچیپ 16F628A و 12F675 (به عنوان مثال PICkit 2) -

به شما توصیه می کنم اگر می خواهید کد را اصلاح کنید ، اما از CCS Compiler (shareware) نیز استفاده کنید ، از Microchip MPLAB IDE (نرم افزار رایگان) استفاده کنید. همچنین می توانید از کامپایلر دیگری استفاده کنید اما به تغییرات زیادی در برنامه نیاز دارید.

اما من به شما ارائه می دهم. فایلهای HEX را طوری که بتوانید آنها را مستقیماً به میکروکنترلرها تزریق کنید.

مرحله 5: تجزیه و تحلیل عملکرد

تجزیه و تحلیل عملکرد
تجزیه و تحلیل عملکرد
تجزیه و تحلیل عملکرد
تجزیه و تحلیل عملکرد

میکروکنترلر 16F628A (Func1): این "مغز" کل سیستم است ، این جزء است که موقعیت سوئیچ های تنظیمات را تشخیص می دهد ، که تشخیص می دهد که بین "جوی استیک" و سیم برق تماس وجود دارد یا خیر ، و هشدارها (نور ، صدا و ارتعاش). من این م componentلفه را انتخاب کردم زیرا سهام نسبتاً زیادی دارم و به برنامه نویسی با آن عادت کرده ام و از آنجا که زمان زیادی برای انجام این پروژه نداشتم ، ترجیح دادم مطالبی را که به خوبی می شناسم تهیه کنم.

رابط قدرت ULN2003A (Func2): این جزء به عنوان یک رابط قدرت بین 16F628A و مدارهایی است که انرژی بیشتری از آنچه میکروکنترلر می تواند مصرف کند (LED ، زنگ ، ویبراتور) مصرف می کند.

کنترل زنگ (Func3):

PIC 16F628A نمی تواند جریان کافی را برای ایجاد صدای زنگ ایجاد کند ، به ویژه اینکه زنگ صدا باید از طریق مبدل تقویت کننده تغذیه شود تا قدرت صوت آن افزایش یابد.

در واقع از آنجا که مونتاژ در ولتاژ 6 ولت عرضه می شود و صدای زنگ به 12 ولت نیاز دارد تا حداکثر کار کند ، از یک مبدل برای بدست آوردن ولتاژ خوب استفاده می کنم. بنابراین من از ترانزیستور به عنوان سوئیچ (حالت تعویض) برای کنترل منبع تغذیه زنگ استفاده می کنم. جزء انتخاب شده من یک 2N2222A کلاسیک است که برای این استفاده بسیار مناسب است.

در اینجا ویژگی های زنگ وجود دارد: 12V 25mA ، این بدان معناست که به قدرت نظری P = UI = 12 x 25mA = 0.3W نیاز دارد

بنابراین از مبدل تقویت کننده DC نیاز به 0.3 وات نیرو وجود دارد ، ماژول تقویت کننده DC دارای بازده 95 است بنابراین حدود 5 loss از دست می دهد. بنابراین ، حداقل توان 0.3W + 5٪ = 0.315W در ورودی مبدل مورد نیاز است.

اکنون می توانیم Ic فعلی را که از ترانزیستور Q1 عبور می کند ، نتیجه گیری کنیم:

P = U * Ic

Ic = P / U

Ic = P / Vcc-Vcesat

Ic = 0 ، 315 / 6-0 ، 3

Ic = 52 میلی آمپر

اکنون ما مقاومت پایه را محاسبه می کنیم که اجازه می دهد ترانزیستور به خوبی اشباع شود:

Ibsatmin = Ic / Betamin

Ibsatmin = 52mA / 100

Ibsatmin = 0.5mA

Ibsat = K x Ibsatmin (من ضریب اشباع بیش از حد K = 2 را انتخاب می کنم)

Ibsat = 2 x Ibsatmin

Ibsat = 1 میلی آمپر

R12 = Ur12 / Ibsat

R12 = Vcc - Vbe

R12 = (6 - 0.6) / 1mA

R12 = 5.4K

مقدار عادی (E12) برای R12 = 4.7K

کنترل ارتعاش (Func4):

در مورد صدای زنگ ، 16F628A نمی تواند جریان کافی را به ویبراتور بدهد که به جریان 70 میلی آمپر نیاز دارد ، علاوه بر این باید حداکثر با ولتاژ 3 ولت تامین شود. بنابراین من از یک دیود زنر همراه با یک ترانزیستور برای ایجاد تنظیم کننده ولتاژ 2.7 ولت برای ویبراتور استفاده کردم. عملکرد انجمن زنر-ترانزیستور ساده است ، زنر ولتاژ 2.7 ولت را بر اساس ترانزیستور ثابت می کند و ترانزیستور این ولتاژ را "کپی" می کند و برق را تأمین می کند.

بنابراین جریانی که از ترانزیستور Q2 عبور می کند برابر با Ic = 70mA است

اکنون ما مقاومت پایه را محاسبه می کنیم تا ترانزیستور به خوبی اشباع شود:

Ibsatmin = Ic/Betamin

Ibsatmin = 70mA / 100

Ibsatmin = 0 ، 7mA

Ibsat = K x Ibsatmin (من ضریب اشباع بیش از حد K = 2 را انتخاب می کنم) Ibsat = 2 x Ibsatmin

Ibsat = 1 ، 4mA

حداقل جریان در دیود زنر باید حداقل Iz = 1mA برای عملکرد آن باشد ، بنابراین می توان جریان عبوری از مقاومت R13 را نتیجه گرفت:

Ir13 = Ibsat + Iz

Ir13 = 1 ، 4mA + 1mA

Ir13 = 2 ، 4mA

برای اطمینان از اینکه جریان دیود zener Iz همیشه در محدوده عملکرد صحیح است ، یک حاشیه ایمنی با: Ir13_fixed = 5mA (انتخاب مقدار کاملاً دلخواه) در نظر گرفته می شود.

حالا بیایید مقدار R13 را محاسبه کنیم:

R13 = U13 / Ir13_fixed

R13 = VCC-Vz / Ir13_fixed

R13 = 6-2 ، 7/5mA

R13 = 660 اهم

مقدار نرمال شده (E12) برای R13 = 470 اهم

من می توانستم 560 اهم را در سری E12 انتخاب کنم اما این مقدار را نداشتم بنابراین مقدار قبلی را گرفتم…

قابل بهینه سازی است

وقتی طراحی پروژه را انجام دادم به Vbe ترانزیستور فکر نمی کردم بنابراین به جای داشتن 2.7 ولت برای تغذیه ویبراتور فقط 2.7 ولت-0.6 ولت = 2.1 ولت دارم. برای مثال باید از زنر 3.3 ولت استفاده می کردم ، ویبراتور کمی قوی تر بود حتی اگر نتیجه آن کاملاً رضایت بخش باشد ، من از تمام توان ویبراتور استفاده نمی کنم …

LED های هشدار دهنده (Func5):

LED ها به صورت عمودی طوری قرار گرفته اند که گویی اندازه گیری را تشکیل داده اند: قرمز

زرد 2

زرد 1

سبز

هنگامی که تماس بین "جوی استیک" و سیم برق تشخیص داده می شود ، آنها به تدریج از سبز به قرمز روشن می شوند.

LED ها با توجه به رنگ آنها به صورت گروهی به VCC متصل می شوند:

- تمام آند LED های سبز به هم متصل شده اند

- تمام آند LED های زرد 1 به هم متصل شده اند

- تمام آند LED های زرد 2 به هم متصل شده اند

- تمام آند LED های قرمز به هم متصل شده اند

سپس میکروکنترلر آنها را با اتصال کاتد خود از طریق ULN2003A فعال می کند.

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

در شماتیک فقط یک LED از هر رنگ با علامت "X6" در کنار آن وجود دارد زیرا من از نسخه رایگان Cadence Capture استفاده می کنم و حداکثر تعداد اجزای هر نمودار برای من محدود شده است ، بنابراین نمی توانم همه LEDS را ظاهر کنم …

مدیریت سطح صدا (Func6):

این به سادگی یک پتانسیومتر در سری با زنگ است که امکان تنظیم حجم صدا را فراهم می کند.

LED های "تزئین" (Func7 - شماتیک/صفحه 2):

هدف از این LED ها ایجاد تعقیب و گریز برای دکوراسیون بازی است. آنها از چپ به راست روشن می شوند. در مجموع 12 LED آبی وجود دارد: 6 عدد در ابتدای دوره نشان دهنده خط شروع و 6 در انتهای دوره نشان دهنده خط پایان

من تصمیم گرفتم برای این LED ها یک صفحه نمایش چندگانه انجام دهم زیرا برای سفارش آنها به پین های بیشتری نیاز بود (6 پین با چندضلعی ، 12 پین بدون مالتی پلکس).

علاوه بر این ، در برگه داده آنها نشان داده شده است که Vf 4V است ، بنابراین من نمی توانم 2 LED را به صورت سری (VCC 6V) قرار دهم و نمی توانم موازی قرار دهم زیرا آنها به طور تئوریک به 20 میلی آمپر نیاز دارند و میکروکنترلر می تواند تنها 25 میلی آمپر را تأمین کند. حداکثر در هر پین ، بنابراین 40mA غیر ممکن است.

به طور خلاصه من نمی توانم ارتباط LED (مجموعه ای یا موازی) ایجاد کنم و به اندازه کافی پین روی میکروکنترلر نداشتم تا بتوانم آنها را به حرکت درآورم … بنابراین برای این که بتوانم از میکروکنترلر دیگری (12F675) با 8 پین استفاده کنم. با تشکر از این میکروکنترلر ، من فعال سازی LED ها را با تنظیم سطح منطقی بالا (VCC) در آندهای آنها کنترل می کنم و از PIC 16F628A و ULN2003A برای انجام مالتی پلکس استفاده می کنم.

قابل بهینه سازی:

من هنگام انجام آزمایشات روی یک تخته نرد متوجه شدم که برای همان جریان I = 20mA LED ها با توجه به رنگ آنها تفاوت زیادی در روشنایی دارند. به عنوان مثال با 20 میلی آمپر ، LED های آبی بسیار روشن تر از LED ها بودند. به نظر من زیبایی برخی از LED ها بسیار روشن تر از بقیه بود ، بنابراین مقاومت سری را با LED های آبی تغییر دادم تا زمانی که به همان قدرت نورانی LED های سبز با جریان 20 میلی آمپر رسیدم.

و متوجه شدم که LED های آبی دارای روشنایی مشابه LED های سبز با جریان تنها 1 میلی آمپر هستند! این بدان معناست که اگر قبلاً می دانستم می توانم LED های آبی را به صورت سری (در گروه های 2 نفره) قرار دهم. و من فقط به 3 پین دیگر در 16F675A (که در دسترس هستند) نیاز داشتم ، بنابراین نیازی به افزودن یک میکروکنترلر دیگر برای مدیریت این LED ها نداشتم.

اما در این زمان طراحی که من آن را نمی دانستم ، گاهی اوقات بین ویژگی های اسناد فنی و ویژگی های واقعی اجزای سازنده تفاوت ناچیزی وجود دارد…

محدود کردن جریان (Func0):

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

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

من پاسخ دقیقی در این مورد پیدا نکردم ، بنابراین ترجیح دادم بین VCC و سیم برق مقاومت ایجاد کنم تا جریان تا حد ممکن از سیم را کاهش دهد.

بنابراین من می خواستم یک مقاومت با ارزش بالا قرار دهم تا جریان را به کمترین مقدار ممکن کاهش دهم ، اما همانطور که پروژه را به اتمام رسانده بودم و بنابراین همه کارت های مختلف را جوش داده و سیم کشی کرده بودم ، دیگر نمی توانستم مقاومت کشش 10 کیلو اهم را بردارم. بنابراین من باید مقدار مقاومت را انتخاب کنم تا 2/3 VCC را روی پین BR0 بدست آورم (پین 6 از 16F628A) تا میکروکنترلر تشخیص دهد اگرچه هنگام تماس بین جوی استیک و سیم برق ، سطح منطقی بالایی است. به اگر مقاومت زیادی اضافه می کردم ، این خطر را داشتم که میکروکنترلر تغییر بین حالت منطق پایین و حالت منطق بالا را تشخیص نمی داد.

بنابراین من انتخاب کردم که مقاومت 4.7K را به منظور دستیابی به ولتاژ حدود 4V در پین در هنگام تماس بین جوی استیک و سیم برق اضافه کنم. اگر مقاومت پوست انسان را در صورت تماس سیم برق با دست اضافه کنیم ، به عنوان مثال جریان عبوری از بدن کمتر از 1 میلی آمپر است.

و حتی اگر فردی سیم را لمس کند ، فقط با ترمینال مثبت باتری ها در تماس است و نه بین ترمینال مثبت و منفی ، اما همانطور که در سلب مسئولیت گفتم همیشه به کارهایی که با جریان برق انجام می دهید توجه کنید.

توجه: من مدت زیادی مردد بودم که این مقاومت را اضافه کنم زیرا جریان الکتریکی احتمالاً در دسترس کاربر (از طریق سیم الکتریکی) ضعیف است و مونتاژ توسط باتری تنها با 6 ولت ولتاژ تامین می شود و شاید به شدت غیر ضروری باشد جریان باتری را محدود کنید ، اما از آنجا که برای کودکان است ، من ترجیح دادم تا آنجا که ممکن است اقدامات احتیاطی را انجام دهم.

مرحله 6: برنامه ریزی

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

برنامه ها به زبان C با MPLAB IDE نوشته شده و کد با کامپایلر CCS C کامپایل شده است.

کد کاملاً توضیح داده شده و درک آن بسیار ساده است ، اما من به سرعت عملکردهای اصلی 2 کد (برای 16F628A و 12F675) را توضیح خواهم داد.

اولین برنامه -CheminElectrique.c- (16F628A):

مدیریت چندگانه LED: عملکرد: RTCC_isr ()

من از timer0 میکروکنترلر برای ایجاد سرریز در هر 2ms استفاده می کنم که به شما امکان می دهد چندگانه سازی LED ها را مدیریت کنید.

مدیریت تشخیص تماس:

تابع: void main ()

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

مشکل در مدیریت تنظیمات:

عملکرد: طولانی GetSensitivityValue ()

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

مدیریت تنظیمات زنگ هشدار:

عملکرد: int GetDeviceConfiguration ()

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

برنامه دوم -LedStartFinishCard.c- (12F675):

مدیریت فعال سازی LED آبی: عملکرد: void main ()

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

در زیر فایل زیپ پروژه MPLAB را مشاهده کنید:

مرحله 7: لحیم کاری و مونتاژ

لحیم کاری و مونتاژ
لحیم کاری و مونتاژ
لحیم کاری و مونتاژ
لحیم کاری و مونتاژ
لحیم کاری و مونتاژ
لحیم کاری و مونتاژ
لحیم کاری و مونتاژ
لحیم کاری و مونتاژ

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

من تخته ها را بین چسب چوب جمع کردم ، هیچ پیچ و میخی نگذاشتم و واقعاً محکم است!

به منظور جذابیت بیشتر بازی نسبت به یک جعبه رنگ آمیزی ساده ، از همسرم خواستم که دکوراسیونی برای بالای جعبه ایجاد کند (زیرا من واقعاً از طراحی گرافیکی خوشم می آید …). از او خواستم جاده ای پرپیچ و خم (برای ارتباط با سیم …) با قوطی/پنل در لبه پیچ ها ایجاد کند تا بتوانم LED های هشداردهنده خود را در آن قرار دهم. LED های آبی تزئینات مانند خط شروع و پایان خواهند بود. او یک منظره به سبک "مسیر 66" ایجاد کرد ، با جاده ای که از نوعی بیابان عبور می کند ، و پس از چندین بار تصور برای یافتن موقعیت خوب LED ها ، ما از نتیجه راضی بودیم!

سپس من برای همه اتصالات ، سوئیچ ها و البته LED ها سوراخ کردم.

سیم الکتریکی پیچیده می شود تا زیگزاگ ایجاد شود تا دشواری بازی افزایش یابد و هر سر آن به یک اتصال موز نر پیچ می شود. سپس کانکتورها به کانکتورهای موز مونث متصل به روکش بدنه متصل می شوند.

بخش الکترونیکی:

من قسمت الکترونیکی را به چند کارت نمونه اولیه تقسیم کرده ام.

وجود دارد:

- کارت برای 16F628A

- یک کارت برای 12F675

- 6 کارت LED هشدار دهنده

- 4 کارت برای LED های تزئینی (خط شروع و خط پایان)

من همه این کارت ها را زیر درب جعبه ثابت کردم و نگهدارنده باتری را با زنگ و ماژول تقویت کننده DC در قسمت پایین جعبه قرار دادم.

همه عناصر الکترونیکی با پیچاندن سیم ها به هم متصل می شوند ، من آنها را تا آنجا که ممکن است با توجه به جهت آنها گروه بندی کرده و آنها را به هم پیچیده و با چسب حرارتی ثابت کرده ام تا جایی که ممکن است "تمیز" باشند و به ویژه در صورت وجود هیچ گونه تماس یا سیم غلطی که قطع می شود وجود ندارد. واقعاً زمان زیادی طول کشید تا سیم ها را به طور صحیح برش/نوار/جوش/موقعیت دهم!

قسمت "جوی استیک":

برای جوی استیک یک تکه کوچک لوله PVC (قطر 1.5 سانتی متر و طول 25 سانتی متر) برداشتم. و سپس اتصال جک زن را به این شکل لحیم کردم:

- ترمینال متصل به سیم در انتهای جوی استیک (ContactWire در شماتیک)

- ترمینال متصل به پایانه مثبت ارتعاش (2A در اتصال J1A در شماتیک)

- ترمینال متصل به پایانه منفی ارتعاش (1A در اتصال J1A در شماتیک)

سپس سیم ، ویبراتور و اتصال جک را در داخل لوله یکپارچه کردم و جک را با چسب حرارتی ثابت کردم تا مطمئن شوم هنگام اتصال کابل جک بین جوی استیک و قسمت دیگر سیستم حرکت نمی کند.

مرحله 8: فیلم

مرحله 9: نتیجه گیری

در حال حاضر پروژه به پایان رسیده است ، انجام این پروژه واقعاً جالب بود ، حتی اگر از زمان بسیار کمی برای انجام آن پشیمان هستم. این به من اجازه داد تا یک چالش جدید را بر عهده بگیرم ؛) امیدوارم این بازی سالها کار کند و بسیاری از کودکانی را که پایان سال تحصیلی خود را جشن خواهند گرفت ، سرگرم کند!

من یک فایل بایگانی ارائه می کنم که شامل تمام اسنادی است که برای پروژه استفاده کرده ام/ایجاد کرده ام.

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

اگر س questionsال یا نظری در مورد این پروژه دارید ، لطفاً به من اطلاع دهید!

توصیه شده: