서울시립대학교-전자전기컴퓨터설계실험2-제09주-Lab08-Post
- 최초 등록일
- 2017.09.04
- 최종 저작일
- 2016.09
- 8페이지/ MS 워드
- 가격 1,500원
목차
I. Expected Results
II. Results
III. Discussion
IV. Conclusion
V. Reference
본문내용
I. Expected Results
[응용] Piezo Controller
<그 림>
A. a(도)와 b(레)만 시행한 결과, 위와 같은 PWM 파형이 나타난다. 더 낮은 음계일수록 저주파이므로, 주기가 더 긴 것을 확인할 수 있다.
[응용] Piezo Controller with 7 Segment
<그 림>
A. a(도)와 b(레)만 시행한 결과, 위와 같은 PWM 파형이 나타난다. 더 낮은 음계일수록 저주파이므로, 주기가 더 긴 것을 확인할 수 있다.
<중 략>
cnt_sound 변수를 reset switch가 눌리지 않았을 경우에 1씩 count한다. 각 음에 대응하는 주파수를 역수 취한 뒤, 절반으로 나누어 상승과 하강으로 구분한다. 1MHz internal clock을 사용하므로, 1초에 100만번의 clock signal이 잡힌다는 것을 감안하여 time scaling하여, 음계와 일치하는 주파수의 PWM이 출력되도록 한다. 눈으로 디버깅하기 위해, 음계에 따라 각기 다른 LED를 킨다.
예를 들어, 3옥타브 ‘도’에 해당하는 주파수는 261.6256Hz이므로 이를 역수 취하면 0.003822초이다. 이를 상승과 하강으로 나누면, 0.001911초가 된다. 1MHz와 time scaling을 하면, 1초에 1911번의 rising edge(count)와 falling edge가 발생함과 동일하다. 따라서 if문에서 1911보다 커지거나 같아졌을 때, piezo 변수를 toggle하여 PWM을 만든다. 위와 같은 과정을 다른 음계에도 똑같이 적용하였다.
어떤 음이 출력되고 있는지 알기 힘들기 때문에 LED 1 ~ 8을 각각 낮은 ’도’ ~ 높은 ’도’에 대응시켜 켜지도록 만들었다.
Reset을 위해 reset switch를 사용하며, 낮은 ‘도’ ~ 높은 ‘도’까지 button switch 1 ~ 8을 사용한다. 낮은 ‘도’ ~ 높은 ‘도’까지 LED 1 ~ 8을 함께 출력한다. Internal clock은 1MHz를 사용한다.
참고 자료
없음