아두이노 우노로 만드는 자동 레고 스타워즈 슈터
부품 및 소모품
| 아두이노 우노 | 1개 |
| SG90 마이크로 서보 모터 | 4개 |
| 점퍼 와이어 (일반) | 1세트 |
| 레고 스타워즈 발사 가능 대포 | 4개 |
| 브레드보드 (일반) | 1개 |
필요한 도구 및 기계
앱 및 온라인 서비스
- 아두이노 IDE (맥, 윈도우, 리눅스 지원)
프로젝트 소개
레고 대포를 자동으로 발사하는 프로젝트입니다. 레고 놀이와 아두이노를 좋아해 여가 시간에 만들었습니다. 서보 모터 혼이 돌아가며 대포 상단의 레버를 쳐서 발사합니다. 초보자에게 좋은 첫 번째, 두 번째, 세 번째 프로젝트입니다.
1단계: 하드웨어
1-1 하드웨어 기초
브레드보드 양극 행에 5V, 음극 행에 GND 연결.
1-2 서보 1번 연결
서보 3선: 주황/노랑(신호) → 디지털 PWM 핀, 빨강(전원) → VIN(양극 행), 검정/갈색(GND) → 음극 행. 첫 서보는 디지털 핀 7 사용.
1-3 나머지 서보 연결
서보 연결에 익숙해지면 나머지는 쉽습니다. 코드의 핀 번호와 하드웨어가 일치해야 합니다.
secondCannon.attach(8); // 2번 서보 → D8
thirdCannon.attach(6); // 3번 서보 → D6
fourthCannon.attach(9); // 4번 서보 → D9
순서는 바꿔도 되지만 하드웨어와 소프트웨어 모두 변경해야 합니다. 제공된 코드로 실행하려면 아래와 같이 연결하세요.
2단계: 소프트웨어
아래 코드를 아두이노 스케치에 복사해 업로드하세요. Servo.h 라이브러리가 필요합니다.
#include <Servo.h>
Servo firstCannon, secondCannon, thirdCannon, fourthCannon;
void setup() {
Serial.begin(9600);
Serial.println("Defend the Clones! Set up the defenses!");
firstCannon.attach(7);
secondCannon.attach(8);
thirdCannon.attach(6);
fourthCannon.attach(9);
}
void loop() {
Serial.println("Beginning firing sequence");
firstCannon.write(180); delay(100); firstCannon.write(0); delay(1000);
secondCannon.write(180); delay(100); secondCannon.write(0); delay(1000);
thirdCannon.write(180); delay(100); thirdCannon.write(0); delay(1000);
fourthCannon.write(180); delay(100); fourthCannon.write(0); delay(1000);
Serial.println("All cannons fired");
Serial.println("Prepare for reload");
delay(10000);
Serial.println("Reloading Complete. Preparing to fire again");
}
setup()은 한 번만 실행되며 시리얼 통신 시작과 서보 핀 연결을 합니다. loop()는 무한 반복하며 각 서보를 180도 회전시켜 대포를 발사하고 원위치로 돌린 후 1초 대기, 4개 모두 발사 후 10초 재장전 대기합니다.
3단계: 설치
레고 대포 모양은 위 사진과 같습니다. 코드를 실행해 서보 회전 방향을 확인한 후, 서보 혼이 대포 레버를 치도록 테이프로 고정하세요.
코드
회로도