Header Ads Widget

Ticker

6/Tài%20Liệu/ticker-posts

Cánh tay robot với 2 nut nhấn dùng Arduino

Cánh tay robot với 2 nut nhấn để setup lưu các giá trị bất kì.
Với code rất đơn giản, dễ hiểu dành cho các bạn muốn ng. Cứu hoặc mới nhập môn...

Tổng quan về cánh tay robot


Tổng quan về cánh tay robot

Video cánh tay hoạt động:



Cách trình bày và nối dây:



Code Arduino:

#include <Servo.h>
Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;

//.................................................
int LUU1[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
int LUU2[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
int LUU3[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
int LUU4[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
//......................................................

int n = 0;

void setup() {
  servo1.attach(3);
  servo2.attach(4);
  servo3.attach(5);
  servo4.attach(6);

  servo1.write(40);
  servo2.write(40);
  servo3.write(40);
  servo4.write(50);

  pinMode ( 12 , INPUT_PULLUP);
  pinMode ( 13 , INPUT_PULLUP);
  Serial.begin(9600);

}
void loop()
{
  int a = 0;
  int goc1 = map ( analogRead (A1) , 0, 1023, 10, 179);
  int goc2 = map ( analogRead (A2), 0, 1023, 10, 179);
  int goc3 = map ( analogRead (A3) , 0, 1023, 10, 179);
  int goc4 = map ( analogRead (A4) , 0, 1023, 10, 179);
  servo1.write(goc1);
  servo2.write(goc2);
  servo3.write(goc3);
  servo4.write(goc4);
  if (  digitalRead (12) == LOW )
  {
    delay ( 300);
    n++;
    switch (n)
    {
      case 1:
        LUU1[0] = goc1;
        LUU2[0] = goc2;
        LUU3[0] = goc3;
        LUU4[0] = goc4;
        Serial.println(" luu1");

        break;
      case 2:
        LUU1[1] = goc1;
        LUU2[1] = goc2;
        LUU3[1] = goc3;
        LUU4[1] = goc4;
        Serial.println(" luu2");
        break;
      case 3:
        LUU1[2] = goc1;
        LUU2[2] = goc2;
        LUU3[2] = goc3;
        LUU4[2] = goc4;
        Serial.println(" luu3");
        break;
      case 4:
        LUU1[3] = goc1;
        LUU2[3] = goc2;
        LUU3[3] = goc3;
        LUU4[3] = goc4;
        Serial.println(" luu4");
        break;
      case 5:
        LUU1[4] = goc1;
        LUU2[4] = goc2;
        LUU3[4] = goc3;
        LUU4[4] = goc4;
        Serial.println(" luu5");
        break;
      case 6:
        LUU1[5] = goc1;
        LUU2[5] = goc2;
        LUU3[5] = goc3;
        LUU4[5] = goc4;
        Serial.println(" luu6");
        break;
      case 7:
        LUU1[6] = goc1;
        LUU2[6] = goc2;
        LUU3[6] = goc3;
        LUU4[6] = goc4;
        Serial.println(" luu7");
        break;
      case 8:
        LUU1[7] = goc1;
        LUU2[7] = goc2;
        LUU3[7] = goc3;
        LUU4[7] = goc4;
        Serial.println(" luu8");
        break;
      case 9:
        LUU1[8] = goc1;
        LUU2[8] = goc2;
        LUU3[8] = goc3;
        LUU4[8] = goc4;
        Serial.println(" luu9");
        break;
      case 10:
        LUU1[9] = goc1;
        LUU2[9] = goc2;
        LUU3[9] = goc3;
        LUU4[9] = goc4;
        Serial.println(" luu10");
        break;
      case 11:
        LUU1[10] = goc1;
        LUU2[10] = goc2;
        LUU3[10] = goc3;
        LUU4[10] = goc4;
        Serial.println(" luu11");
        break;
      case 12:
        LUU1[11] = goc1;
        LUU2[11] = goc2;
        LUU3[11] = goc3;
        LUU4[11] = goc4;
        Serial.println(" luu12");
        break;
      case 13:
        LUU1[12] = goc1;
        LUU2[12] = goc2;
        LUU3 [12] = goc3;
        LUU4[12] = goc4;
        Serial.println(" luu13");
        break;
      case 14:
        LUU1[13] = goc1;
        LUU2[13] = goc2;
        LUU3 [13] = goc3;
        LUU4[13] = goc4;
        Serial.println(" luu14");
        break;
      case 15:
        LUU1[14] = goc1;
        LUU2[14] = goc2;
        LUU3 [14] = goc3;
        LUU4[14] = goc4;
        Serial.println(" luu15");
        break;
    }
  }
  if ( digitalRead (13) == LOW )
  { while ( 1 == 1 )

    {
      for (int i = 0; i < 14; i++) {
        servo1.write(LUU1[i]);
        delay ( 100);
        servo2.write(LUU2[i]);
        delay ( 100);
        servo3.write(LUU3[i]);
        delay ( 100);
        servo4.write(LUU4[i]);
        delay ( 100);
        Serial.println(" dang chay");

      }
      if ( digitalRead (13) == LOW)
      {
        delay ( 5000);
        Serial.println(" da thoat");
        break;
      }

      delay ( 300);
    }

  }
}


--------------------------------------

Download code: https://drive.google.com/file/d/1mKm1uO7__gzeuDNSBH2P6-XRh7zyIvSG/view?usp=sharing

Đăng nhận xét

0 Nhận xét