Arduino編 第2回 USB扇風機を制御してみる

扇風機を回して、風量をコントロールしてみます

準備するもの


準備物

  1. USB扇風機: 1台(今回使用したもの => エレコム製(FAN-U29WH)) ※ 風量を調整できる機種を選択してください
  2. USB(タイプAメス型) – ピンヘッダ変換ケーブル: 1本  => せんごくネット通販で購入しました
  3. ジャンパー線(オス – オス): 14本
  4. モーター制御IC(TA7291P): 1個
  5. マイクロBメスUSBコネクタDIP化キット: 1個 => 秋月電子で購入しました
  6. タクトスイッチ: 2個
  7. 抵抗(1KΩ): 2本
  8. 抵抗(5KΩ): 1本

ページトップ

はんだ付けをする

ブレッドボードに接続する前に、今回使用するマイクロBメスUSBコネクタDIP化キットという部品をはんだ付けしていきます

マイクロDIP化キット画像

(1)ホームセンターに売れていたので、はんだ付け入門セットを用意しました

はんだ付け1

(2)はんだ付けをしていきます

はんだ付け2

(3)はんだ付けが完了すると、下図のようなイメージになります

はんだ付け3

ページトップ

ブレッドボードへの接続

(1)ブレッドボードへの接続を行っていきます

frizing画像

ページトップ

プログラムの作成

(1)プログラムを作成します

int FAN_SOCKET = 5;
int BUTTON1_SOCKET = 2;
int BUTTON2_SOCKET = 3;
int fan_out = 0;
void setup() { 
  Serial.begin(9600);   // 通信速度を9600bpsに 
  pinMode(FAN_SOCKET, OUTPUT);   // 扇風機制御用ソケットを出力に設定します 
  pinMode(BUTTON1_SOCKET, INPUT);   // タクトスイッチのソケットを入力に設定します 
  pinMode(BUTTON2_SOCKET, INPUT);   // タクトスイッチのソケットを入力に設定します 
} 
void loop() {  
  if (digitalRead(BUTTON1_SOCKET) == HIGH) {   // PD2に接続されたタクトスイッチが押されているか確認します 
    if (fan_out < 255) { 
      fan_out = fan_out + 5;   // fan_outが255より小さい場合は値を5増やします 
    } 
    while (digitalRead(BUTTON1_SOCKET) == HIGH) {    // タクトスイッチが離されるまで待機します 
      delay(100); 
    } 
  } else if (digitalRead(BUTTON2_SOCKET) == HIGH) {   // PD3に接続されたタクトスイッチが押されているか確認します 
    if (fan_out > 0) { 
      fan_out = fan_out - 5;   // fan_outが0より大きい場合は値を5減らします 
    } 
    while (digitalRead(BUTTON2_SOCKET) == HIGH) {   // タクトスイッチが離されるまで待機します 
      delay(100); 
    } 
  } 
  analogWrite(FAN_SOCKET, fan_out);   // 扇風機の制御用ソケットにPWMで値を出力します 
  Serial.println(fan_out);   // 値を送信 
  delay(100); 
}

ページトップ

実行する

(1) プログラムを実行します => 右側の風量ボタンで値を上げていきます

実行1

(2) シリアルモニタで数値の確認ができます。だいたい90ぐらいまで上げると、扇風機が回り始めます

実行2

(3) 扇風機が回れば成功です

実行3

ページトップ