Съдържание:
- Стъпка 1: Какво ви трябва в този проект:
- Стъпка 2: Електрическа схема
- Стъпка 3: Програмиране на Arduino UNO
- Стъпка 4: Страхотно
Видео: Как да си направите робот за избягване на препятствия Arduino у дома: 4 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Здравейте момчета, В тази инструкция ще направите препятствие, избягвайки робота. Тази инструкция включва изграждане на робот с ултразвуков сензор, който може да открие близки обекти и да промени посоката им, за да избегне тези обекти. Ултразвуковият сензор ще бъде прикрепен към серво мотор, който постоянно сканира наляво и надясно, търсейки обекти по пътя си.
Така че, без да се замисляме, нека започнем!
Стъпка 1: Какво ви трябва в този проект:
Ето списъка с части:
1) Arduino Uno
2) Щит на водача на двигателя
3) Редуктор, комплект рамка и колела
4) Серво мотор
5) Ултразвуков сензор
6) Литиево-йонна батерия (2x)
7) Поставка за батерия
8) Мъжки и женски джъмпер
9) поялник
10) Зарядно устройство
Стъпка 2: Електрическа схема
Работещи:
Преди да започнете работа по проекта, важно е да разберете как работи ултразвуковият сензор. Основният принцип на работа на ултразвуковия сензор е следният:
Използвайки външен задействащ сигнал, триггерният щифт на ултразвуковия сензор се прави логически висок за поне 10 μs. Излъчва се звуков сигнал от предавателния модул. Това се състои от 8 импулса по 40KHz.
Сигналите се връщат обратно, след като ударят повърхност и приемникът открива този сигнал. Ехо пинът е висок от момента на изпращане на сигнала и приемане. Това време може да се преобразува в разстояние чрез подходящи изчисления.
Целта на този проект е да се приложи робот за избягване на препятствия с помощта на ултразвуков сензор и Arduino. Всички връзки са направени съгласно електрическата схема. Работата по проекта е обяснена по -долу.
Когато роботът е включен, и двата двигателя на робота ще работят нормално и роботът се движи напред. През това време ултразвуковият сензор непрекъснато изчислява разстоянието между робота и отразяващата повърхност.
Тази информация се обработва от Arduino. Ако разстоянието между робота и препятствието е по -малко от 15 см, роботът спира и сканира в лявата и дясната посока за ново разстояние, използвайки сервомотор и ултразвуков сензор. Ако разстоянието към лявата страна е повече от това на дясната страна, роботът ще се подготви за ляв завой. Но първо, той се архивира малко и след това активира двигателя на лявото колело в обратна посока.
По същия начин, ако дясното разстояние е повече от това на лявото разстояние, роботът подготвя дясно завъртане. Този процес продължава завинаги и роботът продължава да се движи, без да удря препятствия.
Стъпка 3: Програмиране на Arduino UNO
#включва
#включва
#включва
# дефинирайте TRIG_PIN A1
# дефинирайте ECHO_PIN A0
# дефинирайте MAX_DISTANCE 200
# define MAX_SPEED 255 // задава скорост на DC двигатели
# дефинирайте MAX_SPEED_OFFSET 20
NewPing сонар (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
AF_DCМотор на двигателя3 (3, MOTOR34_1KHZ);
AF_DCМотор на мотора4 (4, MOTOR34_1KHZ); Servo myservo;
boolean goesForward = false;
int разстояние = 100; int speedSet = 0;
void setup () {
myservo.attach (10);
myservo.write (115); забавяне (2000); разстояние = readPing (); забавяне (100); разстояние = readPing (); забавяне (100); разстояние = readPing (); забавяне (100); разстояние = readPing (); забавяне (100); }
void loop () {
int разстояние R = 0; int разстояние L = 0; забавяне (40);
if (разстояние <= 15) {moveStop (); забавяне (100); moveBackward (); забавяне (300); moveStop (); забавяне (200); distanceR = lookRight (); забавяне (200); distanceL = lookLeft (); забавяне (200);
if (distanceR> = distanceL) {
обърни се на дясно(); moveStop (); } else {turnLeft (); moveStop (); }} else {moveForward (); } разстояние = readPing (); }
int lookRight () {
myservo.write (50); забавяне (500); int разстояние = readPing (); забавяне (100); myservo.write (115); обратно разстояние; }
int lookLeft () {
myservo.write (170); забавяне (500); int разстояние = readPing (); забавяне (100); myservo.write (115); обратно разстояние; забавяне (100); }
int readPing () {
забавяне (70); int cm = sonar.ping_cm (); ако (cm == 0) {cm = 250; } return cm; }
void moveStop () {
motor3.run (РЕЛИЗАЦИЯ);
motor4.run (РЕЛИЗАЦИЯ); }
void moveForward () {
ако (! отива напред) {
отива напред = вярно;
motor3.run (НАПРЕД);
motor4.run (НАПРЕД); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // бавно увеличавайте скоростта, за да избегнете зареждането на батериите твърде бързо {
motor3.setSpeed (speedSet);
motor4.setSpeed (speedSet); забавяне (5); }}}
void moveBackward () {
отива напред = невярно;
motor3.run (НАЗАД);
motor4.run (НАЗАД); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // бавно увеличавайте скоростта, за да избегнете зареждането на батериите твърде бързо {
motor3.setSpeed (speedSet);
motor4.setSpeed (speedSet); забавяне (5); }}
void turnRight () {
motor3.run (НАПРЕД);
motor4.run (НАЗАД); забавяне (500);
motor3.run (НАПРЕД);
motor4.run (НАПРЕД); }
void turnLeft () {
motor3.run (НАЗАД);
motor4.run (НАПРЕД); забавяне (500);
motor3.run (НАПРЕД);
motor4.run (НАПРЕД); }
1) Изтеглете и инсталирайте Arduino Desktop IDE
- windows -
- Mac OS X -
- Linux -
2) Изтеглете и поставете файла библиотека NewPing (библиотека с ултразвукова сензорна функция) в папката с библиотеки на Arduino.
- Изтеглете NewPing.rar по -долу
- Извлечете го в пътя - C: / Arduino / libraries
3) Качете кода на платката Arduino чрез USB кабел
Изтеглете код:
Стъпка 4: Страхотно
Сега вашият робот е готов да избегне всяко препятствие …
Ще се радвам да отговоря на всички ваши въпроси
Изпратете ми имейл: [email protected]
Уебсайт:
Абонирайте се за моя канал в YouTube:
Instagram:
Facebook:
Благодаря ти:)
Препоръчано:
Робот за избягване на препятствия, използващ Arduino Nano: 5 стъпки
Робот за избягване на препятствия, използващ Arduino Nano: В тази инструкция ще опиша как можете да направите робот, който избягва препятствия, използвайки Arduino
Робот 5 в 1 Arduino - Следвай ме - Следване на ред - Сумо - Рисуване - Избягване на препятствия: 6 стъпки
Робот 5 в 1 Arduino | Следвай ме | Следване на ред | Сумо | Рисуване | Избягване на препятствия: Тази контролна платка за робот съдържа микроконтролер ATmega328P и драйвер за двигател L293D. Разбира се, той не се различава от платката Arduino Uno, но е по -полезен, защото не се нуждае от друг щит за задвижване на двигателя! Без скок
Робот за избягване на препятствия (Arduino): 8 стъпки (със снимки)
Робот за избягване на препятствия (Arduino): Тук ще ви инструктирам как да направите робот за избягване на препятствия, базиран на Arduino. Надявам се да направя стъпка по стъпка ръководство за това как да направя този робот по много лесен начин. Роботът, който избягва препятствия, е напълно автономен робот, който може да избегне всякакви препятствия
Робот за избягване на препятствия, използващ микроконтролер (Arduino): 5 стъпки
Робот за избягване на препятствия, използващ микроконтролер (Arduino): В тази инструкция ще ви науча как да направите робот за избягване на препятствия, който работи с Arduino. Трябва да сте запознати с Arduino. Arduino е контролна платка, която използва микроконтролера atmega. Можете да използвате всяка версия на Arduino, но аз
Направи си кола за избягване на препятствия Arduino у дома: 5 стъпки
Направи си сам кола за избягване на препятствия Arduino у дома: В тази статия ще ви покажа как да си направите кола за избягване на препятствия Arduino у дома