آموزش زبان c++\c
بخش دو :آموزش متغیرها و مقداردهی در C برای آردوینو
این بار متغیرها و مقداردهی در آردوینو رو طوری توضیح میدم که هم ساده و قابلفهم باشه و هم کاملاً کاربردی و حرفهای، طوری که وقتی تموم شدی کاملاً دستت بیاد چطور متغیر بسازی، چطور مقدار بدی و چطور درست استفاده کنی.

1. متغیر چیست؟
متغیر در برنامهنویسی دقیقاً مثل یک جعبه در حافظه است
که تو بهش یک اسم میدی و بعد میتونی داخلش یک مقدار ذخیره کنی.
در آردوینو، این “جعبه” داخل RAM محدود ذخیره میشود.
بنابراین انتخاب نوع درست خیلی مهم است تا حافظه هدر نرود.
مثال خیلی ساده:
;int age = 16
یعنی یک جعبه 2 بایتی به اسم age داری که داخلش مقدار 16 هست.
2. ساختار تعریف متغیر (قانون کلی)
هر متغیر سه بخش دارد:
نوع داده + نام متغیر + مقدار (اختیاری)
مثال عمومی:
نوع داده اسم متغییر = مقدار ;
مثال واقعی:
;float temperature = 24.6
3. چرا نوع داده مهم است؟
چون تعیین میکند:
- مقدار چقدر جا میگیرد؟
- چه مقدارهایی میشود داخلش گذاشت؟
- چقدر سریع پردازش میشود؟
مثلاً:
- اگر مقدار 0 تا 255 داری → بهترین نوع
byte - اگر مقدار اعشاری داری →
float - اگر زمان میلیثانیه میگیری →
unsigned long
4. نامگذاری متغیرها
بینهایت مهم است.
قانونها:
- با عدد شروع نمیشود
- فاصله نمیتواند داشته باشد
- حروف بزرگ/کوچک فرق میکند (age با Age فرق دارد)
- بهتر است توصیفی باشد
مثالهای درست:
; int age
; float waterTemp
; bool isPressed
مثال اشتباه:
// غلط ; int 2value
// غلط ; int led pin
مثال بد:
;int aaaaa
;int x1y2z3
5. مقداردهی اولیه (Initial Assignment)
این یعنی هنگام ساخت متغیر، به آن مقدار میدهی.
;int counter = 0
;float pi = 3.14
;bool ledState = false
6. مقداردهی بعد از ساخت
ممکن است اول متغیر را بسازی، بعد مقدار بدهی:
;int speed
;speed = 120
یا بعدا ممکنه که مقدارش در برنامه تغییر کنه .
7. متغیرهای محلی (local variables)
در داخل تابع تعریف میشوند.
فقط همانجا قابل استفادهاند.
مثال:
}()void loop
{// فقط داخل loop قابل استفاده است ; int x = 10
اگر خارج از تابع بخواهی از x استفاده کنی → خطا.
8. متغیرهای سراسری (global variables)
در بیرون از setup و loop تعریف میشوند
و در همه جای برنامه قابل استفادهاند.
مثال:
;int counter = 0
} () void setup
; ++ counter
{
نکته مهم:
- متغیرهای سراسری RAM را دائماً اشغال میکنند
- باید خیلی با دقت استفاده شوند
- برای اشتراک داده بین توابع بسیار مفیدند
9. ثابتها (const)
گاهی میخواهی مقداری داشته باشی که هیچوقت تغییر نکند.
مثلاً شماره پین LED:
;const int ledPin = 13
مزایا:
- هم امنتر است
- هم سریعتر کامپایل میشود
- هم اشتباهی مقدارش را تغییر نمیدهی
10. نوع خاص دیگر: define#
به جای const هم میتوانی استفاده کنی، مثل یک جایگزینی ساده:

تفاوت مهمش با const:
- const یک متغیر واقعی است
- define فقط جایگزینی متنی است (قبل از کامپایل)
برای آردوینو معمولاً const بهتر است
11. مثال ساده و واقعی آردوینو

در این مثال:
ledPinهمیشه 13 استcounterهر بار حلقه یکی زیاد میشود- مقدار counter % 2 باعث تولید 0 و 1 میشود → یعنی LED چشمک میزند
12. یک تشبیه خیلی جالب برای فهم بهتر
متغیر = یک لیوان
- نوع داده = اندازه و شکل لیوان (کوچک، بزرگ، مدرج)
- مقدار = آبی که داخل لیوان میریزیم
- مقداردهی مجدد = آب قبلی رو خالی کنیم و آب جدید بریزیم
- ثابت (const) = لیوانی که مهر و موم شده و نمیشود داخلش آب ریخت یا تغییر داد
با این مدل ذهنی همیشه متوجه میشی چه اتفاقی دارد میافتد.




