検索コード

Arduinoでの電圧の読み取りとポテンショメータの使い方

Arduinoでの電圧の読み取りとポテンショメータの使い方

このチュートリアルでは、Arduino とポテンショメータを使って電圧値を読み取る方法を解説します。プロジェクトの終わりまでには、アナログ読み取り値を電圧に変換する方法や、電圧出力からポテンショメータの抵抗値を計算する方法が分かるようになります。これは電圧レベルを監視・制御する必要があるさまざまな用途で役立ちます。

Potentiometer or variable resistor

このプロジェクトでは、Arduinoを使って、ポテンショメータをArduinoのアナログ入力ピンの一つに接続して得られる電圧を読み取ります。ポテンショメータによって電圧を変化させ、その電圧を読みやすい形式に変換してシリアルモニタに表示します。さらに、電圧の読み取り値に基づいて抵抗値を計算する機能を追加し、ポテンショメータがArduinoでどのように動作するかを包括的に理解できるようにします。

手順やコードの実装についてさらに詳しく知りたい場合は、動画(00:00)をぜひご覧ください。

ハードウェアの解説

このプロジェクトの主要な構成要素はArduinoボードとポテンショメータです。Arduinoは、入力信号を読み取り出力を簡単に制御できるマイクロコントローラプラットフォームです。この場合、ポテンショメータからのアナログ電圧を読み取ります。

ポテンショメータは、ワイパーの位置に応じて抵抗値を調整できる可変抵抗器です。電圧源に接続すると端子間の電圧を分割し、Arduinoのアナログ入力で読み取れる可変電圧を出力できます。

データシートの詳細

製造業者さまざまな
部品番号ポテンショメータ
抵抗範囲0~1 MΩ
定格電力0.1 W
温度範囲-40〜85 °C
種類線形または対数

  • 誤った電圧読み取りを避けるため、ポテンショメータが正しく接続されていることを確認してください。
  • Arduinoに接続する前に、ポテンショメータの抵抗値をマルチメーターで確認してください。
  • ポテンショメータは定格電力の範囲内で使用し、過熱を防いでください。
  • 必要に応じて、測定値のノイズを除去するために適切なデカップリングコンデンサーを使用してください。
  • フローティング入力に注意してください。未使用のピンは必ずグラウンドに接続してください。

配線手順

Arduino Wiring of Potentiometer
Arduino Wiring of Potentiometer

ポテンショメータをArduinoに配線するには、まずポテンショメータの片端をArduinoの5Vピンに、もう片端をグラウンド(GND)ピンに接続します。ポテンショメータの中央のピン(ワイパー)はアナログ入力ピンに接続してください。A0Arduino上で。このセットアップにより、Arduinoはポテンショメータからの可変電圧出力を読み取ることができます。

Potentiometer or variable resistor

別のアナログピンを使用している場合は、コード内の対応するピン番号を必ず更新してください。例えば、ワイパーを別のピンに接続する場合はA1、コードを読み込むように変更する必要がありますA1代わりにA0

コード例と解説

void setup() {
  Serial.begin(9600);          // setup serial
}

void loop() {
  int sensorValue = analogRead(A0);  // Read from A0
  float voltage = sensorValue * (5.0 / 1023.0);  // Convert to voltage
  Serial.print("Voltage =");  // prints the text "Voltage ="
  Serial.print(voltage);
  Serial.println();
  delay(300);
}

このコードスニペットはシリアル通信を初期化し、ピンからアナログ値を継続的に読み取りますA0それはアナログ読み取り値(0〜1023)を電圧(0〜5V)に変換し、シリアルモニタに表示します。

float RT = 50000; // the potentiometer value
float R; // the unknown R value

void loop() {
  int sensorValue = analogRead(A0);  // Read from A0
  float voltage = sensorValue * (5.0 / 1023.0);  // Convert to voltage
  R = (voltage * RT) / 5.0;  // Calculate resistance
  Serial.print("Voltage =");  // prints the text "Voltage ="
  Serial.print(voltage);
  Serial.print("v R=");
  Serial.print(R);
  Serial.print(" ohms");
  Serial.println();
  delay(300);
}

この2番目のコードスニペットは、電圧の読み取り値に基づいて抵抗値を計算する処理を追加することで、最初のスニペットを拡張しています。既知のポテンショメータの抵抗値を使用します。RTそして未知の抵抗を計算するRオームの法則から導かれた式を用いて。

デモンストレーション/期待できること

プログラムを実行すると、シリアルモニタに電圧値が表示され、ポテンショメータを調整するとその値が変化するはずです。出力には電圧の読み取り値に基づいて計算された抵抗値も表示されます。極性を逆に接続しないよう注意してください。そうしないと誤った測定値が出たり、部品が損傷したりする可能性があります(動画の02:30)。

動画のタイムスタンプ

  • 00:00- プロジェクトの概要
  • 01:15- ハードウェア構成要素の説明
  • 02:30- 配線手順
  • 午前03:45- コードのウォークスルー
  • 05:00- ライブデモンストレーション

画像

Arduino Wiring of Potentiometer
Arduino Wiring of Potentiometer
Potentiometer or variable resistor
Potentiometer or variable resistor
Potentiometer or variable resistor
Potentiometer or variable resistor
10-Reading voltage and working with a potentiometer for Arduino
言語: C++
/*
 * このコードは、RoboJax.comのビデオチュートリアルと共に使用されます。 2017年4月24日にカナダのオンタリオ州アジャックスで公開されました。 A.B.Sによって作成/編集されました。 このArduinoコードは、アナログピンから値を読み取ります。
 */
void setup()

{

  Serial.begin(9600); // シリアルを設定する

}



void loop(){

  int sensorValue = analogRead(A0);
 // アナログ読み取り値(0から1023の範囲)を電圧(0から5Vの範囲)に変換します:
  float voltage = sensorValue * (5.0 / 1023.0);
 // 読み取った値を出力してください:
  Serial.print("Voltage ="); // "電圧 = "
  Serial.print(voltage);
  Serial.println();
  delay(300);

}

 </code>
 <h2>Project 2 Finding the resistance value from the voltage</h2>
  <pre><code class="cpp">
 // 申し訳ありませんが、そのリンクの内容は翻訳できません。
 // プロジェクト:電圧から抵抗値を求める
 // このコードはRoboJax.comのビデオチュートリアルで使用されます。
 // 2017年4月24日、カナダのオントリオ州アジャックスで発表。
 // A.B.Sによって書かれ/編集された

float RT = 50000; // ポテンショメータの値
float R; // 未知のR値

void setup()

{

  Serial.begin(9600); // シリアルを設定する

}

void loop(){

  int sensorValue = analogRead(A0);
 // アナログ読み取り値(0から1023の範囲)を電圧(0から5Vの範囲)に変換します:
  float voltage = sensorValue * (5.0 / 1023.0);
 // 読み取った値を出力してください:
  R = ( voltage * RT)/5.0;
  Serial.print("Voltage ="); // "電圧 = "
  Serial.print(voltage);
  Serial.print("v R=");
  Serial.print(R);
  Serial.print(" ohms");
  Serial.println();
  delay(300);

}

リソースと参考文献

まだリソースはありません。

ファイル📁

ファイルは利用できません。