
Что нужно чтобы сделать робо-руку?
Всего-лишь 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 и робо-рука”»
Действительно очень просто. Видел подобное у Адама из разрушителей легенд, но там был скорее удлиннитель руки, ничего роботизированного. Когда Джейми искал себе коллегу такая рука стала решающим фактором при приёме в передачу.
Извини, что обращаюсь, но я в робототехнике новичок и не мог бы ты мне помочь. Я хочу сделать вот такую руку, где можно найти принципиальную схему для ее создания.
Было бы неплохо написать про датчик изгиба. Его например в перчатку встроить можно.
Друзья, с кем можно проконсультироваться по поводу этой руки? Я механику сделал, датчик подключил, но что-то не так, — не работает. Если кто может подсказать, скиньте адрес почты, я закину пару фоток. Плиз!!!
а сами датчики считываются?
проверить можно вставив отладочный вывод считанных значений в .
а вообще лучше на писать — с подробным описанием что/как делалось 🙂
у меня получилось, только серва на маленький угол поворачивается и его не хватает для полного сгибания пальца.
значит, нужно провести калибровку 🙂
посмотрите в каком диапазоне считываются показания датчиков и соответствующим образом измените их преобразование в значения угла поворота сервомашинок (функция ).