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

Съдържание:

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

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

Видео: Как да изградим робот у дома (със снимки)
Видео: Native Tools: Rounded Corner Cube in SketchUp (No Plugins) 2024, Може
Anonim

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

Стъпки

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

1123333 1
1123333 1

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

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

  • Arduino Uno (или друг микроконтролер)
  • 2 сервомотора с непрекъснато въртене
  • 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. Прикрепете колелото към дъното на дъската

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

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

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

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 от 6: Окабеляване на захранването

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 от 6: Инсталиране на софтуера 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 от 6: Програмиране на робота

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); // при непрекъснато въртене, 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); }

Част 6 от 6: Пример

Стъпка 1. Следвайте пример

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

#include Servo leftMotor; Servo rightMotor; const int serialPeriod = 250; // това ограничава изхода към конзолата веднъж на всеки 1/4 секунда без подпис дълго времеSerialDelay = 0; const int loopPeriod = 20; // това задава колко често сензорът отчита показанията до 20ms, което е честота от 50Hz без знак дълго времеLoopDelay = 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) // това открива ключа за убиване {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 изтече {// завийте наляво, не забравяйте, че когато и двете са настроени на "180", ще се обърне. rightMotor.write (180); leftMotor.write (180); } състояние = DRIVE_FORWARD; }} void readUltrasonicSensors () {// това е за ултразвук 2. Може да се наложи да промените тези команди, ако използвате различен сензор. digitalWrite (ultrasonic2TrigPin, HIGH); delayMicroseconds (10); // поддържа триг пина висок поне 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 (); }}

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