به نام خدا
آموزش جامع آردوینو جلسه ۱ : سلام خدمت شما دوستان گل ، تو این مطلب از آموزش آردوینو که جلسه اولش هم هست (و انشاالله تا آخرش میریم) میخوام به توضیح توابع آردوینو بپردازم و یه پروژه آردوینو هم براتون گزاشتم.
توجه : من از برد UNO آردینو استفاده میکنم ، به شما هم پیشنهاد میکنم همین برد رو بخرید.(از ما گفتن ) شماتیک های پروژه رو هم که میبنید همین برد آردینو UNO هستش.
setup و loop
اول اینو بگم که ساختار اصلی هر پروژه آردوینو به صورت زیر هستش که دو تابع setup و loop رو شامل میشه ، و این حداقل کد برا هر پروژه هستش.
که لپ کلوم این میشه که کد هایی رو که داخل loop بزاریم ، بینهایت بار اجرا میشه (یه هلقه بینهایت هستش) و کدهای داخل setup هم فقط یک بار اجرا میشه.(اونم هنگام شروع پروژه و وقتی برق وصل میشه یا وقتی که بردمون ریست میشه)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
//محل تعریف متغییر ها void setup() { //The setup() function is called when a sketch starts. //Use it to initialize variables, pin modes, start using libraries, etc. //The setup function will only run once, //after each powerup or reset of the Arduino board. } void loop() { //After creating a setup() function, which initializes and sets the initial values, //the loop() function does precisely what its name suggests, //and loops consecutively, allowing your program to change and respond. //Use it to actively control the Arduino board. } |
توجه۱ : در arduino توضیحات همانند زمان c با // شروع میشن و اینا در پروژه تاثیری ندارن.
توجه۲ : توضیحات loop و setup در سایت arduino
توجه۳ : متغییر هامون رو میتونید قبل از setup و loop قرار بدیم.
Functions Digital I/O (توابع ورودی خروجی دیجیتال)
تو این قسمت ۳ تا تابع به نام های pinMode و digitalWrite و digitalRead داریم.
pinMode : همون طور که میدونید هر برد آردوینویی شامل تعدادی پایه هستش که این پایه ها رو ما میتونیم حالتشون رو تعیین کنیم ، یعنی تعیین کنیم که ورودی باشن یا خروجی ، اگه پایه ورودی باشه اطلاعات از میخونیم(یعنی میتونیم بفهمیم که چه ولتاژی روی این پایه قرار دارد ۰ یا ۵ ولت ، ۰ منطقی یا ۱ منطقی) و اگه پایه خروجی باشه ولتاژ میده(مثلا اگه بخوایم یه led رو روشن کنیم باید پایه متصل به led رو خروجی تعریف کنیم تا بتونیم به led ولتاژ بدیم)….خداییش ساده تر از این نمیتونستم بگم.
1 |
pinMode(x, y); |
x : شماره پایه ای رو که میخوای ورودی یا خروجی بودنش رو تعیین کنی باس اینجا بنویسی.
y : اگه اینجا بنویسی OUTPUT یعنی پایه خروجی میشه و اگه بنویسی INPUT پایه ورودی تعریف میشه.
توجه : این تابع رو در قسمت setup مینویسیم ، چون یه بار فقط میخوام تو کل پروژه ورودی و خروجی هامون رو تعیین کنیم و لازم نیست که هی تکرار بشه.(یه بار هم زیادشه )
digitalWrite : وقتی پایه ای رو خروجی تعریف کردی میتونی از این تابع برای اون پایه استفاده کنی ، که میتونی ولتاژ ۰ یا ۵ ولت(۰ و ۱ منطقی) به اون پایه بدی.
1 |
digitalWrite(x,y); |
x : شماره پایه ای رو که میخوای مقدار بهش بدی رو باس اینجا بنویسی.
y : اگه اینجا بنویسی HIGH (یا عدد ۱) یعنی رو پایه خروجیمون ولتاژ ۵ ولت میوفته و اگه بنویسی LOW (یا عدد ۰) یعنی رو پایه خروجیمون ولتاژ ۰ ولت میوفته.
digitalRead : وقتی پایه ای رو ورودی تعریف کردی میتونی از این تابع برای اون پایه استفاده کنی ، که میتونی توسط این تابع ولتاژ روی اون پایه رو بخونی.
1 |
digitalRead(x); |
x : شماره پایه ای رو که میخوای ولتاژ اعمال شده بهش رو بخونی رو باس اینجا بنویسی.
توجه۲ : توضیحات pinMode و digitalWrite و digitalRead در سایت arduino
مــــــــثــــــــالـــــــ
شماتیک پروژه
کد های پروژه
1 2 3 4 5 6 7 8 9 10 11 |
int pin10_mod; // تعریف یه متغیر برا این که مقدار پایه ورودی درش ذخیره بشه و بعد این مقدار رو بدیم به پایه خروجی void setup() { pinMode(9,OUTPUT); // پایه ۹ خروجی میشه pinMode(10,INPUT); // پایه ۱۰ ورودی میشه } void loop() { pin10_mod = digitalRead(10); //خوندن مقدار پایه ۱۰ و ریختن در متغیر digitalWrite(9,pin10_mod); // دادن مقدار پایه ۱۰ به پایه ۹ توسط متغییر که تعریف کردیم در اول پروژه } |
خوب تا همین جا کافیه ، برم یه استراحتی کنم ؛ جان داش خسته شدم
سوالی بود در خدمتیم.
فعلا یا علی
مهمان
سلام به همه دوستان و تشکر برای مطالب آموزنده
سئوالی داشتم راجع به راجبه پروگرام کردن STM32F030K6T6 … آیا امکان پروگرام کردن این IC با آردوینو هست ؟
مهمان
سلام خسته نباشید من دوتا سوال داشتم اول اینکه میشه برد due را با linx برنامه ریزی کرد و دوم اینکه همزمان میشه چند ورودی انالوگ این برد رو با پورت سریال تو لب ویو نمایش داد بصورت online
مهمان
سلام
به یک جهت کد نویسی اردوینو نیاز دارم
مهمان
کد پروژه گاهی بهم میریزه
من کدهاشو اصلاح کردم
این دقیقتره و خطا نمیده:
void setup()
{
pinMode(9,OUTPUT);
pinMode(10,INPUT);
}
void loop()
{
if(digitalRead(10)==1)
digitalWrite(9,1);
else digitalWrite(9,0);
}
مهمان
با سلام.یک بردآردوینو R3 UNO رو برای ساخت یک پروژه خریده ام. 1- برای نصب آردوینو روی کامپیوتر 2- اتصال آردوینو به کامپیوتر 3- آپلود کدها ( که در اینترنت برای ساخت این پروژه ارائه شده است) روی برد، دقیقا چه کارهایی باید انجام بدهم؟ لطفا راهنمایی بفرمایید. ویا یک منبع آموزشی معرفی بفرمایید.با تشکر
مهمان
سلام وممنون از سایت خوبتون
من برد رو راه انداختم و چشمک زن هم شده اما هیچ حرکتی تو استپر موتور انجام نمیشه امکان این هست راهنمایی بفرمایید ؟حتی به صورت دستی هم تو کنترلر حاکتی نمیکنه موتور . البته من فقط یک موتور رو وصل کردم اما بعید میدونم ایراد این باشه . ممنون میشم راهنمایی کنید ..
مهمان
سلام وممنون از سایت خوبتون
من برد رو راه انداختم و چشمک زن هم شده اما هیچ حرکتی تو استپر موتور انجام نمیشه امکان این هست راهنمایی بفرمایید ؟حتی به صورت دستی هم تو کنترلر حاکتی نمیکنه موتور . البته من فقط یک موتور رو وصل کردم اما بعید میدونم ایراد این باشه . ممنون میشم راهنمایی کنید
مهمان
سلام
ببخشید من یه سوال داشتم
من یه پنل خورشیدی دارم که می خوام بهش کد بدم که فقط روزی 2 ساعت نور بگیره
مثلا اگه 1 ساعت نور گرفته و بعد سایه شده و باز آفتاب بیاد از اول شروع به delay() ; نکنه و ادامه اون یک ساعت رو بره
ممنون میشم اگه جواب بدین
مهمان
سلام باید از تابع millisاستفاده کنی که البته تا 50 روز نهایتا ذخیره داره باز ریست میشه که البته با یک الگوریتم میشه درستش کرد تابعdelayبه این صورت که شما اگه 5ثانیه زمان دادین میکرو به حالت sleepمیره و دستورات بعدی تا زمان پایان دستور delay انجام نمیشه که این یک ضعف میشه برای برنامه!
مهمان
سلام آقا مهدی دستت درد نکنه مطالبت خیلی کمکم کرد…
ی سوال دارم اگه ممکنه راهنماییم کنی…
من اندروید استودیو کارکردم و اونقدری بلدم که بتونم کار خودمو راه بندازم و برنامه قابل اجرا تو گوشی های هوشمند بنویسم.
حالا قصد دارم ی کاری انجام بدم که برد آردوینو کمکم میکنه … آیا میشه از طریق نرم افزار در حال اجرا توی گوشی و اتصال کابل usb به آردوینو وصل شد و اونو کنترل کرد و بهش دستور داد؟ و آیا میشه با اندروید استودیو اونو پروگرمش کرد؟؟
مهمان
اقا سلام
خسته نباشید
اقا میخوام برم یه برد اردوینو اونو بخرم ولی مدل های مختلفی داره به نظر.
اردوینو اونو r3 اوکیه یا برد دیگه ای برا اموزش بگیرم؟
و اینکه تو قسمت کار با lcd ها، اون پایه 5 ولتش کافیه برای متصل کردن به پایه 5 ولت lcd؟
نویسنده این مطلب
سلام – هرچی میخری بخر – فقط مدل سری ch340 رو نخر داستان میشه برات یه وقت.
همون uno خوبه.
بله کافیه ولی خب برا اطمینان بیشتر یه تغذیه خارجی هم باشه بد نی.
مهمان
سلام
اقاا خارجیا خیلی گرونه. اینم که دارم میخرم برا اینه که خروجی 5 ولت داره.هم خودشو یادمیگیرم هم جای دیگه کاربرد داره اون خروجیش
نویسنده این مطلب
معمولیاش ( ارزوناش ) 2 نوع هستش – نوع CH340 و یه نوع دیگه – حرف من این بود که اون نوع CH340 رو نخر-
مهمان
سلام آقا مهدی دمت گرم بخاطر سایته خیلی خوبت. داداش من یه سوال دارم میشه کمکم کنی خیلی ضروریه.
این برنامه آموزش تابلو روان جلسه ۷ که به سطری رفرش میشه. میخوام دقیقا همین متن با همین تعداد دات ماتریس از چپ به راست حرکت کنه. تو سایت خیلی گشتم پیدا نکردم. خیلی ممنون میشم ازت کمکم کنی.
مهمان
سلام من ودژن۱.8.9 نصب کردم موقع کامپایل خطای: errtor campailer for
ardoiuno uno میده د راهنمایی خواستم
نویسنده این مطلب
سلام – طبق توضیجات قسمت نظرات، کدتو بفرست بینم خطا چی میده.
مهمان
سلام
خیلی ممنون از آموزشتون.
مهمان
سلام
ممنون ازمطالب تون
واقعا عالین
خدا قوت
یه سوال داشتم : برد آردینو اصل رو چطور میشه تشخیص داد؟ از کجا می تونیم تهیه کنیم که مطمئن باشیم اصله؟ اگه جایی رو می شناسید معرفی کنید لطفا
مهمان
دوست عزیز از دیجی کالا بخرید . قیمتش یکم بالاست ولی اصل .
نویسنده این مطلب
دیجی کالا خودش یه مرکز فروش محصوالات دیگران هستش ( قبلا فقط خودش فروشنده بود ولی الان محصوالات دیگران رو هم میفروشه ) که در ازای فروش محصوصات دیگران خودش یه درصدی میگیره – حرف شما بی پایه و اساس هستش.
مهمان
دمت گرم
مهمان
سلام داداش متنت عالیه خوب توضیح دادی خدمت شما من میخوام یه برنامه بنویسم که برای ابیاری به صورت تایمر باشه و وابسته به lcd و ساعت قابل تنظیم باشه میتونی راهنمایی کنی یا حدال امکان برنامشو بنویسی
مهمان
سلام،وقت بخیر
من یک اردواینوUNO R3خریدم،با تست ال ای دی چشمک زن که داخل مثال ها بود،ال ای دی هر یک ثانیه چشمک زد ،حالا قصد دارم یک سنسور اثر هال رو راه بیاندازم،چون سنسور دیجیتال هست،به پایه های دیجیتال بورد وصل کردم،کد اپلود میشه،اما در قسمت سریال با نزدیک کردن اهن ربا هیچ تغییری رخ نمیده،اشکال از بورد هست یا سنسور و کد؟
مهمان
سلام ببخشید یک سوال داشتم
من یک اردوینو دست دو گرفتم صاحبش گفت سالمه
من خودم اون موقع بلد نبودم اما وقتی یک مقدار اردوینو یاد گرفتم رفتم تستش کردم دیدم چراغ led شماره 13 کار میکنه مثلا میشه روش برنامه نوشت که خاموش روشن بشه
اما الان اومدم یک برنامه نوشتم و خواستم led به پایه های دیگه وصل کنم منتها هر کار کردم led ها روشن نشدند ولی چراغ 13 داخلی کار میکنه اگر روش برنامه بنویسی
مقاوت هم 220 گذاشتم با ال ای دی قرمز
لطفا راهنمایی کنید
نویسنده این مطلب
شما یه برنامه الکی بنویس – اگه پورت و نوع برد رو از آردوینو درست انتخاب کردی و پروگرام نشد – بردت مشکل داره – پروگرام شد و کدت کار نکرد – که یعنی کد شما مشکل داره.
مهمان
سلام
خدا عمر با عزت به شما عنایت کند !
سپاس از اینکه آموزش می دهید و رایگان هم این کار را می کنید
برای همه ما هم دعا کنید
یا علی مدد
مهمان
با سلام و تشکر فراوان از زحماتتون
اگه بخوام یک CNC بسازم با آردوینو راحت میشه ساخت ولی من ARM هم کار کردم lpc1788 , lpx1768 ، باARM هم میشه ساخت ؟ توابع و کتابخانه ای سراغ دارین ؟ ممنون
مهمان
ای وای ببخشین الان نگاه کردم اشتباه زدم
الان درستش کردم
نتم پرسرعت مشکلی نیست
نویسنده این مطلب
ارسال کردم.
مهمان
سلام خسته نباشی
دادا نمیشه هرکاری میکنم همه چی رو چک کردم
درسته وقتی کد آپلود. میکنم اینو مینویسه
MagicMusicKeyboard.h: چنین فایل یا دایرکتوری وجود ندارد
نویسنده این مطلب
سلام مجدد – شما باید دسترسی به من بدید – بررسی کنم ببینم مشکل از کجاس
شما AnyDesk 4.3 رو نصب کن و آی پی رو برام بفرست ( لطفا از نت پر سرعت استفاده کن – با نت سرعت پایین داستان میشه )
شماره تماسم رو هم برات میل کردم.
هر موقع خواستی زنگ بزن و آیپیتو بگو.
نویسنده این مطلب
ایمیلی که وارد کردید اشتباه هستش.
مهمان
همین ایمیل ؟درسته ؟
نویسنده این مطلب
آره به همین ایمیل فرستادم – اشتباه هستش ایمیل فوق.
شمارتو بفرست.
مهمان
سلام خسته نباشین
آقا من ی. برد اردنیو خریدم از همین مدل هست ولی
وصل میکنم به لب تاپ دوتا چراغ قرمز روشن میشه
بعد این هیچ نمیاد رو صفحه لب تاپ فقط ی صدا میاد که مثلا وصل شده بعد رفتم کد های پروژه رو آپلود کنم نشد اما مثال هارو آپلود میکنم میشه بعد یجا خوندم نوشته بود باید. چراغ سبز روشن شه ااما روشن نشد حالا موندم چه کار کنم الان اردنیو خرابه ؟ یا لب تاپ مشکل داره دمت گرام ی راهنمای کن ?
نویسنده این مطلب
سلام
1-آردوینو شم مدل CH340 هستش؟
2-پورت Com و نوع برد رو درست انتخاب کردی؟
مهمان
دقیقا نمیدونم مدلش چیه
چون واسه اولین باره دارم کار میکنم باهاش فقط این. رو اردنیو من اون ایسی بزرگ نیست کوچیکه خیلی باهاش ور رفتم. نشد ?
نویسنده این مطلب
ببین رو برد یه آیسی به اسم ch340 پیدا میکنی یا نه – پپدا کردی – میری درایور این آیسی رو دانلود و نصب میکنی.
اگه پیدا نکردی که چه بهتر – اون دو موردی رو که گفتم بررسی کن.
حل نشد دسترسی نرم افزار های Ammyy و یا AnyDesk رو بهم بده بیام تو pc ییت ببینم مشکل چیه ( البته اگه اینترنت پر سرعت داری )
مهمان
باشه ممنون فعلا اینترنتم تموم. شده فقط صبحا دارم
که صبحم سرکارم شب برم ببینم رو ایسی چی نوشته
خدا کنه که بشه
آهان راستی دیشب
داشتم ور میرفتم با ویندوز که زدم پورت شو قطع کردم الان هرکاری میکنم برگرده به حالت قبل نمیشه ? اصلا. یوزی شده که نگو. بازم ممنون که راهنمای کردی
مهمان
فقط اسم اینو اینو میدونم?UNO
مهمان
سلام دوست عزیز
با تشکر از راهنمایی کاملتون بابت راه اندازی.
من یه پالس غیر PWM دارم که بصورت متناوب تولید میشه و میخام بدم بک کلید قدرت جهت روشن خاموش کردنش. ولی نمیتونم چجوری ایجاد کنمش میشه کمکم کنین!!!؟؟
مهمان
سلام من تازه کارم و میخوام این بحث رو ادامه بدم این درس خوب بود خیلی روان و عالی
مهمان
سلام
تو نرم افزار اردوینو وقتی یه متغییر int تعریف میکنم در حالت دیفالت عددش هست 48 . حتی وقتی بالای ستاپ مینویسم
int n=0
بعدش که میخوام تو لوپ استفادش کنم مقدار اولیه ش هست 48 !!!
میتونید راهنمایی کنید؟!
نویسنده این مطلب
سلام-اینو بخون – کد اسکی عدد 0 برابر 48 هستش.
https://fa.wikipedia.org/wiki/اسکی_(استاندارد)
مهمان
سلام مهندس. خیلی خیلی ممنون از زحمات و آموزشهای خوبی که میزاری. که سوال دارم شاید ربطی نداشته باشه به این مطلب ولی خواستم یجا بپرسم ازت که اینجا پیدات کردم…


سوالم اینه. آیا نرم افزاری چیزی میشناسی کد بسکام رو به C تبدیل کنه. ی چنتا کد واسه AVR دارم که با بسکامه. میخوام ببینم میشه یجوری به C که تو Codevision استفاده میشه تبدیل کنم ؟
راستش حوصله یادگرفتن بسکام و ندارم
نویسنده این مطلب
سلام.نه
مهمان
عالی بود
مهمان
سلام
رشته تحصیلی من مهندسی شیمی هست و برای ساخت یک ست آپ که به پروژه ارشدم نربوطه به راهنمایی شما عزیزان نیاز دارم.
در بخشی از این ست آپ روی یک میله صاف 33 نقطه با فاصله یک سانتی متر از هم وجود داره قطعه ای متحرک روی این میله که توسط یک موتور AC کنترل میشه
سوال: میخوام این قطعه در 12000 موقعیت ،که براش تعیین کنیم بایسته. آیاچنین چیزی امکان ساخت داره.
لا تشکر از تک تک عزیزان
مهمان
۱۲هزار موقعیت روی ۳۳ سانتیمتر ممکن نیست:/?
مهمان
باسلام وتشکر میخواستم بدونم چطوری میشه برنامه ای رو که با بیسکام نوشتم با اردوینو اجرا کنم(بارگذاری کد هگز حاصل از بیسکام در آردوینو)
نویسنده این مطلب
سلام-یعنی کد هگزو بدید به آردوینو و پروگرام کنید؟ نمیدونم.
مهمان
با عرض سلام و خسته نباشید
من برای ساخت پروژه ایستگاه هواشناسی با استفاده از برد مگا و شیلد lcd16*2و دو ماژول bmp280و dht11 این پروژه رو برنانه نویسی کردم الان که کدهارو روی برد آپلود میکنم برای رطوبت ک مربود ب ماژولdht11هستش رو نشون میده اما برای bmp280 ک برای دما و فشار رو صفر نشون میده ممنون میشم راهنماییم کنید
مهمان
سلام خدا قوت
من به برنامه نویسی تسلط دارم ولی در بورد و الکترونیک هیچ اطلاعی ندارم
می خواستم ببینم پیش نیاز یادگیری کار با اردینو چی هست آیا شروع کردن از این اموزش ها و آموزش های ابتدایی کافی هست یا نیاز دارم اطلاعات دیگه ای رو در مورد الکترونیک قبل از شروع کسب کنم
به الکتروینک و کار با بورد ها علاقه دارم محبت کنید یک راهنمایی بفرمائید از کجا شروع کنم
تشکر
نویسنده این مطلب
سلام
C++ رو باید بلد باشی
مهمان
سلام
ما برای AVR وقتی یک پین رو از نوع ورودی تعریف می کردیم و با دستور PORT مقدار یک رو برای این پین تنظیم می کردیم ، pull up داخلیش فعال می شد.اینجا هم می تونیم یه همچین کاری بکنیم؟
مهمان
بله میشه فقط کافیه کد رو اینجوری بنویسی

pinMode(0, INPUT_PULLUP)
مهمان
یه سوال دیگه
اگر بخایم پورت شبکه کامپیوتر رو بخونیم میشه از ماژول 28j60 استفاده کرد.
هدفم اینه که کابل شبکه رو از وسط نصفش کنم و ارتباط رو بیسیم کنم حالا مشکلم اینه که چجوری پورت شبکه رو بخونم.اگر اطلاعاتی دارید لطفا راهنماییم کنید
مهمان
با عرض سلام وخدا قوت
ببخشید امکانش است که پین های آردوینورو تو ووید لوپ ورودی خروجی بودنشون رو مشخص کنیم یعنی مثلا پین یازده اول برنامه ورودی باشه و وسط برنامه خروجی باشه.
نویسنده این مطلب
سلام-میشه.
مهمان
ممنون از زحماتتون
مهمان
سلام
led (TX و RX) روی برد یونو نشانگر چیه؟
نویسنده این مطلب
سلام
برای نشون دادن تبادل داده- دیتا بیاد و بره – اینا روشن خاموش میشن.
مهمان
عالی بود واقعا تنها سایت آموزنده سایت شما بود
مهمان
سلام من دارم پرینتر سه بعدی میسازم ولی در کامپایل برنامم مشکل داره و مشکلش حل نمیشه میشه اقای مهندس یه ایمیل بدی براتون عکس خطا و فایلم رو بفرستم
نویسنده این مطلب
سلام
mahdedamarchilu09372431686@yahoo.com
مهمان
دمت گرم
کارت درسته