電子工作の後編、IchigoJamとの連携です。
電池ボックスの代わりに、IchigoJamの +(プラス) と -(マイナス) 端子にLED回路をつないでみましょう。点灯が確認できたら、プラス側をOUT1端子に接続します。
このままでは点灯しませんが、IchigoJam(写真はIchigoDake + IchigoDyhook)に以下のように打ち込んで、Enterキーを押してみてください。LEDが光れば成功です!
OUT1,1
LEDを消したい時は以下のように打ち込みます。
OUT1,0
フルカラーLEDでも試してみましょう。GND と IchigoJamの - (マイナス) ピンを接続したら、LEDの各端子の色をOUTの1,2,3につなぎます。写真では見づらいですが、GND(黒い線)の接続の間に1kΩ(茶黒赤金)の抵抗を挟んでいます。
以下のように入力してEnterキーを押すと赤く1秒間ほど点灯するはずです。
OUT1,1; WAIT60; OUT0
OUTのすぐ後ろの数字(1)を2,3と書き換えて、それぞれ緑、青に光れば成功です。
OUT2,1
OUT3,1
急にちょっと回路が複雑になりますが、モータードライバと呼ばれるチップを組み合わせることでDCモーターの制御も可能です。以下の写真はTB6612 と DRV8815という2種類のボードをそれぞれ試した時のものです。最大2つのモーターを制御することができます。
OUT1,0
OUT2,1
PWM3,2000
PWM3,300
OUT2,0
TC78H653FTGという廉価なチップも試しましたが、こちらはうまく動作させることができませんでした。
ロボットの関節などに使われるサーボモータの制御も可能です。
以下のように打ち込んで、モータがギッ、ギッ、と2回動けば成功です!
PWM2,50:WAIT60:PWM2,250
明るさによって抵抗値の変わるフォトレジスタの値を読み込んでみましょう。IN2とVCC,GND端子を使って以下のように回路を組みます。写真の抵抗は1KΩですが、10KΩの方が適しているようです(この辺りの計算が曖昧ですみません)。
ANAを使って値を読み取ることができます。以下は一秒ごとに表示する例です。
10 V=ANA(2)
20 ?V
30 WAIT60
40 GOTO10
RUN
センサ部分を指で押さえると値が小さくなり、スマホのライトなどをあてると大きくなることが確認できればOKです。実は、色んな種類のセンサーが売られていて、それぞれ特性は異なりますが同じように使うことができます。
照度センサー(フォトトランジスター) 560nm NJL7502L
照度センサー(フォトトランジスター) 550nm NJL7302L-F5
目に見えない赤外線と、それを検知するセンサーを組み合わせた部品もあります。以下の写真はフォトリフレクター(反射型フォトセンサー) LBR-127HLDで回路を組んでみたものです。IchigoJam側のプログラムは上記の明るさセンサーのものをそのまま使ってください。白い紙など特定の(赤外線を反射しそうな)物体を置くとアナログ入力の値が大きくなって、黒い紙などの場合は値が小さいままになります。これを使って白いラインを検出しながら進むロボットカーなどを作ることができます。
回路図はこちらのサイトを参考にしました。 LEDとフォトトランジスタ共に極性(つなぐ向き)があるので注意してください。LEDは長い足が「+」、って覚えたのにトランジスタは逆で短い方を「+」にする必要があって、それに気づかずハマりました(^^;
似たような製品もあります。
反射型フォトセンサー(フォトリフレクター) RPR-220
これができたら便利だなぁ〜もっと色々できそうだな〜というのは、もう大体誰かが先にやってくれてます(笑)
例えば、サーボとDCモーターをまとめて制御するのに便利なボードがあります。
http://maplesyrup.shizentai.jp/
関連製品を見つけたら色々と加筆していこうと思います。