산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

자동 레고 슈터

구성품 및 소모품

Arduino UNO
이 프로젝트에 사용한 보드입니다. 그러나 Arduino Uno도 작동합니다.
× 1
SG90 마이크로 서보 모터
프로젝트에 필요한 모터입니다.
× 4
점퍼 와이어(일반)
× 1
Lego Star Wars Shootable Cannon
× 4
브레드보드(일반)
× 1

필요한 도구 및 기계

테이프, 전기
모든 테이프는 완벽합니다. 전기 테이프가 꼭 필요하지는 않습니다.

앱 및 온라인 서비스

Arduino IDE
Mac, Windows 및 Linux 장치에서 Arduino 코드를 실행하는 프로그램입니다.

이 프로젝트 정보

이 프로젝트는 레고 캐논이 자동으로 쏘도록 하는 것입니다. 저는 레고를 가지고 노는 것을 좋아하고 Arduino를 사용하는 것을 좋아해서 자유 시간에 이 프로젝트를 하기로 했습니다. 뿔이 달린 서보 모터는 레버를 치며 대포를 쏘면서 회전합니다. 초보자를 위한 훌륭한 첫 번째, 두 번째 또는 세 번째 프로젝트입니다!

만드는 방법에 대한 단계별 가이드입니다.

1단계:하드웨어

단계 1 부분 1: 하드웨어 기본사항

양으로 충전된 행으로 가는 5V와 음으로 충전된 행으로 가는 GRND로 시작합니다. 다음과 같을 것입니다 -

1단계 파트 2:서보 연결 #1

서보에는 3개의 와이어가 있습니다. 주황색/노란색(신호) 하나는 DIGITAL(PWM~)의 슬롯을 차지하고 빨간색(전원)은 VIN(양의 행에 있는 핀)에 연결되고 검정색/갈색 와이어(GRND)는 Uno의 GRND 핀에 연결된 음으로 충전된 행으로 이동합니다. 첫 번째 서보에 사용한 디지털 핀은 7입니다. 첫 번째 서보를 연결했을 때의 회로도는 다음과 같습니다. -

1단계 파트 3:나머지 서보 배선

서보에 익숙해지면 나머지는 산들 바람이 될 것입니다. 그러나 한 가지 주의할 점은 코드에서 서보에 부착한 디지털 핀과 일관성을 유지해야 한다는 것입니다.

예를 들어, 코드(페이지 하단에서 찾을 수 있음)는 다음과 같습니다.-

secondCannon.attach(8); 

따라서 두 번째 Servo는 디지털 핀 8에 연결해야 합니다.

같은 방법으로 3번째 Servo는 디지털 6번 핀에, 4번째는 9번째 디지털 핀에 부착해야 합니다.

그러나 원하는 순서대로 변경될 수 있습니다. 일관성을 위해 하드웨어와 소프트웨어를 모두 변경하고 있는지 확인하십시오. 그렇지 않으면 코드가 작동하지 않습니다.

하단에 제공된 코드로 실행하려면 다음과 같이 회로도가 표시되어야 합니다.

축하합니다! 이 프로젝트의 하드웨어 부분을 공식적으로 완료했습니다.

2단계:소프트웨어

이제 페이지 하단의 코드를 Arduino 스케치에 복사하여 붙여넣고 업로드하십시오. 코드를 업로드하기 전에 서보 라이브러리가 있는지 확인하십시오. 그렇지 않으면 작동하지 않습니다! 다음은 프로그램을 실행할 때 코드와 의미를 설명하는 단계별 가이드입니다.

#include  //ServosServo firstCannon용 라이브러리 포함; //First Cannon을 ServoServo로 정의 secondCannon; //두 번째 캐논을 ServoServo로 정의 thirdCannon; //세 번째 캐논을 ServoServo로 정의 네번째 캐논; //4대포를 서보로 정의 

이 코드는 Servo.h를 설정합니다. 코드에서 기본적인 역할을 할 라이브러리입니다. 이것은 라이브러리를 사용하여 4개의 대포를 서보 또는 180도 회전할 수 있는 모터로 정의하는 다음 라인으로 표시할 수 있습니다.

void setup() { //설정 코드 또는 한 번만 실행되는 코드 Serial.begin(9600); // 직렬 통신 시작 Serial.println("클론을 방어하십시오! 방어를 설정하십시오!") //직렬 모니터에 무언가를 인쇄합니다. firstCannon.attach(7); //디지털 핀 7을 First Cannon에 연결 secondCannon.attach(8); //디지털 핀 8을 Second Cannon에 연결 thirdCannon.attach(6); //디지털 핀 6을 Third Cannon에 연결 fourCannon.attach(9); //디지털 핀 9를 네 번째 캐논에 연결} 

무효 설정() 코드는 거의 모든 Arduino 프로젝트에서 사용되며 한 번만 실행되는 코드입니다. 이 경우 9600 baud에서 개행 직렬 통신을 시작합니다. 그런 다음 직렬 모니터에서 인쇄합니다. 서보를 프로그래밍하기 위해 우리는 그들의 이름을 각각의 디지털 핀에 연결해야 합니다. 이것이 .attach()의 목적입니다. 코드 조각.

void loop() { //루프 코드 또는 무한 횟수 실행되는 코드 Serial.println("Beginning firing sequence") //직렬 모니터에서 무언가를 출력 firstCannon.write(180); //첫 번째 서보를 180도 회전시켜 첫 번째 대포 지연을 설정합니다(100). //두 번째 firstCannon.write(0)의 1/10을 기다립니다. //재장전 지연(1000)에 대비하여 서보를 원래 위치로 되돌립니다. //1초 대기 secondCannon.write(180); //두 번째 서보를 180도 회전하여 두 번째 캐논 지연을 설정합니다(100). //초의 1/10을 기다립니다. secondCannon.write(0); //재장전 지연(1000)에 대비하여 서보를 원래 위치로 되돌립니다. //1초 기다리기 thirdCannon.write(180); //세 번째 서보를 180도 회전하여 세 번째 대포 지연을 설정합니다(100). //두 번째의 1/10을 기다립니다. thirdCannon.write(0); //재장전 지연(1000)에 대비하여 서보를 원래 위치로 되돌립니다. //1초 기다림 fourCannon.write(180); //첫 번째 네 번째를 180도 회전하여 네 번째 대포 delay(100)를 시작합니다. //두 번째의 1/10을 기다립니다. fourCannon.write(0); //재장전 지연(1000)에 대비하여 서보를 원래 위치로 되돌립니다. //1초 기다리기 Serial.println("모든 대포 발사"); Serial.println("재로드 준비"); 지연(10000); Serial.println("재로드 완료. 다시 실행 준비 중")} 

이것은 void를 사용하는 코드의 마지막 부분입니다. 루프() 다음 코드를 무한대로 실행할 수 있는 함수입니다. 그런 다음 대포가 발사되려는 직렬 모니터를 인쇄합니다. 각 대포의 서보는 180도 회전한 다음 한 번에 하나씩 원래 위치로 다시 회전해야 합니다. 그 후 프로세스가 다시 반복될 때까지 10초(재로딩 시간)가 있어야 합니다.

코드를 업로드할 때 다른 문제가 있는 경우 댓글 섹션에 댓글을 남겨주시면 최대한 빨리 답변해 드리겠습니다. 작동하면 다음 단계로 이동하십시오.

3단계:설치

마지막 단계에는 레고 대포와 구식 일반 테이프가 필요합니다. 레고 대포는 이렇게 생겼습니다 -

코드를 실행합니다. 서보가 회전하는 방향을 확인하십시오. 서보를 레고 대포에 테이프로 붙여서 궤도가 위 그림의 대포 상단에 있는 레버와 충돌 코스에 놓이도록 합니다.

잘 했어! 이 프로젝트를 공식적으로 완료했습니다. 제가 말했듯이 질문이 있는 경우 아래 섹션에 댓글을 남겨주세요.

이 프로젝트가 마음에 들면 다음 링크를 확인하십시오 -

https://create.arduino.cc/projecthub/342600/basketball-hoop-with-buzzer-using-an-arduino-693bad?ref=user&ref_id=1536504&offset=1

https://create.arduino.cc/projecthub/ShreyanR/soundbox-826a56

<섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

코드

<울>
  • 레고 건 슈터 코드
  • 레고 건 슈터 코드C/C++
    이것을 Arduino IDE에 붙여넣습니다.
    #include  //ServosServo firstCannon용 라이브러리 포함; //First Cannon을 ServoServo로 정의 secondCannon; //두 번째 캐논을 ServoServo로 정의 thirdCannon; //세 번째 캐논을 ServoServo로 정의 네번째 캐논; //4대포를 Servovoid로 정의 setup() { //설정 코드 또는 한 번만 실행되는 코드 Serial.begin(9600); // 직렬 통신 시작 Serial.println("클론을 방어하십시오! 방어를 설정하십시오!") //직렬 모니터에 무언가를 인쇄하십시오. firstCannon.attach(7); //디지털 핀 7을 First Cannon에 연결 secondCannon.attach(8); //디지털 핀 8을 Second Cannon에 연결 thirdCannon.attach(6); //디지털 핀 6을 Third Cannon에 연결 fourCannon.attach(9); //Attach Digital Pin 9 to Fourth Cannon}void loop() { //루프 코드 또는 무한번 실행되는 코드 Serial.println("Beginning firing sequence") //직렬 모니터 firstCannon에서 무언가를 인쇄합니다. 쓰기(180); //첫 번째 서보를 180도 회전시켜 첫 번째 대포 지연을 설정합니다(100). //두 번째 firstCannon.write(0)의 1/10을 기다립니다. //재장전 지연(1000)에 대비하여 서보를 원래 위치로 되돌립니다. //1초 대기 secondCannon.write(180); //두 번째 서보를 180도 회전하여 두 번째 캐논 지연을 설정합니다(100). //초의 1/10을 기다립니다. secondCannon.write(0); //재장전 지연(1000)에 대비하여 서보를 원래 위치로 되돌립니다. //1초 기다리기 thirdCannon.write(180); //세 번째 서보를 180도 회전하여 세 번째 대포 지연을 설정합니다(100). //두 번째의 1/10을 기다립니다. thirdCannon.write(0); //재장전 지연(1000)에 대비하여 서보를 원래 위치로 되돌립니다. //1초 기다림 fourCannon.write(180); //첫 번째 네 번째를 180도 회전하여 네 번째 대포 delay(100)를 시작합니다. //두 번째의 1/10을 기다립니다. fourCannon.write(0); //재장전 지연(1000)에 대비하여 서보를 원래 위치로 되돌립니다. //1초 기다리기 Serial.println("모든 대포 발사"); Serial.println("재로드 준비"); 지연(10000); Serial.println("재로드 완료. 다시 실행 준비 중")}

    회로도


    제조공정

    1. 덕트 테이프
    2. 셀로판 테이프
    3. Arduino 스파이봇
    4. FlickMote
    5. 수제 TV B-Gone
    6. 마스터 시계
    7. Giant Animatronics Lego Minfig Operation Game
    8. 나를 찾기
    9. SunGlass-BOT [자동 선글라스]
    10. Arduino Power