Съдържание:

[Робот Arduino] Как да си направим робот за улавяне на движение - Робот Thumbs - Серво мотор - Изходен код: 26 стъпки (със снимки)
[Робот Arduino] Как да си направим робот за улавяне на движение - Робот Thumbs - Серво мотор - Изходен код: 26 стъпки (със снимки)

Видео: [Робот Arduino] Как да си направим робот за улавяне на движение - Робот Thumbs - Серво мотор - Изходен код: 26 стъпки (със снимки)

Видео: [Робот Arduino] Как да си направим робот за улавяне на движение - Робот Thumbs - Серво мотор - Изходен код: 26 стъпки (със снимки)
Видео: Свидание в 16 vs 26 лет 😨😳 2024, Ноември
Anonim
Image
Image
[Arduino Robot] Как да си направим робот за улавяне на движение | Робот Thumbs | Серво мотор | Програмен код
[Arduino Robot] Как да си направим робот за улавяне на движение | Робот Thumbs | Серво мотор | Програмен код

Робот Thumbs. Използва се потенциометър на серво мотор MG90S. Много е забавно и лесно! Кодът е много прост. Има само около 30 реда. Прилича на улавяне на движение.

Моля, оставете всеки въпрос или обратна връзка!

[Инструкция]

  • Изходен код
  • Файлове за 3D печат

[За производителя]

Youtube

Стъпка 1: ЧАСТИ ARDUINO

ЧАСТИ ARDUINO
ЧАСТИ ARDUINO
ЧАСТИ ARDUINO
ЧАСТИ ARDUINO
ЧАСТИ ARDUINO
ЧАСТИ ARDUINO

Инсталирайте Arduino IDE

https://www.arduino.cc/en/Main/Software

Инсталирайте CH340 драйвер (за китайска версия)

https://www.wch.cn/download/CH341SER_ZIP.html

ИЗТЕГЛЯНЕ - изходен код

  • https://github.com/happythingsmaker/ThumbsRobot
  • Както можете да видите, има zip файл. Извлечете целия файл и щракнете двукратно върху файла с изходния код.

Изберете платка / Процесор / Com порт

  • Arduino Nano
  • ATmega328P (стар буутлоудър)

Включете вашия arduino nano

Включете USB кабела и ще се появи нов порт

Намерете / изберете новопоявяващ се COM порт

  • Щракнете върху появилия се порт и натиснете бутона за качване
  • Натиснете бутона за качване

Стъпка 2: 3D ЧАСТИ ЗА ПЕЧАТАНЕ

3D ЧАСТИ ЗА ПЕЧАТАНЕ
3D ЧАСТИ ЗА ПЕЧАТАНЕ

Изтеглете файлове за 3d моделиране от Thingiverse

https://www.thingiverse.com/thing:2844993

Отпечатайте всички части една по една

Стъпка 3: Част на веригата

Част на веригата
Част на веригата

Използвайте платката за разширение Arduino Nano. Тъй като самият Arduino Nano няма много щифтове, ще трябва да използвате платка за разширение.

Когато погледнете окабеляването, свързано към двигателя, можете да видите три цвята. Жълто, червено и кафяво. Кафявото трябва да бъде свързано с G (заземяване).

В следващите стъпки ще го разгледаме отново отблизо.

Стъпка 4: ХАРАКТЕРНА ЧАСТ - Подгответе всички части

ХАРАКТЕРНА ЧАСТ - Подгответе всички части
ХАРАКТЕРНА ЧАСТ - Подгответе всички части

[Части]

  • 1 x Arduino Nano
  • 1 x Arduino Nano разширителна платка
  • 6 x серво мотори
  • 2 x Топки за очи за играчки
  • 12 x винтови болтове (2 * 6 мм)

[Инструменти]

  • 3D принтер (Anet A8)
  • Нишка за 3D печат (PLA 1.75 мм)
  • Щипка за тел
  • Щипка за тел
  • Пистолет за топене на лепило
  • Отвертка (+)
  • Електронна лента
  • Инструменти за запояване (Hakko)
  • Запояваща ръка
  • Електрическа отвертка

Стъпка 5: Променете 3 серво мотора в сензор за позиция

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

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

Стъпка 6: Развийте 4 болта отзад и отворете предния корпус

Развийте 4 болта отзад и отворете предния корпус
Развийте 4 болта отзад и отворете предния корпус
Развийте 4 болта отзад и отворете предния корпус
Развийте 4 болта отзад и отворете предния корпус

Ще ви трябва малка отвертка, защото са твърде малки. Моторът има 3 части - предна, корпусна и задна.

Когато отворите предната страна, ще видите предавките. Всъщност ние не използваме този мотор като "мотор". Така че предавките вече не са необходими теоретично. Но ще използваме част от тях, така че ъгълът на работа да има ограничение на въртенето.

Стъпка 7: Свалете третия механизъм

Свалете третата предавка
Свалете третата предавка
Свалете третата предавка
Свалете третата предавка
Свалете третата предавка
Свалете третата предавка

Потенциометърът в серво мотора има ограничение на ъгъла, което е около 180 градуса. Потенциометърът има собствен ограничителен механизъм, но е толкова слаб. Лесно се счупва често. За да го защити, предавката дава друг механизъм. Първата предавка има пластмасова броня, която ще бъде в контакт с втората предавка.

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

Може би се чудите защо трябва да премахнем предавка. Тези три серво мотора ще се използват за получаване на информация за ъгъла. Ако в тях има зъбни колела, движението ще бъде сковано. Така че, ние трябва да се отървем от една предавка от тях.

Стъпка 8: Повторно окабеляване / запояване

Повторно окабеляване / запояване
Повторно окабеляване / запояване

Изрежете проводниците, които са свързани с двигателите.

Стъпка 9: Използвайте инструмент за запояване и отделете дъската

Използвайте инструмент за запояване и отделете дъската
Използвайте инструмент за запояване и отделете дъската
Използвайте инструмент за запояване и отделете дъската
Използвайте инструмент за запояване и отделете дъската

Стъпка 10: Изрежете жица и се подгответе за запояване

Нарежете тел и се подгответе за запояване
Нарежете тел и се подгответе за запояване
Нарежете жица и се подгответе за запояване
Нарежете жица и се подгответе за запояване

и сложи малко паста и сложи малко олово на кабела

Стъпка 11: Запояйте го

Запояйте го
Запояйте го
Запояйте го
Запояйте го
Запояйте го
Запояйте го
Запояйте го
Запояйте го

от самата лява страна червено жълто и кафяво

Стъпка 12: Поставете малко лепило върху него

Нанесете малко лепило върху него
Нанесете малко лепило върху него
Нанесете малко лепило върху него
Нанесете малко лепило върху него

и възстановете задната си страна

Трябват ни още 2 потенциометра. направете същата работа за два други двигателя

Стъпка 13: Направете първото съвместно мазе

Направете първото съвместно мазе
Направете първото съвместно мазе
Направете първото съвместно мазе
Направете първото съвместно мазе
Направете първото съвместно мазе
Направете първото съвместно мазе

Използвах дъска за готвене, за да направя този проект. евтино и здраво е да го използвате. За да фиксирате рамката върху дъската, ще трябва да използвате винтове с остър край. Прави дупка и конец едновременно.

Има 6 двигателя. 3 двигателя от лявата страна са оригиналните двигатели. от друга страна, има 3 двигателя, които са модифицирани преди стъпката.

Стъпка 14: Направете Yaw Joint

Направете криволичещото съединение
Направете криволичещото съединение
Направете криволичещото съединение
Направете криволичещото съединение

Ще трябва да използвате винт M2 * 6 мм.

Стъпка 15: Сглобете съединението на криволичене с първия двигател

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

Както можете да видите последната снимка, ще трябва да поставите фугата в хоризонтална посока. И мястото трябва да бъде 90 градуса както на двигателя, така и на потенциометъра.

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

Стъпка 16: Сглобете Arduino Nano с платка за разширение Arduino Nano

Сглобете Arduino Nano с платка за разширение Arduino Nano
Сглобете Arduino Nano с платка за разширение Arduino Nano
Сглобете Arduino Nano с платка за разширение Arduino Nano
Сглобете Arduino Nano с платка за разширение Arduino Nano

Уверете се, че посоката. USB портът ще бъде от същата страна с DC жака.

Стъпка 17: Връзка на първия слой

Връзка на първия слой
Връзка на първия слой
Връзка на първия слой
Връзка на първия слой

Потенциометърът е свързан с аналогов 0 пин на Arduino. Трябва да го включите правилно. Този Arduino Nano има 8 -канален ADC (аналогов цифров конвертор). По принцип потенциометърът дава аналогово ниво или променливо напрежение. Можете да прочетете тази стойност на волта с помощта на ADC щифтове

От друга страна, серво моторът е свързан с Digital 9 на Arduino. Сервомоторите могат да се управляват чрез PWM (Pulse Width Modulation). Arduino Nano има 6 -канален PWM пин (щифт 9, 10, 11, 3, 5 и 6). Така че можем да използваме до 6 серво мотора.

В тази стъпка изходният код изглежда така

#включва

Серво серво [6]; void setup () {pinMode (A0, INPUT); servo [0].attach (9);} int tempADC [3] = {0}; void loop () {tempADC [0] = analogRead (A0); servo [0].write (map (tempADC [0], 0, 1023, 0, 180));}

Стъпка 18: Сглобете втория слой

Сглобете втория слой
Сглобете втория слой
Сглобете втория слой
Сглобете втория слой
Сглобете втория слой
Сглобете втория слой
Сглобете втория слой
Сглобете втория слой

Вторият слой също е лесен за изработка. Това, с което трябва да внимавате, е да го поставите на правилното място, когато включите кабела в Arduino.

  • Левият сервомотор е свързан с щифт 10
  • Десният потенциометър е свързан с A1

#включва

Серво серво [6]; void setup () {pinMode (A0, INPUT); pinMode (A1, INPUT); серво [0].прикрепете (9); servo [1].attach (10);} int tempADC [3] = {0}; void loop () {tempADC [0] = analogRead (A0); servo [0].write (map (tempADC [0], 0, 1023, 0, 180)); tempADC [1] = analogRead (A1); servo [1].write (map (tempADC [1], 0, 1023, 0, 180));}

Стъпка 19: Сглобете рамките от 3 -ти слой

Сглобете рамки от трети слой
Сглобете рамки от трети слой

Стъпка 20: Сглобете рамката с 2 -ри мотор / потенциометър

Сглобете рамката с 2 -ри мотор / потенциометър
Сглобете рамката с 2 -ри мотор / потенциометър
Сглобете рамката с 2 -ри мотор / потенциометър
Сглобете рамката с 2 -ри мотор / потенциометър
Сглобете рамката с 2 -ри мотор / потенциометър
Сглобете рамката с 2 -ри мотор / потенциометър
Сглобете рамката с 2 -ри мотор / потенциометър
Сглобете рамката с 2 -ри мотор / потенциометър

Стъпка 21: Сглобете третия двигател в съединителната рамка

Сглобете третия двигател в съединителната рамка
Сглобете третия двигател в съединителната рамка
Сглобете третия двигател в съединителната рамка
Сглобете третия двигател в съединителната рамка

Стъпка 22: Включете кабела в Arduino

Включете кабела в Arduino
Включете кабела в Arduino
Включете кабела в Arduino
Включете кабела в Arduino
  • Третият двигател е свързан с щифт 11
  • Третият потенциометър е свързан с A2

кодът изглежда така

#include Servo servo [6]; void setup () {pinMode (A0, INPUT); pinMode (A1, INPUT); pinMode (A2, INPUT); серво [0].прикрепете (9); серво [1].прикрепете (10); servo [2].attach (11);} int tempADC [3] = {0}; void loop () {tempADC [0] = analogRead (A0); servo [0].write (map (tempADC [0], 0, 1023, 0, 180)); tempADC [1] = analogRead (A1); servo [1].write (map (tempADC [1], 0, 1023, 0, 180)); tempADC [2] = analogRead (A2); servo [2].write (map (tempADC [2], 0, 1023, 0, 180));}

Стъпка 23: Сглобете рамката Thumbs

Сглобете рамката Thumbs
Сглобете рамката Thumbs
Сглобете рамката на палците
Сглобете рамката на палците

Стъпка 24: Тествайте и регулирайте ъгъла

Тествайте и регулирайте ъгъла
Тествайте и регулирайте ъгъла
Тествайте и регулирайте ъгъла
Тествайте и регулирайте ъгъла
Тествайте и регулирайте ъгъла
Тествайте и регулирайте ъгъла

Поставете USB кабела във всеки източник на захранване и роботът скоро ще се включи. Ъгълът може да е малко по -различен. Регулирайте ъгъла един по един.

Стъпка 25: Още един робот?

Още един робот?
Още един робот?
Още един робот?
Още един робот?

Ако искате да направите още един робот, можете да го направите. Включете сервомоторите в 3, 5 и 6.

#include Servo servo [6]; void setup () {pinMode (A0, INPUT); pinMode (A1, INPUT); pinMode (A2, INPUT); серво [0].прикрепете (9); серво [1].прикрепете (10); серво [2].прикрепете (11); серво [3].прикрепете (3); серво [4].прикрепете (5); servo [5].attach (6);} int tempADC [3] = {0}; void loop () {tempADC [0] = analogRead (A0); servo [0].write (map (tempADC [0], 0, 1023, 0, 180)); servo [3].write (map (tempADC [0], 0, 1023, 0, 180)); tempADC [1] = analogRead (A1); servo [1].write (map (tempADC [1], 0, 1023, 0, 180)); servo [4].write (map (tempADC [1], 0, 1023, 0, 180)); tempADC [2] = analogRead (A2); servo [2].write (map (tempADC [2], 0, 1023, 0, 180)); servo [5].write (map (tempADC [2], 0, 1023, 0, 180));}

Стъпка 26: Готово

Свършен!
Свършен!
Свършен!
Свършен!
Свършен!
Свършен!

Ако имате въпроси, не се колебайте да ги оставите:)

Състезание за микроконтролер
Състезание за микроконтролер
Състезание за микроконтролер
Състезание за микроконтролер

Вицешампион в конкурса за микроконтролер

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