福野泰介の一日一創 - create every day

jig.jp、創業から一緒、インキュベイトファンドの初パーティー!

VR、宇宙、食、教育など様々な分野でチャレンジするスタートアップ仲間との楽しく、刺激的な時間!


さりげなく着用していた「光るネクタイ」の改造方法を紹介。

宇宙ビジネスで熱い、水という資源が眠る月!
月色に光るネクタイを作ってみましょう。コアとなるマシン語プログラムはこちら。

R0=18 R1=[@DATA_GRB]L CALL @WS2812B @DATA_GRB DATA L #141000

RGB、3つのLEDの強さは、G、R、Bの順番に16進数で指定します。

月色に光りました!

asm15でアセンブルした後、BASICのデータ部分の末尾3byteを書き換えれば自在に色が変えられます。

40 POKE#7AD,20,0,0


緑に!


今回は昇圧回路とスイッチを使わず、単4電池ケース縦2本でつくる重いけどより安価版。
基本的な作り方は、「光るネクタイのつくりかた」と一緒です。


電池温存する場合は紙などを挟んでおくと便利。(やっぱりスイッチはほしかった)


4KBに拡張された、IchigoCake BASICを使うと、LPC810 Writerとプログラムが1ファイル化もできます。


LPC810への書き込みを実行、SAVE0しておけば、画面がなくてもボタン押しながら実行で書き込み簡単!

Armマシン語(asm15形式)、WS2812B単色表示プログラム全文

DATA L #10000400 ' stack DATA L #21 ' entry point DATA L 0, 0, 0, 0, 0 DATA L #EFFFFBDF ' VALID_CODE = 0x100000000-0x10000400-0x21 @ENTRY R0=[@SYSAHBCLKCTRL]L R1=#DF 'SWM, GPIO, I2C:off, FLASH, FLASHREG, RAM, ROM, SYS [R0]L=R1 R0=[@FLASHCFG]L R1=[R0]L R2=3 ' flash no wait: set 0b00 R2=~R2 R1&=R2 [R0]L=R1 R0=[@PINENABLE0]L R1=[@PINENABLE0_DATA]L [R0]L=R1 R0=[@GPIO_DIR0]L R1=`1100 ' PIO0_2 and PIO0_3 [R0]L=R1 @MAIN R0=18 R1=[@DATA_GRB]L CALL @WS2812B CALL @WAIT GOTO @MAIN 'WS2812B driver 'param ' R0 - data count (ex WS2812B 1 led = 1) ' R1 - G R B 'use ' R2 - OUT value ' R4 - GPIO address ' R5 - bit count @WS2812B R4=[@GPIO_NOT0]L R2=`100 ' PIO0_2 @LOOP_DATA R5=1 R5=R5<<23 @LOOP_BIT [R4]L=R2 R1&R5 IF 0 GOTO @ZERO NOP NOP NOP NOP NOP NOP NOP [R4]L=R2 GOTO @JOIN @ZERO NOP [R4]L=R2 NOP NOP NOP NOP NOP NOP @JOIN R5=R5>>1 IF !0 GOTO @LOOP_BIT R0-=1 IF !0 GOTO @LOOP_DATA RET 'WAIT 'use ' R7 - wait count @WAIT R7=[@WAIT_N]L R7-=1 'wait R7*3+1 clock IF !0 GOTO -1 RET ' init @SYSAHBCLKCTRL DATA L #40048080 @FLASHCFG DATA L #40040010 @PINENABLE0 DATA L #4000C1C0 @PINENABLE0_DATA DATA L #FFFFFFBF @GPIO_DIR0 DATA L #A0002000 @GPIO_NOT0 DATA L #A0002300 ' WS2812B @WAIT_N DATA L 400000 @DATA_GRB DATA L #141000

いろいろ改造してお楽しみください!
光るネクタイ、明和電機秋葉原店「ラジオスーパー」で入手可!

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / アイコン画像 / プロフィール画像