Hướng dẫn các mẫu thiết kế Robot bắn đá như trong phim

Đăng lúc: Thứ tư - 07/09/2016 09:53 - Người đăng bài viết: SuperG
Mẫu thiết kế Robot bắn đá

Mẫu thiết kế Robot bắn đá

Máy bắn đá là loại vũ khí lạnh thời cổ. Các nhà nghiên cứu cho là được phát minh năm 399 trước công nguyên. Còn có tên gọi là Sảo Pháo hay Cự Thạch Pháo. Hãy thử tạo một Robot như vậy cho các bé điều khiển vào những trận đánh lớn nào.

 

 

 

 

Giới thiệu

 20160514_122107.jpg​ 

 
Máy bắn đá
 
Cấu tạo:

Dùng nguyên lý đòn bẩy và tính đàn hồi của cần để bắn đá đi. Gồm: giá chắc chắn bằng gỗ chôn chặt xuống đất hoặc đặt trên xe di động, có một hay nhiều cần còn được gọi là (sảo) gắn với giá bằng trục ngang, đầu trên của cần buộc nhiều dây da bền chắc, mỗi đầu dây có từ một đến hai người kéo khi bắn, đầu dưới cần được buộc các giỏ đựng đá. Khối lượng đá tùy thuộc vào số cần và số dây kéo.​

Vận hành:
Trebuchet hoạt động bằng nguyên lý cơ học về lực đòn bẩy để đẩy 1 hòn đá hay cái loại đạn khác xa và chính xác hơn nhiều so với một máy bắn đá Catapult. Sợi dây treo và cánh tay đòn vung lên thành tư thế thẳng đứng, thường được trợ giúp bằng 1 cái móc, đoạn cuối sợi dây treo tung ra, đẩy viên đạn về phía mục tiêu với sức mạnh khủng khiếp.
Có nhiều kỹ thuật tiến bộ đã được áp dụng lên Trebuchet. Các nhà khoa học hiện vẫn đang tranh cãi về việc liệu những người thời xưa có sử dụng hệ thống bánh xe để hấp thụ những lực dư thừa và truyền trở lại vào trong viên đạn. Một thanh chắn được đặt ở điểm dừng của cánh tay đòn có thể sử dụng để tăng lợi thế đàn hồi tự nhiên của gỗ (hay kim loại), nó có sự tương đồng lớn với một máy Catapult.
 
 
Tác dụng:

Sát thương sinh lực, phá hủy doanh trại, phá hủy thành trì.​

Picture of Assemble the catapult
20160514_122444.jpg
20160514_122507.jpg
20160514_123057.jpg
20160514_123152.jpg
20160514_123204.jpg
20160514_123401.jpg

 

20160514_123935.jpg
20160514_124038.jpg
20160514_122205.jpg
Phần chế tạo
 
Chuẩn bị:
 
Viên bi (làm đạn)
Máy in 3D in các chi tiết cho đẹp và tiện lợi, file in: Download
Động cơ lực bắn RCServo (VD:  MG995)
Động cơ hãm RCServo (VD: SG90)
Phần mạch chính: Uno Arduino
Kit mở rộng để tiện cắm chân các thành phần (có thể nối trực tiếp lên Uno)
Nguồn cung cấp (5V chú ý là từ 2A trở lên cho đảm bảo tải )
Các loại khác như dây điện, vít... miễn là ráp lại được theo hình
 
Làm bộ điều khiển:
Bạn có thể in vỏ tại file đính kèm: Download and here (controller top & bottom)
 
Theo hướng dẫn này sẽ dùng cảm biến hồng ngoại và một vòng led RGB WS2812 5050 thay cho nút bấm (Các bạn có thể chỉ cần làm button cho dễ mua)
Nếu có xe ĐK từ xa bỏ đi bạn có thể tận dụng bộ điều khiển trông cho chuyên nghiệp :).
 

Code tham khảo: Download​

 

Xem video sản phẩm

Picture of Add animation with Led Ring

 

 

Tham khảo thêm

 

Picture of Arduino Controlled Catapult
wires.jpg
sidezoomarduino.jpg
back.jpg

Video: https://youtu.be/R8D8ZZJyCLA

 

Picture of

Picture of  Picture of  Picture of

Video: https://youtu.be/XWxLChRfHS0

https://www.youtube.com/watch?v=oQO_swxqIA4&feature=youtu.be

20160514_122205.jpgCode:

#include

Servo candy;

Servo rotate;

Servo latch;

Servo spring;

 

int fire=2;

int right=4;

int left=6;

int val=0;

int val1=0;

int val2=0;

int val3=0;

 

 

void setup()

{pinMode(fire,INPUT);

pinMode(right,INPUT);

pinMode(left,INPUT);

candy.attach(13);

rotate.attach(12);

latch.attach(8);

spring.attach(7);

rotate.write(45);

delay(500);

rotate.write(30);

latch.write(60);

spring.write(200);

candy.write(25);

candy.write(140);

delay(500);

candy.write(25);

 

}

 

void loop()

 

  {

   

    val=digitalRead(left);

    val1=digitalRead(right);

    val2=digitalRead(fire);

   

    if(val==HIGH or val1==HIGH or val2==HIGH)

    {

      if (val==HIGH)

      {val3=(val3+5);}

      if (val3>=145)

      {

        val3=(val3-5);

      }

      if (val3<65)

      {

        val3=65;

      }

      rotate.write(val3);

      delay(50);

    }

    else

    

    val=digitalRead(left);

    val1=digitalRead(right);

    val2=digitalRead(fire);

    

    if(val1==HIGH)

    {val3=(val3-5);

    if(val3<65)

    {val3=(val3+5);

    }

    rotate.write(val3);

    delay(50);

    }

    else

    if(val2==HIGH)

    {spring.write(50);

  delay(1000);

  latch.write(200);

  delay(1000);

  spring.write(200);

  delay(500);

  latch.write(60);

  delay(1000);

  rotate.write(50);

  delay(500);

  rotate.write(30);

  candy.write(140);

  delay(500);

  candy.write(25);

  val3=0;

    }}

 

 Nâng cấp nghe vỗ tay:

Picture of EXTRA CREDIT! Picture of

 

 

#include

Servo candy;

Servo rotate;

Servo latch;

Servo spring;

 

int led2=3;

int val2=0;

int ledcenter=6;

 

int ledPin=5;

int valm=0;

int val1=0;

void setup()

{pinMode(ledPin, OUTPUT);

pinMode(led2,OUTPUT);

pinMode(ledcenter,OUTPUT);

candy.attach(13);

rotate.attach(12);

latch.attach(8);

spring.attach(7);

rotate.write(45);

delay(500);

rotate.write(30);

latch.write(60);

spring.write(200);

candy.write(25);

candy.write(140);

delay(500);

candy.write(25);

 

}

 

void loop()

{

  valm=analogRead(0);

  val2=analogRead(3);

  val1=analogRead(1);

 if(valm>400 || val1>400 || val2>400)

 

 

 

 

  //val1=val1-60;

    {if(valm>val2 && valm>val1)

  {digitalWrite(ledPin, HIGH);

  rotate.write(130);

  delay(500);

  rotate.write(145);

  spring.write(50);

  delay(1000);

  latch.write(200);

  delay(1000);

  spring.write(200);

  delay(500);

  latch.write(60);

  delay(1000);

  rotate.write(50);

  delay(500);

  rotate.write(30);

  candy.write(140);

  delay(500);

  candy.write(25);

  digitalWrite(ledPin, LOW);

  delay(1000);

  valm=0;

   val2=0;

  val1=0;

}

  else

 

  {

 

    if(val2>valm && val2>val1)

  {digitalWrite(led2,HIGH);

  rotate.write(75);

   spring.write(50);

  delay(1000);

  latch.write(200);

  delay(1000);

  spring.write(200);

  delay(500);

  latch.write(60);

  delay(1000);

  rotate.write(40);

  delay(500);

  rotate.write(30);

  candy.write(140);

  delay(500);

  candy.write(25);

  digitalWrite(led2,LOW);

  delay(1000);

  valm=0;

  val2=0;

  val1=0;

 

  }

else

{if(val1>valm && val1>val2)

{digitalWrite(ledcenter,HIGH);

rotate.write(110);

 spring.write(50);

  delay(1000);

  latch.write(200);

  delay(1000);

  spring.write(200);

  delay(500);

  latch.write(60);

  delay(1000);

rotate.write(40);

delay(500);

rotate.write(30);

candy.write(140);

  delay(500);

  candy.write(25);

digitalWrite(ledcenter,LOW);

delay(1000);

valm=0;

val2=0;

val1=0;

 

}}}}}

 

Picture of Froggy World 1 The Catapult

Video: https://www.youtube.com/watch?v=6siNwbVuNP0&feature=youtu.be

Picture of

#include <Servo.h>

 

Servo myservo;

Servo release;

int start = 13;

int next = 11;

int val = 0;

 

void setup ()

{myservo.attach(5);

release.attach(6);

pinMode(start, INPUT);

pinMode(next, OUTPUT);

digitalWrite(next, HIGH);

myservo.write(150);

release.write(120);

}

 

void loop ()

{val=digitalRead(start);

if(val==LOW)

{myservo.write(5);

delay(1000);

release.write(180);

delay(1000);

myservo.write(150);

delay(2000);

release.write(120);

digitalWrite(next, LOW);

delay(1000);

digitalWrite(next, HIGH);

}}​

 

 

 

Đánh giá bài viết
Tổng số điểm của bài viết là: 0 trong 0 đánh giá
Click để đánh giá bài viết
 

Quy trình xử lý

Hướng dẫn quý khách hàng tìm hiểu làm quen với cách sử dụng sản phẩm và dịch vụ trong lĩnh vực Robot gia dụng chúng tôi cung cấp. Đặt vấn đề: Khách hàng liên hệ qua Email hoặc Điện thoại, ghi chú nội dung liên hệ và thông tin yêu cầu sản phẩm dịch vụ sơ bộ. Xử lý thông tin: Chúng tôi sẽ trực...

Thăm dò ý kiến

Bạn có muốn sở hữu một Robot trong nhà không?

Cần một Robot để dọn dẹp

Cần một Robot trông nh

Cần một Robot để giải trí

Bạn cần một Robot theo cách khác

Bạn đã có rồi

Bạn không cần

Liên kết