به نام خدا

<p><strong>آموزش</strong>   <a class="wikilink" href="http://arduino.ir/Tutorial">مثال ها</a> | <a class="wikilink" href="http://arduino.ir/Tutorial/Foundations">اطلاعات پایه</a> | <a class="wikilink" href="http://arduino.ir/Hacking">فوت و فن ها</a> | <a class="wikilink" href="http://arduino.ir/Tutorial/Links">پیوند ها</a> </p> <p class="vspace"></p> <p><em>Examples > Basics</em> </p> <p class="vspace"></p> <h3>Digital Read Serial</h3> <p>این مثال به شما نشان می دهد که چطور وضعیت سوییچ را با برقرار کردن ارتباط <a class="wikilink" href="http://arduino.ir/Reference/Serial">سریال</a> بین آردوینو و کامپیوتر از طریق USB کنترل کنید. </p> <p class="vspace"></p> <div class="BOM">

	<h3>سخت افزار مورد نیاز</h3>
	<ul>
		<li>برد آردوینو </li>
		<li>سوییچ دو وضعیتی، کلید یا سوییچ چند وضعیتی </li>
		<li>یک مقاومت 10 کیلو اهمی </li>
		<li>برد بورد </li>
		<li>سیم برد بوردی </li>
	</ul>
	<p class="vspace"></p>

</div> <p class="vspace"></p> <h3>مدار</h3> <div class="circuit">

	<div>
		<img src=" alt=" title /></div>
	<p class="vspace"></p>
	<p><span style="font-size:83%">این تصویر با استفاده از نرم افزار
	<a class="urllink" href="http://www.fritzing.org" rel="nofollow">Fritzing</a> 
	ایجاد شده است. برای مثال های بیشتر مدار به صفحه
	<a class="urllink" href="http://fritzing.org/projects/" rel="nofollow"> پروژه های Fritzing 
	</a>مراجعه کنید. </span></p>
	<p class="vspace"></p>
	<p>سه عدد سیم را به برد آردوینو وصل کنید. دو سیم اول یعنی سیم قرمز و مشکی را 
	به دو ردیف بلند عمودی در کناره ی برد بورد وصل کنید تا دسترسی به 5 ولت و زمین 
	را تأمین کنند. سومین سیم از پین دیجیتال 2 به یکی از پایه های کلید فشاری وصل 
	می شود. همان پایه کلید را از طریق یک مقاومت pull down (در اینجا 10 کیلو اهمی) به زمین وصل کنید. پایه ی دیگر کلید را به ولتاژ 5 
	ولت وصل کنید. </p>
	<p class="vspace"></p>
	<p>زمانی که کلیدهای فشاری یا سوییچ ها فشرده می شوند، دو نقطه روی مدار را به 
	هم وصل می کنند. وقتی دکمه های فشاری باز هستند (فشار داده نشده) هیچ ارتباطی 
	بین دو پایه کلیدها وجود ندارد، بنابراین پین (با مقاومت pull down) به زمین 
	وصل است و به عنوان LOW یا صفر خوانده می شود. وقتی کلید بسته شد (فشرده شد)، بین 
	دو پایه خودش ارتباطی ایجاد می کند، یعنی پین به 5 ولت وصل می شود، بنابراین پین 
	به عنوان HIGH یا یک خوانده می شود.</p>
	<p class="vspace"></p>
	<p>اگر شما پین ورودی/خروجی دیجیتال را از همه چیز قطع کنید، LED ممکن است به 
	صورت بی نظم چشمک بزند. این مسئله به این دلیل است که ورودی شناور است.
	<span lang="en-us">LED</span> یک ارتباط ثابت با <span lang="en-us">Vcc</span> 
	یا زمین ندارد و بصورت تصادفی مقدار آن HIGH یا LOW می شود. به همین دلیل است که 
	شما نیاز به اتصاب مقاومت pull down به زمین دارید. </p>
	<p class="vspace"></p>

</div> <p class="vspace"></p> <h3>شماتیک</h3> <div class="circuit">

	<div>
		<a class="urllink" href=" rel=nofollow">
		<img height="300px" src=" alt=" title /></a></div>

</div> <p class="vspace"></p> <h3>کد</h3> <p>در برنامه زیر اولین چیزی که شما در تابع setup انجام می دهید، شروع ارتباط سریال با سرعت 9600 بیت داده بر هر ثانیه، بین برد آردوینو و کامپیوتر است که با خط زیر این کار را انجام می دهید: </p> <p class="vspace"></p> <p><span dir="ltr"><code>Serial.begin(9600);</code></span> </p> <p class="vspace"></p> <p>بعد پین دیجیتال 2 را به عنوان ورودی تنظیم می کنید، این پین، خروجی را از کلید خواهد خواند: </p> <p class="vspace"></p> <p><span dir="ltr"><code>pinMode(2,INPUT);</code></span> </p> <p class="vspace"></p> <p>الان setup شما کامل شده است، وارد تابع <span dir="ltr">loop()</span> برنامه ی خود شوید. وقتی کلید فشار داده می شود، 5 ولت آزادانه وارد مدار شما می شود و زمانی که فشار داده نشده است، پین ورودی با یک مقاومت 10 کیلو اهمی به زمین وصل خواهد شد. این یک ورودی دیجیتال است، به این معنی که کلید فقط می تواند یک وضعیت روشن (توسط آردوینو به عنوان HIGH یا یک در نظر گرفته شده) یا یک وضعیت خاموش (توسط آردوینو به عنوان LOW یا صفر در نظر گرفته شده) داشته باشد. </p> <p class="vspace"></p> <p>اولین چیزی که شما در تابع<span dir="ltr">loop()</span> برنامه لازم است انجام دهید این است که متغیری را جهت نگهداری اطلاعاتی که از سوییچ می آید، تعریف کنید. زمانی که اطلاعات به سمت کلید می آید یا صفر است یا یک. شما می توانید از نوع<a class="wikilink" href="http://arduino.ir/Reference/Int"><code> int </code></a>استفاده کنید. این متغیر را<code>sensorValue</code> بنامید، و برابر با آنچه که از پین دیجیتال 2 خوانده می شود، قرار دهید. شما همه ی اینها را فقط با یک دستور می توانید انجام دهید: </p> <p class="vspace"></p> <p><span dir="ltr"><code>int sensorValue = digitalRead(2);</code></span> </p> <p class="vspace"></p> <p>زمانی که آردوینو ورودی را خوانده است، اطلاعات را به عنوان مقدار decimal به کامپیوتر بر می گرداند و چاپ می کند. شما می توانید این کار را با دستور <a class="wikilink" href="http://arduino.ir/Serial/Println"><span dir="ltr">Serial.println()</a></span> درخط آخر کد انجام دهید. </p> <p class="vspace"></p> <p><span dir="ltr"><code>Serial.println(sensorValue);</code></span> </p> <p class="vspace"></p> <p>اکنون وقتی شما سریال مانیتور را در محیط آردوینو باز می کنید، اگر کلید شما باز باشد رشته ای از صفر را، و اگر کلید شما بسته باشد رشته ای از یک را خواهید دید. </p> <p class="vspace"></p> <div class="code">

	<p></p>
	<div class="sourceblock " id="sourceblock1">
		<div class="sourceblocktext">
			<div class="arduino" align="left" dir="ltr">
				<span class="coMULTI">/*<br />

  DigitalReadSerial<br />  Reads a digital input on pin 2, prints the result to the serial monitor

				<br />

 <br />  This example code is in the public domain.<br />  */</span><br />

				<br />
				<span class="co1">// digital pin 2 has a pushbutton attached to 
				it. Give it a name:</span><br />
				<span class="kw1">int</span> pushButton <span class="sy0">=</span>
				<span class="nu0">2</span><span class="sy0">;</span><br />
				<br />
				<span class="co1">// the setup routine runs once when you press 
				reset:</span><br />
				<span class="kw1">void</span> <span class="kw3">setup</span><span class="br0">()</span>
				<span class="br0">{</span><br />

  <span class="co1">// initialize serial communication at 9600 bits per second:</span><br />   <span class="kw1">Serial</span>.<span class="kw1">begin</span><span class="br0">(</span><span class="nu0">9600</span><span class="br0">)</span><span class="sy0">;</span><br />   <span class="co1">// make the pushbutton's pin an input:</span><br />   <span class="kw1">pinMode</span><span class="br0">(</span>pushButton<span class="sy0">,</span>

				<span class="kw2">INPUT</span><span class="br0">)</span><span class="sy0">;</span><br />
				<span class="br0">}</span><br />
				<br />
				<span class="co1">// the loop routine runs over and over again forever:</span><br />
				<span class="kw1">void</span> <span class="kw3">loop</span><span class="br0">()</span>
				<span class="br0">{</span><br />

  <span class="co1">// read the input pin:</span><br />   <span class="kw1">int</span> buttonState <span class="sy0">=</span>

				<span class="kw1">digitalRead</span><span class="br0">(</span>pushButton<span class="br0">)</span><span class="sy0">;</span><br />

  <span class="co1">// print out the state of the button:</span><br />   <span class="kw1">Serial</span>.<span class="kw1">println</span><span class="br0">(</span>buttonState<span class="br0">)</span><span class="sy0">;</span><br />   <span class="kw1">delay</span><span class="br0">(</span><span class="nu0">1</span><span class="br0">)</span><span class="sy0">;</span>       

				<span class="co1">// delay in between reads for stability</span><br />
				<span class="br0">}</span></div>
		</div>
		<br>
		<br>

		<div class="sourceblocklink" align="left" dir="ltr">
			<a href="http://arduino.cc/en/Tutorial/DigitalReadSerial?action=sourceblock&num=1" type="text/plain">
			[دریافت کد]</a></div>
	</div>
	<p></p>

</div> <p class="vspace"></p> <h3>به لینک های زیر مراجعه کنید: </h3> <ul>

	<li><a class="wikilink" href="http://arduino.ir/Reference/Setup">
	<span dir="ltr">setup()</a></span> </li>
	<li><a class="wikilink" href="http://arduino.ir/Reference/Loop">
	<span dir="ltr">loop()</a></span> </li>
	<li><a class="wikilink" href="http://arduino.ir/Reference/PinMode">
	<span dir="ltr">pinMode()</a> </span></li>
	<li><a class="wikilink" href="http://arduino.ir/Reference/DigitalRead">
	<span dir="ltr">digitalRead()</a></span> </li>
	<li><a class="wikilink" href="http://arduino.ir/Reference/Delay">
	<span dir="ltr">delay()</a></span> </li>
	<li><a class="wikilink" href="http://arduino.ir/Reference/Int">int</a>
	</li>
	<li><a class="wikilink" href="http://arduino.ir/Reference/Serial">serial</a>
	</li>
	<li><a class="wikilink" href="http://arduino.ir/Tutorial/DigitalPins">DigitalPins</a>
	<p class="vspace"></p>
	</li>
	<li><a class="wikilink" href="http://arduino.ir/Tutorial/BareMinimum">BareMinimum</a>: 
	حداقل کدی که جهت آغاز یک برنامه آردوینو مورد نیاز است. </li>
	<li><a class="wikilink" href="http://arduino.ir/Tutorial/Blink">Blink</a>: 
	یک LED را روشن و خاموش کنید. </li>
	<li>
	<a class="selflink" href="http://arduino.ir/Tutorial/DigitalReadSerial">DigitalReadSerial</a>: یک 
	سوییچ را خوانده و وضعیت آن را به عنوان خروجی، در محیط Serial Monitor نرم افزار 
	آردوینو چاپ کنید. </li>
	<li>
	<a class="wikilink" href="http://arduino.ir/Tutorial/AnalogReadSerial">AnalogReadSerial</a>: 
	مقدار یک پتانسیومتر را خوانده و وضعیت آن را به عنوان خروجی در Serial Monitor 
	نرم افزار چاپ کنید .</li>
	<li><a class="wikilink" href="http://arduino.ir/Tutorial/Fade">Fade</a>: 
	استفاده از خروجی آنالوگ را برای کم نور کردن یک LED نشان می دهد. </li>
	<li>
	<a class="wikilink" href="http://arduino.ir/Tutorial/ReadAnalogVoltage">ReadAnalogVoltage</a> 
	: مقدار یک ورودی آنالوگ را خوانده و ولتاژ را در Serial Monitor چاپ می کند.
	</li>

</ul>