マイコン制御便利手帳 ボリュームの使い方
マイコン制御の基礎の一つ、ボリュームの値をプログラムの中で使う方法を説明します。マイコンのアナログポートにボリュームをつなぎ、ボリュームの値で別のI/Oポートに接続したLEDの点灯時間を制御してみましょう。
まず、下図のような回路を作成します。
LED回路については、こちらの【マイコン便利手帳 LED制御】を参照してください。
また、写真中のクリップは、こちらのサイトで販売しています。
回路が出来たら次はプログラムを作成します。ここでは Arduino IDE でArduino UNO のプログラムを作成する例を紹介します。
まず、Arduino IDE の設定が以下のように設定してください。Arduino UNO との通信に使用するCOMポートの確認方法はこちら。
Arduino IDE の設定が出来たら以下のプログラムを入力してください。
/*--- Volume 入力 & LED点滅速度制御プログラム ---*/
#define VOL_PORT 0 //ボリュームを接続するポート(ピン番号)を定義する
#define LED_PORT 8 //LEDを接続するポート(ピン番号)を定義する
void setup() {
// シリアルポート初期化(ボーレート)115200
Serial.begin(115200);
pinMode( LED_PORT, OUTPUT );
}
void loop() {
int vol; //ボリュームの値(0-1023)
float brightness; //
vol = analogRead( VOL_PORT );
Serial.print( "volume = " );
Serial.println( vol );
if(vol >= 1000){
vol = 1000;
// LED点灯
digitalWrite( LED_PORT, HIGH );
// 1000msec - ボリュームの値時間 ON
delay(1000);
}else if(vol < 10){
vol = 0;
// LED消灯
digitalWrite( LED_PORT, LOW );
// ボリュームの値時間OFF
delay(1000);
}else{
// LED点灯
digitalWrite( LED_PORT, HIGH );
// ボリュームの値時間ON
delay(vol);
// LED消灯
digitalWrite( LED_PORT, LOW );
// 1000msec - ボリュームの値時間 OFF
delay(1000-vol);
}
}
プログラムが出来たらコンパイルしてArduino UNO に書き込みます。
プログラムの書き込みが成功したらボリュームを動かしてみて下さい。LEDの点灯時間が変化します。
ここで紹介したボリュームによるLEDの点灯時間制御に必要な電子部品は下記サイトから購入できます。
コメントを残す