Что нужно чтобы сделать робо-руку?
Всего-лишь Arduino, перчатка с зашитыми датчиками изгиба (тензорезисторы) и 5 сервомашинок. Механику можно взять готовую, выпилить из подручных материалов (оргстекло, шланг, леска) или вылепить из ПКЛ-а.
Алгоритм работы руки очень простой — ардуина cчитывает данные с датчиков перчатки и выдаёт соответсвующие управляющие сигналы на сервы.
В итоге, рука повторяет движения пальцев человека.
Видео работы:
робо-рука из подручных материалов:
из готового набора:
Код скетча
/* flex arduino to make a robot hand. animatronic hand using arduino */ #include <Servo.h> Servo servoMotor; Servo servoMotor1; Servo servoMotor2; Servo servoMotor3; Servo servoMotor4; int analogPin = 0; // finger 1 int analogValue = 0; int servoPin = 2; int analogPin2 = 1; //finger 2 int analogValue2 = 0; int servoPin2 = 3; int analogPin3 = 2; //finger 3 int analogValue3 = 0; int servoPin3 = 4; int analogPin4 = 3; //finger 4 int analogValue4 = 0; int servoPin4 = 5; int analogPin5 = 4; int analogValue5 = 0; int servoPin5 = 2; void setup() { servoMotor.attach(servoPin); servoMotor1.attach(servoPin1); servoMotor2.attach(servoPin2); servoMotor3.attach(servoPin3); servoMotor4.attach(servoPin4); } void loop() { analogValue = analogRead(analogPin); analogValue = map(analogValue, 0, 1023, 0, 179); servoMotor.write(analogValue); delay(15); analogValue2 = analogRead(analogPin2); analogValue2 = map(analogValue2, 0, 1023, 0, 179); servoMotor1.write(analogValue2); delay(15); analogValue3 = analogRead(analogPin3); analogValue3 = map(analogValue3, 0, 1023, 0, 179); servoMotor2.write(analogValue3); delay(15); analogValue4 = analogRead(analogPin4); analogValue4 = map(analogValue4, 0, 1023, 0, 179); servoMotor3.write(analogValue4); delay(15); analogValue5 = analogRead(analogPin5); analogValue5 = map(analogValue5, 0, 1023, 0, 179); servoMotor4.write(analogValue4); delay(15); }
Ссылки
http://letsmakerobots.com/node/22942
0 комментариев на «“Arduino и робо-рука”»
Действительно очень просто. Видел подобное у Адама из разрушителей легенд, но там был скорее удлиннитель руки, ничего роботизированного. Когда Джейми искал себе коллегу такая рука стала решающим фактором при приёме в передачу.
Извини, что обращаюсь, но я в робототехнике новичок и не мог бы ты мне помочь. Я хочу сделать вот такую руку, где можно найти принципиальную схему для ее создания.
Было бы неплохо написать про датчик изгиба. Его например в перчатку встроить можно.
Друзья, с кем можно проконсультироваться по поводу этой руки? Я механику сделал, датчик подключил, но что-то не так, — не работает. Если кто может подсказать, скиньте адрес почты, я закину пару фоток. Плиз!!!
а сами датчики считываются?последовательный порт .форум писать — с подробным описанием что/как делалось 🙂
проверить можно вставив отладочный вывод считанных значений в
а вообще лучше на
у меня получилось, только серва на маленький угол поворачивается и его не хватает для полного сгибания пальца.
значит, нужно провести калибровку 🙂map() ).
посмотрите в каком диапазоне считываются показания датчиков и соответствующим образом измените их преобразование в значения угла поворота сервомашинок (функция