Blink

این مثال ساده ترین کاری که شما می توانید با آردوینو برای دیدن خروجی فیزیکی انجام دهید را نشان می دهد.این مثال LED را به صورت چشمک زن در می آورد.

سخت افزار مورد نیاز

  • برد آردوینو
  • LED

مدار

برای ساختن مدار، یک مقاومت 220 اهمی را به پین 13 وصل کنید، بعد پایه بلند LED (پایه مثبت که آنود نامیده می شود) را به مقاومت و پایه کوتاه (پایه منفی که کاتود نامیده می شود) را به زمین متصل نمایید. سپس برد آردوینو را به کامپیوتر متصل کنید، برنامه آردوینو را شروع و کد زیر را وارد کنید.

اکثر بردهای آردوینو یک LED دارند که به پین 13 میکروکنترلر وصل است. اگر شما این مثال را بدون اتصال هیچ وسیله ی اجرا کنید، باید یک LED چشمک زن ببینید.

برای بزرگ شدن تصویر روی آن کلیک کنید.

این تصویر با استفاده از نرم افزار Fritzing ایجاد شده است. برای مثال های بیشتر مدار به صفحه پروژه های Fritzing مراجعه کنید.

شماتیک

برای بزرگ شدن تصویر روی آن کلیک کنید.

کد

در برنامه زیر اولین کاری که شما انجام می دهید این است که با دستور زیر پین 13 را به عنوان پین خروجی تنظیم کنید:

pinMode(13, OUTPUT);

در تابع Loop() برنامه، LED را با دستور زیر روشن می کنید:

digitalWrite(13, HIGH);

این دستور یک ولتاژ 5 ولتی را به پین 13 ارسال  و اختلاف پتانسیلی را روی پین های LED ایجاد کرده و آن را روشن می نماید. سپس با دستور زیر آن را خاموش می کنید:

digitalWrite(13, LOW);

این دستور پین 13 را به ولتاژ صفر برمی گرداند و LED را خاموش می کند. میان این خاموش و روشن کردن، شما می خواهید وقت کافی برای دیدن تغییرات را به افراد بدهید، بنابراین دستورdelay() به آردوینو می گوید که برای مدت 1 ثانیه یا 1000 میلی ثانیه، کاری انجام ندهد. وقتی شما از دستور delay() استفاده می کنید، درآن مدت زمان هیچ اتفاقی نمی افتد. زمانی که مثال های ساده را متوجه شدید، مثال BlinkWithoutDelay را هم بررسی کنید تا یاد بگیرید چگونه طی زمانی که کارهای دیگر انجام می شوند، یک تأخیر ایجاد کنید.

زمانی که این مثال را نیز متوجه شدید، مثال  DigitalReadSerial را چک کنید تا یاد بگیرید که چطور وضعیت سوییچ وصل شده روی برد آردوینو را بخوانید.

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.
 
  This example code is in the public domain.
 */

 
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

// the setup routine runs once when you press reset:
void setup() {               
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);    
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);               // wait for a second
}