آشنایی با زبان برنامهنویسی آردوئینو
زبان برنامهنویسی آردوئینو، یک زبان ساده و قدرتمند است که مبتنی بر زبان C++/C است. این زبان به شما این امکان را میدهد که به راحتی به سختافزار آردوئینو دسترسی پیدا کرده و آن را کنترل کنید. در این بخش به آشنایی با زبان برنامهنویسی آردوئینو پرداخته و مفاهیم اصلی آن را توضیح خواهیم داد.
1. ساختار کدهای آردوئینو
کدهای آردوئینو بهطور کلی از دو بخش اصلی تشکیل میشوند:
- Setup: در این قسمت، کدهای اولیه برای راهاندازی سیستم نوشته میشوند. این قسمت تنها یک بار در ابتدای اجرای برنامه اجرا میشود.
- Loop: این قسمت برای اجرای مداوم کدهای برنامه بهکار میرود. کدهایی که در این قسمت نوشته میشوند به طور پیوسته و در یک حلقه تکرار میشوند.
2. مثال ساده کد آردوئینو
در اینجا یک مثال ساده از برنامه آردوئینو آورده شده است که چراغ LED متصل به پین 13 را روشن و خاموش میکند:
pinMode(13, OUTPUT); // پین 13 به عنوان خروجی تنظیم میشود
}
void loop() {
digitalWrite(13, HIGH); // روشن کردن LED
delay(1000); // تاخیر 1 ثانیه
digitalWrite(13, LOW); // خاموش کردن LED
delay(1000); // تاخیر 1 ثانیه
}
در این برنامه:
- در setup()، پین 13 به عنوان یک پین خروجی تنظیم میشود.
- در loop()، چراغ LED روشن و خاموش میشود و بین هر تغییر وضعیت، یک ثانیه تاخیر وجود دارد.
3. توابع پایهای در زبان آردوئینو
در زبان برنامهنویسی آردوئینو، برخی توابع پایهای وجود دارند که برای کار با سختافزار و انجام عملیات مختلف ضروری هستند:
a. توابع ورودی/خروجی (I/O Functions)
-
pinMode(pin, mode): این تابع برای تعیین حالت یک پین (ورودی یا خروجی) استفاده میشود.
- pin: شماره پینی که میخواهید تنظیم کنید.
- mode: تعیین حالت پین (INPUT یا OUTPUT).
-
digitalWrite(pin, value): برای نوشتن یک مقدار دیجیتال (HIGH یا LOW) به یک پین استفاده میشود.
- pin: شماره پینی که میخواهید تغییر دهید.
- value: مقدار دیجیتال (HIGH برای روشن، LOW برای خاموش).
-
digitalRead(pin): برای خواندن مقدار دیجیتال از یک پین ورودی استفاده میشود.
b. توابع تأخیر (Delay Functions)
- delay(ms): این تابع باعث توقف اجرای برنامه به مدت مشخصی میشود.
- ms: مدت زمان توقف به میلیثانیه (1000 میلیثانیه برابر با یک ثانیه).
c. توابع آنالوگ (Analog Functions)
-
analogRead(pin): برای خواندن مقدار آنالوگ از یک پین استفاده میشود.
- pin: شماره پین آنالوگ.
-
analogWrite(pin, value): برای ارسال سیگنال PWM (مدولاسیون عرض پالس) به یک پین خروجی آنالوگ استفاده میشود.
- pin: شماره پین.
- value: مقدار PWM که بین 0 و 255 متغیر است.
4. دادهها و متغیرها
در زبان آردوئینو میتوانید از متغیرها برای ذخیره و استفاده از دادهها استفاده کنید. انواع دادهها بهطور مشابه در زبان ++C/C وجود دارند.
- int: برای ذخیره اعداد صحیح (مثلاً 1، -5، 100).
- float: برای ذخیره اعداد اعشاری (مثلاً 3.14، 5.6).
- char: برای ذخیره یک کاراکتر (مثلاً 'A' یا 'B').
- boolean: برای ذخیره مقادیر منطقی (true یا false).
float temperature = 22.5; // دما به درجه سانتیگراد
boolean isLedOn = true; // وضعیت LED
5. ساختار شرطی (Conditional Statements)
در زبان آردوئینو، میتوانید از دستورهای شرطی برای انجام عملیات مختلف بر اساس شرایط استفاده کنید.
- if/else: برای انجام عملیات بسته به یک شرط خاص.
digitalWrite(ledPin, HIGH); // اگر دما بیشتر از 30 درجه باشد، LED روشن میشود
} else {
digitalWrite(ledPin, LOW); // در غیر این صورت، LED خاموش میشود
}
6. حلقهها (Loops)
برای انجام عملیات تکراری میتوانید از حلقهها استفاده کنید.
- for: برای تکرار تعداد معینی از دفعات.
digitalWrite(ledPin, HIGH);
delay(500); // تاخیر نیمثانیه
digitalWrite(ledPin, LOW);
delay(500);
}
- while: برای تکرار تا زمانی که شرطی برقرار باشد.
digitalWrite(ledPin, HIGH); // روشن کردن LED
}
7. توابع سفارشی
در آردوئینو میتوانید توابع خود را تعریف کرده و در برنامه استفاده کنید. این توابع میتوانند شامل ورودی و خروجی باشند.
digitalWrite(13, HIGH); // روشن کردن LED
}
void setup() {
pinMode(13, OUTPUT);
turnOnLed(); // فراخوانی تابع
}
void loop() {
// برنامه اصلی
}
8. استفاده از کتابخانهها
در زبان آردوئینو، شما میتوانید از کتابخانهها برای تعامل با سختافزارهای مختلف استفاده کنید. برای استفاده از کتابخانهها، ابتدا باید آنها را وارد کنید و سپس از توابع موجود در آنها استفاده کنید. بهعنوان مثال، برای استفاده از کتابخانه Servo برای کنترل یک موتور سروو:
Servo myServo; // ایجاد یک شیء از کلاس Servo
void setup() {
myServo.attach(9); // اتصال موتور سروو به پین 9
}
void loop() {
myServo.write(90); // تنظیم سروو در زاویه 90 درجه
delay(1000);
myServo.write(0); // تنظیم سروو در زاویه 0 درجه
delay(1000);
}
نتیجهگیری
زبان برنامهنویسی آردوئینو یک زبان ساده و قدرتمند برای کنترل و برنامهنویسی بردهای آردوئینو است. با استفاده از توابع پایهای، کتابخانهها و متغیرها، میتوانید برنامههای مختلفی را برای پروژههای الکترونیکی خود بنویسید و از آردوئینو برای ایجاد مدارهای پیچیده استفاده کنید.
