본문 바로가기

공대생 주석마루

(8) tone함수로 연주하기 Youtube주석마루 [아두이노 프로젝트] 1장 - 버저를 이용한 간단한 연주 -Tone 함수란 버저를 이용해서 음의 높이, 음의 길이를 받아 출력하는 함수이다.정해진 시간만큼 연주할 수 있으며 delay 함수를 사용해도 영향을 받지 않는다.버저에는 능동버저와 수동버저로 나뉘는데능동버저는 전류의 흐름만으로도 작동, 한 음만 가능하다.수동버저는 tone 함수로 제어, 다양한 음이 가능하다.구분은 흰 스터커가 붙으면 능동, 스티커가 붙지 않으면 수동 버저이다. 구성품은아두이노 우노, 버저, 연결선, 브렛보드 이다.연주곡은 '사과같은 내 얼굴이다' -코드는#include "pitch.h" int siz = 28;void setup() { // put your setup code here, to run once.. 더보기
(7) 인터럽트 Interrupt -인터럽트란 정상 루틴을 수행하는 도중 긴급한 요청이 있을 때,요청한 루틴(인터럽트 서비스 루틴-인터럽트 콜백 함수의 내용)을 먼저 수행(정상 루틴은 일시정지) 후 다시 정상 루틴으로 돌아오는 방식이다.millis 함수를 이용한 시간 카운트와 다른 방식이다.아두이노 우노에서는 디지털 2,3번 핀만이 수행할 수 있다.또한 아두이노에서는 인터럽트 콜백 함수에 대한 변수형이 void로 고정된다.왜냐하면 인터럽트 콜백 함수로 값을 보낼수도 값을 알 수도 없기 때문이다.또한 여러 개를 인터럽트로 설정하여도 동시에 수행이 불가하다. 구성품은아두이노 우노, 버튼, 연결선, 저항, LED, 브렛보드 이다. -코드는void setup() { // put your setup code here, to run once: pi.. 더보기
(6) millis 함수 -millis 함수란 작동 후 시간 경과를 수시로 확인하는 함수이다.milli + s(밀리초)의 개념delay 함수를 중복 사용하면 두 개의 개별 제어를 동시에 수행하지 못하는데delay와 millis 를 사용함으로써 동시에 개별 제어를 가능하게 한 경우이다.구성품은 아두이노 우노, 버튼, LED, 저항, 연결선, 브렛보드 이다. 코드는unsigned long pre; boolean ont = false;void setup() { // put your setup code here, to run once: pinMode(3,OUTPUT); pinMode(7,INPUT_PULLUP); pinMode(12,OUTPUT); }void loop() { // put your main code here, to run.. 더보기
(5) 아날로그 출력 -아날로그 출력이란 아두이노 보드 자체에서 아날로그 출력을 할 수 있는 방법은 없지만LED나 버저 등을 통하여 출력값을 0~254 단계로 나누어져 표현하는 방식이다.이를 PWM방식이라 하며 디지털 3,5,6,9,10,11 핀을 통해 가능하다. 다만 이 사이의 간격은 2ms 정도이다.구성품은 아두이노 우노, 브렛보드, LED, 저항, 연결선, 포텐셔미터 이다. -코드는void setup() { // put your setup code here, to run once:}void loop() { // put your main code here, to run repeatedly: int analogout=analogRead(A1); analogWrite(11,analogout/4); }핀 입/출력 설정도 초기화.. 더보기