Hatena::ブログ(Diary)

SHIROのモバイル日記 RSSフィード Twitter

2017-07-01

[]NameDake(ネームダケ)

FacebookのIchigoJam-FANグループで、IchigoJam TのCN5ソケットに直接差せる有機ELディスプレイOLED)が話題になっています。
(詳しくは国野さんのページをご参照ください)
このOLEDと、最近発売になったIchigoDakeを組み合わせて、胸ポケットに差せるミニ名札を作ってみました。
f:id:shiro0922:20170701201820j:image:w360

f:id:shiro0922:20170701202100j:image:w360

f:id:shiro0922:20170701202038j:image:w360
名札としては小さめですが、首から下げるフルバージョンより軽いです(笑)
名前データが異なるIchigoDakeを用意すれば、差し替えるだけで違う名前が表示できます。
なお、写真では単5電池×2本で動かしていますが、これだと40分ほどで切れてしまいます。
ボタン電池・CR2032も試しましたが同程度)
もっと保たせたいので、他の電池もいろいろ試してみます。

※その後いろいろ実験した所、単5電池×2本で少なくとも12時間は保つことが確認できました。

回路図はこちら。IchigoDake・OLED電池をただつないだだけです。
f:id:shiro0922:20170701204210p:image:w360

プログラムはこちら。初期化プログラムと本体の2スロットになっています。
OLEDサブルーチンは、Ruria AmanagiさんがIchigoJam-FANグループで公開した、マシン語横書きサブルーチンを使わせていただきました。

初期化プログラム(スロット0に入れて自動起動

10 '*NameDake Initialize
20 GSB800
30 LRUN FILE()+1
800 'OLED INIT
810 poke#7D0,#00,#40,#21,#00,#7F,#22,#00,#07,#AE,#D5,#80,#8D,#14,#20,#00,#A1,#C8,#DA,#12,#81,#CF,#D9,#F1,#DB,#40,#A4,#A6,#AF
820 forP=#7D8to#7EB:ifi2cw(60,#7D0,1,P,1)?"E:Init";hex$(P)
830 next
840 poke #79a,#f0,#b5,#40,#18,#07,#23,#1b,#02,#c9,#18,#94,#46,#10,#24,#03,#78
850 poke #7aa,#db,#00,#d2,#18,#08,#27,#00,#23,#07,#25,#56,#5d,#fe,#40,#5b,#41
860 poke #7ba,#01,#3d,#fa,#d2,#0b,#70,#01,#31,#01,#3f,#f4,#d1,#01,#30,#62,#46
870 poke #7ca,#01,#3c,#ec,#d1,#f0,#bd
880 rtn

●本体プログラム(スロット1に入れる)
10 '*NameDake Main
20 CLS:A=#900
30 LET [0],0,0,12,12,13,12,4,0,8,12,13,12,12,12,13,12
40 LET [16],0,0,0,9,8,1,0,0,0,0,1,0,0,0,1,0
50 LET [32],0,0,0,8,9,0,0,0,0,7,3,5,0,13,13,5
60 LET [48],12,12,3,1,0,3,9,12,4,13,12,5,0,12,13,4
70 GSB 200
80 LET [0],0,10,2,3,3,3,10,0,0,5,0,5,8,6,2,12
90 LET [16],0,10,3,3,7,3,11,0,0,7,3,5,2,4,5,6
100 LET [32],0,10,8,1,5,9,10,0,0,5,0,5,0,6,7,4
110 LET [48],0,1,0,0,1,0,2,0,2,0,0,1,2,0,1,2
120 GSB 200
130 GSB 900
140 VIDEO 0,30:END
200 'Prt Half
210 FOR Y=0 TO 3
220 FOR X=0 TO 15
230 POKE A,[Y*16+X]+#80
240 A=A+1
250 NEXT
260 A=A+16
270 NEXT
280 RTN
900 'OLED OUT
910 forP=#7D2to#7D7:ifi2cw(60,#7D0,1,P,1)?"E:ADR";hex$(P)
915 next
920 forY=0to7:D=usr(#79A,#900+Y*32):ifi2cw(60,#7D1,1,#700,128)?"E"
930 next
940 rtn

リンク集