電子工作

Last-modified: 2021-01-10 (日) 10:11:06

IchigoJamで電子工作をするための情報です。
プログラミング教室でもぜひ作ってみよう! (^^)


 

工作例

LEDを点ける

 
led1fzz.png
led1.png

オンボードのLEDと同様に、OUT端子とGND端子にLEDと電流制限抵抗をつなげると、点灯させることができます。
例えばOUT1ポートにつないだLEDは、「OUT 1,1」で点灯、「OUT 1,0」で消灯します。

 

※電流制限抵抗は、オンボードLEDと同じ330Ωをおすすめします。
本来はLEDのVf(順方向電圧降下)と流したい電流量に合わせて抵抗値を調整するのですが、Vfの高い青や緑のLEDでも330Ωで割と光ります。
→LED・抵抗の計算式(秋月電子)
電流制限抵抗内蔵のLEDなら、抵抗無しでそのままOUTとGNDにつなげて大丈夫です。

 
baseballboard.jpg

IchigoJamは通常の出力ポートはOUT1~OUT6、LED(OUT7)の7本ですが、IN1~IN4をOUT8~OUT11として使うことができます。
そのため、LEDを最大11個点灯させることができます。

←LEDを11個光らせた例(野球盤)

 
led2.png

ただしIN3(OUT10)ポートだけは、左図のようにプルアップ抵抗を付けないとLEDが光りませんので注意してください。
OUT10に付けたLEDは、IchigoJamの起動時に薄暗く光ることがあります。
その場合は「OUT 0」をしても消えないので、「OUT 10,0」として消してください。その後は普通に点灯/消灯できます。

 

LEDテープ

LEDテープ(WS2812B)をIchigoJamにつないで、イルミネーションのように光らせることができます。

ledtapelight.jpg

以前はマシン語サブルーチンが必要だったのですが、ファームウェア1.4βで実装された「WS.LED」コマンドで、簡単に光らせられるようになりました。

ledtape.png

LEDテープとIchigoJamを、3本の線でつなぎます。

LEDテープIchigoJam
VCCVCC
DINLED
GNDGND

ブレッドボードワイヤ、または0.65mm径の単芯線を使うと、そのままピンソケットに挿せるので便利です。

 

サンプルプログラムは以下のとおり。30個のLEDがランダムな色で光ります。

10 FOR I=0 TO 87 STEP 3
20 LET [I],RND(100),RND(100),RND(100)
30 NEXT
40 WS.LED 30

WS.LEDコマンドは、配列変数にセットされた緑(G)・赤(R)・青(B)の値を、LEDテープへ転送して光らせます。

ledtapearray.png

LEDを1個点灯させるのに、配列変数が3個必要です。配列変数は[0]~[101]の102個なので、LEDを最大34個まで光らせられます。
各色の値は0~255で指定できますが、あまり明るくすると眩しくて色がわかりづらくなります。100以下の値にした方がいいでしょう。
なお、光らせるLEDの個数が多くなると電力が足りなくなって、点灯時にモニタ画面表示が乱れます。その際はLEDテープのVCCをIchigoJamのCN5の+5V端子につないでください。

 

光センサー

 
phototr.jpg

光センサーとしてはCdsやフォトトランジスタがよく使われますが、ここではフォトトランジスタを使った例を示します。
フォトトランジスタは、光が当たると電流が流れる半導体素子です。Cdsは人体に有害なカドミウムを含むため、最近はフォトトランジスタへの置き換えが進んでいます。
←可視光を検知するフォトトランジスタの例:NJL7502L(秋月電子)

 

このNJL7502Lを使って、下のような回路を作ります。

phototrfzz.png
phototr.png
 

続いてプログラムです。

10 ?ANA(2):CONT

RUN

963

959

935

:

IN2端子のアナログ入力を読み取って、くり返し表示しています。明るい室内ならだいたい900くらいの値になります。
フォトトランジスタを指で陰にして暗くすると、100以下になります。(これだけでも子ども達に結構ウケます (^^)

この光センサーを使った実用的なプログラム例は、以下のとおりです。

10 IF ANA(2)<300 THEN LED 1 ELSE LED 0

20 GOTO 10

RUNで実行して、フォトトランジスタを指で暗くするとオンボードLEDが光ります。明るくするとLEDが消えます。

小学校理科の「電気の効率的な利用」、あるいは中学校技術科の「計測と制御」単元のプログラミング教材として使えます。
「暗くなると自動的に点く街灯があるよね? あれと同じだよ」と説明するといいでしょう。

 

大人の工作のための情報

基板サイズ、回路図

シールドを設計するときに参考になる、IchigoJamの外形図。fileIchigoJam_outline.pdf
基板の厚みは種類・世代によって異なる(確認したものでは1.3mmや1.6mmが存在)。これから作成するなら一般的な1.6mmが良いのでは。

  • GitHubIchigoJam Sのガーバーデータおよび部品表、回路図。

I/O端子

IchigoJamのI/O端子に対しての操作がまとめられているページ

OUT1から6までの端子を入力にすることもできるが、OUT 1,-2のように"-2"パラメータでプルアップ抵抗をonにすることができる。IN1,2,4はプルアップが通常でonなので、その使い方が良いかも。

その他

ブレッドボードやユニバーサル基板を用いて自分だけの拡張ができる。
はんだごてが使えない人はブレッドボードでセンサなどを追加できる。
はんだごてが使える人はユニバーサル基板の一番小さいやつを購入して、自分で回路を組んでみよう。きっと自分だけのお気に入りのマシンが手に入るはずだ。