به نام خدا

<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>Analog Read Voltage</h3> <p>این مثال روش ورودی آنالوگ را روی پین صفر خواندن، تبدیل کردن مقدار از <span dir="ltr">analogRead()</span> به ولتاژ و چاپ کردن خروجی آن روی Serial Monitor را به شما نشان می دهد. </p> <p class='vspace'></p><div class='BOM' > <h3>سخت افزار مورد نیاز</h3> <ul><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><p>3 عدد سیم را از پتانسیومتر به برد آردوینو وصل کنید. اولین سیم، از یکی از پین های خارجی پتانسیومتر به زمین، دومی از 5 ولت به یکی از پین های خارجی دیگر پتانسیومتر و سومی از ورودی صفر آنالوگ به پین وسطی پتانسیومتر می رود. </p> </p> <p class='vspace'></p> <p>شما با چرخاندن محور پتانسیومتر، مقدار مقاومت روی یک طرف wiper را که به پین مرکزی پتانسیومتر وصل شده است، تغییر می دهید. این عمل، ولتاژ پین مرکزی را تغییر می دهد. زمانی

	که مقاومت بین مرکز و کناره ای که به 5 ولت متصل است به صفر نزدیک 
	می شود (و مقاومت سمت دیگر به 10 کیلو اهم نزدیک می شود) ولتاژ در پین مرکزی به 
	5 ولت نزدیک می شود. زمانی که مقاومت معکوس می شود، ولتاژدر پین مرکزی به سمت صفر 
	ولت یا زمین می رود. این ولتاژی که شما به عنوان ورودی می خوانید، <strong> آنالوگ </strong>است.</p>
	<p class="vspace"></p>

<p class='vspace'></p> <p>آردوینو یک مدار داخلی به نام <strong>analog-to-digital converter

	</strong> دارد که ولتاژ متغیر را می خواند و آن را به عددی بین 0 تا 1023 تبدیل می کند. زمانی که 
	محور در یک جهت می چرخد، ولتاژ صفر به سمت پین می رود و مقدار ورودی، صفر می شود. 
	زمانی که محور به سمت مخالف می چرخد، ولتاژ پنج به سمت پین می رود و مقدار ورودی 1023 
	می شود. در این بین
	<span dir="ltr">
	<a class="wikilink" href="http://arduino.ir/Reference/AnalogRead">
	analogRead()</a></span> یک عدد بین صفر تا 1023 را بر می گرداند 
	که با مقدار ولتاژ اعمال شده روی پین متناسب است. </p>

<p class='vspace'></p></div> <p class='vspace'></p><h3>شماتیک</h3> <div class='circuit' > <div><a class='urllink' href='' rel='nofollow'><img height='400px' 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>بعد در تابع <span dir="ltr">Loop()</span> برنامه، لازم است متغیری را برای ذخیره مقدار مقاومتی که از پتانسیومتر می آید (و عددی بین صفر تا 1023 می باشد و محدوده ای مناسب برای <code> <a class="wikilink" href="http://arduino.ir/Reference/Int">نوع int</a> </code>خواهد بود)، تعریف کنید. </p>

<p class='vspace'></p><p><span dir="ltr"><code> int sensorValue = analogRead(A0);</code></span> </p> <p class='vspace'></p><p>برای تغییر مقدار از محدوده 0-1023 به عددی در محدوده ای که متناظر با ولتاژ خوانده شده از پین است، لازم است متغیر دیگری تعریف کنید.

 یک متغیر <a class='wikilink' href='http://arduino.ir/Reference/Float'><code>float</code></a>، و یک محاسبه ریاضی کوچک. 

برای درجه بندی کردن اعداد بین 0.0 و 5.0 ، 5.0 را بر 1023.0 تقسیم می کنیم و آن را در <strong>sensorValue</strong> ضرب می کنیم. این کار را با دستور زیر انجام می دهیم: </p> <p class='vspace'></p><p><span dir="ltr"><code>float voltage = sensorValue * (5.0 / 1024.0);</code></span> </p> <p class='vspace'></p><p>در انتها، لازم است که این اطلاعات را روی Serial Monitor چاپ کنید. شما می توانید این کار را با دستور<span dir="ltr"> <a class='wikilink' href='http://arduino.ir/Serial/Println'>Serial.println()</a> </span> در آخرین خط کدتان انجام دهید: </p> <p class='vspace'></p><p><span dir="ltr"><code> Serial.println(voltage)</code></span> </p> <p class='vspace'></p><p>اکنون، وقتی شما Serial Monitor را ( با مستقیم کلیک کردن روی دکمه ای که سمت راست دکمه آپلود در بالای برنامه است)، در محیط برنامه نویسی آردوینو باز می کنید، باید رشته ای ثابت از اعداد در محدوده ی 0.0 تا 5.0 ببینید. هرچه پتانسیومتر را بچرخانید، مطابق ولتاژی که به پین A0 اعمال می شود، مقدار عوض خواهد شد. </p> <p class='vspace'></p><div class='code' > <p> <div class='sourceblock ' id='sourceblock1'>

  <div class='sourceblocktext'><div class="arduino" align="left" dir="ltr"><span class="coMULTI">/*<br />

  ReadAnalogVoltage<br />   Reads an analog input on pin 0, converts it to voltage, and prints the result to the serial monitor.<br />   Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.<br />  <br />  This example code is in the public domain.<br />  */</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="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 on analog pin 0:</span><br />   <span class="kw1">int</span> sensorValue <span class="sy0">=</span> <span class="kw1">analogRead</span><span class="br0">(</span>A0<span class="br0">)</span><span class="sy0">;</span><br />   <span class="co1">// Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):</span><br />   <span class="kw1">float</span> voltage <span class="sy0">=</span> sensorValue <span class="sy0">*</span> <span class="br0">(</span><span class="nu16">5.0</span> <span class="sy0">/</span> <span class="nu16">1023.0</span><span class="br0">)</span><span class="sy0">;</span><br />   <span class="co1">// print out the value you read:</span><br />   <span class="kw1">Serial</span>.<span class="kw1">println</span><span class="br0">(</span>voltage<span class="br0">)</span><span class="sy0">;</span><br /> <span class="br0">}</span></div></div>

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

</div>

</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/AnalogRead'><span dir="ltr">analogRead()</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/Reference/Float'>float</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='wikilink' 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='selflink' href='http://arduino.ir/Tutorial/ReadAnalogVoltage'>ReadAnalogVoltage</a> : مقدار یک ورودی آنالوگ را خوانده و ولتاژ را در Serial Monitor چاپ می کند. </li></ul>