Съдържание:
- Консумативи
- Стъпка 1: 3D печат: Корпус, колела, мраморен ролер, 6 мм болт/гайка и ултразвуков сензорен монтаж
- Стъпка 2: Програмирайте Arduino
- Стъпка 3: Сглобете робота
- Стъпка 4: Прикрепете сензорни проводници
- Стъпка 5: Готово !!! Свържете 9V захранване Arduino, включете батерията и започнете да избягвате препятствия с OAREE
Видео: OAREE - 3D печат - робот за избягване на препятствия за инженерно образование (OAREE) с Arduino: 5 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
OAREE (робот за избягване на препятствия за инженерно образование)
Дизайн: Целта на тази инструкция беше да се създаде OAR (робот за избягване на препятствия), който е прост/компактен, 3D печат, лесен за сглобяване, използва серво за непрекъснато въртене за движение и има възможно най -малко закупени части. Вярвам, че успях да създам този страхотен робот и го нарекох OAREE (робот за избягване на препятствия за инженерно образование). Този робот ще усети препятствия, ще спре, погледне наляво и надясно, след това ще се обърне в безпрепятствената посока и ще продължи напред.
Предистория: Интернет има множество пречки за избягване на роботи, но повечето са обемисти, трудни за сглобяване и скъпи. Много от тези роботи са снабдени с код на Arduino, но беше трудно да се намери добре обмислен, работещ пример. Исках също да използвам серво за непрекъснато въртене за колелата (вместо за DC двигатели), което все още не беше направено. Затова тръгнах на мисия да разработя компактен, изобретателен OAR робот, който да споделя със света.
По -нататъшно развитие: Този робот може да бъде допълнително развит за по -добра точност на пинг, добавяне на IR сензори за проследяване на линия, LCD екран за показване на разстоянието на препятствия и много други.
Консумативи
- 1x Arduino Uno -
- 1x сензорен щит V5 -
- 1x 4xAA държач за батерия с превключвател за включване/изключване -
- 1x SG90 Servo -
- 2x серво за непрекъснато въртене -
- 1x 9V кабел за захранване на батерията за Arduino (ОПЦИЯ) -
- 1x ултразвуков сензор HC -SR04 -
- 4x женско-женски джъмперни проводници-https://www.amazon.com/RGBZONE-120pcs-Multicolored…
- 2x гумени ленти
- 1x 9V батерия (ОПЦИЯ)
- 4x AA батерии
- 4x малки винта (4 x 1/2 или нещо подобно)
- Отвертка Phillips
- Лепило за закрепване на гумени ленти към колела
Стъпка 1: 3D печат: Корпус, колела, мраморен ролер, 6 мм болт/гайка и ултразвуков сензорен монтаж
Има 5 части за 3D печат.
- Тяло
- Колела
- Мраморен колесник
- 6 мм болт/гайка (по избор, може да се замени метална гайка/болт)
- Ултразвуков сензорен монтаж
Всички необходими. STL файлове са включени в тази инструкция, както и Sketchup файловете. Препоръчва се 40% пълнене.
Стъпка 2: Програмирайте Arduino
Изпратете код до Arduino UNO: Използвайки Arduino IDE, изпратете кода (в прикачения файл) към вашия модул Arduino. Ще трябва да изтеглите и включите библиотеките servo.h и newping.h с тази скица.
Кодът е изцяло коментиран, така че можете да видите какво прави всяка команда. Можете лесно да промените разстоянието на ултразвуковия сензор на по -голяма или по -малка стойност, ако желаете. Това е първоначален код и е предназначен да бъде разширен и използван за по -нататъшно развитие на проекта.
// ПРЕПЪЛНЕНИЕ, ИЗБЯГВАЩИ РОБОТА // [email protected], [email protected], Университет на TN в Чатануга, Електротехника, Есен 2019 // Необходими материали: // 1) Arduiino UNO, 2) Серво сензорен щит v5.0, 3) HCSR04 ултразвуков сензор, 4) FS90 серво (за ултразвуков сензор) // 5 & 6) 2x УСЛУГИ ЗА НЕПРЕКРАТИВНО ВЪРТВАНЕ за колелата // 7) 16 мм Мрамор за задно въртене на колелото, 8 & 9) 2 гумени ленти за колела // 10- 15) 1x (4xAA) държач на батерията с превключвател за включване/изключване, 16 & 17) 9V батерия с конектор за захранване Arduino UNO // 3D PRINT: // 18) корпус ROBOT, 19 & 20) 2x колела, 21) мраморен колесник, 22) ултразвуков сензор Монтаж и 6 мм винт (вижте приложените файлове) // -------------------------------------- -------------------------------------------------- ----------------------------------------- #include // Включване на серво библиотека #include // Включване на Newping Library // ------------------------------------------- -------------------------------------------------- ------------------------------------ #дефинирайте TRIGGER_PIN 1 2 // US тригер за пин 12 на Arduino #define ECHO_PIN 13 // US Echo за пин 13 на Arduino #define MAX_DISTANCE 250 // Разстояние до пинг (макс. 250) int разстояние = 100; // ------------------------------------------------ -------------------------------------------------- ------------------------------- Серво US_Servo; // Ултразвуков сензорен серво серво Left_Servo; // Серво серво за ляво колело Right_Servo; // NewSing сонар за серво на дясното колело (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing настройка на щифтове и максимално разстояние. // ------------------------------------------------ -------------------------------------------------- ------------------------------- void setup () // ВХОД/ИЗХОДИ, КЪДЕТО ДА СЕ ПРИКЛЮЧИ, ЗАДАВАЙТЕ ИНИЦИАЛНО ПОЛОЖЕНИЕ/ДВИЖЕНИЕ {pinMode (12, OUTPUT); // Trigger pin set as output pinMode (13, INPUT); // Ехо щифт, зададен като вход US_Servo.attach (11); // US Servo настроено на пин 11 US_Servo.write (90); // US SERVO ОЧАКВА НАПРЕД
Left_Servo.attach (9); // Серво на лявото колело към щифт 9
Left_Servo.write (90); // СЕРВОТО НА ЛЯВОТО КОЛЕ е настроено на STOP
Right_Servo.attach (10); // Серво за дясно колело, настроено на пин 10
Right_Servo.write (90); // RIGHT WHEEL SERVO настроен на забавяне STOP (2000); // Изчакайте 2 секунди разстояние = readPing (); // Вземете Ping Distance при забавяне на позицията напред (100); // Изчакайте 100 ms moveForward (); // РОБОТ ДВИЖЕ НАПРЕД}} // ------------------------------------------ -------------------------------------------------- ------------------------------------- void loop () {int distanceRight = 0; // Инициирайте разстоянието на САЩ надясно при 0 int distanceLeft = 0; // Инициирайте разстоянието наляво в САЩ на 0 //US_Servo.write(90); // Центриране на серво в САЩ // забавяне (50); // US_Servo.write (70); // Погледнете леко надясно // забавяне (250); // US_Servo.write (110); // Погледнете леко наляво // забавяне (250); // US_Servo.write (90); // Погледни център
if (разстояние <= 20) // Роботът се ДВИЖИ НАПРЕД {moveStop (); // Робот спира на разстояние = distanceLeft) // Решава в коя посока да завърти {turnRight (); // Дясната страна има най -голямо разстояние, РОБОТ СЕ ЗАВЪРШВА НАДЯСНО за 0,3 сек закъснение (500); // Това забавяне определя дължината на завой moveStop (); // Робот спира | else {turnLeft (); // Най -голямото разстояние от лявата страна, РОБОТЪТ СЕ ЗАВЪРШВА НАЛЯВО за 0,3 сек закъснение (500); // Това забавяне определя дължината на завой moveStop (); // Робот спира |} else {moveForward (); // Робот се премества напред} distance = readPing (); // ПРОЧЕТАМ НОВ ПИНГ за новата посока на пътуване} // ----------------------------------- -------------------------------------------------- -------------------------------------------- int lookRight () // Ултразвуков сензор ГЛЕДАЙТЕ НАДЯСНО ФУНКЦИЯ {US_Servo.write (30); // US серво се премества НАДЯСНО до ъгъл забавяне (500); int разстояние = readPing (); // Задайте стойност на пинг за дясно забавяне (100); US_Servo.write (90); // US серво се премества в разстоянието за връщане; // Разстоянието е зададено} // ------------------------------------------ -------------------------------------------------- ------------------------------------- int lookLeft () // Ултразвуков сензор LOOK LEFT FUNCTION {US_Servo.пиши (150); // Американското серво се движи НАЛЯВО до ъгъл забавяне (500); int разстояние = readPing (); // Задайте стойност на пинг за ляво забавяне (100); US_Servo.write (90); // US серво се премества в разстоянието за връщане; // Разстоянието е зададено} // ------------------------------------------ -------------------------------------------------- ------------------------------------- int readPing () // Четене на Ping функция за ултразвуков сензор. {забавяне (100); // 100ms между пинговете (мин. Време за пинг = 0.29ms) int cm = sonar.ping_cm (); // PING разстоянието се събира и задава в cm if (cm == 0) {cm = 250; } return cm; } // ----------------------------------------------- -------------------------------------------------- -------------------------------- void moveStop () // ROBOT STOP {Left_Servo.write (90); // LeftServo 180 напред, 0 назад Right_Servo.write (90); // RightServo 0 напред, 180 назад} // --------------------------------------- -------------------------------------------------- ---------------------------------------- void moveForward () // ROBOT FORWARD {Left_Servo.пиши (180); // LeftServo 180 напред, 0 назад Right_Servo.write (0); // RightServo 0 напред, 180 назад} // --------------------------------------- -------------------------------------------------- ---------------------------------------- void moveBackward () // ROBOT BACKWARD {Left_Servo.write (0); // LeftServo 180 напред, 0 назад Right_Servo.write (180); // RightServo 0 напред, 180 назад} // --------------------------------------- -------------------------------------------------- ---------------------------------------- void turnRight () // ROBOT RIGHT {Left_Servo.пиши (180); // LeftServo 180 напред, 0 назад Right_Servo.write (90); // RightServo 0 напред, 180 назад} // --------------------------------------- -------------------------------------------------- ---------------------------------------- void turnLeft () // ROBOT LEFT {Left_Servo.пиши (90); // LeftServo 180 напред, 0 назад Right_Servo.write (0); // RightServo 0 напред, 180 назад} // --------------------------------------- -------------------------------------------------- ----------------------------------------
Стъпка 3: Сглобете робота
Сега е време да съберете робота си. Стъпките са изброени по -долу.
1) Прикрепете кръгли серво дискове и гумени ленти към колелата: Всички сервоустройства се предлагат с пластмасов монтажен хардуер и винтове. Намерете кръглите дискове и ги завийте в двата отвора на плоската страна на колелата. Гумените ленти се монтират около колелото, за да осигурят сцепление. Може да искате да добавите малко лепило, за да запазите гумените ленти на място.
2) Приставка за мраморен ролер: Използвайте два малки винта, за да прикрепите мраморната ролка към двата триъгълника отзад. Мраморното колело е проста замяна на задно колело и осигурява задна точка на завъртане.
3) Поставете сервомоторите в слотовете (не са необходими винтове): Поставете сервопривода FS90 (за ултразвуковия сензор) в предния слот на тялото. Двата сервомотора с непрекъснато въртене се плъзгат в левия и десния слот. Прорезите са проектирани за плътно прилепване, така че не са необходими винтове за задържане на сервомоторите на място. Уверете се, че серво проводниците преминават през жлебовете в слотовете, така че да са обърнати към задната част на тялото.
4) Поставяне на 9V батерия (ОПЦИЯ): Поставете 9V батерия + захранващ конектор Arduino зад предното серво.
5) Монтаж на ултразвуков сензор: Използвайте два малки винта, за да прикрепите едно от включените в комплекта бели пластмасови серво приставки към долната част на монтажната плоча на ултразвуковия сензор. След това използвайте 3D отпечатан 6 мм болт/гайка (или заменете метален болт/гайка), за да прикрепите корпуса на ултразвуковия сензор към монтажната плоча. И накрая, поставете сензора в кутията с щифтовете нагоре и щракнете в задната част на кутията.
6) 4x AA батериен калъф: Поставете AA батерийния калъф в голямата правоъгълна област, като превключвателят за включване/изключване е обърнат назад.
7) Arduino Uno + V5 сензорен щит: Прикрепете щита към Arduino и го поставете върху стойките над кутията на батерията. Захранващият конектор трябва да е обърнат вляво.
Вашият робот е построен! Какво е останало? Програмиране на Arduino и свързващи джъмперни проводници: сервоустройства, ултразвуков сензор и захранване.
Стъпка 4: Прикрепете сензорни проводници
Свържете серво проводниците към V5 Shield:
- Сервото за ляво непрекъснато въртене се прикрепя към ПИН 9
- Сервото за непрекъснато въртене вдясно се прикрепя към ПИН 10
- Серво FS90 отпред се прикрепя към PIN 11
Свържете ултразвукови сензорни щифтове (чрез 4x женски към женски джъмперни проводници) към V5 щит:
- Задействане на ПИН 12
- Ехо към ПИН 13
- VCC към някой от пиновете, маркирани с „V“
- Заземете към някой от щифтовете, маркирани с "G"
Свържете кутията на батерията AA към щита V5:
- Прикрепете положителния, червен проводник към VCC конектора
- Прикрепете отрицателния черен проводник към заземяващото съединение
Стъпка 5: Готово !!! Свържете 9V захранване Arduino, включете батерията и започнете да избягвате препятствия с OAREE
Готово !
1) Свържете захранването 9V Arduino (по избор)
2) Включете батерията
3) Започнете да избягвате препятствията с OAREE !!!
Сигурен съм, че ще се влюбите в новия си приятел, OAREE, след като го видите как усеща препятствие, правите резервни копия и променяте посоката. OAREE работи най -добре с големи предмети, от които ултразвуковият сензор може да отпише (като стени). Трудно изпитва малки обекти като крака на стола поради тяхната малка повърхност и ъгли. Моля, споделете, развийте допълнително и ме уведомете за всички необходими корекции или грешки. Това беше страхотно учене и се надявам да се забавлявате толкова добре, колкото и аз!
Вицешампион в конкурса по роботика
Препоръчано:
Брояч Arduino, използващ TM1637 LED дисплей и сензор за избягване на препятствия: 7 стъпки
Брояч Arduino, използващ TM1637 LED дисплей и сензор за избягване на препятствия: В този урок ще се научим как да направим обикновен брояч с помощта на LED дисплей TM1637 и сензор за избягване на препятствия и Visuino
Направи си кола за избягване на препятствия Arduino у дома: 5 стъпки
Направи си сам кола за избягване на препятствия Arduino у дома: В тази статия ще ви покажа как да си направите кола за избягване на препятствия Arduino у дома
Как да използвате IR сензора за избягване на препятствия на Arduino: 4 стъпки
Как да използвам IR сензора за избягване на препятствия в Arduino: Здравейте, всички, В тази статия ще напиша как да използвам IR сензора за избягване на обстоятелствата на Arduino. Необходими компоненти: IR сензор за избягване на препятствия Arduino Nano V.3 Jumpe проводник USBmini Необходим софтуер: Arduino IDE
$ 20 Arduino Избягване на препятствия Интелигентна кола: 4 стъпки
Интелигентна кола за избягване на препятствия от $ 20: Надявам се, че сте харесали видеоклипа по -горе, в този урок можете да направите себе си един от тази кола -робот за избягване на препятствия за под $ 30. banggood.com/DIY-L298N-2WD-Ultrasonic … Части, които може да промените
Игра за избягване на препятствия със сензор за разстояние: 5 стъпки
Игра за избягване на препятствия със сензор за разстояние: Игра за избягване на препятствия като Flappy Bird. Преместете ръката си, за да избегнете сблъсъка. Лесно е да се направи и забавно да се играе