آموزش ساخت ربات تعقیب خط با آردوینو
ساخت ربات مسیر یاب یا همان تعقیب کننده خط که به انگلیسی به آن Line follower robot میگویند؛ در واقع یک ربات را نشان میدهد که میتواند دنباله یک خط پررنگ با کنتراست بالا روی پس زمینه روشن یا برعکس (به طور مثال خط سیاه در پس زمینه سفید، یا خط سفید در پس زمینه سیاه) را دنبال کند. این ربات قادر است مسیر خاصی را شناسایی کرده و آن را پیش ببرد؛ البته این خطوط باید مشخص بوده و دارای عرض قابل قبولی باشند. در این مطلب قصد داریم در مورد این رباتهای ساده اما در عین حال جذاب حرف بزنیم. رباتهای مسیر یاب به صورت پیشرفتهتری نیز تولید میشوند و از مدلهای بسیار ساده و تا مدلهای پیشرفته را به خود اختصاص دادهاند و دارای کاربردهای بسیار زیادی در بخش خانگی، صنعتی، پزشکی و … میباشند.
در این مقاله قصد داریم تا یک ربات تعقیب خط بسازیم. در ساخت این ربات از گیربکس های تک شفت استفاده خواهیم کرد. همچنین برای ساخت شاسی آن از ورق پلاستیکی استفاده میکینم که شما نحوه کار با آنها را در مقاله آموزش کار با پلاستیک برای ساخت شاسی ربات آموخته اید.
در ادامه لیست از وسایل مورد نیاز برای ساخت ربات را ملاحظه میکنید. این ابزار را میتوانید از طریق فروشگاه رباتیک صنایع آموزشی چالیک تهیه کنید.
وسایل مورد نیاز
ورق پلاستیکی PVC ( برای آشنایی با انواع ورق های پلاستیکی مقاله ساخت ربات با ورق پلاستیک را مطالعه کنید )
چسب حرارتی
گیربکس 200 دور
جامپر
برد آردوینو ( برای آشنایی با آردوینو مقاله آردوینو چیست را مطالعه کنید )
باتری 18650
جا باتری 18650
چرخ ربات
سنسور IR
سیم نازک چند رشته
درایور موتور
برای ساخت این ربات میتوانید تمام وسایل مورد نیاز خود را با تهیه کیت ساخت ربات مسیر یاب با آردوینو تهیه کنید.
چالیک رباتیک از سال 1385 در زمینه آموزش رباتیک از مقدماتی تا پیشرفته برای گروه های سنی مختلف فعالیت داشته است و همواره تلاش نموده تا جدیدترین دستاوردهای روز دنیای رباتیک را به دانش پذیران این رشته آموزش دهد. شما میتوانید در کلاسهای آنلاین و یا حضوری ما شرکت نمایید و با آخرین دستاوردهای دنیای رباتیک آشنا شوید.
چالیک مسیری نوین در آموزش
در این بخش از آموزش رباتیک سنسور IRاستفاده خواهیم کرد که قصد داریم در این مقاله بیشتر با کاربرد این سنسور آشنا شویم.
نحوه عملکرد سنسور IR
سنسور IR یا سنسور مادون قرمز دارای یک فرستنده و یک گیرنده میباشد. اما این فرسنده و گیرنده چگونه عمل میکنند؟
قبل از پاسخ به این سوال باید کمی اطلاعات در مورد رنگها داشته باشیم. در طبیعت رنگهای متنوعی وجود دارد که آنها را میبینیم. اما رنگهایی نیز وجود دارد که با چشم غیر مسلح دیده نمیشود. این رنگها در دو گروه نامگذاری میشوند.
رنگهای ماورا بنفش
رنگهای مادون قرمز
در سنسور IR یک فستنده داریم که میتواند نور مادون قرمز تولید کند. شما این نور را با چشم غیر مسلح نمیبینید اما اگر با دوربین موبایل خود به آن نگاه کنید میتوانید این نور را ببینید.
اما در کنار این فرستنده یک گیرنده وجود دارد که میتواند نور مادون قرمز را تشخیص دهد. در تصویر زیر شکل این فرستنده و گیرنده را ملاحظه میکنید.
دریافت نمایندگی رباتیک صنایع آموزشی چالیک
اما در ربات مسیر یاب این گیرنده و فرستنده چگونه عمل میکنند؟
برای پاسخ به این سوال قبل از هر چیز باید بدانیم بازتاب نور چیست.
می دانید که اجسام را میتوان به دو دستهی منیر و غیرمنیر تقسیم كرد. اجسام منیر مانند خورشید یا یك لامپ روشن از خودشان نور دارند؛ بنابراین نور آنها میتواند به طور مستقیم به چشم ما برسد و آنها را ببینیم. اما اجسام غیرمنیر در صورتی توسط چشم قابل رۆیت است كه نور یك چشمهی نور، از روی آنها بازتاب شود و به چشم ما برسد.
دیده شدن اشیای درون اتاق، هنگامی كه چراغ روشن است، به دلیل انتشار نور در اتاق و باز گشت نور از سطح اشیاء و رسیدن آن به چشم است.
اما اگر نوری به جسم تابانده شود چه اتفاقی میافتد؟
بخشی از این نور بازتابیده میشود
بخشی از این نور جذب جسم میگردد
بخشی از این نور از جسم عبور میکند
جنس و یا رنگ یک جسم باعث میشود که تعیین کنیم که برای نور چه اتفاقی میافتد.
به عنوا مثال بیشتر نوری که به یک شیشه تابانده شود از آن عبور میکند.
اما جسمهایی با رنگ روشن بیشتر نور را بازتاب میدهند و جسمهایی با رنگ تیره بیشتر نور را جذب میکنند. بنابراین رنگ سفید بیشترین بازتاب نور را دارد و رنگ سیاه کمترین بازتاب نور را دارد.
ما در ساخت ربات مسیریاب از این ویژگی استفاده خواهیم کرد. خط سیاه کمترین بازتاب نور را دارد و زمین اطراف که به رنگ سفید یا روشن است بیشترین بازتاب نور را دارد.
تا اینجا متوجه شدیم که اگر سنسور مادون قرمز را روی خط سیاه قرار دهیم گیرنده بازتابی بسیار کمی دریافت میکند و اگر روی خط سفید باشد بیشترین بازتاب را دریافت میکنیم. و این دقیقا به ما در تشخیص یک خط سیاه در زمینه سفید کمک خواهد کرد. دقت کنید رنگ سفید و سیاهی که انتخاب میکنیم در عملکرد درست ربات بسیار تاثیر گذار است.
در نهایت با آپلود برنامه آردوینو شما میتوانید ربات خود را راه اندازی کنید.
//ARDUINO LINE FOLLOWING CAR// // YOU HAVE TO INSTALL THE AFMOTOR LIBRARY BEFORE UPLOAD THE CODE// // GO TO SKETCH >> INCLUDE LIBRARY >> ADD .ZIP LIBRARY >> SELECT AF MOTOR ZIP FILE // //including the libraries #include <AFMotor.h> //defining pins and variables #define left A0 #define right A1 //defining motors AF_DCMotor motor1(1, MOTOR12_1KHZ); AF_DCMotor motor2(2, MOTOR12_1KHZ); AF_DCMotor motor3(3, MOTOR34_1KHZ); AF_DCMotor motor4(4, MOTOR34_1KHZ); void setup() { //declaring pin types pinMode(left,INPUT); pinMode(right,INPUT); //begin serial communication Serial.begin(9600); } void loop(){ //printing values of the sensors to the serial monitor Serial.println(digitalRead(left)); Serial.println(digitalRead(right)); //line detected by both if(digitalRead(left)==0 && digitalRead(right)==0){ //Forward motor1.run(FORWARD); motor1.setSpeed(150); motor2.run(FORWARD); motor2.setSpeed(150); motor3.run(FORWARD); motor3.setSpeed(150); motor4.run(FORWARD); motor4.setSpeed(150); } //line detected by left sensor else if(digitalRead(left)==0 && !analogRead(right)==0){ //turn left motor1.run(FORWARD); motor1.setSpeed(200); motor2.run(FORWARD); motor2.setSpeed(200); motor3.run(BACKWARD); motor3.setSpeed(200); motor4.run(BACKWARD); motor4.setSpeed(200); } //line detected by right sensor else if(!digitalRead(left)==0 && digitalRead(right)==0){ //turn right motor1.run(BACKWARD); motor1.setSpeed(200); motor2.run(BACKWARD); motor2.setSpeed(200); motor3.run(FORWARD); motor3.setSpeed(200); motor4.run(FORWARD); motor4.setSpeed(200); } //line detected by none else if(!digitalRead(left)==0 && !digitalRead(right)==0){ //stop motor1.run(RELEASE); motor1.setSpeed(0); motor2.run(RELEASE); motor2.setSpeed(0); motor3.run(RELEASE); motor3.setSpeed(0); motor4.run(RELEASE); motor4.setSpeed(0); } }
دانلود برنامه ربات و شماتیک مدار ربات
- ماژول نمایشگر OLED
- ماژول مبدل سطح منطقی LOGIC LEVEL CONVERTER با رابط I2C
- ماژول ADS1115 مبدل آنالوگ به دیجیتال
- ماژول حافظه ی EEPROM با ارتباط I2C
- ماژول آمپلی فایر استریو PAM8610
108 دیدگاه دربارهٔ «آموزش ساخت ربات مسیریاب – چگونه با آردوینو ربات تعقیب خط بسازیم»
خیلی عالی ممنون که کدهاش رو هم گزاشتین
سلام ببخشید کد هاش کجاست?
سلام داخل متن مطالعه بفرمایید کدها برای دانلود قرار گرفته
با سلام
اگر میشه بگید
من دو موتور میخواهم وصل کنم
اگر به 1 و 4 بزنم درسته
چون قصد ندارم کد ها رو تغییر بدم میشه؟
سلام بله درسته فقط قسمتی که بالای کد کامنت شده رو حتما هنگام آپلود کردن کد دانلود کنید(کتابخانه)
سلام من هرچی میزنم تو برنامه آردوینو میگه مشکل داره
میگه خط ۶ بخش ۱۰
کسی میتونه منو راهنمایی کنه
سلام باید اروری که میده اینجا کپی کنید تا بتونم کمکتون کنم
کتابخونه ای که بالای کد ذکر شده دانلود کردید؟ Af_motor
سلام
در لخش کد ها به این حالت تعقیر بدهید
//ARDUINO LINE FOLLOWING CAR//
// YOU HAVE TO INSTALL THE AFMOTOR LIBRARY BEFORE UPLOAD THE CODE//
// GO TO SKETCH >> INCLUDE LIBRARY >> ADD .ZIP LIBRARY >> SELECT AF MOTOR ZIP FILE //
//including the libraries
#include
//defining pins and variables
#define left A0
#define right A1
//defining motors
AF_DCMotor motor1(1, MOTOR12_1KHZ);
AF_DCMotor motor2(2, MOTOR12_1KHZ);
AF_DCMotor motor3(3, MOTOR34_1KHZ);
AF_DCMotor motor4(4, MOTOR34_1KHZ);
void setup() {
//declaring pin types
pinMode(left,INPUT);
pinMode(right,INPUT);
//begin serial communication
Serial.begin(9600);
}
void loop(){
//printing values of the sensors to the serial monitor
Serial.println(digitalRead(left));
Serial.println(digitalRead(right));
//line detected by both
if(digitalRead(left)==0 && digitalRead(right)==0){
//Forward
motor1.run(FORWARD);
motor1.setSpeed(150);
motor2.run(FORWARD);
motor2.setSpeed(150);
motor3.run(FORWARD);
motor3.setSpeed(150);
motor4.run(FORWARD);
motor4.setSpeed(150);
}
//line detected by left sensor
else if(digitalRead(left)==0 && !analogRead(right)==0){
//turn left
motor1.run(FORWARD);
motor1.setSpeed(200);
motor2.run(FORWARD);
motor2.setSpeed(200);
motor3.run(BACKWARD);
motor3.setSpeed(200);
motor4.run(BACKWARD);
motor4.setSpeed(200);
}
//line detected by right sensor
else if(!digitalRead(left)==0 && digitalRead(right)==0){
//turn right
motor1.run(BACKWARD);
motor1.setSpeed(200);
motor2.run(BACKWARD);
motor2.setSpeed(200);
motor3.run(FORWARD);
motor3.setSpeed(200);
motor4.run(FORWARD);
motor4.setSpeed(200);
}
//line detected by none
else if(!digitalRead(left)==0 && !digitalRead(right)==0){
//stop
motor1.run(RELEASE);
motor1.setSpeed(0);
motor2.run(RELEASE);
motor2.setSpeed(0);
motor3.run(RELEASE);
motor3.setSpeed(0);
motor4.run(RELEASE);
motor4.setSpeed(0);
}
}
مطالب علمی مقاله هم خیلی جالبه حتما بخونید
من ساختمش خیلی عالی بود
سلام میشه بماهم کمک کنید ?شماره واتساپتون رو بدید تا پیام بدهم کمکی
از قسمت پشتیبانی آنلاین در واتساپ استفاده کنید
میشه کمک کنید
داخل واتساپ پیام بدین همکارا راهنمایی میکنن
Thanks in support of sharing such a pleasant
opinion, post is good, thats why i have read it entirely
You could definitely see your enthusiasm in the article you write.
The world hopes for even more passionate writers such as you
who aren’t afraid to mention how they believe.
At all times go after your heart.
سلام ممنون فیلمتون خیلی آموزنده بود میشه بگین اون بردی که روی اردینو نشوند و سیم ها رو روی اون سوار کرد چی هست؟
سلام اون برد شیلد درایور L293 هست
سلام خیلی ممنون اموزش کاملی بود
فقط یه سوال اگر پس زمینه عوض بشه چی؟
مثلا پس زمینه سیاه خط سفید
سلام برنامه باید تغییر کنه
I read this piece of writing fully concerning the difference of hottest and preceding technologies, it’s awesome article.
Thanks to my father who shared with me about this web site, this weblog is
really amazing.
سلام من وسایل مورد نیاز این ربات رو بخوام از کجا باید تهیه کنم و قیمتش چقدر میشه؟
سلام میتونید از فروشگاه رباتیک چالیک تهیه کنید برای استعلام قیمت با ما تماس بگیرید
سلام . ببخشید آیا با درایور دیگه ای هم میشه ساخت یعنی اون کتابخانه ای که نوشتین برای درایور های دیگه هم کار میکنه ؟
سلام فقط پینهای ورودی موتور رو اگر تغییر دادین توی برنامه هم اعمال کنید
تقریبا 570000تومان
This is my first time visit at here and i am really happy to read everthing at one place. Cybil Kincaid Profant
سلام ممنون مطالبتون خیلی اموزنده بود میشه بگین چه کدی رو باید به ربات وارد کنیم تا کار کند؟
داخل متن کد ربات برای دانلود قرار گرفته
ممنون به خاطر راهنمایی تان سایت شما مورد پسند من بود و خیلی چیزا ازش یاد گرفتم
کد برنامه ربات باز نمیشه میشه لطفا تایپ کنید بفرستید؟ ما خودمون برنامه نویسی ادوینو رو داریم اگه تایپ کنین میتونیم از روی شما بنویسیم و وارد ربات کنین
سلام من ربات رو ساختم فقط نمیدونم چه کدی رو باید بهش وارد کنم میشه بگین چه کدی رو باید بهش وارد کنم تا کار کنم؟ممنون میشم اگه بگین
سلام خسته نباشید من از این سایت خیلی خوشم اومده
ومیخواستم روبات رو بسازم
اگه لطف کنید وکد برنامه نورسی روبات رو به من بدید ممنون میشم
ممنون میشم جوابم رو بدید
داحل متن رو مطالعه کنید لینک کد قرار گرفته
بالای فیلم بخش قرمز رنگ نوشته کد وشماتیک
روی اون کلیک کنید
Superb, what a website it is! This web site provides valuable facts to us,
keep it up.
سلام وقتتون بخیر
ببخشید پک کامل وسایل ساخت ربات دارید ازتون بگیریم؟
سلام بله داخل فروشگاه قسمت پک رباتیک
سلام. ممنون از مطالب مفیدی که تو این سایت گذاشتین.
من یک برنامه ای رو برای راه اندازی یک موتور نوشتم و میخاستم موتور هر 5 ثانیه یک بار جهت چرخشش عوض بشه
اما سخت افزارش رو بستم، برنامه اش رو هم با دقت نوشتم اما وقتی اومدم امتحان کنم جهت موتور عوض نمی شد. نمیدونم مشکل از کجاست.؟؟؟؟؟؟؟؟؟؟؟
لطفا راهنمایی کنید خیلی کارم لنگه
ممنون میشم.
باید کد و مدارتون رو برای ما ارسال کنید
Hurrah, that’s what I was seeking for, what a material!
existing here at this web site, thanks admin of this web
page.
سلام چرا کد ها خطا داره میشه کمک کنید
داخل واتساپ کدتون رو بفرستین
لطفا شماره واتساپ میدید کد من درست هست سنسور هام هم کار میکنم در بخش موتور ال ای دی قرار میدم روشن میشه ولی موتور را روشن نمیکنه
از شماره تماسها داخل سایت استفاده کنید
چطور باید مدار رو برای شمار ارسال کنیم
از طریق واتساپ لطفا
سلام من وقتی میخوام کد رو اپلود کنم روی #include ;ایراد میگیره میشه لطفا بگید چطوری حلش کنم؟
سلام رویAFMotor ایراد میگیره میشه بگین چطوری حلش کنم؟
کد ای آف موتور را کپی کن جاش
سلام میشه بجای 4 موتور از دو موتور و یک هرزگر استفاده کرد
بله
ببخشید اگه با گفته های ایشان میتوان از دو موتور و یک هرزگر استفاده کرد باید کد ها عوض شود
کد ای اف موتور رو ایراد میگیره
سلام من یه ربات مسیر یاب دارم.با 4 تا سنسور ای ار TRT5000 و 1 ماژول شعله و 2 تا سنسور تشخیص رنگ TSC3200 و 1 پمپ اب کف کش 3 تا 6 ولتی و درایور موتور L298 و 4 تا موتور DC . سه تا باتری کتابی موازی کردم ولی اصلا نتونست ربات رو به حرکت در بیاره.میخواستم بدونم پیشنهادی دارین من از چه باتری و چه تعدادی استفاده کنم تا مشکلم حل بشه؟
از باتری لیتیوم یون استفاده کنید
سلام اگه امکان داره کد برنامه رو برای سه تا سنسور قرار بدید ممنون
سلام مقالش در سایت قرار خواهد گرفت
سلام واقعا ممنونم از این مقاله مفید و مرتب که با جزییات نوشته شده
برای دو موتور و یک هرزگرد داخل کد باید موتور های 2و4 حذف بشه؟
یک راهنمایی می فرمایید برای تغییر کد به جهت استفاده از 2 موتور و 1 هرزگرد.
سپاس و درود بر شما
اگر فقط از دو موتور استفاده میکنید و از هرزگرد برای حفظ تعادل میتونید موتور های ۲ و ۴ رو حذف کنید یا همینطور میتونید موتور های ۱ و ۳ را حذف کنید. چون در صورت استفاده از هرزگرد فقط نیاز به یک موتور در سمت چپ و یک موتور در سمت راست دارید. فقط به نحوه ی اتصال پین ها و تعریف انها در برنامه نویسی دقت کنید.
سلام سوال دارم
چرا برنامه اپلود نمیشه و این ارور رو میده
C:\Users\iran\Documents\Arduino\sketch_dec17a\sketch_dec17a.ino:6:10: fatal error: AFMotor.h: No such file or directory
#include
^~~~~~~~~~~
compilation terminated.
exit status 1
Compilation error: AFMotor.h: No such file or directory
سلام ارور مربوط به نصب نبودن کتابخانه ای که استفاده کردید هستش. قبل از آپلود کردن کدها در محیط آردوینو به قسمت Sketch بروید و گزینه ی include Library را بزنید و بعد به قسمت manage Library برید و بعد عبارت Adafriut motor shield library سرچ کنید و کتابخانه رو نصب کنید و بعد کدتون را آپلود کنید اگه با مشکل مواجه شدید بگید براتون به صورت زیپ فایل رو قرار بدم
من اینکار را کردم نشد
سلام
باتری که استفاده شده چند میلی امپره؟
سلام
ولتاژ باتری که استفاده میکنید باید در محدوده ای ک ذکر شده باشه اما مقدار آمپر یا شدت جریانی ک روی باتری لیتیومی این پروژه نوشته شده با بیشتر شدنش باعث میشه مدت زمانی که باتری شارژ رو نگه میداره بیشتر بشه(فرض کنید یک مخزن پر از مایع دارید و لوله هایی ک این مایع رو به قطعات دیگه میرسونه این رو با یک مدار مقایسه کنید هر چقدر مخزن بزرگتر باشه یعنی شدت جریان(مقدار آمپر)بیشتر هستش حالا قطعات هر مقدارآمپری ک نیاز داشته باشن برمیدارن(به اندازه ی ظرفیت یا مقداری ک برای انجام کار نیاز دارن) و با بقیش کاری ندارند و آسیبی هم بهشون نمیرسه مگر در شرایط خاص و متفاوت دیگه در خود قطعات که داخل یک پروژه بعدا نشون میدم اما ولتاژ یا اختلاف پتانسیل مثل سرعتی هست که مایع درون لوله داره پس اگر ولتاژ این مایع از یک حدی بیشتر باشه میتونه به اون قطعه آسیب بزنه. وقتی صحبت از آمپر میشه نگرانی آسیب رسیدن به قطعات رو نداشته باشید اما ولتاژ چرا!) یعنی گرفتن باتری بستگی به انتخاب خودتون داره اما باید توجه کنید که مجموع مقدار شدت جریانی ک موتورها و قطعات دیگه مصرف میکنن کمتر از مجموع باتریهای استفاده شده نباشه.(به عبارتی اون مخزن باید حداقل ظرفیتی به اندازه ی مجموع ظرفیت تمام قطعات داشته باشه اما اگه باتری ای با مقدار آمپر کمی بالاتر بگیرید میتونید بعدا اگه قطعه ی دیگه ای خواستید بدون نگرانی از همون باتریها استفاده کنید.)
برای فهمیدن اینکه هر قطعه چند آمپر نیاز داره به دیتا شیت محصول نگاه کنید مثلا اگه داخل پروژه دو تا موتور میبینید باید مقدار آمپری که دو تا موتور نیاز دارند رو با هم جمع کنید و همینطور بقیه ی قطعات فکر کنم این توضیح برای پروژه های دیگه هم کمکتون کنه(پیشنهاد میکنم اگر از باتری ها در پروژه های دیگه هم استفاده میکنید یا کیفیتش یا طول عمرش برای شما مهمه باتری لیتیومی high power Li-ion معمولا در بازار صورتی یا آبی رنگ هستش و شبیه به همون باتری های داخل عکس میتونید تهیه کنید کمی تفاوت قیمت با بقیه ی باتری ها دارند اما با توجه به کیفیتشون زیاد نیست شارژرش هم حتما تهیه کنید)
روی ای اف موتور ایراد میگیرد
خطایی که میده کپی کنیدتا بتونم راهنماییتون کنم
دوستان کتابخانه AF MOTOR را باید نصب کنید تا خطاش برطرف بشه تو گوگل کتابخانه ش هست میتونید دانلود کنید و از طریق گزینه SKETCH – INCLUDE LIBRARY اضافه کنید همون فایل زیپ رو
مهندس ایا در مدار این پروژه آردینو هم باید تغذیه جداگانه داشته باشه یا از طریق باتری هایی که به شیلد درایور متصل شده اند تغذیه میشه ؟ اگه میشه طرح کامل تر ی از شماتیک مدار بذارید ممنون میشم
نیاز به باتزی جداگانه ای نیست. درایور باید مثل شیلد روی برد آردوینو سوار بشه و نیاز به اتصال جداگانه ای برای تغذیه نداره.
سلام و خسته نباشید من همه مراحل رو رفتم در حالت عادی ربات حرکت میکنه اما وقتی سنسور های تشخیص خط رو به شیلد درایور متصل میکنم ربات حرکت نمیکنه و سنسور ها هم روشن نمیشه واقعا موندم چکار کنم
حتی ولتاژ پایه های تغذیه و زمین شیلد درایور رو گرفتم و خروجی میده ولی وقتی سنسور وصل میکنم هیچی
سنسور ها جداگانه تست کردم و سالمه ممنون میشم راهنمایی کنید
سلام مشکل میتونه از اتصال اشتباه سیم ها باشه اول اطمینان حاصل کنید که سیم های سیگنال رو اشتباه به زمین یا ولتاژ متصل نکرده باشید در صورت اتصال اشتباه سیم ها ممکنه اتصال کوتاه رخ بده و برد اصلیتون هم بسوزه, از طرفی مطمئن شید که لحیم های پشت ماژول به فلز دیگه ای برخورد نکنه
سلام مجدد مهندس بله بنده متوجه شدم که سنسور ها مادون قرمز به بدنه فلزی ربات اتصال داشتند به خاطر همین بود و خدا رو شکر نسوخت چیزی . فقط الان ربات هر جسمی که میبینی از سمت مادون قرمز شروع به حرکت میکنه چجوری برا مادون قرمز باید خط سیاه رو تعریف کرد ؟ من متن برنامه رو ریختم تو ربات ولی درست عمل نمیکنه
سلام ببخشید بابت تاخیر پروژه های سایت در حال آپدیت شدن هستند به همین دلیل کمتر میتونیم این اواخر به سوالات جواب بدیم مخصوصا که به مسابقات نزدیک میشیم. روی سنسور ها چیزی شبیه به پتانسیومتر خوابیده وجود داره که با پیچوندن اون میتونید حساسیت سنسور رو کم و زیاد کنید- معمولا کدهای داخل سایت ایرادی ندارند و باید با انجام اینکار مشکلتون برطرف بشه فقط توجه داشته باشید که ربات رو طوری روی خط مشکی قرار بدید که سنسور روی مسیر(خط مشکی) قرار بگیره سعی کنید طوری حساسیت سنسور هارو کم و زیاد کنید که روی خط مشکی ال ای دی سنسور ها روشن بشه(یعنی خط رو تشخیص بده) و روی منطقه ی سفید خاموش باشه.
تشکر فراوان از شما
متوجه شدم
اگه از شیلد آردوینو نانو استفاده میکنید حتما پین D0 سنسور رو به S متصل کنید و GND به G و Vcc به v
ماژول شیلد درایور l293 استفاده کردم
فاصله بین دو ماژول تشخیص خط
در ربات باید چند سانتی متر باشه ؟
سلام موقع آپلود این ارور میاد
processing.app.debug.RunnerException
at cc.arduino.Compiler.callArduinoBuilder(Compiler.java:317)
at cc.arduino.Compiler.loadPreferences(Compiler.java:216)
at cc.arduino.Compiler.build(Compiler.java:175)
at processing.app.SketchController.build(SketchController.java:664)
at processing.app.SketchController.exportApplet(SketchController.java:689)
at processing.app.Editor$UploadHandler.run(Editor.java:2061)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: Cannot run program “C:\Program Files (x86)\Arduino\arduino-builder”: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at processing.app.helpers.ProcessUtils.exec(ProcessUtils.java:26)
at cc.arduino.Compiler.callArduinoBuilder(Compiler.java:297)
… 6 more
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.(ProcessImpl.java:386)
at java.lang.ProcessImpl.start(ProcessImpl.java:137)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
… 8 more
سلام و خسته نباشید آیا امکان کاهش سرعت ربات یا تغییر در برنامه آردینو ربات وجود دارد؟
بله سرعت ها داخل پرانتز تعریف شده میتونید از بیا ۱ تا ۲۵۵ تعریف کنید
با سلام
ببخشید خواستم بدونم کسی میتونه بهم بگه کتابخونه رو چطور دانلود و راه اندازی کنم ممنون
سلام
در محیط آردوینو در بخش Sketch> include library>manage libraries میتونید کتابخانه ی مورد نظرتون دانلود کنید.
همینطور میتونید توی گوگل کتابخانه ی Af_motor رو سرچ کنید فایل زیپ دانلود کنید و در قسمت include library روی add zip file کلیک کنید و کتابخانه ی دانلود شده رو اضافه کنید
ممنون ولی مشکل اینجاست که در برنامه اندروید نمیتونم این گزینه ها رو پیدا کنم
الان از چه طریقی میخواهید کدهارو آپلود کنید؟ به چه وسیله ای به برد آردوینو متصل شدید؟
در حال حاضر با گوشی اندروید به آردوینو متصل شدم و از برنامه
آردوینو دروید قصد دارم کد رو آپلود کنم
روی نواری که سه نقطه داره(تنظیمات یا ستینگ برنامه ها)ضربه بزنید روی قسمت libraries ضربه بزنید هم از قسمت manage libraries میتونید کتابخانه ای که مد نظرتون هست سرچ کنید هم از قسمت Add zip file میتونید اگه فایل زیپ کتابخانه ای رو دانلود کردید اضافه کنید
البته هر قدر گشتم نتونستم قایل زیپ کتاب خانه ای آف موتور رو پیدا کنم
https://www.uplooder.net//files/f34fc041936789a5178413df3834dafa/Adafruit-Motor-Shield-library-1.0.1.zip.html
سلام
من میخواهم از برنامه اندروید آردوینو استفاده کنم میشه بگید چطور باید کتابخانه رو راه اندازی کنم
جواب بدید لطفاً
با سلام
من میخواهم با برنامه اندروید آردوینو کد رو آپلود کنم
ببخشید خواستم بدونم کسی میتونه بهم بگه کتابخونه رو چطور دانلود و راه اندازی کنم ممنون
با سلام
کسی میتونه لینک دانلود فایل زیپ کتاب خانه ای آف موتور رو بده ممنون میشم
https://www.uplooder.net//files/f34fc041936789a5178413df3834dafa/Adafruit-Motor-Shield-library-1.0.1.zip.html
باسلام
میگم من درستش کردم فقط وقتی یک سنسور غیر فعال میشه علاوه بر اینکه یه موتور رو به جلو میرود موتور دیگر به عقب میرود و این در تعداد دفعات بالا مشکل ساز است و ربات از مسیر بیرون میرود
کسی میتونه بهم کمک کنه تا کاری کنم فقط یه موتور رو به جلو بره و دیگری غیر فعال بشه
لطفاً کمکم کنید تا این بخش کد رو حذف کنم 🙏🙏
با سلام
من درستش کردم فقط وقتی که یک سنسور غیر فعال میشه علاوه بر جلو رفتن یک موتور موتور دیگر به عقب می آید و این باعث لغزندگی میشود که ربات از مسیر خارج میشود
کسی میتونه به من کمک کنه که وقتی یه سنسور غیر فعال هست یه موتور رو به جلو و دیگری غیر فعال باشه کمکم کنید لطفاً
راست میگه لطفاً پاسخ دهید
سلام چرخش موتور در جهت عکس هیچ ایرادی نداره و اصلا همین مکانیزم هست که باعث حرکت صحیح میشه در رابطه با خارج شدن از مسیر یا سنسور مسیر رو در نقاطی نمیتونه ببینه و باید دقت سنسور تنظیم بشه یا یا سرعت بالا هست و باید سرعت های متفاوت انتخاب کنید
سلام به نظرم میتونی برای غیر فعال کردن موتور از دستور استاپ همون موتور استفاده کنی:
motor1.run(RELEASE);
motor1.setSpeed(0);
مثلا الان موتور شماره 1 دیگه راه نمیره.
سلام خیلی ممنون فقط من برد راه انداز موتور و خود آردوینو از هم جدا هستند و شبیه شکل شماتیک نیست، چطور موتور را معرفی کنم؟
سلام خواهش میکنم.
رجوع کنید به مقاله های درایور L298 بعد از مطالعه هر تغییری هم که قصد دارید انجام بدید یاد میگیرید. البته هنوز مقالات سایت کامل نشدن ولی با سرعت داریم رسیدگی میکنیم.
من از ماژول L298 برای تعریف موتور استفاده می کنم.
سلام من از ماژول L298 برای تعریف موتور ها استفاده می کنم حالا چطور توی برنامه این کار رو انجام بدم؟
مقاله های راه اندازی و کنترل DC موتور با درایور L298 سایت تقریبا به صورت کامل به شما در این مورد توضیح میدن.
ببخشید من کد رو که آپلود کردم وقتی برد رو به منبع تغذیه(دوتا باتری1860) وصل میکنم اصا سنسور ها روشن نمیشه وکار نمیکنه در صورتی که وقتی بود به لپ تاپ وصله روشن میمونن.میشه بگیم مشکل چیه؟
مشکل شما احتمالا از شیلدتون هست.معمولا چند تا کار میتونید انجام بدید.
۱_ اگه لحیم پشت سنسور ها به فلزی اتصالی داره ممکنه به شیلد یا خود بردتون آسیب بزنه. حتما باید مراقب باشید به فلز متصل نشده باشن.
۲_ اتصال جامپر ها و سنسور ها را چک کنید حتی یک اتصال اشتباه میتونه موجب اتصال کوتاه بشه و به برد و شیلد صدمه بزنه.
۳_اتصال جفت سنسور ها را از شیلد جدا کنید و یکی یکی تست کنید شاید ایراد از سنسورتون باشه اگه یکی از سنسور ها روشن شد و دیگری روشن نشد یعنی ایراد از سنسور هست.
۴_ اگه شیلد دیگه ای در دسترس دارید با یک شیلد دیگه امتحان کنید اگه مشکل برطرف شده بود یعنی شیلدتون سوخته.
دستتون درد نکنه عالی بود