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

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

هزینه کمی وجود دارد، اما یک عنصر مهم - اتصال کانکتورها (انواع دکمه ها، لامپ ها و غیره) به پانل جلویی.

بیا بریم.

اتصالات پانل جلو - دستورالعمل اتصال

در پنل جلویی واحد سیستم دکمه هایی برای احیا و راه اندازی مجدد دستی کامپیوتر وجود دارد. آنها همچنین باید به درستی وصل شوند. کابل های اتصال به عنوان پین برچسب گذاری شده اند (که تعجب آورتر است).

بوی بد به نظر می رسد چیزی شبیه به این (قابل کلیک):

Power SW – کابل دکمه پاور؛ LED قدرت + - - کابل های نشانگر (لامپ) عمر؛ HDD LED - کابل برای نشانگر نور (همان لامپی که می درخشد). RESET SW – کابل دکمه ریست.

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

روی مادربرد یک بلوک تماسی به نام پنل جلو یا F-Panel وجود دارد. مطمئن شوید که در گوشه سمت راست پایین پرداخت هستید، در غیر این صورت ممکن است مقصری وجود داشته باشد. محور تقریباً شبیه این است:

اتصال به پنل جلویی و پین ها باید به صورت دستی انجام شود و دستورالعمل هایی در اسناد همراه مادربرد وجود دارد.

اگر اسناد دارید، اتصال آنها دشوار نیست. با این حال، نکاتی روی مادربرد نزدیک یا در کنار بلوک F-Panel وجود دارد. به عنوان شانس، مادربرد دارای آداپتور زیر است:

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

چند آقازاده دیگر وجود دارد؟

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

کابل‌های پین برای اتصال این پورت‌های USB خارجی در وسط واحد سیستم به شکل زیر هستند:

آنها به بلوک های پین روی مادربرد متصل هستند که F-USB1 و F-USB2 نامیده می شوند. تعداد مراحل یکسان):

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

اتصال آنها آسان است (آنها به سادگی در سایر بلوک های پین قرار نمی گیرند). و برای آنها، اسناد پشتیبان قبل از پرداخت نیز نکاتی دارد:

همه چیز تحت کنترل است و هیچ چیز پیچیده ای در آن وجود ندارد.

چرا زحمت بکشید، زیرا اسناد تا زمان تشک ذخیره نشده است.

یا یک ذره بین بردارید و سرنخ های مربوط به کانکتور روی مادربرد رایانه را با دقت یادداشت کنید:

اسمش را هر چه می‌خواهید بگذارید، اما به طور نمادین امضاها، بنابراین از یکی به دیگری می‌توانید حدس بزنید آنجا چه خبر است و همه چیز را به درستی وصل کنید. سیم ها معمولاً با نوشتن روی خود به هم وصل می شوند:

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

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

اگر نتوانستید آن را در وب سایت سازنده پیدا کنید، پس در اینترنت می توانید به دنبال "نام پرداخت" + کلمه راهنما باشید، با حداقل دانش از مکان انگلیسی برای جذب به راحتی متوجه خواهید شد و سپس در سمت راست، باز کنید، شگفت زده شوید و متصل شوید.

پیسلیامووا

اگر تغذیه یا مکملی وجود دارد، برای کمک در نظرات بنویسید. من خوشحالم که کمک می کنم و فقط به شما گوش می دهم.

PS: ارائه شده بر روی آنهایی که کوچک نشان داده شده است شامل برای لب به لب و اطلاعات. تبلیغات زدنا.
PS2: مقاله توسط شخصی نوشته شده است که بدون هیچ کس (یک دوست و دستیار پروژه) کار را به تعویق می اندازد. بابت آن بسیار ممنونم.

دستورالعمل ها

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

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

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

ابتدا دکمه‌ای را به آردوینو وصل می‌کنیم که پشت یک مدار با مقاومتی بالا می‌آید. برای این منظور، یک تماس دکمه از زمین وصل می شود، دیگری - از خروجی دیجیتال 2. خروجی دیجیتال 2 نیز از طریق یک مقاومت با مقدار اسمی 10 کیلو اهم تا +5 ولت متصل می شود.

بیایید برای فشردن یک دکمه در آردوینو طرحی مانند این بنویسیم.
اکنون LED روی پین 13 به طور مداوم روشن است، دکمه فشار داده نمی شود. وقتی دکمه را فشار می دهیم به LOW تغییر می کند و LED خاموش می شود.

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

ابتدا توجه کنید که یک دسته سیم از کیس کامپیوتر خارج می شود. مردم آن را "پین" از کلمه انگلیسی Pin می نامند که به معنای "پین" یا "پین" است. مینیاتورها را به کیس کامپیوتر و کانکتورهایی که دوشاخه‌ها در آن قرار می‌گیرند، که روی مادربرد کامپیوتر قرار دارند، سیم‌کشی کنید.

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


نام های استاندارد بیش از حد تقویت شده اند. کانکتوری که به USB گواهی می دهد، احتمالاً شامل USB 2.0 و USB 3.0. اگر آنها به عنوان USB امضا شده باشند، شناسایی کانکتور با توجه به پروتکل انتقال داده ترجیحی آسان است - ورودی های بیشتری دارد.

پنل جلویی کامپیوتر: اتصال دکمه های زندگی و نشانگرها

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

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

پنل جلویی کامپیوتر: USB و کانکتورهای 3.5 میلی متری

اتصال سوکت‌های روی پنل جلویی رایانه از قوانین مشابهی پیروی می‌کند: محل اتصال را در دستورالعمل‌ها جستجو کنید و دوشاخه را از سوکت دور نگه دارید. لطفاً توجه داشته باشید که زمان زیادی نخواهد گذشت که ممکن است مکانی برای اتصال کانکتور USB 3.0 جلویی روی مادربرد وجود داشته باشد. اگر او را در جایی قرار دهید، در نهایت از ارتباط محروم خواهید شد.

لطفا توجه داشته باشید که کانکتورهای اتصال خروجی صدا را می توان با نشانگر جلو و دکمه های پاور به پنل جلویی متصل کرد و روی مادربرد قرار گرفت. کانکتور USB همیشه به طور جداگانه مشخص می شود و نقطه اتصال آن روی مادربرد با نام های F_USB، JUSB یا USB 3.0 مشخص می شود. دو گزینه اول برای کانکتور USB 2.0 است که از طریق 10 کنتاکت متصل می شود، در حالی که کانکتور 3.0 20 مخاطب را به هم متصل می کند.

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

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

ساده ترین نمودار برای اتصال یک دکمه به یک میکروکنترلر به صورت زیر است:

کلید یاکشو S 1باز است (دکمه رها می شود)، سپس روی ورودی دیجیتال قرار می گیرد D درمیکروکنترلر از ولتاژ 5 ولت استفاده می کند که یک واحد منطقی را نشان می دهد. هنگامی که دکمه فشار داده شد، وارد شوید D دربه زمین متصل می شود که سطح صفر منطقی را نشان می دهد و تمام ولتاژ به مقاومت می رود R 1مقدار هر کدام به گونه ای انتخاب می شود که با فشار دادن دکمه، جریان زیادی از آن عبور نکند (حدود 10÷100 کیلو اهم).

در مورد اتصال دکمه بین ورودی دیجیتال و زمین (بدون مقاومت) چطور؟ R 1وصل به +5V) یا بین ورودی و +5V، سپس در موقعیت، اگر دکمه روی ورودی دیجیتال میکروکنترلر فشار داده نشود، ولتاژ ناشناخته خواهد بود (می تواند سطح 0 باشد، یا می تواند 1 باشد) و افت ولتاژ را می شمردیم. به همین دلیل از مقاومت استفاده می شود R 1، که به نظر می رسد با رها شدن دکمه ورودی را به +5V می کشد.

با خواندن وضعیت ورودی دیجیتال میکروکنترلر، می توانیم دکمه فشرده شده (وضعیت 0 منطقی) یا هیچ (منطقی در ورودی تعیین می شود) را نشان دهیم.

اتصال دکمه به آردوینو

میکروکنترلرها Atmel AVR ATmega(بر اساس آن وجود خواهد داشت آردوینو) مقاومت های مورد نیاز را می توان برای اتصال برنامه ریزی کرد R nاندازه 20 کام است و با ترسیم نمودار اتصال می توانیم به سرعت با آنها ارتباط برقرار کنیم.

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

طرح باسن آردوینوکه بسته به فشار دادن یا رها شدن دکمه، اتصال به پین ​​دیگر یا مقاومت ولتاژ داخلی، LED 13 پین را روشن و روشن می کند:

void setup() ( pinMode(13, OUTPUT); // LED روی 13 pin Mode(2, INPUT)؛ // 2 پین - در حالت ورودی. دکمه به زمین متصل است. digitalWrite(2، HIGH); // مقاومت pull-up را متصل می کند) void loop() (digitalWrite(13, !digitalRead(2))؛ // وضعیت دکمه را بخوانید و LED را دوباره وصل کنید)

در اینجا ما مقادیر خوانده شده از پورت ورودی را با استفاده از منطق معکوس می کنیم نه، که قبل از عملکرد با علامت تگرگ نشان داده می شود digitalReadبنابراین با فشردن دکمه 0 خوانده می شود و برای روشن شدن LED باید عدد 1 را به پورت بفرستیم.

پاشش مخاطبین

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

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

این کتابخانه شامل روش های زیر است:

  • پرش ()- مقداردهی اولیه شی Bounce
  • فاصله خالی (فاصله طولانی بدون علامت)- ساعت ضد گرد و غبار را بر حسب میلی ثانیه تنظیم می کند
  • اتصال خالی (پین int)- پینی که دکمه به آن وصل شده را نصب می کند و مقاومت pull-up را به کدام اتصال وصل می کند.
  • int update()- قطعات پرشنه vikorystvo، شما قبل از خواندن مرحله آن شی را "به روز می کنید" و باید به طور پیوسته کار کنید (مثلاً در وسط حلقه). روش به روز رسانی شی را به روز می کند و آن را می چرخاند درست است، واقعی(1)، اگر دکمه تغییر کرده است (دکمه فشار داده شده یا مثلاً رها شده است) و نادرست(0) در غیر این صورت. روش ویکلیک به روز رسانی در وسط حلقهباید بیش از یک بار انجام شود.
  • int read()- به روز رسانی پین را می چرخاند

کتابخانه Bounce از یک بازه تثبیت ( فاصله پایدار) برای اجرای آنتی بروسک. درک این موضوع آسان‌تر است و به شما امکان می‌دهد از دردسر به هم ریختگی اجتناب کنید.

پارامتر فاصله پایدارکتابخانه های پرش

به طور قابل ملاحظه

#define BOUNCE_LOCK-OUT

#define BOUNCE_LOCK-OUT

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

به مثال کتابخانه کتابخانه اشاره می کنم:

#عبارتند از Bounce bouncer = Bounce(); void setup() (pinMode(2,INPUT); // دکمه روی پین 2 digitalWrite(2,HIGH)؛ bouncer .attach(2)؛ // نصب دکمه bouncer .interval(5)؛ Serial.begin(9600) . فشار داده شده است Serial .println("pressed"); //اعلان مربوط به فشار دادن را نشان می دهد و در غیر اینصورت Serial.println("released"); //اعلان مربوط به انتشار را نشان می دهد)

#عبارتند از

Bounce bouncer = Bounce(); //یک نمونه از کلاس Bounce ایجاد کنید

void setup()

pinMode (2، INPUT)؛ دکمه // روی پین 2

digitalWrite (2، HIGH); // مقاومت pull-up را وصل کنید

جسور پیوست (2); // یک دکمه درج کنید

جسور فاصله (5)؛ // فاصله پایدار پارامتر = 5 میلی ثانیه را تنظیم کنید

سریال. شروع (9600)؛ //تنظیم پورت سریال روی سرعت 9600 بیت در ثانیه

حلقه خالی()

if (جهنده . به روز رسانی () )

{ //چگونه اوضاع پیش رفت

if (بازنده. read() == 0)

{ // با فشار دادن دکمه

سریال. println("فشرده شده"); //اطلاعات مربوط به فشار نمایش داده می شود

سریال else println("آزاد شده"); //اطلاعات جدید در مورد انتشار

یک استاک قهوه ای کوچک و کاربردی دیگر. اگر دکمه ای داشته باشیم با فشردن کمتر از 2 ثانیه تغییر ایجاد می شود current_mode، که در آن حالت فعلی عملکرد دستگاه حفظ می شود. برای کدام برنامه، حالت را می توان از 0 به 5 تغییر داد. یک بار فشار داد - حالت شماره 1. دوباره فشار داد - 2. و به همین ترتیب تا پنج. پس از پنج دقیقه فشار دادن، حالت جریان اول می شود و دوباره شروع می شود. نحوه فشار دادن دکمه در موقعیت فشرده به مدت 2 ثانیه current_modeمقدار مورد انتظار 0 است.

#عبارتند از #define pressed_long 2000 // زمان فشرده = 2 ثانیه #تعریف num_modes 5 // حداکثر تعداد حالت کوتاه int max_mode = num_modes + 1; // تغییرات اضافی Bounce bouncer = Bounce (); //یک نمونه از کلاس Bounce unsigned long pressed_moment ایجاد کنید. // لحظه فشار دادن دکمه int current_mode = 0; // حالت فعلی void setup() (pinMode(2,INPUT); // دکمه روی پین 2 digitalWrite(2,HIGH)؛ // فعال کردن pull-up resistor bouncer .attach(2)؛ // نصب دکمه bouncer .interval( 5); // تنظیم فاصله پایدار پارامتر = 5 ms Serial.begin(9600)؛ if (bouncer.read()==0) (//هنگامی که دکمه فشار داده می شود pressed_moment = millis(); // ساعت فشار دادن را به خاطر بسپارید else (// دکمه آزاد شد if((millis() - pressed_moment))< pressed_long) { // если кнопка была нажата кратковременно current_mode++; // увеличиваем счетчик текушего режима current_mode %= max_mode; // остаток от целочисленного деления if (current_mode == 0) current_mode = 1; // режим меняется от 1 до num_modes } else { // кнопка удерживалась долго current_mode = 0; pressed_moment = 0; // обнуляем момент нажатия } Serial.println("Current mode:"); Serial.println(current_mode); // выводим сообщение о текущем режиме } } }

#عبارتند از

#define pressed_long 2000 // فشار طولانی = 2 ثانیه

#define num_modes 5 // حداکثر تعداد حالت

int کوتاه max_mode = num_modes + 1; // تغییر اضافی

Bounce bouncer = Bounce(); //یک نمونه از کلاس Bounce ایجاد کنید

بدون امضا long pressed_moment ; // لحظه فشار دادن دکمه

int current_mode = 0; // حالت جریان

void setup()

pinMode (2، INPUT)؛ دکمه // روی پین 2

digitalWrite (2، HIGH); // مقاومت pull-up را وصل کنید

جسور پیوست (2); // یک دکمه درج کنید

جسور فاصله (5)؛ // فاصله پایدار پارامتر = 5 میلی ثانیه را تنظیم کنید

اولین برنامه LED پشت دکمه زیر را نمایش می دهد:

  • هنگامی که دکمه فشار داده می شود، LED روشن می شود.
  • با فشار دادن دکمه، LED روشن نمی شود.

اتصال دکمه و LED به برد آردوینو.

برای برقراری ارتباط با عناصر خارجی، کنترلر Arduino UNO از 14 پین دیجیتال استفاده می کند. پوست را می توان با برنامه به عنوان ورودی و خروجی شناسایی کرد.

خروجی دیجیتال تنها دو سطح دارد: بالا و پایین. سطح بالا ولتاژی را در خروجی تقریبا 5 ولت تولید می کند، سطح پایین 0 ولت است. خروجی امکان اتصال به ولتاژ ورودی تا 40 میلی آمپر را فراهم می کند.

اگر مقادیر با ورودی یکسان است، با در نظر گرفتن موقعیت شما، می توانید سطح ولتاژ ورودی را محاسبه کنید. در ولتاژ نزدیک به 5 (در واقع بیش از 3)، سطح بالایی مطابق با ثابت HIGH حفظ خواهد شد. هنگامی که ولتاژ نزدیک به 0 (کمتر از 1.5 ولت) باشد، مقدار کم یا ثابت LOW خوانده می شود.

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

LED از طریق یک مقاومت که رشته را به هم متصل می کند متصل می شود. نمودار معمولی محور.

مقاومت با استفاده از فرمول I = Uoutput - LED drop / R رتبه بندی می شود.

Uoutput = 5، افت LED را می توان برابر با 1.5 V در نظر گرفت (به طور دقیق تر در آداپتور نشان داده شده است). به نظر می رسد که مدار ما از طریق LED وظایف تقریباً 10 میلی آمپر جریان دارد.

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

دکمه به هر اتصال دیگری متصل است، به عنوان مثال، 12. سخت افزار مدارهای اتصال دکمه باید از سطوح ولتاژ 0 در هنگام فشار دادن دکمه و 5 در هنگام فشار دادن اطمینان حاصل کند. با یک مدار ساده قابل انجام است.


هنگامی که دکمه فشار داده می شود، مقاومت در 5 نمایش داده می شود و با فشار دادن، ورودی به زمین کوتاه می شود. من توصیه هایی برای انتخاب مقاومت در درس آخر در مورد دکمه ها خواهم نوشت. من گزینه دیگری را توصیه می کنم. همه بردهای مدار در وسط کنترلر قرار دارند که مقاومت هایی تا 5 ولت متصل شده است. آنها را می توان به صورت برنامه ریزی شده به برق وصل کرد و به عنوان برد مدار روشن کرد. مقدار مرجع این مقاومت ها نزدیک به 20-50 کیلو اهم است. این برای مدارهای واقعی خیلی زیاد است، اما برای برنامه و دکمه ما که در نزدیکی کنترلر نصب شده است، کاملا قابل قبول است.

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


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

توابع ورودی/خروجی

برای کار با دستگاه های دیجیتال، سیستم آردوینو دارای 3 عملکرد داخلی است. بوی بد به شما این امکان را می دهد که حالت vivodu را تنظیم کنید، rahuvati chi visnovok را در اردوگاه آواز ست می کند. برای تعیین اهمیت این توابع از ثابت های HIGH و LOW استفاده می شود که سطوح بالا و پایین سیگنال را نشان می دهد.

pinMode (پین، حالت)

حالت خروجی (ورودی یا خروجی) را تنظیم می کند.

Argumenti: پین و حالت.

  • پین – شماره ثبت؛
  • حالت - حالت خروجی.

تابع چیزی را نمی چرخاند.

DigitalWrite (پین، مقدار)

من سطح خروجی (بالا یا کم) را تنظیم می کنم.

پین و مقدار آرگومان ها:

  • پین – شماره ثبت؛
  • مقدار – مقدار خروجی

تابع چیزی را نمی چرخاند.

DigitalRead (پین)

ورودی را بخوانید.

آرگومان ها: پین – شماره ثبت.

جلو را به سمت ورودی می چرخاند:

digitalRead(pin) = LOW ریواس کم در ورودی
digitalRead(pin) = HIGH ریواس بلند در ورودی

برنامه درمان LED

پس از اتمام درس قبلی، اکنون تمام اطلاعات لازم برای نوشتن برنامه ها را داریم. برنامه آردوینو از دو تابع setup() و حلقه تشکیل شده است. در setup() حالت های ماشه را تنظیم می کنیم و loop() وضعیت دکمه را در buttonState می خواند و آن را به LED می دهد. از نظر دوز، معکوس است، زیرا هنگامی که دکمه فشار داده می شود، سیگنال کم می شود و LED برای بالا روشن می شود.

/* برنامه scetch_5_1 درس 5
*/

دکمه بولیState; // ایجاد یک دکمه جهانی تغییر حالت

void setup() (
pinMode (13، OUTPUT)؛ //

}

// چرخه بی پایان
حلقه خالی() (



}

برای ذخیره مقدار میانی حالت دکمه، یک متغیر buttonState از نوع boolean ایجاد کنید. نوع داده یکپارچه مقدار را می توان با یکی از دو مقدار پر کرد: true (true) یا false (false). در مورد ما، LED روشن می شود یا روشن نمی شود.

کد برنامه را از پنجره Arduino IDE کپی یا بازنویسی کنید. وارد کنترلر شده و آن را برگردانید.

برای ذخیره پروژه های آردوینو، یک پوشه d ایجاد کردم: Arduino Projects Lessons Lesson5. برای هر کاربر، برنامه‌های scetch_5_1، scetch_5_2، ... را می‌گویم شما می‌توانید سیستم ذخیره فایل خود را وارد کنید.

بلوک برنامه:

buttonState = digitalRead(12); // حالت 12 را از ورودی (دکمه) می خواند و در buttonState می نویسد
وضعیت دکمه = ! دکمه حالت؛ // وارونگی حالت دکمه قابل تغییر
digitalWrite (13، buttonState)؛ // حالت را از buttonState تا خروجی 13 می نویسیم (LED)

شما می توانید آن را بدون دکمه متغیرState بنویسید.

digitalWrite(13, ! digitalRead(12));

آرگومان تابع digitalWrite() تابع digitalRead() است. استایل خوب چنین گزینه ای نیست. بدون نیاز به تغییرات اضافی، متن کوچکتر.

توبتو. یک تابع می تواند به عنوان آرگومان برای تابع دیگر استفاده شود. توابع را می توان از توابع فراخوانی کرد.

نسخه دیگری از این برنامه از دستور if استفاده می کند.

/* برنامه scetch_5_2 درس 5
با فشار دادن دکمه LED (نمایش داده شده 13) را روشن می کند (نمایش داده شده 12) */

void setup() (
pinMode (13، OUTPUT)؛ // سیگنال 13 (LED) به عنوان خروجی
pinMode (12، INPUT_PULLUP)؛ // با نماد 12 (دکمه) به عنوان ورودی مشخص شده است
}

// چرخه بی پایان
حلقه خالی() (
if (digitalRead(12) == LOW) digitalWrite(13, HIGH);
else digitalWrite(13، LOW);
}

در یک چرخه انتخاب نشده، وضعیت خروجی 12 (دکمه) بررسی می شود و اگر پایین (LOW) باشد، در خروجی 13 (LED) یک حالت بالا (HIGH) تشکیل می شود. در غیر این صورت، سطح LED پایین است (LOW).

#دستورالعمل را تعریف کنید.

در همه برنامه ها، برای توابع ورودی/خروجی، آرگومان پین، عدد خروجی اولیه، را به عنوان یک عدد خاص - یک ثابت مشخص کردیم. به یاد آوردیم که ثابت 12 عدد دکمه و 13 عدد LED است. کار با نام های نمادین بسیار ساده تر است. برای چه منظوری زبان دستوری دارد که شناسه ها را با ثابت ها و عبارات مرتبط می کند.

دستور #define یک شناسه و دنباله ای از کاراکترها را مشخص می کند که هر زمان که شناسه در متن برنامه ظاهر شد جایگزین آن می شود.

جلد آنجا به شکل زیر است:

#توالی_کاراکتر من را تعریف کنید

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

#define LED_PIN 13 //

سپس بلافاصله، اگر برنامه دارای نام LED_PIN باشد، هنگام پخش به جای علامت جدید، علامت 13 جایگزین می شود. عملکرد روشن کردن LED به این صورت است:

digitalWrite (LED_PIN، HIGH)؛

نسخه باقی مانده از برنامه برای کمک اضافی #define است.

/* برنامه درس 5
با فشار دادن دکمه LED (نمایش داده شده 13) را روشن می کند (نمایش داده شده 12) */

#define LED_PIN 13 // عدد نمایش داده شده روی LED 13 است
#define BUTTON_PIN 12 // تعداد دکمه نمایش داده شده تا 12

void setup() (
pinMode (LED_PIN، OUTPUT)؛ // سیگنال 13 (LED) به عنوان خروجی
pinMode (BUTTON_PIN، INPUT_PULLUP)؛ // با نماد 12 (دکمه) به عنوان ورودی مشخص شده است
}

// چرخه بی پایان
حلقه خالی() (
digitalWrite(LED_PIN، !digitalRead(BUTTON_PIN));
}

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

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