Как да си направим робот у дома (със снимки)

Съдържание:

Как да си направим робот у дома (със снимки)
Как да си направим робот у дома (със снимки)

Видео: Как да си направим робот у дома (със снимки)

Видео: Как да си направим робот у дома (със снимки)
Видео: УРОК/GUIDE: "Minecraft Map" Как да си сложим карта(map) в Minecraft 2024, Ноември
Anonim

Искате ли да научите как да направите свой собствен робот? Има много различни видове роботи, които можете да създадете сами. Повечето хора искат да видят как роботът се справя лесно с придвижването от точка А до точка В. Можете да изградите робот изцяло от аналогови компоненти или да си купите стартов комплект. Създаването на собствен робот е чудесен начин да научите електроника и компютърно програмиране.

Стъпка

Част 1 от 5: Сглобяване на робота

1123333 1
1123333 1

Стъпка 1. Сглобете компонентите си

За да изградите основен робот, ще ви трябват няколко прости компонента. Можете да намерите повечето или всички тези компоненти в местния магазин за електротехника или в някои онлайн търговци на дребно. Някои комплекти включват всички тези компоненти. Този робот не изисква запояване:

  • Arduino Uno (или друг микроконтролер)
  • 2 сервосистеми на 360 градуса
  • 2 колела, съответстващи на серво
  • 1 безплатно колело
  • 1 тестова платка (дънна платка или проектна дъска), която не е запоена (потърсете тестова дъска, която има два положителни и отрицателни реда от всяка страна)
  • 1 сензор за близост (с четири пинов съединителен кабел)
  • 1 превключвател с бутон
  • 1 резистор 10kΩ
  • 1 USB A към B кабел
  • 1 комплект чупливи заглавки
  • 1 6 x AA държач за батерия с 9V DC захранващ контакт
  • 1 пакет от 22. джъмперни кабели или единичен кабел
  • Изолация напред -назад (двойна лента) или пистолет за лепило
1123333 2
1123333 2

Стъпка 2. Завъртете отделението за батерии, така че плоският му гръб да е обърнат нагоре

Ще изградите тялото на робота, като използвате батерийното отделение като основа.

1123333 3
1123333 3

Стъпка 3. Подредете два сервомотора, обърнати в една и съща посока в края на отделението за батерията

Този край е краят, където кабелът излиза от батерията. Сервомоторите трябва да докосват дъното, а механизмът на въртене на всяко серво трябва да е обърнат навън от страните на отделението за батерии. Важно е тези сервоустройства да са подредени правилно, така че колелата да са прави. Кабелите за серво трябва да излизат от задната страна на отделението за батерии.

1123333 4
1123333 4

Стъпка 4. Залепете сервомоторите с вашата изолация или лепило

Уверете се, че сервото е здраво прикрепено към отделението за батерии. Задната част на сервото трябва да бъде подравнена със задната част на отделението за батерии.

Сега сервомоторите трябва да заемат половината място в задната част на отделението за батерията

1123333 5
1123333 5

Стъпка 5. Прикрепете тестовата платка перпендикулярно на оставащото място в отделението за батерии

Тази тестова платка ще виси леко над предната част на отделението за батерии и ще се простира от двете страни. Преди да продължите, уверете се, че тестовата платка е стегната. Редът „А“трябва да е най -близо до сервото.

1123333 6
1123333 6

Стъпка 6. Прикрепете микроконтролера Arduino към горната част на сервото

Ако правилно свържете сервото, трябва да има плоска част от двата сервопривода, които да се допират помежду си. Прикрепете платката Arduino към това плоско място, така че USB и Arduino захранващите конектори да са обърнати надолу (далеч от тестовата платка). Предната част на Arduino ще се припокрива с тестовата платка.

1123333 7
1123333 7

Стъпка 7. Инсталирайте колелата на сервомоторите

Натиснете здраво колелата върху въртящия се серво механизъм. Това може да изисква значителна сила, тъй като колелата са проектирани да имат отвори, които точно съответстват на формата на върха на серво.

1123333 8
1123333 8

Стъпка 8. Инсталирайте свободното колело в долната част на тестовата платка

Ако обърнете робота с главата надолу, ще видите малка тестова платка, висяща от отделението за батерии. Прикрепете свободното колело към тази висяща част. Използвайте клин, ако е необходимо. Свободното колело служи като предно колело, което позволява на робота да се завърта с лекота във всяка посока.

Ако сте закупили комплект, свободното колело може да има някои клинове, които можете да използвате, за да сте сигурни, че колелото е свободно да докосва земята

Част 2 от 5: Окабеляване на робота

1123333 9
1123333 9

Стъпка 1. Изрежете две 3-пинови заглавки

Ще използвате това, за да свържете серво към тестовата платка. Натиснете щифтовете надолу през заглавките, така че да излязат на еднакво разстояние от двете страни.

1123333 10
1123333 10

Стъпка 2. Поставете двата заглавия в щифтове 1-3 и 6-8 в ред E на тестовата платка

Уверете се, че са поставени здраво или здраво.

1123333 11
1123333 11

Стъпка 3. Свържете серво проводниците с хедера, с черния проводник от лявата страна (щифтове 1 и 6)

Това ще свърже серво с тестовата платка. Уверете се, че лявото серво е свързано към лявата заглавка, а дясното серво е свързано към дясното заглавие.

1123333 12
1123333 12

Стъпка 4. Свържете червения проводник от щифтове C2 и C7 към щифта на червената шина (положителен)

Уверете се, че използвате червената шина на гърба на тестовата платка (по -близо до останалата част от тялото на робота).

1123333 13
1123333 13

Стъпка 5. Свържете черния джъмпер проводник от щифтове В1 и В6 към синия релсов щифт (маса)

Уверете се, че използвате синята релса на гърба на тестовата платка. Не прикрепяйте кабела към щифта на червената шина.

1123333 14
1123333 14

Стъпка 6. Свържете белите джъмперни проводници от щифтове 12 и 13 на Arduino към A3 и A8

Това ще позволи на Arduino да контролира серво и да завърти колелото.

1123333 15
1123333 15

Стъпка 7. Прикрепете сензора към предната част на тестовата платка

Сензорът не е монтиран към външната захранваща шина на тестовата платка, а към първите два реда щифтове с букви (J). Уверете се, че го поставяте точно в средата с равен брой празни щифтове от всяка страна.

1123333 16
1123333 16

Стъпка 8. Свържете черния джъмпер проводник от щифт I14 към първия син щифт от лявата страна на сензора

Това ще заземи сензора.

1123333 17
1123333 17

Стъпка 9. Свържете червения джъмпер проводник от щифт I17 към първия червен щифт отдясно на сензора

Това ще осигури захранване на сензора.

1123333 18
1123333 18

Стъпка 10. Свържете белите джъмперни проводници от щифт I15 към щифт 9 на Arduino и от I16 към щифт 8

Това ще предостави информация от сензора към микроконтролера.

Част 3 от 5: Инсталиране на захранващия кабел

1123333 19
1123333 19

Стъпка 1. Обърнете робота, за да можете да видите отделението за батерии вътре

Подредете отделението за батерията така, че кабелът да излиза през долния ляв ъгъл.

1123333 20
1123333 20

Стъпка 2. Свържете червения проводник с втората пружина отляво в долната част

Уверете се, че отделението за батерията е правилно подравнено или обърнато в правилната посока.

1123333 21
1123333 21

Стъпка 3. Свържете черния проводник с последната пружина в долния десен ъгъл

Тези два проводника ще ви помогнат да осигурите правилното напрежение на Arduino.

1123333 22
1123333 22

Стъпка 4. Свържете червените и черните проводници към червените и сините щифтове, които са от дясната страна на гърба на тестовата платка

Черният проводник трябва да отиде към синия релсов щифт на щифт 30. Червеният проводник трябва да отиде към червения щифт на щифт 30.

1123333 23
1123333 23

Стъпка 5. Свържете черния проводник от щифта GND на Arduino към задната част на синята релса

Свържете проводника към щифт 28 на синята шина.

1123333 24
1123333 24

Стъпка 6. Свържете черния проводник от задната страна на синята шина към предната част на синята релса на щифт 29 за двете релси

Не свързвайте червената шина, тъй като може да повредите Arduino.

1123333 25
1123333 25

Стъпка 7. Свържете червения проводник от предната страна на червената шина на щифт 30 към 5V щифта на Arduino

Това ще осигури захранване на Arduino.

1123333 26
1123333 26

Стъпка 8. Поставете превключвателя с бутон в пространството между щифтове 24-26

Този ключ ще ви позволи да изключите робота, без да се налага да изключвате захранването.

1123333 27
1123333 27

Стъпка 9. Свържете червения проводник от H24 към червената шина на следващия празен щифт отдясно на сензора

Това ще осигури захранване на бутона.

1123333 28
1123333 28

Стъпка 10. Използвайте резистор, за да свържете H26 към синята шина

Свържете го към щифта директно до черния проводник, който току -що сте свързали в предишните стъпки.

1123333 29
1123333 29

Стъпка 11. Свържете белия проводник от G26 към щифт 2 на Arduino

Това ще позволи на Arduino да открие бутони.

Част 4 от 5: Инсталиране на софтуера Arduino

1123333 30
1123333 30

Стъпка 1. Изтеглете и извлечете Arduino IDE

Тук е разработен Arduino и ви позволява да програмирате инструкции, които след това можете да качите на вашия микроконтролер Arduino. Можете да го изтеглите безплатно от arduino.cc/en/main/software. Разархивирайте изтегления файл, като щракнете двукратно върху файла и преместите папката, която съдържа, на лесно достъпно място. Всъщност няма да инсталирате програмата, а просто ще я стартирате от папка, която е извлечена чрез двукратно щракване върху arduino.exe.

1123333 31
1123333 31

Стъпка 2. Свържете отделението за батерията към Arduino

Поставете задния гнездо на батерията в конектора на Arduino, за да го захранвате.

1123333 32
1123333 32

Стъпка 3. Поставете Arduino във вашия компютър чрез USB

Шансовете са, че Windows няма да разпознае устройството.

1123333 33
1123333 33

Стъпка 4. Натиснете

Win+R. и тип devmgmt.msc.

Тази команда ще отвори диспечера на устройствата.

1123333 34
1123333 34

Стъпка 5. Щракнете с десния бутон върху Неизвестно устройство под Други устройства и изберете Актуализиране на софтуера на драйвера

Ако не виждате тази опция, щракнете върху Свойства, изберете раздела Драйвер и след това щракнете върху Актуализиране на драйвера.

1123333 35
1123333 35

Стъпка 6. Изберете Преглед на моя компютър за софтуер за драйвери

Това ще ви позволи да изберете вградените драйвери, доставени с Arduino IDE.

1123333 36
1123333 36

Стъпка 7. Щракнете върху Преглед, след което отворете папката, която сте извлекли по -рано

В него ще намерите папката с драйвери.

1123333 37
1123333 37

Стъпка 8. Изберете папката с драйвери и щракнете върху OK

Потвърдете, че искате да продължите, ако сте предупредени за неизвестен софтуер.

Част 5 от 5: Програмиране на роботи

1123333 38
1123333 38

Стъпка 1. Отворете Arduino IDE, като щракнете двукратно върху файла arduino.exe в папката IDE

Ще бъдете посрещнати с празен проект.

1123333 39
1123333 39

Стъпка 2. Поставете или поставете следния код, за да направите вашия робот напреднал

Кодът по -долу ще поддържа вашия Arduino работещ.

#include // това добавя библиотеката „Servo“към програмата // следната команда създава два серво обекта Servo leftMotor; Servo rightMotor; void setup () {leftMotor.attach (12); // ако случайно смените пиновите номера за вашето серво, можете да размените номерата тук rightMotor.attach (13); } void loop () {leftMotor.write (180); // с въртене на 360 градуса (непрекъснато въртене), числото 180 инструктира сервопривода да се движи „напред“с пълна скорост. rightMotor.write (0); // ако и двете стойности са 180, роботът ще се върти в кръг, защото сервото е обърнато. „0“казва на робота да се движи „назад“с пълна скорост. }

1123333 40
1123333 40

Стъпка 3. Създайте и качете програмата

Щракнете върху бутона със стрелка надясно в горния ляв ъгъл, за да създадете и качите програма на свързания Arduino.

Може да искате да вдигнете робота от повърхността, тъй като роботът ще продължи да върви напред след качването на програмата

1123333 41
1123333 41

Стъпка 4. Добавете функция превключвател за спиране (превключвател за убиване)

Добавете следния код към раздела "void loop ()" на кода си, за да добавите функция стоп превключвател върху функцията "write ()".

if (digitalRead (2) == HIGH) // тази команда се изпълнява, когато бутонът е натиснат върху щифт 2 Arduino {while (1) {leftMotor.write (90); // "90" е неутралната позиция на серво, което казва на серво да спре да завива надясноMotor.write (90); }}

1123333 42
1123333 42

Стъпка 5. Качете и проверете кода си

С вече добавения код на превключвателя за спиране можете да качите кода и да тествате робота. Роботът трябва да продължи напред, докато не натиснете бутона за спиране, което ще доведе до спиране на робота. Пълният код ще изглежда така:

#include // следната команда създава два Servo leftMotor серво обекта; Servo rightMotor; void setup () {leftMotor.attach (12); rightMotor.attach (13); } void loop () {if (digitalRead (2) == HIGH) {while (1) {leftMotor.write (90); rightMotor.write (90); }} leftMotor.write (180); rightMotor.write (0); }

Пример

Следният код ще използва сензори, инсталирани на робота, за да го накара да завие наляво, когато роботът срещне препятствие. Погледнете коментарите в кода за подробности как да използвате всяка част. Кодът по -долу е цялата програма.

#include Servo leftMotor; Servo rightMotor; const int serialPeriod = 250; // този код дава забавяне на изхода на конзолата на всеки 1/4 секунда (250 ms) без знак дълго времеSerialDelay = 0; const int loopPeriod = 20; // този код задава честотата на четене на сензора на 20 ms, което е 50 Hz unsigned longtimeLoopDelay = 0; // този код присвоява функциите TRIG и ECHO на щифтовете на Arduino. Коригирайте числата тук, ако ги свържете по различен начин const int ultrasonic2TrigPin = 8; const int ultrasonic2EchoPin = 9; int ultrasonic2Distance; int ultrasonic2Duration; // този код дефинира две възможни състояния на робота: продължете напред или завийте наляво #define DRIVE_FORWARD 0 #define TURN_LEFT 1 int state = DRIVE_FORWARD; // 0 = продължаване напред (DEFAULT), 1 = завъртане наляво void setup () {Serial.begin (9600); // този сензор определя конфигурацията на щифта pinMode (ultrasonic2TrigPin, OUTPUT); pinMode (ултразвуков2EchoPin, INPUT); // това присвоява двигателя към щифтовете на Arduino leftMotor.attach (12); rightMotor.attach (13); } void loop () {if (digitalRead (2) == HIGH) // този код открива '' stop '' {while (1) {leftMotor.write (90); rightMotor.write (90); }} debugOutput (); // този код отпечатва съобщения за отстраняване на грешки към серийна конзола if (millis () - timeLoopDelay> = loopPeriod) {readUltrasonicSensors (); // този код инструктира сензора да чете и съхранява данни за измереното разстояние stateMachine (); timeLoopDelay = millis (); }} void stateMachine () {if (state == DRIVE_FORWARD) // ако не е открито препятствие {if (ultrasonic2Distance> 6 || ultrasonic2Distance <0) // ако няма нищо пред робота. ultrasonicDistance ще бъде отрицателно за някои ултразвуци, ако няма пречки {// карайте напред rightMotor.write (180); leftMotor.write (0); } else // ако пред нас има обект {state = TURN_LEFT; }} иначе ако (състояние == TURN_LEFT) // ако бъде открито препятствие, завийте наляво {unsigned long timeToTurnLeft = 500; // отнема около 0,5 секунди, за да се завърти на 90 градуса. Може да се наложи да регулирате тази стойност, ако колелата ви се различават по размер от размера в примера без подпис дълъг turnStartTime = millis (); // запазваме състоянието, когато роботът започне да се върти, докато ((millis ()-turnStartTime) <timeToTurnLeft) // поддържа този цикъл, докато timeToTurnLeft (500) премине {// завийте наляво, не забравяйте, че когато и двата са "180", роботът ще се завърти. rightMotor.write (180); leftMotor.write (180); } състояние = DRIVE_FORWARD; }} void readUltrasonicSensors () {// това е за ултразвук 2. Може да се наложи да промените тази команда, ако използвате различен сензор. digitalWrite (ultrasonic2TrigPin, HIGH); delayMicroseconds (10); // дръпнете високо щифта TRIG за поне 10 микросекунди digitalWrite (ultrasonic2TrigPin, LOW); ultrasonic2Duration = pulseIn (ultrasonic2EchoPin, HIGH); ултразвукова2разстояние = (ултразвукова2 продължителност/2)/29; } // следното е за отстраняване на грешки в конзолата. void debugOutput () {if ((millis () - timeSerialDelay)> serialPeriod) {Serial.print ("ultrasonic2Distance:"); Serial.print (ultrasonic2Distance); Serial.print ("cm"); Serial.println (); timeSerialDelay = millis (); }}

Препоръчано: