실험목표
아두이노의 디지털 핀을 이용하여 디지털 값을 입력한다.
필요부품
330Ω저항, 1kΩ 저항, 택트스위치, LED
기본적인 명령어
디지털 데이터를 입력(INPUT)하기 위해서는 2가지 명령어가 필요하다.
pinMode(); 디지털핀의 용도를 설정하는 함수이다. OUTPUT(출력) 또는 INPUT(입력)으로 설정이 가능하다.
digitalRead(); 디지털핀으로 INPUT(입력)되는 값을 읽어오도록 설정하는 함수이다.
/*택트스위치*/
동작원리
택트스위치의 내부구조는 위 그림처럼 왼쪽 줄과 오른쪽 줄이 연결되어있는 상태이다.
스위치를 누른다면 4개의 단자가 모두 연결되게 된다.
*주의사항
스위치에 반드시 1kΩ짜리 풀다운(full-down)저항을 연결 해주어야 한다.
프로그램 작성
pinMode(12, INPUT); 12번핀을 INPUT(입력)포트로 설정한다.
digitalRead(12); 12번핀의 입력값을 읽어온다.
if(switch_state==1) 입력된 변수의 값이 HIGH 일 때 실행하도록 하는 조건문이다. (HIGH = 1, LOW = 0)
회로구성과 프로그램을 정확하게 구성했다면 스위치를 눌렀을 때 LED가 점등될 것이다. 만약 LED가 점등되지 않는다면 아두이노 전원을 제거해 준 후 구성된 회로도와 프로그램에 이상이 없는지 확인해보록 한다.
*풀업, 풀다운 저항이란?
스위치로 LED제어하기를 실험하며 풀다운 저항을 사용하였다.그렇다면 풀다운 저항이란 무엇이고 왜 굳이 스위치에 달아주어야 하는 것일까?
스위치가 open인 상태에서는 HIGH와 LOW 사이의 애매한 상태에 머무르게 되는데 이를 플로팅(Floating)상태라 한다. 이 현상을 방지하고 HIGH와 LOW의 상태를 명확하게 하기 위하여 PULL-DOWN 혹은 PULL-UP저항을 이용한다. 스위치 회로에 1kΩ~100KΩ 정도의 저항을 추가하여 LOW 혹은 HIGH 상태를 명확하게 유지할 수 있도록 해준다.
전류는 기본적으로 저항을 피해 흐르려는 성질이 있다. 그렇다면 스위치를 눌렀을 때와 누르지 않았을 때 각각의 입력 핀에는 어떤 신호가 들어갈 지 생각해 보자.
부저 제어하기
마그네틱 부저, 피에조 부저
|
마그네틱 부저(능동 부저) |
피에조 부저(수동부저) |
음 |
한음만 출력 |
여러 음 출력 가능 |
용도 |
신호 출력용 |
멜로디, 벨소리 등 |
실험 목표
부저의 기능을 이해하고 이를 이용하여 회로 및 프로그램을 구성할 수 있다.
필요 부품
Arduino Uno, 브레드보드, 점프선 , 마그네틱 부저, 피에조 부저, 1kΩ 저항, 택트 스위치
마그네틱 부저 사운드 출력
프로그램 작성
피에조 부저 사운드 출력
프로그램 작성
응용 프로그램
1)스위치가 눌릴 때 마그네틱 부저가 1초 동안 사운드를 출력한다.
프로그램 작성
'아두이노' 카테고리의 다른 글
4.1 아두이노 아날로그 포트의 이해 (0) | 2019.12.18 |
---|---|
3.4 시리얼통신을 이용한 LED제어 (2) | 2019.12.18 |
3.2 아두이노 디지털 출력 초음파 센서 제어하기 (0) | 2019.12.18 |
3.2 아두이노 디지털 출력 7-segment 응용문제 (0) | 2019.12.18 |
3.2 디지털출력 LED, 7-SEGMENT 제어하기 (2) | 2019.12.18 |
댓글