فهرست مطالب:

پلت فرم کنترل شده حسگر ژیروسکوپ برای پیچ و خم پازل: 3 مرحله
پلت فرم کنترل شده حسگر ژیروسکوپ برای پیچ و خم پازل: 3 مرحله

تصویری: پلت فرم کنترل شده حسگر ژیروسکوپ برای پیچ و خم پازل: 3 مرحله

تصویری: پلت فرم کنترل شده حسگر ژیروسکوپ برای پیچ و خم پازل: 3 مرحله
تصویری: 50 دوچرخه برقی و لوازم جانبی دوچرخه 2021 - 2022 2024, جولای
Anonim
پلت فرم کنترل شده Gyro Sensor برای Maze Puzzle
پلت فرم کنترل شده Gyro Sensor برای Maze Puzzle

این دستورالعمل برای برآوردن شرایط پروژه دوره Make در دانشگاه فلوریدا جنوبی (www.makecourse.com) ایجاد شده است"

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

این پروژه از Arduino UNO استفاده می کند - استفاده از میکروکنترلر آسان که می توانید از وب سایت های خرید آنلاین تهیه کنید! در این دستورالعمل ، من نشان خواهم داد که چگونه می توانید پلت فرم کج قابل برنامه ریزی خود را بسازید - از فرایند طراحی گرفته تا منابع مورد نیاز قطعات ، فایل های چاپ سه بعدی ، مونتاژ و برنامه نویسی. بچسبید و بیایید جلو برویم!

مرحله 1: قطعات مورد نیاز و قطعات چاپ سه بعدی

قطعات مورد نیاز و قطعات چاپ سه بعدی
قطعات مورد نیاز و قطعات چاپ سه بعدی
قطعات مورد نیاز و قطعات چاپ سه بعدی
قطعات مورد نیاز و قطعات چاپ سه بعدی
قطعات مورد نیاز و قطعات چاپ سه بعدی
قطعات مورد نیاز و قطعات چاپ سه بعدی

لیست اجزای مورد استفاده برای پروژه:

1. میکروکنترلر Arduino UNO.

2. Breadboard با سیم های بلوز.

3. یک جعبه

4. سکوی دایره ای

5. ماز

6. پیوندها - 3 نه

7. پایه ای برای نصب سه سرو.

8. حسگر ژیروسکوپ/شتاب سنج. (MPU6050)

سیمهای 9.1 متر مربع (500 سانتی متر) - 4 عدد

10. توپ های فولادی 3 میلی متری دیا.

اکثر قسمتهایی که برای پروژه استفاده می شود چاپ سه بعدی هستند و من stl را ضمیمه کرده ام. فایل های آماده چاپ

تمام قطعات را همانطور که در شکل نشان داده شده است جمع کنید. پیچ و خم روی سکوی دایره ای داغ چسبانده شده است تا مانند تصویر به نظر برسد. سه سرو را باید بر روی پایه چاپ سه بعدی که بر روی درب جعبه نصب شده است بچسبانید. جعبه شامل Arduino UNO و Breadboard است که مطابق شکل مونتاژ شده است. راه اندازی ورق نان در مرحله بعدی مورد بحث قرار می گیرد.

پس از مونتاژ ، نمونه اولیه باید مانند تصویر قبلی باشد.

مرحله 2: تنظیم Breadboard

راه اندازی Breadboard
راه اندازی Breadboard
راه اندازی Breadboard
راه اندازی Breadboard
راه اندازی Breadboard
راه اندازی Breadboard

پس از مونتاژ ، آردوینو ، سنسور شتاب سنج ، سرووها به شرح زیر متصل می شوند.

ریلهای مثبت و منفی روی نان برد به ترتیب به 5V و GND آردوینو متصل می شوند. سنسور با استفاده از سیم های نیم متری که باید به سنسور لحیم شوند به آردوینو متصل می شود به طوری که پایه های VCC و GND سنسور به ترتیب به ریل های +ve و -ve روی تخته نان متصل می شوند. پین های SCL و SDA سنسور به پین های آنالوگ A5 و A4 آردوینو متصل می شوند. پایه های PWM سه سروو به ترتیب به 2 ، 3 ، 4 پین آردوینو و پین +ve و -ve همه سروو به ریل +ve و -ve تخته نان متصل می شوند. با این کار ، ارتباطات ما انجام می شود.

مرحله 3: کد پروژه

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

#عبارتند از

#عبارتند از

#عبارتند از

سرو سرو 1؛

سرو سرو 2؛

سرو سرو 3؛

سنسور MPU6050 ؛

int servoPos1 = 90 ؛

int servoPos2 = 90 ؛

int servoPos3 = 90 ؛

int16_t ax، ay، az؛

int16_t gx، gy، gz؛

void setup ()

{

Servo1.attach (2) ؛

Servo2.attach (3) ؛

Servo3.attach (4) ؛

Wire.begin ()؛

Serial.begin (9600)؛

}

حلقه خالی ()

{

sensor.getMotion6 (& ax، & ay، & az، & gx، & gy، & gz)؛

ax = map (ax، -17000، 17000، 0، 180)؛

ay = نقشه (ay ، -17000 ، 17000 ، 0 ، 180) ؛

Serial.print ("ax =")؛

Serial.print (ax)؛

Serial.print ("ay =")؛

Serial.println (ay)؛

if (ax <80 && ay <80) {

Servo1.write (servoPos1 ++) ؛

Servo2.write (servoPos2--)؛

Servo3.write (servoPos3--)؛ }

اگر (تبر 120) {

Servo1.write (servoPos1--) ؛

Servo2.write (servoPos2 ++) ؛

Servo3.write (servoPos3--)؛ }

if (ax> 120 && ay> 0) {

Servo1.write (servoPos1--) ؛

Servo2.write (servoPos2--) ؛

Servo3.write (servoPos3 ++) ؛ }

if (ax == 90 && ay == 90) {

Servo1.write (0) ؛

Servo2.write (0) ؛

Servo3.write (0)؛

}

}

توصیه شده: