体験的マイコン学習(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)プログラムを作成します

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
ページトップ