발렌타인 선물용 스마트 해바라기: 아두이노로 빛을 따라 움직이는 꽃 만들기
부품 및 소모품
스파크펀 아두이노 프로 미니 328 - 5V/16MHz
1개
스파크펀 미니 포토셀 (조도 센서)
1개
스파크펀 서보 모터 - 메탈 기어
1개
필요한 도구 및 기계
앱 및 온라인 서비스
circuito.io
링크
아두이노 IDE
링크
프로젝트 개요
발렌타인 데이를 맞아 로맨틱한 프로젝트를 구상하던 중 사무실 창가의 플라스틱 해바라기가 눈에 들어왔습니다. 솔직히 꽤 못생겼지만, 진짜 해바라기처럼 빛을 따라 움직이는 꽃을 만들면 어떨까? 하는 아이디어가 떠올랐습니다. 몇 번의 수정(과 많은 필라멘트) 끝에 발렌타인 해바라기 를 완성했습니다. 사랑을 전하세요!
전자 회로
튜토리얼을 따라오셨다면 익숙한 과정입니다:
이 circuito.io 마법 링크 를 클릭해 프로젝트에 필요한 정확한 부품 조합을 확인하세요.
필요시 조정: 배터리 사용, 다른 아두이노 보드 등. 이 프로젝트는 프로 미니를 사용했으며 꽃 내부에 들어가는지 확인하세요.
빌더 하단의 빨간 Generate 버튼 클릭.
1단계 가이드에 나타나는 부품 리스트(저항, 케이블, 점퍼 와이어 등 주변 부품 포함)를 확인하고 모두 준비하세요. 부품 클릭 시 구매 사이트로 이동 가능.
배선: 단계별 가이드를 따라 회로 배선.
코드 섹션 : 모든 컴포넌트를 통합한 예제 코드 제공.
코드 다운로드
압축 해제
아두이노 IDE로 열기
아두이노에 업로드
정상 작동 확인 후, 아래 새 코드 를 기존 코드의 firmware 탭에 덮어쓰기 하세요. 상단의 핀 정의 및 라이브러리 부분은 유지해야 합니다.
꽃 만들기
꽃의 각 파트를 3D 프린트하세요. STL 파일 링크 또는 아래 CAD 섹션에서 다운로드 가능.
출력 파트:
베이스 (Base) 1개
바 (Bar) 1개
타이 (Tie) 1개
꽃받침 (Sepal) 1개
꽃잎 (Petals) 6개
풀 (Grass) 10개 - 유연/소프트 필라멘트 필수 (Filaflex 사용 권장)
조립:
꽃잎, 바, 꽃받침은 얇은 유연한 강선 으로 연결 (설계에 작은 구멍 마련됨)
서보 모터는 베이스 측면에 작은 나사 2개로 고정, 꽃받침에는 못 으로 연결
미니 포토셀을 베이스 전용 구멍(서보 받침대 아래)에 장착
해피 발렌타인 데이!
코드
Sunny Valentine (아두이노)
circuito.io에서 코드 다운로드
아두이노 IDE로 열기
원본 코드의 void setup()를 아래 코드로 교체
/* 회로 작동을 위한 필수 설정. 전원 인가 시 최초 1회 실행 */
void setup() {
// 디버깅용 시리얼 설정
Serial.begin(9600);
Serial.println("start");
servo.attach(SERVO_PIN_SIG);
servo.write(servoRestPosition);
}
/* 메인 로직: 컴포넌트 간 상호작용 정의. setup 후 무한 반복 */
void loop() {
// 현재 조도 읽기 (1000회 평균), 주변광 값 빼서 변화 감지
ldrSample = ldr.readAverage(1000);
Serial.print(ldrSample);
Serial.print('\t');
// 조도 값을 서보 각도(10~95도)로 매핑
servoRestPosition = map(ldrSample, 200, 900, 10, 95);
servoRestPosition = constrain(servoRestPosition, 10, 95);
Serial.println(servoRestPosition);
servo.write(servoRestPosition);
delay(1000 * 20); // 20초마다 업데이트
}
커스텀 파트 및 인클로저 (STL 파일)
Sunflower bar
Sunflower - Petal
Sunflower - base
Sunflower - Sepal
Sunflower - grass
Sunflower - tie