제조공정
| × | 1 | ||||
| × | 4 | ||||
| × | 1 | ||||
| × | 4 | ||||
| × | 1 |
|
|
이 프로젝트는 레고 캐논이 자동으로 쏘도록 하는 것입니다. 저는 레고를 가지고 노는 것을 좋아하고 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="코드">#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("재로드 완료. 다시 실행 준비 중")}
제조공정
구성품 및 소모품 Arduino UNO × 1 라즈베리 파이 2 모델 B 어떤 것이든 작동해야 함 × 1 라즈베리 파이 카메라 모듈 × 1 Arduino 이더넷 쉴드 2 × 1 릴레이(일반) × 1 OpenBuilds 유선 케이블 - 도보 × 1 포토 저항기 × 1 워터 펌프(일반) × 1 팬(일반) 오래된 컴퓨터의 것을 사용했습니다. × 1 범용 트랜지스터 NPN
구성품 및 소모품 LEGO Wall-E 더 이상 만들지 않기 때문에 중고로 구입해야 했습니다. × 1 Arduino Nano R3 × 1 DC 모터(일반) × 2 L298N 듀얼 모터 컨트롤러 × 1 2색 LED 핀 3개 포함 × 1 적외선 센서 × 1 부저 다양한 음색을 재생할 수 있는 것 × 1 9V 배터리 × 1 저항 330옴 × 3 점퍼 와이어(일반)