뉴비의 천방지축 IT 블로그

IoT/아두이노

아두이노 보고서 (수동부저와 7-세그먼트)

recognizee 2021. 5. 30. 00:07
728x90

안녕하세요.

오늘은 아두이노 정리 보고서 3번째입니다.

 

#배웠던 거 정리

- 수동 부저

수동부저

삐-익 소리를 내며 응축현상을 보이는 일종의 스피커입니다. (듣기 거북한 소리를 낸다.)

수동 부저의 음계의 해당하는 주파수를 잘 응용하면 노래를 내게 할 수 있습니다.

 

수동부저를 활용한 회로도

수동 부저를 활용한 회로도입니다. TinkerCad에서 사용한 수동 부저(피에조)는 +극 표시가 안 보이는데 실제 수동 부저에는 +극 표시가 있어서 표시가 있는 다리와 13을 연결하였고, 표시가 안 되어있던 -극에는 GND와 연결하였습니다.

 

수동부저를 활용한 코드

먼저 pinMode로 출력 설정을 하고 tone함수로 1046.5의 소리를 0.2초 동안 나오게 하였고 noTone함수로 0.2초 동안 소리를 끌 수 있도록 하는 코드입니다.

 

이 코드를 실행시키면 듣기 거북한 삐-익 소리가 납니다.

 

 

- 7-세그먼트

7-세그먼트

숫자를 표시하는 LED로, LED 8개가 모여있다고 생각하면 됩니다. 세그먼트에는 Anode type과 Cathode type이 있고 이 둘은 +극에서 조절할 것인지, -극에서 조절할 것인지의 차이가 있습니다.

 

7-세그먼트를 활용한 회로도

하나씩 보면 그렇게 복잡한 회로도는 아니지만 그걸 전체로 보았을 때 되게 복잡해 보이는 회로도입니다. 세그먼트는 위아래로 각각 5개씩 꽂을 수 있는 다리가 있는데, 그중 가운데에 있는 3번째는 Vcc로, GND에 꽂아야 하고 그 외엔 DIGITAL 핀번호에 꽂으면 됩니다.

 

7-세그먼트를 활용한 코드

세그먼트는 8개의 LED가 모여있으므로, 배열을 사용해야 합니다. 먼저 배열을 저장하고 for문을 사용하여 각각의 핀번호 들을 출력으로 설정하게 한 다음, 이중 for문을 사용하여 로직을 전체로 보여줍니다.

 

 

#새롭게 알게 된 점

부저에서 소리가 나는 것을 처음 알았고, 7-세그먼트는 LED가 여러 개 있기에 회로도가 복잡하다는 것을 깨달았습니다. 

 

 

#이해가 안 됐던

다 이해했지만 그중 딱 하나만 이해가 안 된 것이 있었는데 바로 '7-세그먼트를 활용한 코드'에서 나왔던 배열들이 이해가 안 됐습니다.

7-세그먼트를 활용한 코드

 

 

#활용하기 (+ 성공 영상)

충돌 경고 장치의 회로도

여기 회로도를 보시면 위에서 봤듯이 수동 부저는 '수동 부저를 활용한 회로도'와 같이 꽂았고, 초음파 센서도 전에 썼던 글(아두이노 보고서(조도센서와 초음파 센서))에서 나왔던 대로 꽂았습니다.

 

회로도를 보시면 전에 정리하면서 보셨던 회로도와 같기 때문에 저는 이번에 만드는 충돌 경고 장치에서 회로도보다 코드가 매우 중요하다고 생각합니다.

충돌 경고 장치의 코드

만약 물체가 5cm 이내에 있다면 노래가 나오는 충돌 경고 장치를 만드는 코드입니다. 코드는 수동 부저와 초음파 센서를 정리할 때 썼던 코드들을 썼고 거기에 추가적으로 노래가 나올 수 있도록 배열을 사용하여 주파수 값을 저장하였습니다. 그리고 if문을 사용하여 5cm 이내인지 구별하고 만약 5cm 이내면 for문을 사용하여 배열에 저장했던 주파수 값의 소리를 내어 노래가 나오도록 하였습니다.

//1318.5 : 미

//1108.7 : 레

//1046.5 : 도

 

아래 영상은 위에 있는 회로도와 코드의 성공 영상입니다!

(참고로 저는 비행기 악보를 참고하였습니다)

https://youtu.be/-6 Mcolhh2 tg

성공 영상

 

 

이상으로 아두이노 정리 보고서 3번째를 마치겠습니다.

보시느라 수고하셨습니다.