Съдържание:
- Стъпка 1: Части и инструменти
- Стъпка 2: Изрязване на парчета
- Стъпка 3: Монтаж
- Стъпка 4: Окабеляване
- Стъпка 5: Тестване и отстраняване на проблеми
- Стъпка 6: Програмиране
- Стъпка 7: Готово, други, които са приключили и бъдещето
Видео: Servo робот с контролиран Arduino (SERB): 7 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:55
Какъв по -добър начин да започнете да експериментирате с микроконтролери с отворен код (Arduino) след това, като създадете свой собствен робот с отворен код (CC (SA -BY))? Какво да направите с вашия SERB?
- (тук) - Как да свържете вашия SERB към интернет и да го управлявате през видео разговор по Skype.
- (тук) - Как да контролирате SERB с помощта на акселерометрите на Wii nunchuck
- (тук) - Как да добавите мустаци за откриване на препятствия към вашия робот
- (тук) - Как да направите 30 комплекта (Отворено производство)
Характеристика:
- Напълно програмируем с помощта на микроконтролер Arduino Duemilanove (или друг микроконтролер по ваш избор).
- Няма нужда от запояване.
- Избор на опции за рязане на акрилни парчета. (циркулярен трион, достъп до лазерен нож, закупуване на предварително нарязани парчета)
- Лесно се разширява и модифицира с допълнителни отвори за болтове и включена платка.
- Задно колело с двоен сачмен лагер.
- Работи за 1-2 часа. (от комплекта)
- Дизайн с отворен код (изградете колкото искате)
(Безсрамен щепсел) Във Великобритания и харесвате неща от Arduino? разгледайте нашия новооткрит уеб магазин oomlout.co.uk Бързо видео на завършен серво робот, управляван от Arduino - (SERB), изпълняващ включената тестова програма (стъпка 6) Забележка: Изходните файлове са достъпни на паралелен Instructable (Изходни файлове за) - Как да си направим серво робот с контролиран Arduino - (SERB)
Стъпка 1: Части и инструменти
Всички болтове могат да бъдат намерени в местния Home Depot. Другите части могат да бъдат намерени онлайн (включих връзка към любимия ми източник за всеки). Списък с части: Пакет, съдържащ всички хардуерни елементи, може да бъде закупен в магазина на oomlout.com (тук) ($ 120) Гайки и болтове:
- Болт 3 мм x 15 мм (x20)
- Болт 3 мм x 10 мм (x12)
- 3 мм гайка (x34)
- 3 мм шайба (x12)
- 8 мм х 25 мм болт (х2)
- 8 мм гайка (x2)
- Лагери за кънки (x2) (VXB) (това са стандартни лагери за кънки, така че могат да бъдат спасени от чифт ролкови остриета или скейтборд)
Гуми
- Голям уплътнителен пръстен (4.5 "ID 3/16" Bead Dash #349) (x2) (продукт на McMaster-Carr 9452K407)
- Малък О-пръстен (3/4 "ID 3/16" Bead Dash #314) (x1) (Продукт на McMaster-Carr #9452K387)
Електроника
- Arduino Duemilanove (x1) (навес за създаване)
- Серво за непрекъснато въртене (x2) (паралакс)
- 400 Контактна платка (x1) (Цяла електроника))
- Quad AA кутия за батерии (x1) (Цяла електроника)
- 9V скоба за батерия (x1) (Цяла електроника)
- 2,1 мм щепсел (x1) (Цяла електроника)
- 3 -пинов хедър (x2) (Цяла електроника)
- A -B USB кабел - стил на принтер (x1) (Цяла електроника) (не е включен в комплекта)
Батерии:
- AA батерия (x4) (не е включена в комплекта)
- 9v батерия (x1) (не е включена в комплекта)
Кабел: (целият проводник е 22 AWG твърд, купувам моя чрез McMaster-Carr)
- 15 см лилаво (x2)
- 15 см черен (x1)
- 5 см черен (x2)
- 5 см червен (x2)
Инструменти
- Отвертка (x1) (Philips)
- Клещи за иглени носове (x1)
Стъпка 2: Изрязване на парчета
Моля, изберете кои стъпки да следвате въз основа на опцията за рязане, която сте избрали. Вариант 1 (Закупуване на предварително нарязани части)
Купете предварително нарязано шаси от магазина на oomlout.com (тук) ($ 60, включително доставка до САЩ и Канада)
Вариант 2 (Цифрово производство (т.е. Ponoko) / Достъп до лазерен нож)
- Изтеглете оформлението на лазерния нож ("03 SERB Ponoko Cutting Layout P2.eps" или "03- (SERB) -Ponoko Cutting Layout (P2).cdr")
- Нарежете файловете с помощта на Ponoko или със собствен лазерен нож (с помощта на 3 мм,.118 "акрил (понякога се продава като.125")
Вариант 3 (циркуляр и трион)
- Изтеглете и отпечатайте PDF шаблона (моля, изберете файла, съответстващ на размера на вашата хартия) чертежа по време на печат)
- Измерете линийката на разпечатката спрямо линийка, на която имате доверие, ако те не съответстват на шаблона, който е мащабиран и трябва да разгледате настройките на принтера си, преди да отпечатате отново. Ако те съвпадат, нататък.
- Залепете шаблона към акрилния лист (3 мм,.118 "(понякога се продава като.125").
- Пробийте дупки.
- Изрежете парчета с помощта на циркуляр
Стъпка 3: Монтаж
Поздравления, че стигнахте дотук 90% от процеса е завършен, просто изтеглете инструкциите за сглобяване на тази стъпка (04- (SERB) -Ръководство за сглобяване.pdf) и след малко сглобяване в стил лего/механо ще бъдете готови за свързване. За да ви забавлявам по пътя ето един интервал от време на моята асамблея:
Стъпка 4: Окабеляване
С всички големи парчета е време да добавим малките електрически вени, които ще позволят на нашия робот да бъде контролиран. За да направите това, изтеглете и отпечатайте електрическата схема (05- (SERB) -Wiring Diagram.pdf). Първият поглед към него може да изглежда доста обезсърчаващ, но ако правите всяка връзка последователно и отделяте време, тя се събира забележително бързо. Така че свържете всичко два пъти, проверете го, след това добавете захранване.
Стъпка 5: Тестване и отстраняване на проблеми
Ако сте поръчали комплект, вашият Arduino е предварително оборудван с тестова програма. Просто поставете 4 батерии AA и включете 9v батерията в Arduino. И ако всичко е направено правилно, вашият робот ще започне да се движи (той ще се завърти в произволна посока за време между 0,1 и 1 секунда, преди да продължи напред за произволно време между 1 и 2 секунди, след което направи пауза за 2 секунди, преди да започне отново). Ако не сте закупили комплект, е необходима допълнителна стъпка. Изтеглете прикачения zip файл (07- (SERB)-SERB-Test Arduino Program.zip). След това го разархивирайте във вашата директория за скици на Arduino (по подразбиране "моите документи / Arduino \") и го изтеглете на дъската си arduino. (ако сте нов в Arduino, преминете напред с една стъпка, където има връзки към страхотни уроци за начало) Чести проблеми: Моят SERB се движи бавно, когато трябва да бъде спрян. Това е резултат от това, че вашите сервомотори не са калибрирани съвсем правилно, за да калибрирате вашите сервомотори изчакайте, докато програмата ви спре сервомоторите и след това с малка отвертка завъртете потенциометъра вътре в серво (малкия отвор в корпуса на серво точно над мястото, където са проводниците). Завъртете го наляво или надясно, докато сервоустройството наистина спре. Нещата не работят както трябва. Изпратете ни имейл с вашите симптоми и ние ще се опитаме да ви помогнем, докато чакате отговор, проверете отново всичките си проводници с електрическата схема от стъпка 4. Ако срещнете някакъв проблем, моля, добавете коментар на този Instructable или изпратете имейл на [email protected] и ние ще направим всичко възможно да ви помогнем да накарате вашия SERB да работи
Стъпка 6: Програмиране
Физическият робот е приключил, за да започне да му дава мозък. Преди да се впуснем в подробностите за програмирането на Arduino контролиран серво робот - (SERB) - няколко връзки към някои отлични ресурси за програмиране на Arduino в интернет. за да ви помогне да започнете с Arduinos, от изтегляне на програмната среда до писане на първата ви програма. Arduino Programming Reference - Пълно лесно за справка ръководство за езика за програмиране Arduino. Как работят сервомоторите - Бърз пример за работата на серво моторите. Arduino Servo Library - Как работи библиотеката на Arduino Servo (как контролираме нашите серво). Има три начина да започнете да програмирате вашия Arduino контролиран серво робот - (SERB). Вариант 1: (Промяна на SERB_Test.pde) Понякога при програмирането най -лесното нещо е да вземете работеща програма и да започнете да добавяте свой собствен код към нея. За да направите това, изтеглете програмата с цип SERB_Test (07- (SERB)-SERB-Test Arduino Program.zip). Продължете да разархивирате това във вашата папка за скици на Arduino (по подразбиране „Моите документи / Arduino \“). Накрая отворете програмиращата среда Arduino и я изтеглете на вашия Arduino. Кодът е добре коментиран. (Или копирайте и поставете кода от приложението на тази стъпка към нова скица на Arduino) Вариант 2: (Добавяне на SERB рутини към вашата програма) Добавете някои прости процедури към вече съществуващата програма (като goForward (), setSpeed (int) и т.н.). За да направите това, изтеглете рутините в текстовия файл (07- (SERB)- Simple Routines Text.txt). 1. Копирайте и поставете частта от преамбюла в началото на вашата програма. Копирайте и поставете рутинната част в тялото на вашата програма. Добавете повикване към serbSetup (); към вашата рутина setup (). Опция 3: (Създаване на собствена програма от нулата) Това не е твърде трудно. Всичко, което е необходимо, е да се запознаете с Arduino Servo Library. След това дясното серво е свързано към пин 9, а лявото към серво 10. забележка: Допълнителни програми ще бъдат добавени тук, докато се разработват; или ако разработите нещо и бихте искали да го представите, изпратете ми лично съобщение и то може да бъде добавено. Приложение: (SERB_Test.pde код)
/ * * Управляван от Arduino серво робот (SERB) - Програма за тестване * За повече подробности посетете: https://www.oomlout.com/serb * * Поведение: Проста тестова програма, която кара SERB * да се завърта произволно наляво или надясно за * случаен период от време между 0,1 и 1 секунда. * След това SERB ще продължи напред за произволен * период от време между 1 и 2 секунди. Накрая * пауза за 2 секунди, преди да започнете отново. * * Окабеляване: Десен серво сигнал - щифт 9 * Ляв серво сигнал - щифт 10 * * Лиценз: Тази творба е лицензирана под Creative Commons * Приписване -Споделяне на подобен 3.0 Неподдържан лиценз. За да * видите копие на този лиценз, посетете * https://creativecommons.org/licenses/by-sa/3.0/ * или изпратете писмо до Creative Commons, 171 Second * Street, Suite 300, San Francisco, California 94105, * САЩ. * */// --------------------------------------------- ----------------------------- // НАЧАЛО НА АРДУИНО КОНТРОЛИРАН СЕРВО РОБОТ (СЪРБ) ПРЕАМБУЛА #включва #дефинирайте ЛЕВИЯ СЕРВОПИН 10 #дефинирайте ПРАВОТО СЕРВОПИН 9Servo leftServo; Серво дясно int скорост = 100; // задава скоростта на робота (и двете сервоустройства) // процент между 0 и 100 // КРАЙ НА АРДУИНО КОНТРОЛИРАНИЯ СЕРВО РОБОТ (СЪРБ) ПРЕАМБУЛА // ---------------- -------------------------------------------------- --------/ * * настройва щифтовете в подходящи състояния и свързва серво. След това прави пауза * за 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); // Случайно число за паузата // време if (choice == 1) {goLeft ();} // Ако случайно число = 1 след това завийте // наляво else {goRight ();} // Ако случайно число = 0 тогава завой // закъснение надясно (turnTime); // забавяне за произволно време}/ * * продължава напред за произволен период от време между minTime (милисекунди) * и maxTime (милисекунди) */void goForwardRandom (int minTime, int maxTime) {int forwardTime = random (minTime, maxTime); // определяме случайно време за // напред напред goForward (); // задава закъснението на SERB напред (forwardTime); // закъснения за произволен период от време} // ---------------------------------------- -------------------------------- // НАЧАЛО НА РАБОТИРАНИ СЕРВО РОБОТИ (СЪРБСКИ) НА ARDUINO/ * * настройва вашия arduino за адресиране на вашия SERB с помощта на включените процедури*/void serbSetup () {setSpeed (speed); pinMode (LEFTSERVOPIN, OUTPUT); // задава левия щифт на серво сигнала // към изход pinMode (RIGHTSERVOPIN, OUTPUT); // задава десния щифт за серво сигнал // към изход leftServo.attach (LEFTSERVOPIN); // прикачва ляво серво rightServo.attach (RIGHTSERVOPIN); // прикрепя дясното серво на методите go преди да настъпят промени.*/void setSpeed (int newSpeed) {if (newSpeed> = 100) {newSpeed = 100;} // ако скоростта е по -голяма от 100 // направете 100 if (newSpeed <= 0) {newSpeed = 0;} // ако скоростта е по -малка от 0 make // it 0 speed = newSpeed * 0.9; // мащабира скоростта, която да бъде // между 0 и 90}/ * * изпраща робота напред */void goForward () {leftServo.write (90 + скорост); 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 управляван серво робот - (SERB). SERB на Майкъл Бек - Майкъл намери плановете за SERB на Thingiverse.com и го изряза от жълт и червен акрил. Мисля, че изглежда страхотно. СРЪБ на Майк - Майк (от роботския клуб ROBOMO в района на Сейнт Луис) е имал приятел, който лазерно изряза шаси на СЪРБ, и използва собственото си роботизирано ноу -хау, за да го задейства. Мисля, че изглежда страхотно направено в синьо. (вижте уебсайта му за подробности относно това, както и другите му роботи (тук) Този раздел ще съдържа подробности за бъдещите разработки и прикачени файлове (те ще бъдат представени тук, преди да бъдат правилно документирани). Но аз също бих искал да покажа снимки на други хора SERB's. Така че, ако сте приключили, изпратете ми лично съобщение със снимка и няколко думи (било то описание или линк към вашия уебсайт) и ще го добавя тук. (Безсрамна приставка) Ако ви харесва тази инструкция проверете на oomlout.com за други забавни проекти с отворен код.
Първа награда в конкурса SANYO eneloop, захранван от батерии
Препоръчано:
Изградете вашия Интернет контролиран робот за видео стрийминг с Arduino и Raspberry Pi: 15 стъпки (със снимки)
Изградете вашия Интернет контролиран робот за видео стрийминг с Arduino и Raspberry Pi: Аз съм @RedPhantom (известен още като LiquidCrystalDisplay / Itay), 14-годишен ученик от Израел, който учи в прогимназията за разширени науки и математика Max Shein. Правя този проект, от който всеки да се учи и споделя! Може да имате
Робот с контролиран свирка: 20 стъпки (със снимки)
Робот, контролиран от свирка: Този робот се ръководи изцяло от свирка, подобно на „Златната звукова играчка“произведен през 1957 г. При включване роботът се движи в посоката, посочена от светещата стрелка на механизма на предното задвижващо колело. Когато свирката
Робот с контролиран Wi-Fi, използващ Wemos D1 ESP8266, Arduino IDE и Blynk App: 11 стъпки (със снимки)
Робот с контролиран Wi-Fi с помощта на Wemos D1 ESP8266, Arduino IDE и приложението Blynk: В този урок ще ви покажа как да направите роботизиран резервоар с Wi-Fi управление, управляван от смартфон с помощта на приложението Blynk. В този проект е използвана платка ESP8266 Wemos D1, но могат да се използват и други модели плочи (NodeMCU, Firebeetle и др.), А pr
[Робот Arduino] Как да си направим робот за улавяне на движение - Робот Thumbs - Серво мотор - Изходен код: 26 стъпки (със снимки)
[Робот Arduino] Как да си направим робот за улавяне на движение | Робот Thumbs | Серво мотор | Изходен код: Thumbs Robot. Използва се потенциометър на серво мотор MG90S. Много е забавно и лесно! Кодът е много прост. Има само около 30 реда. Изглежда като заснемане на движение. Моля, оставете всеки въпрос или обратна връзка! [Инструкция] Изходен код https: //github.c
Робот -автомобил с контролиран Bluetooth, използващ Arduino: 8 стъпки (със снимки)
Роботска кола с контролиран Bluetooth, използваща Arduino: В тази инструкция ще ви насоча към създаването на роботизирана кола, която контролира Bluetooth чрез вашия мобилен телефон с Android. Не само това, колата робот има специална способност да избягва препятствията, които среща, когато движи колата напред. Роботът