عملگر های افزایش و کاهش یکانی
✅ عملگر افزایش ++ : این عملگر یک واحد به مقدار متغیر اضافه می کند.
✅ عملگر کاهش — : این عملگر یک واحد از مقدار متغیر کم می کند.
مثال:
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
✅ عملگر افزایش ++ : این عملگر یک واحد به مقدار متغیر اضافه می کند.
✅ عملگر کاهش — : این عملگر یک واحد از مقدار متغیر کم می کند.
مثال:
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⃣ منوی Help/Reference را انتخاب کرده و روی دستورات مورد نظر کلیک کنید تا به توضیحات مربوط به آن دست یابید.
2⃣ در IDE آردوینو در ابتدای دستوری که در مثال هانوشته شده است کلیک کرده و کلید های ترکیبی Ctrl+Sift+F را بطور همزمان فشار دهید، تا در اینترنت به مرجع توضیحات آن دستور دست یابید.
لذا از این به بعد با طرح های کوچک شروع به برنامه نویسی خواهیم کرد و در هرکجای برنامه که دستورات جدیدی آورده شده باشد بطور کامل آن دستورات را با جزئیات برسی خواهیم کرد.
https://telegram.me/ArduinoKaraneJavan
👍1
کار با دستورات پین های دیجیتال
سلام امروز میخوام کار با ورودی و خروجی های دیجیتال رو براتون آموزش بدم.
روی برد آردوینو UNO یک LED در کنار پایه دیجیتال شماره 13 وجود دارد که برای تست استفاده میشود و به همان پایه 13 متصل است.
ما هم در این آموزش از همان پایه به عنوان خروجی دیجیتال استفاده خواهیم کرد. البته شما می توانید از هر یک از پایه های دیگر دیجیتال استفاده کنید. در این صورت باید یک عدد LED را با یک مقاومت 330 اهمی سری کرده و پایه آند LED را به آن پایه که بعنوان خروجی انتخاب کرده اید بزنید و پایه کاتد LED را که با مقاومت سری شده به GND مدار آردوینو متصل نمایید.
در این مثال ما می خواهیم پایه 13 را بعنوان پایه خروجی تعریف کرده و با استفاده از آن LED متصل به آنرا به حالت چشمک زن در بیاوریم. مانند شکل زیر 👇🏻👇🏻👇🏻
https://telegram.me/ArduinoKaraneJavan
سلام امروز میخوام کار با ورودی و خروجی های دیجیتال رو براتون آموزش بدم.
روی برد آردوینو 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
برای این منظور از دستور زیر استفاده می کنیم:
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
Lesson_2.ino
662 B
#درس 2: نرم افزار LED چشمک زن یک ثانیه ای https://telegram.me/ArduinoKaraneJavan
کار با دستورات پین های دیجیتال
استفاده از کلید برای روشن کردن و خاموش کردن LED:
در این مثال ما با نحوه دیگری از تعریف متغیر برای نام پایه های دیجیتال آشنا شده و با دستورات ورودی و خروجی دیجیتال آشنا می شویم.
سپس با استفاده از دستور if_then_else برنامه را کنترل می کنیم.
https://telegram.me/ArduinoKaraneJavan
استفاده از کلید برای روشن کردن و خاموش کردن LED:
در این مثال ما با نحوه دیگری از تعریف متغیر برای نام پایه های دیجیتال آشنا شده و با دستورات ورودی و خروجی دیجیتال آشنا می شویم.
سپس با استفاده از دستور if_then_else برنامه را کنترل می کنیم.
https://telegram.me/ArduinoKaraneJavan
Lesson_3.ino
2 KB
طرح روشن و خاموش کردن LED با استفاده از کلید. در این طرح با نحوه خواندن و نوشتن دیجیتال آشنا میشویم.
https://telegram.me/ArduinoKaraneJavan
https://telegram.me/ArduinoKaraneJavan
دانا ، نادان را می شناسد
چرا که خود زمانی نادان بوده است
اما نادان ، دانا را نمی شناسد
چرا که هرگز دانا نبوده است
👤 افلاطون
چرا که خود زمانی نادان بوده است
اما نادان ، دانا را نمی شناسد
چرا که هرگز دانا نبوده است
👤 افلاطون
https://telegram.me/ArduinoKaraneJavan
حامد محضرنیا
شب یلداتون پیشاپیش مبارک
Debounce
در کلید های مکانیکی هنگام فشردن یا رها کردن کلید، بدلیل مکانیکی بودن آنها و ارتعاشات تیغه های فلزی استفاده شده در کلیدها هنگامی که ما کلید را به ظاهر یکبار فشار می دهیم عملاً کلید فوق چندین بار قطع و وصل می شود تا فشرده گردد. و همین عمل هنگام رها کردن یک کلید تحت فشار نیز دوباره اتفاق می افتد. که به این اتفاق نویز می گویند.
لذا برای جلوگیری از این امر و حذف نویز های فوق از روش Debounce استفاده می گردد.
روش Debounce به دو صورت می تواند انجام گیرد:
1⃣ روش Debounce سخت افزاری: در این روش پین ورودی آردوینو که می خواهیم به آن کلید متصل نماییم را با یک مقاومت 1K الی 10K به زمین متصل نموده و با یک خازن الکترولیت در حدود 47uF به مثبت مدار متصل می نمایند و کلید فوق را با خازن مزبور موازی می کنند. در این حالت خازن با اولین فشرده شدن کلید تخلیه شده و مقدار 1 منطقی به پین مورد نظر می رسد ولی چون خازن با یک مقاومت سری شده، لذا نمیتواند بصورت آنی شارژ شود و بنابراین لرزش های تیغه اثری در مقدار منطقی پبن متصل به کلید نخواهد داشت.
در هنگام رها کردن کلید نیز برعکس این اتفاق روی می دهد. چون هنگام رها کردن کلید ابتدا لرزش تیغه فلزی کلید اتفاق می افتد، وضعیت منطقی پین در همان حالت قبلی یعنی 1 منطقی باقی می ماند و پس از رها شدن کامل کلید، یعنی بعد از آخرین لرزش آن خازن پس از گذشت مدت زمان 5RC بطور کامل شارژ شده و در حکم مدار باز عمل می کند. یعنی پین مورد نظر در این حالت فقط با یک مقاومت به زمین متصل است و دارای مقدار منطقی 0 می شود.
استفاده از روش Debounce سخت افزاری باعث پیچیدگی مدار طراحی شده و همچنین شلوغی آن می گردد. مثلاً فرض کنید اگر کی برد کامپیوتر که 108 عدد کلید دارد را بخواهیم با این روش حذف نویز کنیم چه اتفاقی می افتد.
لذا روش دیگری بنام Debounce نرم افزاری ابداع گردید.
2⃣ روش Debounce نرم افزاری: در این روش طی یک زیر برنامه ای که می نویسیم به محض اینکه در پین ورودی که کلید به آن متصل است اولین تغییر از سطح منطقی 1 به 0 یا برعکس اتفاق افتاد مقدار آنرا می خوانیم و به مدت زمان معینی بین 50 تا 100 میلی ثانیه صبر می کنیم تا لرزش کلید تمام شود و سپس مجدداً مقدار منطقی کلید را می خوانیم. اگر مقدار خوانده شده با مقداری که قبل از زمانبندی اندازه گرفته بودیم برابر بود یعنی کلید تغییر حالت داده و از مقدار خوانده شده در برنامه استفاده می کنیم. در غیر اینصورت آنرا نویز حساب کرده و مجدداً منتظر تغییر حالت کلید می مانیم.
https://telegram.me/ArduinoKaraneJavan
در کلید های مکانیکی هنگام فشردن یا رها کردن کلید، بدلیل مکانیکی بودن آنها و ارتعاشات تیغه های فلزی استفاده شده در کلیدها هنگامی که ما کلید را به ظاهر یکبار فشار می دهیم عملاً کلید فوق چندین بار قطع و وصل می شود تا فشرده گردد. و همین عمل هنگام رها کردن یک کلید تحت فشار نیز دوباره اتفاق می افتد. که به این اتفاق نویز می گویند.
لذا برای جلوگیری از این امر و حذف نویز های فوق از روش Debounce استفاده می گردد.
روش Debounce به دو صورت می تواند انجام گیرد:
1⃣ روش Debounce سخت افزاری: در این روش پین ورودی آردوینو که می خواهیم به آن کلید متصل نماییم را با یک مقاومت 1K الی 10K به زمین متصل نموده و با یک خازن الکترولیت در حدود 47uF به مثبت مدار متصل می نمایند و کلید فوق را با خازن مزبور موازی می کنند. در این حالت خازن با اولین فشرده شدن کلید تخلیه شده و مقدار 1 منطقی به پین مورد نظر می رسد ولی چون خازن با یک مقاومت سری شده، لذا نمیتواند بصورت آنی شارژ شود و بنابراین لرزش های تیغه اثری در مقدار منطقی پبن متصل به کلید نخواهد داشت.
در هنگام رها کردن کلید نیز برعکس این اتفاق روی می دهد. چون هنگام رها کردن کلید ابتدا لرزش تیغه فلزی کلید اتفاق می افتد، وضعیت منطقی پین در همان حالت قبلی یعنی 1 منطقی باقی می ماند و پس از رها شدن کامل کلید، یعنی بعد از آخرین لرزش آن خازن پس از گذشت مدت زمان 5RC بطور کامل شارژ شده و در حکم مدار باز عمل می کند. یعنی پین مورد نظر در این حالت فقط با یک مقاومت به زمین متصل است و دارای مقدار منطقی 0 می شود.
استفاده از روش Debounce سخت افزاری باعث پیچیدگی مدار طراحی شده و همچنین شلوغی آن می گردد. مثلاً فرض کنید اگر کی برد کامپیوتر که 108 عدد کلید دارد را بخواهیم با این روش حذف نویز کنیم چه اتفاقی می افتد.
لذا روش دیگری بنام Debounce نرم افزاری ابداع گردید.
2⃣ روش Debounce نرم افزاری: در این روش طی یک زیر برنامه ای که می نویسیم به محض اینکه در پین ورودی که کلید به آن متصل است اولین تغییر از سطح منطقی 1 به 0 یا برعکس اتفاق افتاد مقدار آنرا می خوانیم و به مدت زمان معینی بین 50 تا 100 میلی ثانیه صبر می کنیم تا لرزش کلید تمام شود و سپس مجدداً مقدار منطقی کلید را می خوانیم. اگر مقدار خوانده شده با مقداری که قبل از زمانبندی اندازه گرفته بودیم برابر بود یعنی کلید تغییر حالت داده و از مقدار خوانده شده در برنامه استفاده می کنیم. در غیر اینصورت آنرا نویز حساب کرده و مجدداً منتظر تغییر حالت کلید می مانیم.
https://telegram.me/ArduinoKaraneJavan
This media is not supported in your browser
VIEW IN TELEGRAM
🔴 4 درس از یک فیلم 5 ثانیه ای!
1.زود ناامید نشو!
2.موفقیت تو را مغرور نکند.
3.گاهی کمی صبر، شکست را به پیروزی تبدیل می کند.
4.گاهی کمی عجله، پیروزی را به شکست تبدیل می کند. (نشردهید)
1.زود ناامید نشو!
2.موفقیت تو را مغرور نکند.
3.گاهی کمی صبر، شکست را به پیروزی تبدیل می کند.
4.گاهی کمی عجله، پیروزی را به شکست تبدیل می کند. (نشردهید)