آموزش برنامهنویسی آردوینو
۴ بخش جامع – از مبتدی تا پیشرفته
مقدمه
زبان برنامهنویسی آردوینو بر پایهی C/C++ طراحی شده و از سه بخش اصلی توابع، مقادیر و ساختارها تشکیل میشود. در این آموزش، اصول پایهای برنامهنویسی شامل متغیرها، انواع داده، عملگرها، ساختارهای کنترلی و توابع پرکاربرد بهصورت جامع ارائه میشود.
هر برنامهی آردوینو از دو بخش اصلی تشکیل شده است:
Setup
تنظیمات اولیه – یک بار اجرا میشود
Loop
اجرای بینهایت کد اصلی – تکراری
بخش اول: مفاهیم پایه و متغیرها
مطالعه کاملمتغیرها و انواع آن
متغیرها برای ذخیرهسازی دادهها در حافظه استفاده میشوند. انتخاب نوع دادهی مناسب تأثیر مستقیمی بر کارایی و مصرف حافظه دارد.
متغیر محلی
فقط در همان تابع قابل استفاده است
int sensor = 10;
متغیر سراسری
در کل برنامه قابل استفاده است
int led = 13;
ثابت (const)
مقداری که تغییر نمیکند
const float pi = 3.14;
متغیر ایستا (static)
مقدار بین فراخوانیها حفظ میشود
static int count = 0;
متغیر فرار (volatile)
ممکن است خارج از برنامه تغییر کند
volatile byte flag = 0;
انواع داده در آردوینو
ثابتها در آردوینو
true / false
HIGH / LOW
INPUT
OUTPUT
INPUT_PULLUP
LED_BUILTIN
نکته: در بخش کامل، مثالهای بیشتری از متغیرها و انواع داده ارائه شده است.
بخش دوم: ساختارهای کنترلی و تصمیمگیری
مطالعه کاملساختارهای کنترلی برای مدیریت جریان اجرای برنامه و تصمیمگیری بر اساس شرایط مختلف به کار میروند. این ساختارها نقش مهمی در ایجاد برنامههای پویا و هوشمند دارند.
دستورات شرطی
if
اجرای شرطی
if (x > 10) { ... }
else
اجرا در صورت نبود شرط
else { ... }
else if
شرط دوم
else if (x == 5) { ... }
switch-case
انتخاب چندمسیره
switch (var) { case 1: ... }
حلقههای تکرار
for
حلقه با شمارنده
for (int i=0; i<10; i++)
while
حلقه با شرط
while (x < 100) { x++; }
do-while
حداقل یک بار اجرا
do { ... } while (x < 100);
break / continue
خروج یا پرش در حلقه
break; / continue;
نمونه کد: در بخش کامل، مثالهای عملی از if-else، حلقه for و while ارائه شده است.
بخش سوم: توابع و عملگرها
مطالعه کاملعملگرهای حسابی و مقایسهای
+ جمع
- تفریق
* ضرب
/ تقسیم
% باقیمانده
== مساوی
!= نامساوی
> بزرگتر
< کوچکتر
عملگرهای منطقی و بیتی
&& AND
|| OR
! NOT
& AND بیتی
| OR بیتی
^ XOR بیتی
~ NOT بیتی
<< شیفت چپ
>> شیفت راست
عملگرهای مرکب و افزایشی
+=
-=
*=
/=
++
--
توابع تبدیل نوع داده
char(x)
byte(x)
int(x)
float(x)
long(x)
word(x)
توابع زمانی
delay(ms) تاخیر به میلیثانیه
delayMicroseconds(us) تاخیر به میکروثانیه
millis() زمان سپریشده (میلیثانیه)
micros() زمان سپریشده (میکروثانیه)
توابع ریاضی
abs(x) قدر مطلق
map(value, a, b, c, d) نگاشت
constrain(x, a, b) محدود کردن
pow(base, exp) توان
sqrt(x) جذر
random(max) عدد تصادفی
max(x, y) بیشینه
min(x, y) کمینه
بخش چهارم: توابع ورودی/خروجی و ارتباطات
مطالعه کاملتوابع ورودی و خروجی، رابط اصلی آردوینو با دنیای خارج هستند و امکان خواندن داده از حسگرها و نوشتن فرمان به محرکها را فراهم میکنند.
توابع ورودی/خروجی پایه
pinMode(pin, mode) تنظیم جهت پایه
digitalRead(pin) خواندن دیجیتال
digitalWrite(pin, value) نوشتن دیجیتال
analogRead(pin) خواندن آنالوگ (۰ تا ۱۰۲۳)
analogWrite(pin, value) نوشتن PWM (۰ تا ۲۵۵)
توابع پیشرفته ورودی/خروجی
tone(pin, freq, duration) تولید صدا
noTone(pin) توقف صدا
pulseIn(pin, value, timeout) اندازهگیری پالس
shiftOut(dataPin, clockPin, order, value) ارسال سریال
shiftIn(dataPin, clockPin, order) دریافت سریال
توابع ارتباط سریال
Serial.begin(speed) شروع ارتباط
Serial.print(data) چاپ متن
Serial.println(data) چاپ با خط جدید
Serial.read() خواندن یک بایت
Serial.available() تعداد بایتهای موجود
Serial.readString() خواندن بهصورت رشته
توابع وقفه
attachInterrupt(pin, ISR, mode) فعالسازی وقفه
detachInterrupt(pin) غیرفعالسازی وقفه
interrupts() فعالسازی کلی وقفهها
noInterrupts() غیرفعالسازی کلی وقفهها
نکته: حالتهای وقفه شامل RISING، FALLING، CHANGE، LOW و HIGH هستند.
توابع شبیهسازی صفحهکلید و ماوس
Keyboard.print(text) تایپ متن
Keyboard.press(key) فشار کلید
Mouse.click(button) کلیک ماوس
Mouse.move(x, y, wheel) حرکت مکاننما
سایر دستورات
#define NAME value تعریف ثابت
#include <library.h> افزودن کتابخانه
// کامنت تکخطی
/* ... */ کامنت چندخطی
مسیر پیشنهادی یادگیری
پیشنهاد میکنیم بخشها را بهترتیب مطالعه کنید تا یادگیری شما گامبهگام و اصولی پیش برود.
منابع
- ✓ م. اللهی رودپشتی، آموزش برد آردوینو از سختافزار تا نرمافزار، خاکیان، ۱۴۰۰
- ✓ م. اللهی رودپشتی، آموزش آردوینو با محوریت کنترل موتورهای الکتریکی، ۱۴۰۵
سایر کتابهای آموزشی آردوینو
پس از مطالعه این آموزش، میتوانید به سراغ سایر منابع ارزشمند این مجموعه بروید: