Written by coh at home

[Maixbot]Analog output 본문

Advanced/Maixbot Project

[Maixbot]Analog output

och 2023. 7. 10. 14:25

우리는 디지털 디바이스인데..

아날로그 데이터 출력은 어떻게 할 수 있을까? 

 

바로 PWN(pulse width modulation)을 통해서 할 수 있다.

음..  duty cycle을 이용하여 우리는 출력의 세기를 결정할 수 있다. 

입력도 우리는 analog data를 ADC를 통해 12bit 해상도로 입력받았다. 마찬가지로 출력도 digital로 출력하는데 PWM을 통해 아날로그와 비슷하게 출력하는 것이다.

아두이노는 PWM출력 핀이 정해져있지만 Maixduino는 PWM핀으로 모두 사용가능하다. (ADC핀 제외) 

 

LED밝기를 조절하는 코드이다. 

보면 frequency = 5 * 10^5 이다. T =  1 / freq이므로 (1 * 10^6) / (5 * 10^5) = 2us이다. 

PWM의 밝기 조절은 duty를 통해서 이루어진다.

 

모터 또한 PWM의 duty값 변경을 통하여 각도 조절이나 속도 조절이 가능하다. 

duty에 따라 회전량이 달라진다. 다만 duty - 회전량 표준은 위와 같으나 서보모터마다 회전량은 다를 수 있다.

현재 내가 갖고 있는 model은 0.5 ~ 2.5 ms, 즉 2.5duty ~ 12.5duty에 따라서 회전량이 결정된다. 

부저도 마찬가지이다. 다만 부저는 duty를 건들지 않고 frequency를 통하여 음을 조정한다.

'Advanced > Maixbot Project' 카테고리의 다른 글

[Maixbot]딥러닝 모델 실습  (0) 2023.07.11
[Maixbot] camera & LCD  (0) 2023.07.10
[Maixbot]Analog IO  (0) 2023.07.10
[Maixbot]AI concept review with CNN  (0) 2023.07.07
[Maixbot]Digital Input  (0) 2023.06.28