7. 함수를 이용한 키패드 센서 제어하기

Download Report

Transcript 7. 함수를 이용한 키패드 센서 제어하기

함수를 이용한 키패드 센서 제어하기
목차
1.
재료준비 및 브레드 보드 배선 구성하기
2.
키패드 센서를 통한 함수 이해하기 및 활용 실습
3.
응용 작품 만들기
1
준비물
준비하기
1) 아두이노 보드 (SPL-Duino V2 초보자용 보드)
2) USB 케이블
3) 스피커, 키패드센서
4) 브레드보드 실습 키트
2
브레드보드 배선 구성하기
전원 연결
아래 그림과 같이 브레드 보드를 연결해줍니다.
3
브레드보드 배선 구성하기
센서 연결
스피커를 아래와 같이 연결해줍니다.
스피커 : 핀 색과 상관없이
하나는 G, 하나는 S에
연결 되도록 합니다.
키패드
파란색
빨간색
검은색
센서 : A0번 핀에 연결
– 파란색
– 빨간색
– 검은색
4
함수 이해하기
함수
• 함수는 영어로 function으로 기능을 뜻합니다.
• 수학에서 사용되는 함수와 그 기본 원리는 같습니다.
• 함수는 입력값이 있으면 출력값이 나오는 원리입니다.
• 아두이노에서 쓰는 setup(), loop() 역시 함수라 할 수 있습니다.
• 명령어들 analogRead();, Serial.println();, digitalWrite(); 또한 함수입니다.
• 사용자가 직접 함수를 만들어 복잡하고 반복된 코딩을 줄일 수 있습니다.
5
함수 이해하기
함수
함수 이름
입력 변수
자료형
void loop()
{
함수의 내용
}
함수를 만들 때는 원하는 자료형을 지정한 뒤
함수의 이름을 만들어 줍니다.
()에 입력변수를 지정해줍니다.
입력변수를 사용하지 않을 시 공란으로 합니다
그리하면 함수가 사용되어 질 때마다
함수의 내용이 실행됩니다.
6
함수 이해하기
함수
입력
함수는 함수를 소환하여 입력값을
입력하면 그 받은 입력값을 처리하여
계산 값을 출력해줍니다.
이 모든 과정이 함수라 할 수 있습니다.
출력
7
함수 이해하기
함수
함수 생성의 예
int c;
void setup() {
Serial.begin(115200);
}
void add(int a, int b)
{
c = a + b;
}
void loop()
{
add(10,15);
Serial.println(c);
delay(500);
}
add(int a, int b)라는 함수를 만들었습니다.
add라는 이름을 지정해주고 입력 가능한
변수 a b를 만들어 add 함수 안에서 a + b를
실행하게 됩니다.
실행된 수식은 c로 저장합니다.
함수 안의 변수는 지역 변수이기에
함수에서 빠져나가면 소멸 되는 관계로
c는 전역 변수로 지정해줬습니다.
소스를 실행하게 되면 입력변수 10과 15가
합 된 모습을 볼 수 있습니다.
8
함수 이해하기
함수
함수 생성
함수 생성하기를 하여 더하기 이외에도 빼기, 곱하기, 나누기도 만들어 보십시오.
9
함수 이해하기
함수
함수 생성
int c;
void setup() {
Serial.begin(115200);
}
void add(int a, int b)
{
c = a + b;
}
void sub(int a, int b)
{
c = a - b;
}
void mul(int a, int b)
{
c = a * b;
}
void divi(int a, int b)
{
c = a / b;
10
함수 응용하기
함수
함수를 이용한 키패드 스피커
- 키패드를 사용하여 입력된 수치로 스피커를 울리도록 합니다.
void setup() {
}
void Keysound(int a)
{
tone(2,a,1000);
delay(1000);
}
void loop()
{
int a = analogRead(0);
if(a < 1023)
{
Keysound(a);
}
}
Keysound라는 함수를 만들어 줍니다.
입력 변수 a를 지정해줍니다.
이 함수 안에 tone명령어를 넣고
진동수 값을 키패드가 입력되는 값으로 넣어줍니다.
loop()에서 키패드의 값을 읽어옵니다.
키패드는 아무 동작이 없을때 1023의 값을 가지므로
조건문을 넣어줘서 동작을 하지 않을 때는
소리가 나지 않게 해줍니다.
키패드가 동작 할 때 함수를 불러와 연주를 하게 합니다.
11
응용 작품 만들기
실습
• 미션) 함수를 이용하여 키패드가 입력되었을 때 멜로디가 연주 되게 하십
시오.
응용 작품 만들기
실습
• 코드 예시)
int
int
int
int
int
green = 0;
white = 143;
blue = 743;
yellow = 506;
red = 328;
int a[25]={164,146,130,146,164,164,164,146,146,146,164,164,164,164,146
int t_delay01[25]={250,250,250,250,250,250,500,250,250,500,250,250,500
int b[24]={195,195,880,880,195,195,164,195,195,164,164,146,195,195,220
int t_delay02[24]={250,250,250,250,250,250,500,250,250,250,250,500,250
int c[23]={195,220,195,164,195,220,195,164,293,293,246,261,261,195,220
int t_delay03[23]={750,750,750,1500,750,750,750,1500,750,750,1500,750
void setup() {
pinMode(3, OUTPUT);