Arduino と電解コンデンサ(耐電圧10V以上、容量10uF程度)を2個と、TA7291Pを用意します。モータの電源として単三形乾電池を3本から4本使う(必要なモータの回転数にあわせる)ので電池ボックスを用意します。配線は上の図のようにつなぎます(図の各部品の縮尺は一定ではありません)。TA7291Pの3番と9番の端子に何もつなぎません。
TA7291Pの端子の役割は次の表のようになっています。ほかのICやモジュールを使うときは参考にしてください。
TA7291Pの端子 | 役割 |
1 | グラウンド(GND) |
2 | モータ出力(OUT1) |
4 | 制御電源端子 |
5 | ロジック入力(IN1) |
6 | ロジック入力(IN2) |
7 | ロジック電源端子 |
8 | モータ出力電源端子 |
10 | モータ出力(OUT2) |
このプログラムを実行するとモータが1秒間回転して、1秒間とまり、1秒間逆に回転して止まります。これをずっと繰り返します。モータの回転数が18番のプログラム例より遅くなります。
13番のプログラム例でLEDの明るさを変えたときと同じようにdigitalWriteの代わりにanalogwriteを使ってモータの回転数を制御しています。 つまりモータにかける電圧を高速にON/OFFして回転数を変えています。
analogWriteの二つ目の引数を変えてみましょう。小さな数字だと止まってしまい、大きな数字だとあまり差が分からなくなると思いますが、モータによって特性が違うので試してみましょう。