Роботизированная рука на Arduino с собственным контроллером — Сервоприводы и потенциометры
Компоненты и материалы
| Arduino UNO | 1 |
| Сервопривод MG995 | 1 |
| Сервопривод DS3115 | 1 |
| Вращающийся потенциометр 10 кОм (кривая B) | 1 |
Приложения и онлайн-сервисы
| Arduino IDE |
О проекте
Я собрал роботизированную руку и контроллер для неё.
Конструкция
Роботизированная рука использует три обычных PWM-сервопривода. Каждый угол управляется переменным резистором. Использованы вращающиеся потенциометры с кривой B, 10 кОм.

Сборка роботизированной руки
В вертикальной плоскости использованы два сервопривода DS3115, для поворота — сервопривод MG995.

Сборка контроллера
Корпус контроллера напечатан на 3D-принтере.

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

Собираем напечатанные детали и три потенциометра — контроллер готов!
Потенциометры установлены в том же направлении, что и оси вращения сервоприводов руки!
Код для Arduino
Простой код: считывает значения потенциометров через аналоговые пины, преобразует в угол и передаёт соответствующему сервоприводу.
#include <Servo.h>
Servo myservo1, myservo2, myservo3;
float th1=90.0, th2=90.0, th3=90.0;
float val1, val2, val3;
void setup() {
Serial.begin(9600);
myservo1.attach(9, 500, 2420); // MG995
myservo2.attach(10, 820, 2140); // DS3115
myservo3.attach(11, 820, 2140); // DS3115
set_servo();
}
void loop() {
val1 = analogRead(A1);
val2 = analogRead(A2);
val3 = analogRead(A3);
th1 = map(val1, 170.0, 880.0, 0.0, 180.0);
if (th1 >= 180.0) th1 = 180.0;
else if (th1 <= 0.0) th1 = 0.0;
th2 = map(val2, 150.0, 860.0, 0.0, 180.0);
if (th2 >= 180.0) th2 = 180.0;
else if (th2 <= 0.0) th2 = 0.0;
th3 = map(val3, 860.0, 160.0, 0.0, 180.0);
if (th3 >= 180.0) th3 = 180.0;
else if (th3 <= 45.0) th3 = 45.0;
set_servo();
}
void set_servo() {
myservo1.write(th1);
myservo2.write(th2);
myservo3.write(th3);
}
Работа
Подключите потенциометры к Arduino — и система готова к работе!
Производственный процесс
- Визионный мобильный робот, избегающий препятствия, на Raspberry Pi
- gatoBot: Веб-управляемый робот на Raspberry Pi Zero W с живым видеопотоком
- Simple Pi Robot — Сборка 2WD автономного ровера на Raspberry Pi
- Двухрукие SCARA-роботы: передовые решения для сборки и производства
- Робот УФ-дезинфекции на Arduino Mega: дистанционно управляемая гермицидная система
- Unopad: Бесшовный Arduino MIDI-контроллер для Ableton Live
- Роботизированная рука MeArm V1.0 — сборка на Arduino и Raspberry Pi
- Yama Seiki GA-2000CR: компактный токарный центр с роботом-манипулятором и паллетной системой
- KUKA KMR iiwa: мобильный коллаборативный манипулятор для Индустрии 4.0
- Повышение операций роботов с точной сервоприводной технологией движения