카테고리 없음

아두이노 2차시

그나 2026. 5. 16. 19:15

아두이노에서 부저는 능동부저와 수동부저가 있습니다.

능동부저는 음이 하나밖에 없고 다리길이가 다르며, 전원만 공급해도 바로 소리가 납니다.

수동부저는 음이 여러개이고, 다리길이가 같으며, 주파수를 입력해야 소리가 납니다.

 

아두이노 IDE 에는 시리얼 모니터가 있습니다.

시리얼 모니터는 PC와 아두이노 보드가 데이터를 주고받을 수 있는 기능입니다.

 

다음은 텍트 스위치입니다. 

텍트 스위치는 버튼처럼 눌러서 신호를 연결해주 부품입니다.

버튼을 누르면 전기가 흐르고, 떼면 흐르지 않습니다.

즉, 버튼을 누르지 않았을때는 1번과 2번만 연결되지만, 버튼을 눌렀을때는 3번 4번까지 모두 연결된다는 뜻입니다.

 

아두이노에서 Floating 현상은 HIGH와 LOW가 정확하게 정해지지 않아서 전압을 모르는 상태입니다.

방지하기 위해선, 풀업저항(Pull UP) 또는 풀다운저항(Pull DOWN)을 사용합니다.

 

풀업 방식은 버튼을 눌렀을땐 0, 누르지 않았을때는 1이지만,

그 반대로 풀다운 방식은 버튼을 눌렀을땐 1, 누르지 않았을때는 0입니다.

 

풀다운 방식보단 풀업방식이 외부 충격에 강하기 때문에 보통 풀업방식을 사용합니다.

pinMode() 명령어에서 INPUT_PULLUP, INPUT_PULLDOWN 과 같이 모드들을 제공합니다.

 

다음은 가변저항입니다.

가변저항은 돌려서 직접 저항을 조절할 수 있는 부품입니다.

손잡이를 돌리면 전압이 변합니다.

 

다음은 초음파 센서입니다.

초음파 센서는 초음파를 이용해서 물체와의 거리를 측정하는 부품입니다.

초음파를 보내고 다시 돌아오는 시간을 계산해서 거리를 측정합니다.

 

==========실습==========

 

2.mp4
7.26MB

setup에서 a는 초음파를 보내는 핀이고, b는 초음파를 받는 핀입니다.

각각 3번, 2번 핀입니다.

Serial.begin으로 시리얼 모니터 사용 시작합니다.

3번핀 a를 출력으로, 2번핀 b를 입력으로 설정해줍니다.

 

loop 안에는 시간변수 Length와 거리변수 distance를 지정해줍니다.

그리고 digitalWrite에서 Low는 초기화,

delayMicroseconds는 입력한 수의 밀리초만큼 지연,

그다음 degital Write HIGH는 초음파 발사, 다시 지연, 발사 종료 순으로 초음파를 보냅니다.

Length = pulseIn(b, HIGH) 부분은 갔다가 돌아온 부분을 측정합니다.

distance = ((34000 * Length) / 1000000) / 2; 부분은 초음파가 이동한 거리를 계산합니다.

Serial.print는 측정한 거리를 cm단위로 출력하는 부분입니다.

그 후 1초동안 지연합니다.