Скидки, ограниченное предложение! Полный список акционных товаров

Сборка робота-манипулятора. Часть 2 (Электроника)

Необходимые детали
Видео уроки


Если Вы сделали все что указано в первом уроке "Сборка робота-манипулятора. Часть 1" можно приступить к сборке электронной схемы, и написания программы для arduino.

Нам понадобится:

Схема подключения:

Скетч:

После того как все подключено если вы подадите питание манипулятор может начать двигаться неадекватно). Для калибровки вам необходимо подключать сперва один сервопривод и проверять как он движется в зависимости от вращения потенциометра.

Для калибровки вам нужно подключить arduino к ПК и открыть "Монитор последовательного порта".

Там будут выводиться значения текущего угла на сервоприводах. A1 = 43| A2 = 129| A3 = 82| A4 = 67

Необходимо задать для каждого сервопривода интервал в котором он должен двигаться: a1= map(analogRead(pin1), 0 , 1024, 10, 170); // Интервал (Вращение основания) от 10 до 170

Данные интервалы у всех будут немного отличаться!

#include <Servo.h> 
Servo myservo10;
Servo myservo9;
Servo myservo8;
Servo myservo7;
int a1,a2,a3,a4;
void setup() 
{ 
// устанавливаем пин как вывод управления сервой  
  myservo10.attach(10);// Вращение основания
  myservo9.attach(9); // Левое плечо
  myservo8.attach(8); // Правое плечо
  myservo7.attach(7); // Захват
 Serial.begin(9600); 
}
// аналоговые порты для приема значений с резисторов
  const int pin1 = 0; // Вращение основания
  const int pin2 = 1; // Левое плечо
  const int pin3 = 2; // Правое плечо
  const int pin4 = 3; // Захват
void loop() 
{    
  a1=  map(analogRead(pin1), 0 , 1024, 10, 170);  // Интервал (Вращение основания) от 10 до 170
  myservo10.write(a1); // Вращение основания
  a2=  map(analogRead(pin2), 0 , 1024, 10, 150); // Интервал (Левое плечо) от 10 до 150
  myservo9.write(a2); // Левое плечо
  a3=  map(analogRead(pin3), 0 , 1024, 35, 140); // Интервал (Правое плечо) от 35 до 140
  myservo8.write(a3); // Правое плечо
  a4=  map(analogRead(pin4), 0 , 1024, 40, 68); // Интервал (Захват)  от 40 до 68
  myservo7.write(a4); // Захват
Serial.println("A1 = "+String(a1)+"|  A2 = "+String(a2)+"|  A3 = "+String(a3)+"|  A4 = "+String(a4) );
}

Видео:

Обсуждение

Присоединяйся

Другие уроки

На главную