2015/09/22(火)7セグメント バブル ディスプレイ QDSP-6064
新旧比較 DIPサイズな4桁 7セグメントLED
左側:古いHitachi製 14CD 右側:スイッチサイエンスから仕入れたHP製 QDSP-6064
写真を撮ると見えますが、10年前の私は裸眼で読めたが、今は読み取れない(泣く)

左側:古いHitachi製 14CD 右側:スイッチサイエンスから仕入れたHP製 QDSP-6064
写真を撮ると見えますが、10年前の私は裸眼で読めたが、今は読み取れない(泣く)
このWS2812なるLEDはシリアルパルスでLow/Highを送るのだが、その幅が0.8usや0.4usという極小幅なのでBASCOM AVRでは不可能。そこでWS2812へパルス出力部分だけをインラインアセンブラで記述した。レインボーなパターン部分をBASICで記述出来るのは素晴らしい。
Do
Wr = Rnd(255)
Wg = Rnd(255)
For I = 0 To 255 Step 2
Wb = I
Gosub Ws2812
Waitms 20
Next I
For I = 255 To 0 Step -2
Wb = I
Gosub Ws2812
Waitms 5
Next I
Loop
BASICのソースリストはws2812.bas
UNOを購入したが,家にはATmega168Pの在庫があるので,それを活用出来るか試してみた。
EXTENDED 0xF8
HIGH 0xDF
LOW 0xFF
-Boot Flash size=1024, start=$1C00
-BootRST
-Ext.Crystal OSC 8.0-
\hardware\arduino\bootloaders\optiboot\optiboot_atmega168.hex
0xCF
-LPM and SPM prohibited in Boot Selection
arduino\hardware\arduino\boards.txtの以下の行を追加
##############################################################
uno168.name=Arduino Uno168
uno168.upload.protocol=arduino
uno168.upload.maximum_size=14336
uno168.upload.speed=115200
uno168.bootloader.low_fuses=0xff
uno168.bootloader.high_fuses=0xdd
uno168.bootloader.extended_fuses=0x00
uno168.bootloader.path=optiboot
uno168.bootloader.file=optiboot_atmega168.hex
uno168.bootloader.unlock_bits=0x3F
uno168.bootloader.lock_bits=0x0F
uno168.build.mcu=atmega168
uno168.build.f_cpu=16000000L
uno168.build.core=arduino
uno168.build.variant=standard
##############################################################
ツール→マイコンボードの一覧に Arduino Uno 168 があるのでそれを選択する。書き込めるプログラムメモリ領域が小さいので大きなサイズのプログラムは実行できない。
ATmega168Pのヒューズを書き換えた後、boards.txtの以下を書き換える事で問題なく利用が可能。(要するにクロックが半分になる。これによってIDEとの通信速度も半分になるだけの事)。fuseビットの定義は未検証。
uno168.upload.speed=57600
uno168.build.f_cpu=8000000L
uno168.bootloader.low_fuses=0xc2
uno168.bootloader.high_fuses=0xdd
uno168.bootloader.extended_fuses=0x07
2線式であるため回路の途中にSW代わりに追加する事で点滅が可能。元記事はこちら
昔は006PとST-26の組み合わせで昇圧してネオンランプを点灯させる記事がありました。ST-26は無いのですが使い捨てカメラのフラッシュ回路から取り出したトリガートランスを利用して作成した。
片側だけが光っている。まだ改良の余地がありそうだ。
こんな感じでソケットに載せてブレッドボード化。ブレッドボードは耐圧が全然足りていなくて、高圧側は隣のピンに指しても暗く光ってしまう位に電流が漏れている。
最近はブレッドボード利用が多いので、それに適した麦球を探していたが、入手出来たので記念にピカピカなど。
秋月の10連LEDと3.5ΦのピンジャックのDIP変換基板が入手出来たので組んでみた。
自分はPCのライン出力へ接続したので全段のアンプは+10dBと低めだが、ポータブルプレイヤーへ接続するならば、もう少しゲインを上げても良いと思う。 1uのコンデンサは最初0.1uだった。だが、あまりにも激しく動きすぎるのでこの値にたどり着いた。
静止電流は4mAと少なくて良い。三色の10連LEDもあったが、ピン配置が逆向きになってしまうので今回はこれを選んだ。
LEDはブレッドボードの関係で6個だけ。この後でオーディオレベルメータに仕上げる為には何らかのアンプが必要と思う。LM358も一緒に頂いたのでそれを見越して仮想GNDを用意出来ないか確認。どうやら良さそう。