آموزش مثال ها | اطلاعات پایه | فوت و فن ها | پیوند ها
Examples > Basics
این مثال به شما نشان می دهد که چطور وضعیت سوییچ را با برقرار کردن ارتباط سریال بین آردوینو و کامپیوتر از طریق USB کنترل کنید.
این تصویر با استفاده از نرم افزار Fritzing ایجاد شده است. برای مثال های بیشتر مدار به صفحه پروژه های Fritzing مراجعه کنید.
سه عدد سیم را به برد آردوینو وصل کنید. دو سیم اول یعنی سیم قرمز و مشکی را به دو ردیف بلند عمودی در کناره ی برد بورد وصل کنید تا دسترسی به 5 ولت و زمین را تأمین کنند. سومین سیم از پین دیجیتال 2 به یکی از پایه های کلید فشاری وصل می شود. همان پایه کلید را از طریق یک مقاومت pull down (در اینجا 10 کیلو اهمی) به زمین وصل کنید. پایه ی دیگر کلید را به ولتاژ 5 ولت وصل کنید.
زمانی که کلیدهای فشاری یا سوییچ ها فشرده می شوند، دو نقطه روی مدار را به هم وصل می کنند. وقتی دکمه های فشاری باز هستند (فشار داده نشده) هیچ ارتباطی بین دو پایه کلیدها وجود ندارد، بنابراین پین (با مقاومت pull down) به زمین وصل است و به عنوان LOW یا صفر خوانده می شود. وقتی کلید بسته شد (فشرده شد)، بین دو پایه خودش ارتباطی ایجاد می کند، یعنی پین به 5 ولت وصل می شود، بنابراین پین به عنوان HIGH یا یک خوانده می شود.
اگر شما پین ورودی/خروجی دیجیتال را از همه چیز قطع کنید، LED ممکن است به صورت بی نظم چشمک بزند. این مسئله به این دلیل است که ورودی شناور است. LED یک ارتباط ثابت با Vcc یا زمین ندارد و بصورت تصادفی مقدار آن HIGH یا LOW می شود. به همین دلیل است که شما نیاز به اتصاب مقاومت pull down به زمین دارید.
در برنامه زیر اولین چیزی که شما در تابع setup انجام می دهید، شروع ارتباط سریال با سرعت 9600 بیت داده بر هر ثانیه، بین برد آردوینو و کامپیوتر است که با خط زیر این کار را انجام می دهید:
Serial.begin(9600);
بعد پین دیجیتال 2 را به عنوان ورودی تنظیم می کنید، این پین، خروجی را از کلید خواهد خواند:
pinMode(2,INPUT);
الان setup شما کامل شده است، وارد تابع loop() برنامه ی خود شوید. وقتی کلید فشار داده می شود، 5 ولت آزادانه وارد مدار شما می شود و زمانی که فشار داده نشده است، پین ورودی با یک مقاومت 10 کیلو اهمی به زمین وصل خواهد شد. این یک ورودی دیجیتال است، به این معنی که کلید فقط می تواند یک وضعیت روشن (توسط آردوینو به عنوان HIGH یا یک در نظر گرفته شده) یا یک وضعیت خاموش (توسط آردوینو به عنوان LOW یا صفر در نظر گرفته شده) داشته باشد.
اولین چیزی که شما در تابعloop() برنامه لازم است انجام
دهید این است که متغیری را جهت نگهداری اطلاعاتی که از سوییچ می آید، تعریف کنید. زمانی
که اطلاعات به سمت کلید می آید یا صفر است یا یک. شما می توانید از نوع
int
استفاده کنید. این متغیر راsensorValue
بنامید، و برابر
با آنچه که از پین دیجیتال 2 خوانده می شود، قرار دهید. شما همه ی اینها را فقط با
یک دستور می توانید انجام دهید:
int sensorValue = digitalRead(2);
زمانی که آردوینو ورودی را خوانده است، اطلاعات را به عنوان مقدار decimal به کامپیوتر بر می گرداند و چاپ می کند. شما می توانید این کار را با دستور Serial.println() درخط آخر کد انجام دهید.
Serial.println(sensorValue);
اکنون وقتی شما سریال مانیتور را در محیط آردوینو باز می کنید، اگر کلید شما باز باشد رشته ای از صفر را، و اگر کلید شما بسته باشد رشته ای از یک را خواهید دید.