فهرست مطالب:
- مرحله 1: جعبه سیاه
- مرحله 2: آردوینو
- مرحله 3: اتصال آردوینو به Blackbox
- مرحله 4: سنسور اولتراسونیک
- مرحله 5: اتصال Breadboard سنسور به آردوینو
- مرحله ششم: سپر موتور
- مرحله 7: اتصال Motor Shield به آردوینو
- مرحله 8: اتصال 4 موتور و باتری به Shield
- مرحله 9: برنامه ربات را تنظیم کنید
تصویری: موانع اجتناب از ماشین روباتیک: 9 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:54
نحوه ایجاد مانع برای جلوگیری از ربات
مرحله 1: جعبه سیاه
در اولین قدم از جعبه سیاه به عنوان پایه ای برای ربات خود استفاده کردم.
مرحله 2: آردوینو
آردوینو مغز کل سیستم است و موتورهای ما را تنظیم می کند
مرحله 3: اتصال آردوینو به Blackbox
آردوینو را با استفاده از چسب حرارتی به جعبه سیاه وصل کردم
مرحله 4: سنسور اولتراسونیک
برای ساختن رباتی که بتواند خود حرکت کند ، به نوعی ورودی نیاز داریم ، سنسوری که متناسب با هدف ما باشد. سنسور اولتراسونیک ابزاری است که با استفاده از امواج صوتی اولتراسونیک فاصله یک جسم را اندازه گیری می کند. یک سنسور اولتراسونیک از یک مبدل برای ارسال و دریافت پالس های اولتراسونیک استفاده می کند که اطلاعات مربوط به مجاورت یک جسم را ارسال می کند.
مرحله 5: اتصال Breadboard سنسور به آردوینو
من از سیم برای ارتباط بین تخته نان و آردوینو استفاده کردم.
توجه داشته باشید که سنسور پینگ شما ممکن است دارای طرح پین متفاوتی باشد اما باید دارای پین ولتاژ ، پایه زمین ، پایه سنجاق و پین اکو باشد.
مرحله ششم: سپر موتور
بردهای آردوینو نمی توانند موتورهای دی سی را به تنهایی کنترل کنند ، زیرا جریانهایی که تولید می کنند بسیار کم است. برای حل این مشکل از سپرهای موتور استفاده می کنیم. سپر موتور دارای 2 کانال است که امکان کنترل دو موتور DC یا 1 را می دهد. موتور پله ای … با آدرس دهی به این پین ها می توانید یک کانال موتور را برای راه اندازی انتخاب کنید ، جهت موتور (قطبیت) را مشخص کنید ، سرعت موتور را تنظیم کنید (PWM) ، موتور را متوقف کرده و راه اندازی کنید و جذب جریان هر کانال را کنترل کنید.
مرحله 7: اتصال Motor Shield به آردوینو
کافی است سپر موتور را به آردوینو وصل کنید و سیم های سنسور را در هم فشار دهید
مرحله 8: اتصال 4 موتور و باتری به Shield
هر موتور شیلد (حداقل) دو کانال دارد ، یکی برای موتورها و دیگری برای منبع تغذیه ، آنها را نسبت به یکدیگر متصل کنید
مرحله 9: برنامه ربات را تنظیم کنید
این کد را اجرا کنید
#شامل #شامل شود
سونار NewPing (TRIG_PIN ، ECHO_PIN ، MAX_DISTANCE) ؛
AF_DC موتور موتور 1 (1 ، MOTOR12_1KHZ) ؛ موتور AF_DC موتور 2 (2 ، MOTOR12_1KHZ) ؛ موتور AF_DC موتور 3 (3 ، MOTOR34_1KHZ) ؛ موتور AF_DC موتور 4 (4 ، MOTOR34_1KHZ) ؛ Servo myservo؛
#تعریف TRIG_PIN A2 #تعریف ECHO_PIN A3 #تعریف MAX_DISTANCE 150 #تعریف MAX_SPEED 100 #تعریف MAX_SPEED_OFFSET 10
boolean goingForward = false؛ int فاصله = 80 ؛ int speedSet = 0؛
void setup () {
myservo.attach (10)؛ myservo.write (115)؛ تاخیر (2000) ؛ فاصله = readPing ()؛ تأخیر (100) ؛ فاصله = readPing ()؛ تأخیر (100) ؛ فاصله = readPing ()؛ تأخیر (100) ؛ فاصله = readPing ()؛ تأخیر (100) ؛ }
حلقه خالی () {int distanceR = 0؛ int فاصله L = 0 ؛ تأخیر (40) ؛ if (فاصله <= 15) {moveStop ()؛ تأخیر (50) ؛ moveBackward ()؛ تأخیر (150) ؛ moveStop ()؛ تأخیر (100) ؛ distanceR = lookRight ()؛ تأخیر (100) ؛ distanceL = lookLeft ()؛ تأخیر (100) ؛
if (distanceR> = distanceL) {turnRight ()؛ moveStop ()؛ } else {turnLeft ()؛ moveStop ()؛ }} else {moveForward ()؛ } distance = readPing ()؛ }
int lookRight () {myservo.write (50)؛ تأخیر (250) ؛ int distance = readPing ()؛ تأخیر (50) ؛ myservo.write (100)؛ فاصله بازگشت ؛ }
int lookLeft () {myservo.write (120)؛ تأخیر (300) ؛ int distance = readPing ()؛ تأخیر (100) ؛ myservo.write (115)؛ فاصله بازگشت ؛ تأخیر (100) ؛ }
int readPing () {تاخیر (70)؛ int cm = sonar.ping_cm ()؛ اگر (cm == 0) {cm = 200؛ } بازگشت cm؛ }
void moveStop () {motor1.run (RELEASE)؛ motor2.run (انتشار) ؛ motor3.run (انتشار) ؛ motor4.run (انتشار) ؛ } void moveForward () {
if (! goForward) {goForward = true؛ motor1.run (FORWARD)؛ motor2.run (FORWARD)؛ motor3.run (FORWARD)؛ motor4.run (FORWARD)؛ برای (speedSet = 0 ؛ speedSet <MAX_SPEED ؛ speedSet += 2) {motor1.setSpeed (speedSet) ؛ motor2.setSpeed (speedSet) ؛ motor3.setSpeed (speedSet) ؛ motor4.setSpeed (speedSet) ؛ تأخیر (5) ؛ }}}
void moveBackward () {goForward = false؛ motor1.run (BACKWARD) ؛ motor2.run (BACKWARD) ؛ motor3.run (BACKWARD) ؛ motor4.run (BACKWARD) ؛ برای (speedSet = 0 ؛ speedSet <MAX_SPEED ؛ speedSet += 2) {motor1.setSpeed (speedSet) ؛ motor2.setSpeed (speedSet) ؛ motor3.setSpeed (speedSet) ؛ motor4.setSpeed (speedSet) ؛ تأخیر (5) ؛ } void turnLeft () {motor1.run (BACKWARD)؛ motor2.run (BACKWARD) ؛ motor3.run (FORWARD)؛ motor4.run (FORWARD)؛ تأخیر (500) ؛ motor1.run (FORWARD)؛ motor2.run (FORWARD)؛ motor3.run (FORWARD)؛ motor4.run (FORWARD)؛ }
void turnLeft () {motor1.run (BACKWARD)؛ motor2.run (BACKWARD) ؛ motor3.run (FORWARD)؛ motor4.run (FORWARD)؛ تأخیر (500) ؛ motor1.run (FORWARD)؛ motor2.run (FORWARD)؛ motor3.run (FORWARD)؛ motor4.run (FORWARD)؛ }
توصیه شده:
ربات اجتناب از موانع با استفاده از سنسور اولتراسونیک (پروتئوس): 12 مرحله
ربات اجتناب از موانع با استفاده از سنسور اولتراسونیک (پروتئوس): ما عموماً در همه جا با ربات اجتناب از موانع برخورد می کنیم. شبیه سازی سخت افزاری این ربات بخشی از رقابت در بسیاری از کالج ها و در بسیاری از رویدادها است. اما شبیه سازی نرم افزاری روبات مانع به ندرت رخ می دهد. حتی اگر بتوانیم آن را در جایی پیدا کنیم ،
شمارنده آردوینو با استفاده از صفحه نمایش LED TM1637 و سنسور اجتناب از موانع: 7 مرحله
Arduino Counter با استفاده از TM1637 LED Display & Obstacle Sensor سنسور: در این آموزش ما یاد می گیریم که چگونه با استفاده از LED Display TM1637 و سنسور اجتناب از مانع و Visuino یک شمارنده ساده رقمی بسازیم. فیلم را تماشا کنید
ماشین اجتناب از موانع: 5 قدم
اتومبیل اجتناب از موانع: ماشین سنسور زاویه یک ماشین هوشمند خود-اجتناب است ، بدنه خودرو با استفاده از قاب آلومینیومی ، کنترل اصلی با استفاده از میکروکنترلر آردوینو/نانو ، برد مدار طراحی پلاگین دارد (اتصال سنسور خارجی آسان تر است از طریق میکروکنترلر
ربات اجتناب از موانع برای حمل بار سنگین: 6 مرحله
ربات اجتناب از موانع برای حمل بار سنگین: این یک روبات اجتناب از موانع است که برای حمل راکر پسرم ساخته شده است
نحوه استفاده از سنسور اجتناب از موانع IR در آردوینو: 4 مرحله
نحوه استفاده از سنسور اجتناب از موانع IR در آردوینو: با سلام ، همه ، در این مقاله نحوه استفاده از سنسور اجتناب اجتناب IR در آردوینو را مینویسم. اجزای مورد نیاز: سنسور اجتناب از موانع IR آردوینو نانو V.3 Jumpe wire USBmini نرم افزار مورد نیاز: Arduino IDE