Мазмуну:

Arduino көзөмөлдөгөн Servo робот (SERB): 7 кадам (сүрөттөр менен)
Arduino көзөмөлдөгөн Servo робот (SERB): 7 кадам (сүрөттөр менен)
Anonim
Arduino көзөмөлдөгөн Servo робот (SERB)
Arduino көзөмөлдөгөн Servo робот (SERB)
Arduino көзөмөлдөгөн Servo робот (SERB)
Arduino көзөмөлдөгөн Servo робот (SERB)
Arduino көзөмөлдөгөн Servo робот (SERB)
Arduino көзөмөлдөгөн Servo робот (SERB)
Arduino көзөмөлдөгөн Servo робот (SERB)
Arduino көзөмөлдөгөн Servo робот (SERB)

Ачык булак микроконтроллерлери (Arduino) менен эксперимент баштоонун эң жакшы жолу, анан өзүңүздүн ачык булак роботуңузду (CC (SA -BY)) куруу менен? SERB менен эмне кылуу керек?

  • (бул жерде) - SERBти интернетке кантип туташтырып, аны Skype видео чалуу аркылуу айдайсыз.
  • (бул жерде) - Wii nunchuck акселерометрлерин колдонуп SERBти кантип башкарса болот
  • (бул жерде) - Роботуңузга тоскоолдуктарды аныктоочу муруттарды кантип кошсо болот
  • (бул жерде) - 30 комплект кантип жасалат (Ачык Өндүрүш)

Өзгөчөлүктөрү:

  • Толугу менен Arduino Duemilanove микро контроллерин (же сиз тандаган башка микро контроллерди) колдонуп программалоого болот.
  • Лайк басудын кажети жок.
  • Акрил кесимдерин кесүү жолдорун тандоо. (жылдыруу араа, лазер кескичке жетүү, алдын ала кесилген бөлүктөрдү сатып алуу)
  • Кошумча болт тешиктери жана камтылган тактайы менен оңой кеңейтилүүчү жана өзгөртүлүүчү.
  • Арткы дөңгөлөгү бар эки шар.
  • 1-2 саатта ишке кирет. (топтомдон)
  • Ачык булак дизайны (каалаганча куруңуз)

(Уяты жок Plug) Улуу Британияда жана Arduino нерселерин жактырасызбы? Биздин жаңы ачылган веб -дүкөндү караңыз oomlout.co.uk Arduino көзөмөлдөгөн servo роботунун кыска видеосу - (SERB) камтылган тест программасын иштетет (6 -кадам) Эскертүү: Булак файлдары параллелдүү Нускамалуу (Source Files For) - Arduino менен башкарылуучу Servo роботту кантип жасоо керек - (SERB)

1 -кадам: Бөлүктөр жана шаймандар

Бөлүктөр жана куралдар
Бөлүктөр жана куралдар

Бардык болтторду жергиликтүү Home Depotдо тапса болот. Башка бөлүктөрдү интернеттен тапса болот (Мен ар бирине менин сүйүктүү булагыма шилтеме коштум). Бөлүктөрдүн тизмеси: Бардык жабдыктарды камтыган таңгакты oomlout.com дүкөнүнөн сатып алса болот (бул жерде) ($ 120) Гайкалар жана болттор:

  • 3мм х 15мм болт (x20)
  • 3мм х 10мм болт (x12)
  • 3мм гайка (x34)
  • 3мм шайба (x12)
  • 8мм х 25мм болт (x2)
  • 8мм гайка (x2)
  • Скейт подшипниктери (x2) (VXB) (булар конькилердин стандарттуу подшипниктери, ошондуктан аларды бир жуп роликтен же скейтборддон куткарууга болот)

Дөңгөлөк

  • Чоң O-ринг (4.5 "ID 3/16" Bead Dash #349) (x2) (McMaster-Carr Product #9452K407)
  • Small O-ring (3/4 "ID 3/16" Bead Dash #314) (x1) (McMaster-Carr Продукту #9452K387)

Электроника

  • Arduino Duemilanove (x1) (Maker Shed)
  • Үзгүлтүксүз айлануу Servo (x2) (Параллакс)
  • 400 Байланыш тактасы (x1) (Бардык электроника))
  • Quad AA Battery Box (x1) (Бардык электроника)
  • 9V Батарея Клипи (x1) (Бардык Электроника)
  • 2.1 мм Plug (x1) (Бардык Электроника)
  • 3 пин баш (x2) (Бардык Электроника)
  • A -B USB кабели - Принтердин стили (x1) (Бардык электроника) (комплектке кирбейт)

Батареялар:

  • AA Батарея (x4) (комплектке кирбейт)
  • 9v Батарея (x1) (комплектке кирбейт)

Зым: (бардык зымдар 22 AWG катуу, мен кенди McMaster-Carr аркылуу сатып алам)

  • 15 см Purple (x2)
  • 15 см Кара (x1)
  • 5 см Кара (x2)
  • 5 см Кызыл (x2)

Куралдар

  • Бурагыч (x1) (Philips)
  • Ийне-мурун кычкачы (x1)

2 -кадам: кесимдерди кесүү

Кесүүчү бөлүктөр
Кесүүчү бөлүктөр
Кесүүчү бөлүктөр
Кесүүчү бөлүктөр
Кесүүчү бөлүктөр
Кесүүчү бөлүктөр
Кесүүчү бөлүктөр
Кесүүчү бөлүктөр

Сураныч, сиз тандаган кесүү вариантынын негизинде кандай кадамдарды жасоону тандаңыз. 1-вариант (Алдын ала кесилген бөлүктөрдү сатып алуу)

Oomlout.com дүкөнүнөн алдын ала кесилген шасси сатып алыңыз (бул жерде) (АКШ жана Канадага жеткирүүнү кошкондо 60 доллар)

2 -вариант (Санариптик өндүрүш (б.а. Поноко) / Лазердик кескичке жетүү)

  • Лазердик кескичтин макетин түшүрүү ("03 SERB Ponoko Cutting Layout P2.eps" же "03- (SERB) -Ponoko Cutting Layout (P2).cdr")
  • Файлдарды Ponoko же жеке лазер кескич менен кесиңиз (3мм,.118 "акрилди колдонуп (кээде.125" катары сатылат)

3 -вариант (Scroll saw and Drill)

  • PDF үлгүсүн түшүрүү жана басып чыгаруу (сураныч, сиздин кагаз өлчөмүңүзгө туура келген файлды тандаңыз) 03- (SERB) -ScrollSaw Pattern (тамга).pdf 03- (SERB) -ScrollSaw Pattern (A4).pdf (масштабдаштырбоо маанилүү) басып чыгаруу учурунда чийүү)
  • Басып чыгаруудагы сызгычты сиз ишенген сызгычка каршы өлчөңүз, эгерде алар үлгүгө дал келбесе, масштабдалган жана кайра басып чыгарардан мурун принтериңиздин жөндөөлөрүн карап чыгыңыз. Эгер алар дал келсе, алдыга.
  • Үлгүнү акрил барагына чаптаңыз (3мм,.118 "(кээде.125" катары сатылат).
  • Бургулоо тешиктери.
  • Кесүү бөлүктөрүн жылдыруучу араа менен кесүү

3 -кадам: Ассамблея

Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея

Бул процесстин 90% ын аткаргандыгы үчүн куттуктайбыз, жөн гана бул кадам боюнча монтаждоо көрсөтмөлөрүн жүктөп алыңыз (04- (SERB) -Ассамблея Guide.pdf) & бир аз лего/механо стили кураштыргандан кийин сиз зымга даяр болосуз. Жолдо сизди көңүл ачуу үчүн бул менин жыйынымдын убактысы:

4 -кадам: Кабелдөө

Электр өткөргүчтөрү
Электр өткөргүчтөрү
Электр өткөргүчтөрү
Электр өткөргүчтөрү

Бардык чоң бөлүктөр менен бирге, роботубузду башкарууга мүмкүндүк бере турган кичинекей электрдик веналарды кошуу убактысы келди. Муну жүктөө жана өткөрүү схемасын басып чыгаруу үчүн (05- (SERB) -Wiring Diagram.pdf). Бир караганда, бул абдан коркунучтуу көрүнүшү мүмкүн, бирок эгер сиз ар бир байланышты ырааттуу кылып, убактыңызды бөлсөңүз, ал абдан тез биригет. Зымдар абдан жөнөкөй жана батарейкаларды кошмойунча сиздин схемаңызга эч кандай зыян келе албайт. Ошентип, баарын зым менен текшерип, андан кийин күч кошуңуз.

5 -кадам: Тестирлөө жана Мүчүлүштүктөрдү Оңдоо

Testing & Troubleshooting
Testing & Troubleshooting

Эгерде сиз комплектке заказ берсеңиз, Arduino тест программасы менен алдын ала жүктөлгөн. Жөн эле 4 АА батареясын салып, 9v батарейканы Arduino'го сайыңыз. Эгерде баары туура жасалган болсо, анда сиздин роботуңуз кыймылдай баштайт (ал кокусунан 1ден 2 секундага чейин бурулуп, 1-2 секунддан кийин кокусунан 2 секундга тыныгат). Эгерде сиз комплект сатып ала элек болсоңуз, кошумча кадам талап кылынат. Тиркелген ZIP файлын жүктөп алыңыз (07- (SERB)-SERB-Test Arduino Program.zip). Андан кийин аны Arduino эскиз каталогуна ачыңыз (демейки "Менин документтерим / Arduino \") жана arduino тактаңызга жүктөп алыңыз. (эгер сиз Arduinoдо жаңы болсоңуз, анда бир кадам алдыга секирип, окуу куралдарына чоң шилтемелер бар) Жалпы көйгөйлөр: Менин SERB токтоп калганда жай кыймылдайт. Бул серверлериңиздин туура калибрленбегендигинин натыйжасы, серверлериңизди калибрлөө үчүн, программаңыз серволор токтоп калганга чейин күтө туруңуз, андан кийин кичинекей отвертка менен потенциометрди сервонун ичине буруңуз (зымдар жайгашкан жердеги серво корпусунун кичине ачылышы)). Серво чындап токтоп калганга чейин аны солго же оңго буруңуз. Иштер такыр туура эмес иштеп жатат. Бизге симптомдоруңуз менен электрондук кат жөнөтүңүз, биз сизге жардам берүүгө аракет кылабыз, сиз жоопту күтүп жатканыңызда, бардык зымдарды 4-кадамдын зым схемасы менен текшериңиз. Эгер кандайдыр бир көйгөйгө туш болсоңуз, комментарий кошуңуз Бул Instructableге же [email protected] электрондук дарегине кат жөнөтүңүз, биз сиздин SERB иштөөңүзгө жардам берүү үчүн болгон күчүбүздү жумшайбыз.

6 -кадам: Программалоо

Программалоо
Программалоо

Физикалык робот мээни бере баштайт. Биз Arduino Controlled Servo Robotту (SERB) программалоонун майда -чүйдөсүнө чейин интернеттеги эң сонун Arduino программалоо ресурстарына бир нече шилтемелерди ала баштадык. Arduino менен баштоого жардам берүү үчүн, программалоо чөйрөсүн жүктөөдөн баштап, биринчи программаңызды жазууга чейин. - Arduino Servo китепканасы кантип иштейт (биз серволорубузду кантип башкарабыз). Жакшы үйрөнүү менен программалоону алалы. Ардуинонун башкарылуучу Servo роботун программалоону баштоонун үч жолу бар - (SERB).1 -вариант: (SERB_Test.pde өзгөртүү) Кээде программалоодо эң оңой нерсе - бул иштөөчү программаны алып, ага өзүңүздүн кодуңузду кошуп баштоо. Бул үчүн SERB_Test zipped программасын жүктөп алуу үчүн (07- (SERB)-SERB-Test Arduino Program.zip). Муну Arduino эскиз папкасынан чыгарууну улантыңыз (демейки "Менин документтерим / Arduino \"). Акыры Arduino программалоо чөйрөсүн ачып, аны Arduinoго жүктөп алыңыз. Код жакшы комментарийленген. (Же бул кадамдын тиркемесиндеги кодду жаңы Arduino Sketchке көчүрүү жана чаптоо) 2-вариант: (Программаңызга SERB программаларын кошуу) Мурунку программаңызга кээ бир жөнөкөй тартиптерди кошуңуз (goForward сыяктуу)), setSpeed (int) ж.б.). Бул үчүн текст файлындагы күнүмдүк жүктөп алуу үчүн (07- (SERB)- Simple Routines Text.txt). 1. Преамбуланын бөлүгүн көчүрүп, программаңыздын башына чаптаңыз.2. Көнүмүш бөлүктү көчүрүп, программаңыздын денесине чаптаңыз. SerbSetup () га чалуу кошуу; 3): (Өз программаңызды нөлдөн баштап түзүү) Бул өтө деле кыйын эмес. Болгону Arduino Servo китепканасы менен таанышуу керек. Андан кийин оң серво 9 -пинге, ал эми сол серво 10 -пинге туташтырылат. Эскертүү: Кошумча программалар иштелип чыккандан кийин бул жерге кошулат; же эгер сиз бир нерсени иштеп чыксаңыз жана анын өзгөчөлөнүшүн кааласаңыз, мага купуя кат жөнөтүңүз жана аны кошсо болот. Тиркеме:

/ * * Arduino Controlled Servo Robot (SERB) - Test Program * Көбүрөөк маалымат алуу үчүн: https://www.oomlout.com/serb * * Жүрүм -турум: SERB * туш келди солго же оңго бурулушуна себеп болгон жөнөкөй тест программасы 0,1ден 1 секундга чейинки * туш келди мезгил үчүн. * SERB анда 1-2 секундага чейин туш келди * убакыт аралыгында алдыга жылат. Акыры * кайра баштоо үчүн 2 секундага тыныгуу. * * Электр өткөргүчтөрү: Оңго Servo Signal - пин 9 * Солго Servo Signal - пин 10 * * Лицензия: Бул чыгарма Creative Commons * Attribution -Share Alike 3.0 Unported лицензиясына ылайык лицензияланган. Бул лицензиянын көчүрмөсүн көрүү үчүн * https://creativecommons.org/licenses/by-sa/3.0/ * дарегине баш багыңыз же Creative Commons, 171 Second * Street, Suite 300, San Francisco, California 94105, * АКШ. * */// --------------------------------------------- ----------------------------- // ARDUINO БАШКАРЫЛГАН СЕРВО РОБОТУНУН БАШТАЛЫШЫ (СЕРБ) ПРЕМБЛЬ #камтыйт #аныктоо LEFTSERVOPIN 10 #аныктоо RIGHTSERVOPIN 9Servo leftServo; Servo rightServo; int ылдамдыгы = 100; // роботтун ылдамдыгын белгилейт (экөө тең серво) // 0 менен 100дүн ортосундагы пайыз // ARDUINO CONTROLLED SERVO ROBOT SERVO ROBOT (SERB) PREAMBLE // ---------------- -------------------------------------------------- --------/ * * тийиштүү штаттарга төөнөгүчтөрдү орнотот жана серволорду тиркейт. Андан кийин программанын башталышына чейин 1 секундга * тыныгуу */ void setup () {serbSetup (); // бардык керектүү // казандардын абалын белгилейт жана эскизиңизге серверлерди кошот randomSeed (analogRead (0)); // туш келди сандын уруктарын // менен бир аз туш келди кечиктирүү менен (1000);}/ * * роботту солго же оңго (туш келди) * 0.1ден 1 секундга чейин бурат. 1 жана 4 секунддун аралыгында туш келди мезгил * үчүн алдыга жылуу алдында. Эки секундага тыным берүүдөн кийин * кайра баштоо. */Void loop () {turnRandom (100, 1000); // туш келди солго же оңго бурулат //.1 секунда // жана бир секунда goForwardRandom (1000, 2000) ортосундагы // кокус мезгил. // Кокус мезгил ичинде алдыга барат // // 1 жана 2 секунддун ортосунда goStop (); // Роботтун кечигүүсүн токтотот (2000); // 2 секундга тыныгат (токтоп турганда)}/ * * роботту туш келди убакытка солго же оңго бурат * minTime (миллисекунд) менен maxTime (миллисекунд) */void turnRandom (int minTime, int maxTime) {int тандоо = кокустук (2); // Туш келди сан чечүү // сол (1) менен оң (0) ортосунда int turnTime = random (minTime, maxTime); // Тыныгуу үчүн туш келди сан // убакыт (эгер тандоо == 1) {goLeft ();} // Эгерде кокустук сан = 1 болсо, анда // солго башка {goRight ();} // Эгерде кокустук сан = 0 болсо буруу // оңго кечиктирүү (turnTime); // туш келди убакытка кечиктирүү}/ * * minTime (миллисекунд) * менен maxTime (миллисекунд) */void goForwardRandom (int minTime, int maxTime) {int forwardTime = random (minTime, maxTime) ортосундагы туш келди убакыт аралыгында алдыга жылат; // туш келди убакытты аныктоо // алдыга goForward (); // SERB алдыга жылдырууну коёт (forwardTime); // туш келди мезгил үчүн кечигүүлөр} // ---------------------------------------- -------------------------------- // ARDUINO CONTROLLED SERVO ROBOT (SERB) ROUTINES START/ * * сиздин arduino камтылган күн тартибин колдонуу менен SERBге кайрылуу үчүн*/void serbSetup () {setSpeed (ылдамдык); pinMode (LEFTSERVOPIN, OUTPUT); // сол серво сигнал пинин коет // pinMode чыгаруу үчүн (RIGHTSERVOPIN, OUTPUT); // туура servo сигнал пин орнотот // leftServo.attach чыгаруу үчүн (LEFTSERVOPIN); // солго servo оңго кошотServo.attach (RIGHTSERVOPIN); // туура servo тиркемелерди тиркейт goStop ();}/ * * роботтун ылдамдыгын 0- (токтотулган) менен 100- (толук ылдамдык) ортосунда орнотот * ЭСКЕРТҮҮ: ылдамдык учурдагы ылдамдыкты өзгөртпөйт, сиз ылдамдыкты өзгөртүшүңүз керек * анан бирөөнү чакырыңыз өзгөрүүлөр боло электе эле баруу методдорунун.*/void setSpeed (int newSpeed) {if (newSpeed> = 100) {newSpeed = 100;} // if speed is more than 100 // if 100 if (newSpeed <= 0) {newSpeed = 0;} // эгер ылдамдык 0дон аз болсо // ал 0 ылдамдык = newSpeed * 0.9; // ылдамдыгын таразалайт // 0 менен 90 ортосунда/ * * роботту алдыга жөнөтөт */void goForward () {leftServo.write (90 + speed); rightServo.write (90 - ылдамдык);}/ * * роботту артка жөнөтөт */void goBackward () {leftServo.write (90 - ылдамдык); rightServo.write (90 + ылдамдыгы);} / * * роботту оңго жөнөтөт * /void goRight () {leftServo.write (90 + ылдамдыгы); rightServo.write (90 + ылдамдыгы);}/ * * роботту солго жөнөтөт */void goLeft () {leftServo.write (90 - ылдамдык); rightServo.write (90 - ылдамдык);}/ * * роботту токтотот */void goStop () {leftServo.write (90); rightServo.write (90);} // ARDUINO БАШКАРЫЛГАН СЕРВО РОБОТУНУН (СЕРБ) РОТИНДЕРИНИН АЯГЫ // ---------------------------- -----------------------------------------------

7 -кадам: Бүттү, Башкалар бүтүрдү жана Келечек

Бүттү, Башкалары Бүтүрдү & Келечек
Бүттү, Башкалары Бүтүрдү & Келечек
Бүттү, Башкалары Бүтүрдү & Келечек
Бүттү, Башкалары Бүтүрдү & Келечек
Бүттү, Башкалары Бүтүрдү & Келечек
Бүттү, Башкалары Бүтүрдү & Келечек
Бүттү, Башкалары Бүтүрдү & Келечек
Бүттү, Башкалары Бүтүрдү & Келечек

Буга чейин жеткениңиз менен куттуктайм жана сиз Arduino Controlled Servo Robot менен көңүл ачып жатасыз деп үмүттөнөм. Менимче, бул абдан жакшы көрүнөт. Майктын SERB - Майктын (Сент -Луис аймагынын робот клубунун ROBOMO) досу лазердик SERB шассисин кесип алып, аны иштетүү үчүн өзүнүн роботтук ноу -хаусун колдонгон. Менимче, көк түстө жасалган сонун көрүнөт. (Бул тууралуу жана анын башка роботтору жөнүндө кененирээк маалымат алуу үчүн анын веб -сайтын караңыз (бул жерде) Бул бөлүмдө келечектеги окуялар жана тиркемелер тууралуу маалыматтар камтылган (алар туура документтелгенге чейин бул жерде көрсөтүлөт). Бирок мен сүрөттөрдү көрсөткүм келет Башка элдердин SERB's. Демек, эгер сиз бүтүргөн болсоңуз, анда мага жеке сүрөтүңүз жана бир нече сөзүңүздү жөнөтүңүз (сүрөттөмө же веб -сайтыңызга шилтеме болсун), мен аны бул жерге кошом. бул кызыктуу башка ачык долбоорлор үчүн oomlout.com текшерүү.

SANYO eneloop Батарея менен иштеген конкурстун биринчи сыйлыгы

Сунушталууда: