رفتن به نوشته‌ها

متغییرها در آردینو

uint8_t         متغیر ۸ بیتی با بازه مثبت

int8_t          متغیر ۸ بیتی با بازه مثبت و منفی

unit16_t      متغیر ۱۶ بیتی با بازه مثبت

int16_t        متغیر ۱۶ بیتی با بازه مثبت و منفی

هر آنچه در تعریف متغیر باید بدانیم

int : اعداد صحیح، مثال ۱و۲و۳و۰و۱-و۲۵- و…
در آردوینو uno که ۱۶ بیتی(۲ بایتی) هستش، به متغییر های از نوع int میشه مقادیر بین ۳۲,۷۶۸ تا ۳۲,۷۶۷- رو انتساب داد(۲به توان ۱۵ = ۳۲,۷۶۸)
توجه : برد آردوینو Due که ۳۲ بیتی(۴ بایت) هستش اعداد بین ۲,۱۴۷,۴۸۳,۶۴۸ تا ۲,۱۴۷,۴۸۳,۶۴۷- رو میشه انتساب داد(۲ به توان ۳۱ = ۲,۱۴۷,۴۸۳,۶۴۸)

unsigned int : مثل متغییر int هستش، تنها فرقش اینا که فقط شامل اعداد بزرگتر مساوی ۰ هستش(اعداد منفی رو پشتیبانی نمیکنه)، که برا وقتایی که نیاز به عدد منفی نداریم میتونی از این نوع متغییر استفاده کنیم که حافظه کمتری هم نسبت به int مصرف میکنه.
اعداد بین ۰ تا ۳۲,۷۶۸ رو میشه به این متغییر نسبت داد(۲به توان ۱۵ = ۳۲,۷۶۸)

word : مثل متغییر unsigned int هستش فقط با تفاوت این که اعداد بین ۰ تا ۶۵,۵۳۵ رو پشتیبانی میکنه(۲ به توان ۱۶ = ۶۵,۵۳۵)

long : این مثل متغییر int هستش، با این تفاوت که ۳۲ بیتی هستش(بر خلاف int که ۱۶ بیتی هستش) و اعداد ۲,۱۴۷,۴۸۳,۶۴۸ تا ۲,۱۴۷,۴۸۳,۶۴۷- رو پشتیبانی میکنه(۲ به توان ۳۱ = ۲,۱۴۷,۴۸۳,۶۴۸)

unsigned long : مثل متغییر از نوع long هستش فقط این که اعداد بزرگتر مساوی ۰ رو پشتیبانی میکنه فقط(و حافظه کمتری مصرف میکنه نسبت به long، اگه با اعداد منفی کایر نداریم، این متغییر بهتره از long)
توجه : long شبیه unsigned int هم هستش که اعداد ۱۶ بیتی رو پشتیبانی میکنه و long اعداد ۳۲ بیتی رو.(تنها فرقشون همینه)

short : والا این دقیقا مثل int هستش، ۱۶ بیتی هستش و ۲ بایت از حافظه اشغال میکنه، دقیقا مثل int، حالا این دو په فرقی با هم دارن رو نمیدونم pardon (کسی اگه میدونه به ما هم بگه blush )

byte : یع متغییر هستش که فقط اعداد صحیح رو پشتیبانی میکنه و ۸ بیتی(۱بایتی) هستش و اعداد ۰ تا ۲۵۵ رو پشتیبانی میکنه(کمترین حافظه رو در بین متغییر های هم نوعش مصرف میکنه)

float : متغییر های بالا همشون فقط اعداد صحیح رو پشتیبانی میکردن ولی float اعداد اعشاری رو هم پشتیبانی میکنه و محدوده این متغییر بین ۳٫۴۰۲۸۲۳۵E+38 تا  ۳٫۴۰۲۸۲۳۵E+38- هستش(که یعنی ۳٫۴۰۲۸۲۳۵ ضرب در ۱۰ به توان ۳۸)>>>> ولی این که این عدد از کجا اومده نمیدونم و حال فکر کردن و سرچ رو هم ندارم(کسی اگه میدونه به ما هم بگه bomb) ، متغییر float از نوع ۳۲ بیتی(۴بایت) هستش و ۶-۷ رقم اعشار دقت داره

double : دقیقا مثل float هستش فقط با این تفاوت که دقتش تا ۱۵ رقم اعشار هستش.

boolean : متغییری که یا ۰(false) هستش یا ۱(true)، این متغییر ۱ بایت حافظه مصرف میکنه
تحقیق کنید : والا من از زمان غاجار تا الان فرق بین bool و boolean رو نفهمیدم، برید تحقیق کنید و فهمیدید بیاید و به ما هم بگید. blush

char : این متغییر ۱ بایت حافظه مصرف میکنه، و اعداد -۱۲۸ تا ۱۲۷ رو میگیره؛ میشه گفت یه تک کاراکتر ذخیره میکنه؛ هر چی بهش بدی به صورت کد اسکی ذخیره میکنه.

char : این متغییر ۱ بایت حافظه مصرف میکنه، و اعداد -۱۲۸ تا ۱۲۷ رو میگیره؛ میشه گفت یه تک کاراکتر ذخیره میکنه؛ هر چی بهش بدی به صورت کد اسکی ذخیره میکنه.
جدول کدهای اسکی
بهتره پروژه زیر رو رو بردتون پروگرام کنید و تو پورت سریال چیزی که دریافت میکنید رو ببینید؛ این طوری فک کنم بهتر با تابع آشنا میشید :
۱) چیزی که به جای MyChar1 نشون میده یه کاراکتر هستش که کد اسکیش ۳۵ هستش(و باس از لینک بالا ببینید که این کد اسکی برا چه کاراکتری هستش)
۲) چیزی که با جای MyChar2 نشون میده همون عدد ۹ هستش؛ در واقع وقتی ما عدد ۹ رو میزاریم داخل  ‘ ‘ یعنی کد اسکی عدد ۹ میره داخل MyChar2  و به همین دلیل هنگام نمایش MyChar2 عدد ۹ رو نشون میده.
۳) و در نهایت چیزی که به جای MyChar3 نشون میده کاراکتر A هستش، دلیلش هم مثل دلیل بالا
به نظرم بهتره به جای این که فقط این چرندیات من رو بخونید، خودتون چن تا مثال بزنید و نحوه کار تابع رو ببینید، پروژه زیر رو هم تست کنید.

unsigned char : اینم مثل char هستش فقط اعداد ۰ تا ۲۵۵ رو پشتیبانی میکنه.
تحقیق کنید : والا من نمیدونم فرق بین unsigned char و char تو چیه و این که کجا باس از کدوم استفاده کرد؛ چون تاجایی که میدونم نام گزاری کاراکتر ها، همون کد اسکی مد نظرمه، از ۰ شروع میشه تا ۲۵۵، کاراکتری ندیدم که کد اسکی منفی داشته باشه، اگه فهمیدید به ما هم بگید(ثواب داره جان داش cry )

String : خوب این نوع از متغییر تقریبا مثل char هستش، فقط با این تفاوت که متغییر های char فقط یه کاراکتر میتونن تو خودشون ذخیره کنن اما متغییر های String میتونن یه سری کاراکتر(یه رشته) رو تو خودشون ذخیره کنن.

Array : خب اینم یه نوع دیگه از متغییر ها، این متغییر موتونه چندین متغییر رو درون خودش نگه داره، هر کدوم از متغییر های int-float-double و… فقط یه مقدار میتونستن بگیرن ولی آرایه میتونه شونصد تا مقدار تو خودش ذخیره کنه.

آموزش جامع آردوینو جلسه ۱۲ Data Types And Conversion

 

منتشر شده در آردوینو

اولین باشید که نظر می دهید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *