آردوینو فارسی
6.98K subscribers
760 photos
309 videos
641 files
246 links
اولین کانال تخصصی آموزش آردوینو
گروه:
https://t.me/ArduinoFarsi_G
لینک کانال یوتیوب:
https://www.youtube.com/c/ArduinoFarsi
ارتباط با ادمین و ثبت سفارش:
☎️ رضا اژدرکش: 09199117192
💲 حمایت از کانال:
شماره کارت: 6104331049714000
بانک ملت بنام رضا اژدرکش
Download Telegram
نمای پشت فیبر برد آردوینو MEGA 2560 چینی https://telegram.me/ArduinoKaraneJavan
در نهایت در صورتی که برد آردوینو خریداری شده خود را به آردوینو متصل نمودید و نام پورت COM در لیست پورتهای منوی Port ظاهر شد مراحل زیر را انجام دهید:

1⃣ پورت COM مربوط به برد آردوینو خودتان را از Tools/Port انتخاب کنید.

2⃣ نام برد آردوینوی خودتان را از Tools/Board انتخاب کنید.

3⃣ نوع پروگرمر خود را نیز از منوی Tools/Programmer/Arduino as ISP انتخاب کنید.

4⃣ فلش در جهت سمت راست در محیط IDE آردوینو که همان UPLOAD می باشد را کلیک کنید تا برنامه کامپایل شده و سپس در برد آردوینو پروگرم شود.

5⃣ با کلیک روی علامت ذره بین در گوشه بالا و سمت راست محیط IDE آردوینو سریال مانیتور را باز کرده و نتیجه برنامه زا در محیط سریال مانیتور مشاهده نمایید.

6⃣ چون کل برنامه در قسمت void setup نوشته شده است فقط یکبار هنگام روشن شدن برد اجرا می گردد. و درصورتی که بخواهید مجدداً خروجی برنامه را ببینید باید توسط فشردن دکمه Reset در روی برد آردوینو، این کار را انجام دهید.

با آرزوی موفقیت _ رضا اژدرکش

https://telegram.me/ArduinoKaraneJavan
آردوینو کاران جوان

اولین کانال آموزش آردوینو در تلگرام
آموزش از صفر تا بینهایت آردوینو https://telegram.me/ArduinoKaraneJavan
کار با پورت سریال

سلام دوستان امروز میخواهم براتون آموزش کامل کار با پورت سریال رو بزارم. امید وارم که درس قبلی رو تست کرده و جواب هم گرفته باشید. چون اگر می خواهید آردوینو را یاد بگیرید مستلزم این است که پا به پای هم تمامی دستورات را تمرین کنیم. لذا اگر تا کنون این کار را انجام نداده اید حتماً از امروز یک برد آردوینو ترجیحاً آردوینو UNO خریداری کنید و باهم شروع به تمرین کنیم تا از آموزشها عقب نیافتید.

کار با پورت سریال

برای کار با پورت سریال در آردوینو لازم است که مقادیر نرخ ارسال داده یا همان Baud Rate یا همان سرعت انتقال داده را روی یکی از مقادیر زیر تنظیم کنید:
300-1200-2400-4800-9600-19200-38400-57600-74880-115200-230400-250000
که سرعت پیشفرض 9600 می باشد. سرعت های 38400 و 115200 نیز بسیار کاربردی می باشند و چنانچه در آینده در آموزشهای مرتبط با وای فای و بلوتوث خواهید دید این سرعت ها زیاد استفاده خواهند شد.
از هر سرعتی که در برنامه استفاده می کنید در سریال مانیتور نیز باید همان سرعت را از گوشه پایین و سمت راست انتخاب کنید وگرنه اطلاعات دریافتی بصورت درهم و برهم نمایش داده می شوند.
برای تنظیم کردن پورت سریال می توانیم در قسمت void Setup که دستورات فقط یکبار انجام می شوند از دستور زیر استفاده کنیم:
Serial.begin(speed);
که در دستور فوق بجای speed یکی از نرخ ارسال های ذکر شده در بالا را وارد می نماییم. بعنوان مثال:
Serial.begin(9600);
لطفاً به حروف کوچک و بزرگ در دستورات استفاده شده دقت کنید، چون زبان C بسیار به حروف کوچک و بزرگ حساس می باشد.

در استفاده از پورت سریال مقادیر دیگری نیز وجود دارند که می توانیم تنظیم نماییم. مانند تعداد بیتهایی که می خواهیم ارسال کنیم Data bit که می تواند 5 و 6 و 7 و یا 8 باشد. تعداد بیتهای پایان که می تواند 1 یا 2 باشد. و بیت توازن که میتواند فرد O زوج E یا بدون توازن N باشد.
مقادیر پیشفرض 1 بیت پایان 8 بیت داده و بدون توازن هستند و بصورت اتوماتیک اعمال می گردند برای همین در دستور بالا ذکر نشده اند. ولی در صورتی که بخواهیم آنها را تغییر دهیم از دستور زیر استفاده می کنیم:
Serial.begin(speed, config);
که در آن config میتواند یکی از موارد زیر باشد:
SERIAL_5N1
SERIAL_6N1
SERIAL_7N1
SERIAL_8N1 (the default)
SERIAL_5N2
SERIAL_6N2
SERIAL_7N2
SERIAL_8N2
SERIAL_5E1
SERIAL_6E1
SERIAL_7E1
SERIAL_8E1
SERIAL_5E2
SERIAL_6E2
SERIAL_7E2
SERIAL_8E2
SERIAL_5O1
SERIAL_6O1
SERIAL_7O1
SERIAL_8O1
SERIAL_5O2
SERIAL_6O2
SERIAL_7O2
SERIAL_8O2

https://telegram.me/ArduinoKaraneJavan
کار با پورت سریال (ادامه)

در بعضی از برد های آردوینو چند پورت سریال وجود دارد بعنوان مثال در برد آردوینو MEGA2560 تعداد 4 عدد پورت سریال وجود دارد. برای این موارد از دستورات زیر استفاده می کنیم: (برای Serial0 عدد لازم نیست.)
Serial.begin(speed)
Serial1.begin(speed)
Serial2.begin(speed)
Serial3.begin(speed)
یا
Serial.begin(speed, config)
Serial1.begin(speed, config)
Serial2.begin(speed, config)
Serial3.begin(speed, config)
متال:
void setup(){
Serial.begin(9600);
Serial1.begin(38400);
Serial2.begin(19200);
Serial3.begin(4800);

Serial.println("Hello Computer");
Serial1.println("Hello Serial 1");
Serial2.println("Hello Serial 2");
Serial3.println("Hello Serial 3");
}

void loop() {
}
همانطور که از مثال فوق متوجه شدید پورت سریال صفر به همان مبدل سریال به USB متصل است. و برای کارهای دیگر مناسب نیست ولی می توان استفاده کرد.
خوب تنظیمات پورت سریال تمام شد. حالا بریم سراغ دستورات ورودی و خروجی پورت سریال وکاربرد دستورات آن.

https://telegram.me/ArduinoKaraneJavan
چون با پورت سریال زیاد کار داریم جهت یادآوری این تصویر را مجدداً گذاشتم.
👍3
دستورات تعریف متغیر

قبل از استفاده از دستورات پورت سریال باید یک سری تعاریف و دستورات برنامه نویسی را یاد بگیریم.
متغیر چیست؟ متغیر مکانی از حافظه آردوینو یا کامپیوتر است که می خواهیم اطلاعاتی را بصورت موقت در آن قرار دهیم. و مقدار آنرا می توانیم تغییر دهیم.
تعریف هر متغیر سه قسمت دارد:
1⃣ نوع متغیر: نوع متغیر می تواند یکی از انواع زیر باشد:
نوع int: برای اعداد صحیح منفی و مثبت بکار می رود. (از 32767 تا 32768-)
نوع long: برای مقادیر صحیح بزرگتر از int استفاده می شود.
👈 در ابتدای دو نوع int و long می توان از دستور unsigned برای تعریف نوع بدون علامت استفاده کرد.
نوع float: برای اعداد اعشاری بکار می رود. مثل 3.14
نوع char: برای یک کارکتر بکار می رود. مثل 'a'
نوع String: برای رشته بکار می رود.(حرف S باید بزرگ باشد) مثل "Ali"
نوع uint8_t: نوع داده از نوع int بدون علامت که مقدار آن دقیقاً 8 بیت است.
نوع uint16_t: نوع داده از نوع int بدون علامت که مقدار آن دقیقاً 16 بیت است.
نوع uint32_t: نوع داده از نوع int بدون علامت که مقدار آن دقیقاً 32 بیت است.
نوع uint64_t: نوع داده از نوع int بدون علامت که مقدار آن دقیقاً 64 بیت است.
و انواع دیگری که به مرور با هم در مورد آنها صحبت خواهیم کرد نیز وجود دارند.

2⃣ نام متغیر : یک مقدار رشته ای عددی است که باید تابع شرایط زیر باشد:
باید با یکی از حروف کوچک یا بزرگ انگلیسی شروع شود.
می توان از اعداد در نام گذاری متغیر استفاده کرد ولی نام متغیر نمیتواند با عدد شروع شود.
نام متغیر حداکثر می تواند 32 کارکتر داشته باشد.
می توان از خط زیر"_" نیز در در نامگذاری متغیر استفاده کرد.

3⃣ مقدار متغیر که بستگی به نوع متغیری دارد که انتخاب کرده ایم.

تعریف متغیر بصورت زیر است:
مقدار متغیر = نام متغیر نوع متغیر
مثال:
int Adad;
long Number;
float A1;
char ch1;
String Reshteh;

Adad = 32;
Number = 89898;
ch1 = 'B';
Reshteh = "Reza";
در تعریف متغیر می توان آنرا مقدار دهی کرد.
مثال:
int Adad = 100;
long Number = 92830;
float A1 = 9.007;
char ch1 = 'a';
String Reshteh = "Hello Arduino Karan";
می توان چندین متغیر را که از یک نوع هستند باهم تعریف کرد و با "," از هم جدا کرد و همزمان به هرکدام که بخواهیم مقدار بدهیم.
مثال:
int A1, A2, A3;
int B1, B2 = 35, B3;
String S1 = "Arduino", S2 = "is", S3 = "Best";

https://telegram.me/ArduinoKaraneJavan
1
دستورات شرطی

دستورات شرطی دستوراتی هستند که به برنامه ما قدرت تصمیم گیری می دهند.
if (شرط){
instructions_1
}
else{
instructions_2
}
دستورات instructions_1 مجموعه دستوراتی است که در صورت برقراری شرط اجرا می شوند.
دستورات instructions_2 مجموعه دستوراتی است که در صورت عدم برقراری شرط اجرا می شوند.

نوشتن قسمت else اختیاری است.
در صورتی که بخواهیم فقط از یک دستور در جواب شرط استفاده کنیم می توانیم از علامت های مجموعه {} استفاده نکنیم.
مثال:
void setup() {
تنظیمات پورت سریال
Serial.begin(9600);
}

void loop() {
مقدار ورودی آنالوگ 0 خوانده شده و در متغیر Value از نوع int ذخیره می گردد
int Value = analogRead(0);
اگر مقدار خوانده شده در متغیر Value کمتر از 100 باشد
if (Value < 100)
عبارت "Low" را در پورت سریال نمایش می دهد
Serial.println("Low");
در غیر اینصورت اگر مقدار خوانده شده در متغیر Value بین 100 و 500 باشد
else if ((Value >= 100) && (Value <= 500))
عبارت Normal را در پورت سریال نمایش می دهد
Serial.println("Normal");
در غیر اینصورت یعنی اگر مقدار خوانده شده در متغیر Value بیشتر از 500 باشد
else
عبارت High را در پورت سریال نمایش می دهد
Serial.println("High");
}

در دستورات شرطی از عبارت های زیر استفاده می شود:
1⃣ == یعنی اگر عبارت طرف چپ برابر با عبارت طرف راست باشد.
2⃣ =! یعنی اگر عبارت طرف چپ با عبارت طرف راست برابر نباشد.
3⃣ < یعنی اگر عبارت طرف چپ بزرگتر از عبارت طرف راست باشد.
4⃣ > یعنی اگر عبارت طرف چپ کوچکتر از عبارت طرف راست باشد.
5⃣ =< یعنی اگر عبارت طرف چپ بزرگتر از یا برابر با عبارت طرف راست باشد.
6⃣ => یعنی اگر عبارت طرف چپ کوچکتر از یا برابر با عبارت طرف راست باشد.

همچنین می توانیم دو عبارت شرطی را با استفاده از علائم منطقی با هم ترکیب کنیم.مثلاً
&& یعنی اگر عبارت شرطی طرف چپ درست باشد و عبارت شرطی طرف راست هم درست باشد دستورات زیر اجرا شوند.
مثال:
if ((Value >= 100) && (Value <= 500))
|| یعنی اگر عبارت شرطی طرف چپ درست باشد یا عبارت شرطی طرف راست درست باشد یا هردو عبارت شرطی درست باشند دستورات زیر اجرا شوند.
مثال:
int a, b, c = 20;
a=50, b=60;
if (a > 100 || b < 500)
c=a+49;
Serial.print(c);
در این مثال مقدار c برابر 99 خواهد شد زیرا با اینکه طرف چپ معادله یعنی a>100 درست نیست ولی طرف راست معادله یعنی b<500 درست است و دستور || به ما می گوید اگر طرف راست یا چپ یا هردو درست باشند دستورات پایینی اجرا شوند. بنابراین درپورت سریال عدد 99 چاپ خواهد شد.
مثال:
int a, b, c = 20;
a=50, b=60;
if (a > 100 && b < 500)
c=a+49;
Serial.print(c);

در این مثال مقدار c برابر 20 باقی خواهد ماند زیرا طرف چپ معادله یعنی a>100 درست نیست و طرف راست معادله یعنی b<500 درست است و دستور && به ما می گوید اگر طرف راست و چپ یعنی هردو درست باشند دستورات پایینی اجرا شوند. بنابراین درپورت سریال عدد 20 چاپ خواهد شد.
دستور ;(Serial.print(c مقدار داخل متغیر c را چاپ می کند.

https://telegram.me/ArduinoKaraneJavan
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
آردوینو کاران جوان

اولین کانال آموزش آردوینو در تلگرام
آموزش از صفر تا بینهایت آردوینو https://telegram.me/ArduinoKaraneJavan
عملگر های ریاضی

Arithmetic Operators

= ( عملگر انتساب یا مقدار دهی به یک متغیر)
+ (عملگر جمع)
- (عملگر تفریق)
* (عملگر ضرب)
/ (عملگر تقسیم)
% (عملگر باقی مانده تقسیم)

با چهار عملگر اصلی که + و - و * و / هستند همگی آشنا می باشیم ملی عملگر % چگونه عمل می کند؟
این عملگر دو مقدار عددی را به هم تقسیم کرده و باقی مانده تقسیم را برای ما برمیگرداند. بعنوان مثال:
6 % 3 = 0
11 % 4 = 3

در مثال اولی 6 = 3 * 2 می شود و باقی مانده 0 است در مثال دوم 8 = 4 * 2 می شود و 3 = 8 - 11 پس باقی مانده 3 می شود.
مثال :
int A = 12, B = 5, C;
C = A % B;
Serial.print (C);
در این مثال عدد 2 در سریال مانیتور چاپ می شود.

https://telegram.me/ArduinoKaraneJavan
👍1
عملگر های افزایش و کاهش یکانی

عملگر افزایش ++ : این عملگر یک واحد به مقدار متغیر اضافه می کند.
عملگر کاهش — : این عملگر یک واحد از مقدار متغیر کم می کند.
مثال:
int i=5;
i++;
مقدار 6 در خروجی چاپ می شود.
Serial.print(i);
i--;
مقدار 5 در خروجی چاپ می شود.
Serial.print(i);
اگر عملگر های افزایش و کاهش قبل از متغیر بیایند، ابتدا روی مقدار آن اثر گذاشته و سپس در عملیات ریاضی دیگر بکار می روند. ولی اگر بعد از نام متغیر بیایند ابتدا مقدار قبلی متغیر در محاسبات استفاده شده و سپس مقدار آن تغییر می کند.
مثال:
int A, B, C;
A = 4, B = 5;
C = A + (B++);
مقدار 9 چاپ خواهد شد.
Serial.print(C);
مقدار 6 چاپ خواهد شد.
Serial.print(B);
مقدار C برابر 9 خواهد شد ( 9 = 5 + 4 ) و سپس B یک واحد افزایش می یابد.
مثال:
int A, B, C;
A = 4, B = 5;
C = A + (++B);
مقدار 10 چاپ خواهد شد.
Serial.print(C);
مقدار 6 چاپ خواهد شد.
Serial.print(B);
مقدار C برابر 10 خواهد شد زیرا ابتدا B یک واحد افزایش می یابد و سپس با A جمع می شود. ( 10 = 6 + 4 )

https://telegram.me/ArduinoKaraneJavan
👍1
منوی Help/Reference

سلام بر آردوینو کاران جوان

دوستان به نظرم رسید که اگر بخواهیم همین طوری به بحث آموزش دستورات آردوینو بپردازیم چندین ماه باید معطل شویم تا به پروژه ها برسیم لذا شما میتوانید از دو روش سریع زیر برای آموزش دستورات استفاده کنید یا اینکه از طریق جستجو در اینترنت به مطالعه دستور مورد نظر بپردازید.

ابتدا باید سیستم شما به اینترنت متصل باشد.

1⃣ منوی Help/Reference را انتخاب کرده و روی دستورات مورد نظر کلیک کنید تا به توضیحات مربوط به آن دست یابید.

2⃣ در IDE آردوینو در ابتدای دستوری که در مثال هانوشته شده است کلیک کرده و کلید های ترکیبی Ctrl+Sift+F را بطور همزمان فشار دهید، تا در اینترنت به مرجع توضیحات آن دستور دست یابید.

لذا از این به بعد با طرح های کوچک شروع به برنامه نویسی خواهیم کرد و در هرکجای برنامه که دستورات جدیدی آورده شده باشد بطور کامل آن دستورات را با جزئیات برسی خواهیم کرد.

https://telegram.me/ArduinoKaraneJavan
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
وقتی دست کاربر رو باز میگذارید.
3
کار با دستورات پین های دیجیتال

سلام امروز میخوام کار با ورودی و خروجی های دیجیتال رو براتون آموزش بدم.
روی برد آردوینو UNO یک LED در کنار پایه دیجیتال شماره 13 وجود دارد که برای تست استفاده میشود و به همان پایه 13 متصل است.
ما هم در این آموزش از همان پایه به عنوان خروجی دیجیتال استفاده خواهیم کرد. البته شما می توانید از هر یک از پایه های دیگر دیجیتال استفاده کنید. در این صورت باید یک عدد LED را با یک مقاومت 330 اهمی سری کرده و پایه آند LED را به آن پایه که بعنوان خروجی انتخاب کرده اید بزنید و پایه کاتد LED را که با مقاومت سری شده به GND مدار آردوینو متصل نمایید.
در این مثال ما می خواهیم پایه 13 را بعنوان پایه خروجی تعریف کرده و با استفاده از آن LED متصل به آنرا به حالت چشمک زن در بیاوریم. مانند شکل زیر 👇🏻👇🏻👇🏻

https://telegram.me/ArduinoKaraneJavan
کار با دستورات پین های دیجیتال

برای این منظور از دستور زیر استفاده می کنیم:
pinMode(13,OUTPUT) ;
دستور pinMode دو تا آرگومان بعنوان ورودی میگیرد: آرگومان اول شماره پایه و آرگومان دوم حالت پایه است که به چند روش زیر می توانیم توسط آرگومان دوم حالت پایه را کانفیگ نماییم:

1⃣ در این حالت پایه pin بعنوان خروجی تعریف می شود:
1⃣ pinMode(pin,OUTPUT);

2⃣ در این حالت پایه pin بعنوان ورودی تعریف می شود:
2⃣ pinMode(pin,INPUT);

3⃣ در این حالت پایه pin بعنوان ورودی تعریف می شود و پایه مورد نظر توسط یک مقاومت داخل میکروکنترلر به 5v متصل می گردد:
3⃣ pinMode(pin,INPUT_PULLUP);

برای ارسال اطلاعات به پایه های دیجیتال از دستورات زیر استفاده میکنیم:

1⃣ برای فرستادن "1" منطقی به پایه pin که بعنوان خروجی تعریف شده است، از دستور زیر استفاده می نماییم:
1⃣ digitalWrite(pin, HIGH);

2⃣ برای فرستادن "0" منطقی به پایه pin که بعنوان خروجی تعریف شده است، از دستور زیر استفاده می نماییم:
2⃣ digitalWrite(pin, LOW);

توجه نمایید در صورتی که پایه pin بعنوان ورودی تعریف شده باشد، و به آن پایه "1" منطقی بفرستیم. آن پایه به حالت INPUT_PULLUP می رود. و درصورتی که به آن "0" منطقی ارسال کنیم به حالت INPUT می رود. و مقاومت PULLUP آن غیر فعال می گردد.

برای نامگذاری پایه ها به نام دیگری غیر از اعدادی که روی برد نوشته شده است از کلید واژه define# استفاده می کنیم.
توجه نمایید که بعد از دستوراتی که با علامت # استفاده می شوند نباید ";" استفاده گردد.

مثال: می خواهیم نام پایه 13 را LED بگذاریم و آنرا بعنوان خروجی تعریف کرده و سپس LED را روشن کنیم:
#define LED 13
pinMode(LED, OUTPUT);
digitalWrite(LED, HIGH);


https://telegram.me/ArduinoKaraneJavan
👍2