【arduino】~PWMでパルス信号を送る~
スポンサーリンク
KeyKです。
今日は、arduinoでPWM出力をさせたいと思います。
PWM出力とは?
PWM出力とは、ONとOFFを切り換えて電気信号(パルス信号)を送ることです。例えば、150Hzのパルス信号を送るということは、1秒間に150回ONとOFFを切り換えています。
つまり、高速でONとOFFを切り換えることをPWMと言います。
詳しい説明は以下を参照してください。
PWM出力
arduinoのPWM出力をするプログラムです。
最初で周波数とデューティ比を設定します。
#include <avr/io.h> #define PWMPin 10 unsigned int frq = 400; // 周波数 float duty = 0.5; // 指定したいデューティ比 void setup() { pinMode(PWMPin, OUTPUT); } void loop() { // モード指定 TCCR1A = 0b00100001; TCCR1B = 0b00010010; // TOP値指定 OCR1A = (unsigned int)(1000000 / frq); // Duty比指定 OCR1B = (unsigned int)(1000000 / frq * duty); }
これで、400Hzのデューティ比50%のパルス信号を送ることができます。
説明によると、16Hz~1MHzまでのパルス信号しか送れないようです。
次回は、これのちょっとした応用版について書きたいと思います。