تا زمانیکه تفاوت بین داده ها را ندانید، بزرگ ترین اشتباهات و در حین حال ساده ترین اشتباهات را رقم خواهید زد. داده یا دیتا نقش اساسی را در برنامه نویسی ایفا میکند. دیتا وارد سیستم شده،پردازش شده و سپس استخراج میشود. بسیاری از سنسورهای مورد استفاده در آردوینو وابسته به تعریف نوع صحیح داده هستند. در این آموزش اتواع داده ها را با یکدیگر بررسی خواهیم کرد. در ادامه با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.
معرفی انواع داده
داده Data، بخش اصلی یک برنامه نویسی است. تمامی دیتاهای دریافتی از سنسورها زمانی معنا پیدا میکند که نوع داده مشخص شده باشد. در طول برنامه نویسی داده ماهیت خودش را حفظ کرده و امکان تغییر وجود ندارد. شش داده ی اصلی که با آن ها مداوم در ارتباط هستیم، به صورت زیر است. به ضورت کلی دیتا تایپ همان نوع دیتا است که رنج دیتا، سایز حاففظه مورد نیاز برای دیتا، نوع عملکردی که بتوان بر روی آن دیتا انجام داد را مشخص میکند.
- char
- int
- float
- double
- void
- bool
- داده char برای ذخیرهی داده های کاراکتری مانند a,b,c,d,e,f,g,h استفاده میشود.
- داده int برای ذخیرهی اعداد صحیح مانند ۱,۲,۳,۴,۵ …. استفاده میشود.
- داده float برای ذخیرهی اعداد اعشاری مانند ۱٫۲, ۲٫۳, ۲٫۹۸, ۳٫۹۸ استفاده میشود.
- داده double برای ذخیره اعداد اعشاری بزرگتر از float استفاده میشود.
- داده bool برای ذخیره مقادیر منطقی مانند True, False استفاده میشود.
چه زمانی از علامت ها استفاده کنیم؟
استفاده از signed, unsigned, long,short داده های جدیدی را برای ما تولید میکند.
- از signed, short, long, unsigned برای int میتوانید استفاده کنید.
- از signed, unsigned برای char میتوانید استفاده کنید.
- از long برای double میتوانید استفاده کنید.
فراخوانی داده void
از void منحصرا برای استفاده در function میباشد.
1 2 3 |
Void Loop ( ) { // rest of the code } |
مثال
1 2 3 4 5 |
void setup() { Serial.begin(9600); } void loop() |
فراخوانی داده Boolean
داده Boolean دو ارزش را در خود نگهداری میکند. True, False، هر متغیر بولین یک بایت حافظه را اشغال می کند.
1 2 |
boolean val = false ; // boolean state = true ; // |
مثال
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
int LEDpin = 5; int switchPin = 13; boolean running = false; void setup() { pinMode(LEDpin, OUTPUT); pinMode(switchPin, INPUT); digitalWrite(switchPin, HIGH); // فعال کردن مقاومت پول آپ } void loop() { if (digitalRead(switchPin) == LOW) { delay(100); running = !running; // toggle running variable digitalWrite(LEDpin, running); } } |
فراخوانی داده char
روش فراخوانی داده char که برای ذخیره ی داده های کاراکتری است، به صورت زیر است. داده char هشت بیتی و بازه قابل قبول – ۱۲۷ تا ۱۲۷ است.
1 2 |
’Char parisa = ‘a ; Char parisa = 100 ; |
فراخوانی داده int
از این داده برای اعداد استفاده میشود. این داده ۱۶ یا ۳۲ بیتی است و بازه قابل قبول -۳۲۷۶۷ تا ۳۲۷۶۷ است.
1 |
int parisa = 123; |
نمونه برنامه برای تست داده int
1 2 3 4 5 6 7 8 9 10 11 |
int countplus = 0; //ساخت یک متغیر برحسب داده int void setup() { Serial.begin(9600); //استفاده از سریال مانیتور برای نمایش اعداد } void loop() { countplus++; //متغیر افزایشی برای شمارش اعداد Serial.println(countplus); // نمایش مقادیر متغیر در سریال مانیتور delay(1000); } |
فراخوانی داده float
بیشتری کاربرد این داده، برای نمایش اعداد اعشاری است. این داده ۳۲ بیتی است و بازه قابل قبول به صورت ۷ رقم دقت ( ارقام بعد از اعشار) به صورت تقریبی ۱۰-۳۸ تا ۱۰۳۸ است.
1 |
flaot parisa = 5.5789 |
تست برنامه با داده flaot
1 2 3 4 5 6 7 8 9 10 11 |
float countplus = 2.36; //ساخت متغیر بر واحد داده float void setup() { Serial.begin(9600); //استفاده از سریال مانیتور برای نمایش اعداد } void loop() { countplus++; //متغیر افزایشی برای شمارش اعداد Serial.println(countplus); // نمایش مقادیر متغیر در سریال مانیتور delay(1000); } |
فراخوانی داده double
داده double برای ذخیره اعداد اعشاری بزرگتر از float استفاده میشود. داده double 64 بیتی و بازه قابل قبول ۱۵ رقم دقت ( تقریبا ۱۰-۳۰۸ تا ۱۰۳۰۸ ) است.
1 |
double parisa = 45.665; |
فراخوانی داده long
از این داده برای ذخیره سازی اعداد در بازه ی گسترده تری استفاده میشود. این داده ۳۲ بیتی و بازه قابل قبول بین -۲۱۴۷۴۸۳۶۴۷ تا ۲۱۴۷۴۸۳۶۴۷ است.
1 |
long speedOfLight_km_s = 300000L; |
فراخوانی داده unsigned long
همانند long برای ذخیره ی اعداد در بازه ی بیشتر از long استفاده میشود و اعداد منفی را شامل نمیشود. بازه قابل قبول تا +۴,۲۹۴,۹۶۷,۲۹۵ است.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
unsigned long time; void setup() { Serial.begin(9600); } void loop() { Serial.print("Time: "); time = millis(); //prints time since program started Serial.println(time); // wait a second so as not to send massive amounts of data delay(1000); } |
داده بایت Byte
از داده بایت برای ذخیره اعداد بین ۰ تا ۲۵۵ استفاده میشود.
بررسی جدول انواع داده و مقادیر قابل قبول
در جدول زیر با انواع داده، اندازه به بیت و بازه قابل قبول هر داده آشنا خواهید شد.
جمع بندی
هدف از برنامه نویسی در آردوینو، دریافت دیتای صحیح از سنسور، پردازش و دریافت گزارش است. پس نقش مهمی را در کد آردوینو برای ما ایفا میکند. در دیتاشیت اغلب سنسورها داده های مجاز برای تعریف در برنامه نوشته شده است اما با توجه به ماهیت هر سنسور، میتوانید نوع داده مناسب برای آن را مشخص کنید. در این آموزش انواع داده، روش فراخوانی و نمونه برنامه اجرا شده برای هر داده آموزش داده شده است و به تسلط نسبی خواهید رسید.
سلام
خیلی کامل بود ممنونم از شما
سپاس از همراهی شما کاربر گرامی
سلام خانم مهندس
آیا امکان استفاده از چندین نوع داده وجود دارد؟
با سلام
بله هیچ مانعی برای استفاده وجود ندارد. اما دقت داشته باشید که اگر داده ای برای یک متغیر تعریف کرده اید در طول برنامه نویسی نوع آن تغییر نکند.