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

高専プロコン、パネルディスカッション用タイマーの製作 - IchigoJam x WS2812B

2017/10/08 23:55:00
#IchigoJam #kosen #procon28 

人生初上陸となる山口県で開催、高専プロコン。
表彰式前のさくらインターネットの田中さんとパネルディスカッション「翔んじゃえ高専生」に向けて、ホテルの部屋でミニプロコン。

9つ分に切ったコンピューター内蔵、低価格フルカラーLED、WS2812BをIchigoJamで光らせます。


ピンヘッダーとジャンパー線をはんだづけ

WS2812Bの使い方は過去記事「IchigoJamでも光る大五郎! 300コのフルカラーLEDを簡単コントロール!」を見ながら作成!

400 @INIT 410 POKE#700,240,181,114,182,64,24,80,33,9,2,1,49,9,4,4,136,1,48,128,37,1,48,3,120,255,34,74,96,3,39,10,38,43,66,1,208,10,39,3,38 420 POKE#728,1,63,253,209,0,34,74,96,1,62,253,209,109,8,239,209,1,60,234,209,98,182,240,189 430 LRUN1 SAVE0 NEW 100 POKE#800,9*3,0:I=0:V=30:S=90:T=10:L=8:CLT 115 POKE#802,0:COPY#803,#802,9*3-1 116 IF TICK()>60*200 CLT:L=L-1 118 IF L=-1 END 120 FORJ=0TOL 130 H=I+J*10:GSB@HSV2RGB:POKE#802+J*3,G,R,B 140 NEXT 142 R=V:G=V:B=V:IF TICK()/60%2=0 R=0:G=0:B=0 144 POKE#802+L*3,R,G,B 150 U=USR(#700,#800) 160 I=(I+T)%360:GOTO 111 500 @HSV2RGB 'use CDEF 505 R=V:G=V:B=V:IF S=0 RTN 510 D=H/60%6:C=V-(59-H%60)*V/60*S/100:E=V-H%60*V/60*S/100:F=V*(100-S)/100 520 IF D=0 G=C:B=F 530 IF D=1 R=E:B=F 540 IF D=2 R=F:B=C 550 IF D=3 R=F:G=E 560 IF D=4 R=C:G=F 570 IF D=5 G=F:B=E 580 RTN SAVE2 LRUN0

ARM Cortex-M0のThumb2マシン語でつくったWS2812Bドライバをメモリに書き込んで、メインプログラムへ連携する、LRUN2!
30分かけてカラフルなカラーバーが点滅しながら短くなっていくプログラムになってます。

高専プロコンの作品も、裏話やソースコードなど、公開しちゃうのもいいですよ!


講演も配信、Y!Japan、配信チームさん!

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