아두이노를 활용한 LED 제어, 전자음악, RC카 개조
제가 고등학교 다닐 때 아두이노를 사용하여 혼자 만들어보았던 것들입니다. 제 기억엔 겨울 방학 때 막 프로듀스 101이 처음 선보일 즈음이었던 것 같습니다. 이미 다른 제 블로그에 올렸던 것이지만, 여기에 재업로드합니다. (수정도 조금 하였습니다. 참고로 지금은 아두이노 관련 지식은 다 까먹었습니다)
안녕하세요! 이번엔 아두이노를 새로 선보이게 될 것입니다.
그리고 이번엔 사진편집이 너무 힘들어서 사진마다 자막을 달면서 설명하는 것이 아닌 사진 밑에 설명을 달겠습니다.
먼저, 아두이노는 한마디로 작은 컴퓨터입니다. 컴퓨터 역할을 해주기 때문에 사용자가 원하는 것을 프로그래밍으로 구현할 수 있죠. 예를 들면, LED를 켰다껐다 하는 것이라든지, 무선 자동차를 조종하는 것이라든지 등등이 있을 것입니다. 저도 전자기기를 좋아하는 한 사람으로써 아두이노를 주위 사람들을 통해 많이 들어보았는데, 막연하게 어려울 것 같아 한동안 안 하고 있다가 최근 우연히 프로그래밍 언어를 간략하게 배웠고(STAY...), 그 후에 아두이노를 다시 보니 재미있을 것 같아서 아두이노 우노와 그 외 여러 부품들을 구입하였습니다!
그럼 이제 제가 실험한 것들을 소개해 보겠습니다.
제가 썼던 코드입니다.
#include "pitches.h"
#define PIEZO 5
int i;
int song[ ] = {NOTE_D6, NOTE_B5, NOTE_G5, NOTE_A5, 0, NOTE_G5, NOTE_A5,
NOTE_D6, NOTE_B5, NOTE_G5, NOTE_A5, 0,
NOTE_D6, NOTE_B5, NOTE_G5, NOTE_A5, 0,
NOTE_D5, NOTE_B5, NOTE_E5, 0};
int time[ ] = {250, 250, 250, 250, 1250, 125, 125,
250, 250, 250, 250, 1250,
250, 250, 250, 250, 1500,
250, 250, 250, 1250};
void setup()
{
pinMode(PIEZO, OUTPUT); // PIEZO 버저핀은 출력
delay(3000);
}
void loop()
{
for (i=0; i<21; i++) // 연주 길이만큼 숫자 조정
{
tone(PIEZO, song[i], time[i]); // 배열순으로 노래 재생
delay(time[i]);
}
}
void loop() 안에 코드를 집어넣어 노래가 반복 재생할 수 있도록 하였습니다.
아래 동영상(작동영상들은 원본 링크 참조)은 노래를 작동시킨 것입니다. 소리가 작아졌다 커지니까 스피커 사용에 주의하세요!
댓글
댓글 쓰기