扇風機を回して、風量をコントロールしてみます
準備するもの
- USB扇風機: 1台(今回使用したもの => エレコム製(FAN-U29WH)) ※ 風量を調整できる機種を選択してください
- USB(タイプAメス型) – ピンヘッダ変換ケーブル: 1本 => せんごくネット通販で購入しました
- ジャンパー線(オス – オス): 14本
- モーター制御IC(TA7291P): 1個
- マイクロBメスUSBコネクタDIP化キット: 1個 => 秋月電子で購入しました
- タクトスイッチ: 2個
- 抵抗(1KΩ): 2本
- 抵抗(5KΩ): 1本
はんだ付けをする
ブレッドボードに接続する前に、今回使用するマイクロBメスUSBコネクタDIP化キットという部品をはんだ付けしていきます
(1)ホームセンターに売れていたので、はんだ付け入門セットを用意しました
(2)はんだ付けをしていきます
(3)はんだ付けが完了すると、下図のようなイメージになります
ブレッドボードへの接続
(1)ブレッドボードへの接続を行っていきます
プログラムの作成
(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) プログラムを実行します => 右側の風量ボタンで値を上げていきます
(2) シリアルモニタで数値の確認ができます。だいたい90ぐらいまで上げると、扇風機が回り始めます
(3) 扇風機が回れば成功です