多能工生産技術者の日常

20歳からFXの自動売買を開発しています。24歳からは株式投資等で純資産1000万円を目指します。


スポンサードリンク

【arduino】~PWMでパルス信号を送る~

スポンサーリンク

KeyKです。
今日は、arduinoでPWM出力をさせたいと思います。

PWM出力とは?

PWM出力とは、ONとOFFを切り換えて電気信号(パルス信号)を送ることです。例えば、150Hzのパルス信号を送るということは、1秒間に150回ONとOFFを切り換えています。
つまり、高速でONとOFFを切り換えることをPWMと言います。

詳しい説明は以下を参照してください。

jkoba.net

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までのパルス信号しか送れないようです。
次回は、これのちょっとした応用版について書きたいと思います。
  
  
  
f:id:KeyK:20200120212950j:plain
  
  
  

プライバシーポリシー お問い合わせ