Arduino Dueは、電子エンジニアや愛好家向けに設計されたARMコントローラーベースのボードです。ARMアーキテクチャは、現代の電子機器に非常に影響力があり、携帯電話、iPod、コンピューターなど、あらゆる場所で使用されています。産業用システムを設計したい場合は、ARMコントローラーで行う必要があります。ARMコントローラーは、その俊敏性のために非常に重要です。
Arduino Due入門で、ArduinoDueの基本についてはすでに説明しました。このチュートリアルでは、DUEによって生成されたPWM信号を使用して、LEDの明るさを調整します。DUE PWM(パルス幅変調)信号は、一定の電源に対して可変電圧を提供します。
パルス幅変調:
上の図では、スイッチが一定期間継続的に閉じられている場合、LEDはこの期間中継続的に「オン」になります。スイッチが0.5秒間閉じられ、次の0.5秒間開かれると、LEDは最初の0.5秒間だけオンになります。これで、合計時間にわたってLEDがオンになる割合は、デューティサイクルと呼ばれ、次のように計算できます。
デューティサイクル=ターンオン時間/(ターンオン時間+ターンオフ時間)
デューティサイクル=(0.5 /(0.5 + 0.5))= 50%
したがって、平均出力電圧はバッテリー電圧の50%になります。
これは1秒間の場合であり、LEDが0.5秒間オフになり、残りの0.5秒間はLEDがオンになっていることがわかります。オン時間とオフ時間の頻度が「1秒あたり1」から「50 /秒」に増加した場合。人間の目は、このオンとオフの周波数をキャプチャできません。通常の目では、LEDは半分の明るさで光っているように見えます。したがって、オン時間をさらに短縮すると、LEDははるかに明るく見えます。
PWMを取得するためのDUEをプログラムし、LEDを接続してその動作を示します。
DUEには12個のPWMチャネル(ピン2からピン13)があり、それらのいずれか1つまたはすべてを使用できます。この場合、PIN2で1つのPWM信号に固執します。
コンポーネント:
- Arduino Due
- 電源(5v)
- 導いた
- ボタン(2個)、
- 1KΩ抵抗(2個)、220Ω抵抗
そしてArduinoIDE-Arduino Nightly Software(https://www.arduino.cc/en/Main/Software)。
回路図と動作説明:
回路は、回路図に従ってブレッドボードに接続されています。ただし、LED端子の接続には注意が必要です。ボタンはバウンド効果がありますが、この場合は大きなエラーにはなりませんので、今回は気にする必要はありません。
DUEからPWM信号を取得するのは簡単です。Arduino IDEは、プログラマーの困難を緩和する便利な機能を提供します。ベアチッププログラミングに行く場合、PWM信号用のATMEGAコントローラーをセットアップする必要がありますが、これは簡単ではありません。正確な信号のために多くのレジスタと設定を定義する必要がありますが、Arduinoではそれらすべてを処理する必要はありません。ATmega32、Arduino Uno、555タイマーICによるパルス幅変調についてはすでに説明しました。
デフォルトでは、すべてのヘッダーファイルとレジスタはArduino IDEによって事前定義されています。これらを呼び出すだけで、適切なピンにPWM出力が得られます。また、PWM信号を取得するために特定のコマンドを呼び出す必要があります。これらについては、以下で説明します。
pinMode(2、OUTPUT)analogWrite(pin、value)
まず、PWM出力チャネルを選択するか、DUEの12ピンからピンを選択する必要があります。その後、そのピンを出力として設定する必要があります。PIN2を出力として使用しているため、最初の行に示すようにOUTPUTとして設定します。
次に、関数「 analogWrite(pin、value) 」を呼び出して、DUEのPWM機能を有効にする必要があり ます 。ここで「ピン」は、PWM出力が必要なピン番号を表します。これを「2」としていますので、PIN2ではPWM出力を取得しています。「値」はターンオン値で、0(常にオフ)から255(常にオン)の間で変化します。このスペースに、必要なLEDの明るさに適した値を書き込むことができます。
この値を変更するために、DUEボードにいくつかのボタンを取り付けました。1つのボタンは輝度値を上げるためのもので、もう1つは輝度値を下げるためのものです。Dueのプログラミングが完了したら、これらのボタンを押して明るさを調整できます。