به نام خدا |
||||
|
||||
|
<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 > Analog I/O</em> </p> <p class="vspace"></p> <h3>Fading</h3> <p>با استفاده از تابع <a class="wikilink" href="http://arduino.ir/Reference/AnalogWrite"> <span dir="ltr">analogWrite()</a></span> می توانیم کم نور یا پر نور کردن یک LED را نشان دهیم. <span class="wikiword">AnalogWrite</span> جهت روشن و خاموش کردن بسیار سریع یک پین دیجیتال برای ایجاد افکت کم نور کردن از <a class="wikilink" href="http://arduino.ir/Tutorial/PWM"><span dir="ltr">pulse width modulation (PWM)</a></span> استفاده می کند. </p> <p class="vspace"></p> <h3>سخت افزار مورد نیاز</h3> <ul>
<li>برد آردوینو </li> <li>برد بورد </li> <li>یک LED </li> <li>یک مقاومت 220 اهمی </li>
</ul> <p class="vspace"></p> <h3>مدار</h3> <p>از طریق یک مقاومت 220 اهمی، <strong>آنود</strong>(پایه بلندتر و مثبت)LED تان را به پین دیجیتال خروجی 9 روی آردوینو وصل کنید. <strong>کاتود</strong> (پایه کوتاه تر و منفی) را مستقیم به زمین وصل کنید. </p> <p class="vspace"></p> <p><span style="font-size:83%">برای بزرگ شدن تصویر روی آن کلیک کنید.</span> </p> <div>
<a class="urllink" href="nofollow"> <img width="400px" src="
" title /></a></div>
<p class="vspace"></p> <h3>شماتیک</h3> <p><span style="font-size:83%">برای بزرگ شدن تصویر روی آن کلیک کنید.</span> </p> <div>
<a class="urllink" href="nofollow"> <img width="300px" src="
" title /></a></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> <h3>کد</h3> <p>بعد از معرفی کردن پین 9 به <code>ledPin</code>، کار شما در تابع <span dir="ltr"><code>setup()</code></span> تمام می شود. </p> <p class="vspace"></p> <p>تابع <span dir="ltr"><code>analogWrite()</code></span> که شما در تابع <span dir="ltr">Loop() </span> کدتان استفاده خواهید کرد به دو آرگومان نیاز دارد: یکی برای اینکه به تابع بگویید که روی کدام پین نوشته شود، و دیگری مقدار<a class="wikilink" href="http://arduino.cc/en/Tutorial/PWM">PWM</a> ی که قرار است نوشته شود. </p> <p class="vspace"></p> <p>برای کم نور یا پر نورکردن یک LED ، به تدریج مفدار PWM شما از صفر(تمام بیت ها خاموش) به 255(تمام بیت ها روشن) افزایش می یابد، و بعد یک بار دیگر به مقدار صفر برمی گردد تا چرخه کامل شود. در برنامه ی آردوینو زیر، مقدار PWM با استفاده از متغیری به نام <code>brightness</code> تنظیم می شود. هر بار در <span dir="ltr">Loop()</span>، توسط مقدار متغیر <code>fadeAmount</code> افزایش می یابد. </p> <p class="vspace"></p> <p>اگر <code>brightness</code> در یکی از کران های مقدارش باشد (صفر یا 255) آنگاه <code>fadeAmount</code> به مقدار معکوس آن تغییر می کند. به عبارتی دیگر اگر <code>fadeAmount</code> حاوی مقدار 5 باشد، در این مرحله به 5- تبدیل می شود، اگر 5- باشد به 5 تبدیل می شود. بار بعد در <span dir="ltr">Loop() </span> این تغییر باعث می شود که <code>brightness</code> جهت را نیز تغییر دهد. </p> <p class="vspace"></p> <p><span dir="ltr"><code>analogWrite()</code></span> می تواند به سرعت مقدار PWM را تغییر دهد، بنابراین تأخیر در پایان برنامه سرعت پر نور یا کم نور شدن را کنترل می کند. تغییر مقدار تأخیر را تست کنید و ببینید که چطور برنامه تغییر می کند. </p> <p class="vspace"></p> <div class="code">
<p class="vspace"></p> <p></p> <div class="sourceblock " id="sourceblock1"> <div class="sourceblocktext"> <div class="arduino" align="left" dir="ltr"> <span class="coMULTI">/*<br />
Fade<br /> <br /> This example shows how to fade an LED on pin 9<br /> using the analogWrite() function.<br /> <br /> This example code is in the public domain.<br /> */</span><br />
<br /> <span class="kw1">int</span> led <span class="sy0">=</span> <span class="nu0">9</span><span class="sy0">;</span> <span class="co1">// the pin that the LED is attached to</span><br /> <span class="kw1">int</span> brightness <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span> <span class="co1">// how bright the LED is</span><br /> <span class="kw1">int</span> fadeAmount <span class="sy0">=</span> <span class="nu0">5</span><span class="sy0">;</span> <span class="co1">// how many points to fade the LED by</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">// declare pin 9 to be an output:</span><br /> <span class="kw1">pinMode</span><span class="br0">(</span>led<span class="sy0">,</span>
<span class="kw2">OUTPUT</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">// set the brightness of pin 9:</span><br /> <span class="kw1">analogWrite</span><span class="br0">(</span>led<span class="sy0">,</span>
brightness<span class="br0">)</span><span class="sy0">;</span> <br /> <br />
<span class="co1">// change the brightness for next time through the loop:</span><br /> brightness <span class="sy0">=</span> brightness <span class="sy0">+</span>
fadeAmount<span class="sy0">;</span><br /> <br />
<span class="co1">// reverse the direction of the fading at the ends of the
fade: </span><br />
<span class="kw1">if</span> <span class="br0">(</span>brightness
<span class="sy0">==</span> <span class="nu0">0</span> <span class="sy0">||</span> brightness <span class="sy0">==</span> <span class="nu0">255</span><span class="br0">)</span> <span class="br0">{</span><br />
fadeAmount <span class="sy0">=</span> <span class="sy0">-</span>fadeAmount
<span class="sy0">;</span> <br />
<span class="br0">}</span> <br /> <span class="co1">// wait for 30 milliseconds to see the dimming effect
</span><br />
<span class="kw1">delay</span><span class="br0">(</span><span class="nu0">30</span><span class="br0">)</span><span class="sy0">;</span>
<br /> <span class="br0">}</span></div> </div> <br> <br> <div class="sourceblocklink" align="left" dir="ltr"> <a href="http://arduino.cc/en/Tutorial/Fade?action=sourceblock&num=1" type="text/plain"> [دریافت کد]</a></div> </div> <p></p> <p class="vspace"></p>
</div> <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/AnalogWrite"> <span dir="ltr">analogWrite()</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/For">for</a> </li> <li><a class="wikilink" href="http://arduino.ir/Tutorial/PWM">PWM</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="selflink" 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>