ボクにもわかる電子工作

Raspberry Pi、IchigoJam、Wi-Fi、BLE、XBee、RN-42、ESP-WROOM-02、ESP32

全体表示

[ リスト ]

半導体部品の追加なしにLEDレベルメータを試作してみました。

IchigoJamには出力端子(OUTピン)が6本しかありません(LEDは10個)。このような場合、通常、レベルメータ専用ICなどを使いますが、ここでは専用ICを使わずに、ダイナミック点灯という方法を用いました。
ダイナミック点灯とは、LEDを高速に点滅させ、あるLEDが消灯している間に、他のLEDを点灯させることで、少ないピン数で多くのLEDを制御する方法です。またLEDの極性を利用して切り替えスイッチを不要にしています。

これにより個々のLEDの自由な点灯(1024通りの表示パターン)を行うことが出来ますので、単にレベルを表示するだけでなく、LEDだけを使った簡単なゲームへの応用も可能です。

ただし、IchigoJamの場合はBASICの速度が遅いのでLED点滅による「ちらつき」が生じる欠点もあります。キーボードの「V」キーを押すとビデオ表示が止まり、ちらつきを改善することができます(9/13 追記)。また、なるべく明るいLEDを使用したほうが、点滅が目立ちにくくなるようです。

イメージ 1

写真の上部のジャンパーワイヤーのIchigoJamとの配線は、一番左から順に、OUT6、OUT1、OUT2、OUT3、OUT4、OUT5です。VCCやGNDには接続しません。
IchigoJamのOUT1〜5を抵抗経由して5個のLEDに接続します。これら5個のLEDの反対側の端子5つを束ねてOUT6に接続します。写真では束ねるためのジャンパー線が抵抗の下にあって分かりにくいですが、ブレッドボード位置a〜eの16〜20番の5端子をショートし、OUT6に接続します。
残りの5個のLEDについてはLEDの極性が反対になるように接続します。こちらはブレッドボード位置f〜jの11〜15番をOUT6に接続します。

以下はサンプルプログラムです。行番号110の部分でダイナミック点灯の制御を実行しています。

サンプルプログラム:
1 'LED10
2 'L=LED M=MX N=Number
10 L=#3FF :M=0: N=10
20 V=1:'VIDEO
30 ?"Usage:";
40 ?"Press Num/Arrow/V/Q key"
100 'LOOP
110 ifmoutl&31elseoutl>>5&31^31+32
120 m=!m:i=inkey():ifi=0goto110
200 'KEY
210 IF I>47 AND I<58 LET N,I-48
220 IF I=30 AND N<10 LET N,N+1
230 IF I=31 AND N>0 LET N,N-1
240 IF I=86 LET V,!V:VIDEO V
250 IF I=81 VIDEO 1:END
260 L=1<<N-1
270 ? HEX$(N,1),BIN$(L,10),I
280 GOTO 100
                                                       '(2015/9/13 修正)
このハードウェアをIchigoJam用の拡張基板で作成すれば、例えば、aitendoのai.shuttle.Jam(参考:https://bokunimo.net/ichigojam/solderingAi.html )での、打ち上げ遊び(参考:http://d.hatena.ne.jp/shiro0922/20150904/1441365326)も出来るかもしれません。

by ボクにもわかるIchigoJam

この記事に

閉じる コメント(2)

これで音量メーターは作れますか

2017/10/28(土) 午前 11:42 [ ryo*0*000*00 ] 返信する

表示部は流用することができます。
音のレベルを検出する回路やプログラムは、別途、必要です。

2017/11/7(火) 午前 8:03 [ ボク ] 返信する

コメント投稿

顔アイコン

顔アイコン・表示画像の選択

名前パスワードブログ
絵文字
×
  • オリジナル
  • SoftBank1
  • SoftBank2
  • SoftBank3
  • SoftBank4
  • docomo1
  • docomo2
  • au1
  • au2
  • au3
  • au4
投稿

.


みんなの更新記事