私はArduinoの宇野を見ていたと私はデジタル・ピンによってそのシンボルに気付き11
、10
、9
、6
、5
、と3
。これらはどういう意味ですか?これは動作に影響しますか?特定の状況でこれらのピンを使用できませんか?
私はArduinoの宇野を見ていたと私はデジタル・ピンによってそのシンボルに気付き11
、10
、9
、6
、5
、と3
。これらはどういう意味ですか?これは動作に影響しますか?特定の状況でこれらのピンを使用できませんか?
回答:
リラックス。心配しないで。これらのピンは呼ばれPWM
、「追加ボーナス」があることを除いて、他のピンと同じです。
ArduinoのWebサイトからの用途:
- LEDを暗くする
- アナログ出力をシミュレートします。出力はまだ0Vから5Vにデジタルでトグルしています。ただし、アナログ電圧をシミュレートするためのローパスフィルター(コンデンサーと抵抗器)。
- オーディオ信号を生成します。
- モーターに可変速度制御を提供します。
- 変調信号の生成。たとえば、リモートコントロール用の赤外線LEDを駆動します。
使い方:
PWMピンは、約490Hzのレートでピンを自動的に切り替えるオンチップタイマーによって制御されます。「パルス幅変調」(PWM)は、その周波数の1サイクルの間、ピンがオンまたはオフのままである時間です。これは、以前のように半分の明るさの錯覚を与えることでLEDを暗くすることができます。
25%のデューティサイクルがある場合、1/4の時間になります。LEDに使用した場合、約1/4の明るさで表示されます。(注:一部の人々が指摘したように、これは真の比例ではありませんが、簡単にするためにそのままにしておきます。例:25%は常に輝度の1/4であるとは限りません。)
(実際に電気に精通している場合は、おそらくコンデンサを追加してアナログ出力にすることもできます。)
これらのピンを使用して出力する方法:
まず、ピンを出力として定義する必要があります。次に、を使用
analogWrite(ledPin, 128);
して起動します。ledPin
あなたはPWMを開始したいとことPWMピンで128
の間の数に置き換えてください0
と255
。0
:0% duty cycle
(完全にオフピンを回す)と255
:100% duty cycle
。(ピンを完全にオンにします)
ソース:http : //www.arduino-tutorials.com/arduino-pwm/
コードでライトを非常に高速にオン/オフできないのはなぜですか?:
ただし、技術的にはいくつかの問題があります。
Arduinoの唯一の目的がPWM信号の生成である場合、実際にはそれほど違いはありません。ただし、メインループに50 MSを超える遅延を配置すると、タイミングが混乱します。Arduinoは1つのスレッドでしか実行されないため(一度に1つのことしかできないため)、ソフトウェアアプローチでは「遅延」関数を排除する必要があります。あなたが何をしているのかを知っていれば、それは光を薄暗くするのにそれほど大きな違いをもたらさないでしょうが、PWMで余分なピンを持っているなら、あなたはソフトウェアアプローチであなたの時間を無駄にしているだけです。
他の人が指摘したように:
回路には電流と電圧を制限するための抵抗がまだ必要です。これはスキップできません。
PWMピンに関する一般的な誤解は、PWMを使用する場合、電流制限抵抗(LEDなど)を使用する必要がないということです。
本当じゃない。PWMピンは、自動的にオン/オフされるデジタルピンと考える必要があります。これは、他のピンと同じ高電圧になることを意味します。
PWMでLEDを使用する場合、電流制限抵抗を使用する必要があります。PWMでモーターを使用する場合、(ほとんどの場合)トランジスタを使用する必要があります。