Bộ khung cánh tay robot 4 servo

Giá gốc là: 295.000₫.Giá hiện tại là: 215.000₫.

Bộ khung cánh tay robot 4 servo chất liệu: Gỗ, ốc + vít sử dụng cho lắp ghép

DỊCH VỤ & KHUYẾN MÃI LIÊN QUAN

Thông số kỹ thuật:

  • Chất liệu: Gỗ
  • Ốc + vít sử dụng cho lắp ghép
  • Sử dụng 4 servo mg90 để lắp ráp hoàn thiện

Hướng dẫn sử dụng tham khảo: 

Sử dụng 2 joystick đơn kết nối với Arduino Uno để điều khiển 4 servo.

  • Sau khi lắp ráp sản phẩm như hình tiến hành kết nối: Cấp nguồn ngoài cho 4 servo, nhớ kết nối chung Mass với Arduino.
  • Cấp nguồn cho joystick trực tiếp từ nguồn 5V arduino, chân tín hiệu của joystick và servo được kết nối với arduino.

————————————CODE THAM KHẢO—————————————

#include <Servo.h>  
Servo myservo1;  
Servo myservo2;
Servo myservo3;
Servo myservo4;  

int pos1=90, pos2=60, pos3=90, pos4=45;  

const int right_X = A2;  
const int right_Y = A5; 
const int right_key = 7; 

const int left_X = A3; 
const int left_Y = A4;  
const int left_key = 8; 

int x1,y1,z1;  
int x2,y2,z2;


void setup() 
{
  
  // boot posture 
  myservo1.write(pos1);  
  delay(1000);
  myservo2.write(pos2);
  myservo3.write(pos3);
  myservo4.write(pos4);
  delay(1500);

  pinMode(right_key, INPUT);  
  pinMode(left_key, INPUT);
  Serial.begin(9600); 
}

void loop() 
{
  myservo1.attach(A1);  
  myservo2.attach(A0);  
  myservo3.attach(6);   
  myservo4.attach(9);   

  x1 = analogRead(right_X); 
  y1 = analogRead(right_Y);  
  z1 = digitalRead(right_key);  
  
  x2 = analogRead(left_X);  
  y2 = analogRead(left_Y);  
  z2 = digitalRead(left_key);  
  // kẹp
  zhuazi();
  // xoay
  zhuandong();
  // servo trái
  xiaobi();
  // servo phải
  dabi();
}

//kẹp
void zhuazi()
{
    //claw
  if(x2<300) 
  {
      pos4=pos4-2;  
      
      myservo4.write(pos4);  
      delay(5);
      if(pos4<45)  
      {            
        pos4=45;   
      }
   }
  if(x2>800) 
  {
      pos4=pos4+8; 
      myservo4.write(pos4); 
      delay(5);
      if(pos4>90)  
      {
        pos4=90;
      }
  }
}
//******************************************************
 // xoay
void zhuandong()
{
  if(x1<300)  
  {
    pos1=pos1-1;  
    myservo1.write(pos1);  
    delay(5);
    if(pos1<1)   
    {
      pos1=0;
    }
  }
  if(x1>800)  
  {
    pos1=pos1+1;  
    myservo1.write(pos1);  
    delay(5);
    if(pos1>180) 
    {
      pos1=180;
    }
  }
}

//**********************************************************/
//servo trái
void xiaobi()
{
    if(y1>800) 
  {
    pos2=pos2-1;
    myservo2.write(pos2); 
    delay(5);
    if(pos2<15)  
    {
      pos2=15;
    }
  }
  if(y1<300) 
  {
    pos2=pos2+1;  
    myservo2.write(pos2); 
    delay(5);
    if(pos2>120)  
    {
      pos2=120;
    }
  }
}

//*************************************************************/
// servo phải
void dabi()
{
    if(y2<300) 
  {
    pos3=pos3+1;
    myservo3.write(pos3);  
    delay(5);
    if(pos3>140)   
    {
      pos3=140;
    }
  }
  if(y2>800)  
  {
    pos3=pos3-1;
    myservo3.write(pos3);  
    delay(5);
    if(pos3<30)  
    {
      pos3=30;
    }
  }
}