آموزش آردوینو پروژه دوم
اینجا دیدید که چطور اولین گام رو برای شروع کارمون در آموزش آردوینو برداشتیم. شاید یک LED چشمکزن، ساده به نظر بیاد؛ اما طبق یک افسانهی قدیمی کسی که یکبار LEDD ها رو خاموش روشن کنه نفرین اونها تا پایان عمر گریبانش رو میگیره و نمیتونه هیچ پروژهای رو بدون روشن خاموش کردن اونها به پایان برسونه! حالا که این نفرین گریبانمون رو گرفته، بهتره بیشتر باهاش آشنا بشیم! توی نمونه کدی که استفاده کردیم دوتا تابع اصلی وجود داشت، یکی Setup و اون یکی هم Loop. تابع Setup اینجا مختصری دربارهاش توضیح دادهشده و بهطور خلاصه ما توی این پروژه برای پیکربندی وضعیت پینها ازش استفاده کردیم. پین چیه؟ پین پینه دیگه! رو بوردتون نگاه کنید. توی دو طرفش تعداد زیادی ازش وجود داره. شما اول باید تو همین تابع Setup تکلیف خودتون و بوردتون رو با این پینها مشخص کنید. فعلاً همینقدر میدونم که میتونیم وضعیت ورودی یا خروجی بودنشون رو مشخص کنیم. طبیعتاً شما بهجای LED_BUILTIN میتونید بنویسید 5 که منظورتون همون پین شماره 5 هست. تابع Loop هم که باز اینجا دربارهاش توضیح دادهشده و تا وقتی جان در بدن دارد مرتباً تکرار میشه! ما توی این پروژه کار هیجانانگیزی کردیم و مقداری رو توی خروجی یک پایه قرار دادیم! با همین یک خط دستور digitalWrite اعلام کردیم مقدار HIGH که ۱ هست و یا مقدار LOW که همون صفر هست رو توی خروجی قرار بده.1 2 3 4 5 6 7 8 9 10 11 12 | void setup() { // initialize digital pin LED_BUILTIN as an output. pinMode(LED_BUILTIN, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | int brightness=0; int steps=5; // the setup function runs once when you press reset or power the board void setup() { // initialize digital pin LED_BUILTIN as an output. pinMode(LED_BUILTIN, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(LED_BUILTIN, brightness); brightness+=steps; if(brightness<=0 || brightness>=255) steps=-steps; delay(30); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | int brightness=0; int steps=5; void setup() { pinMode(3, OUTPUT); } void loop() { analogWrite(3, brightness); brightness+=steps; if(brightness<=0 || brightness>=255) steps=-steps; delay(30); } |