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

福井市美山中学校の1年生全員24名が、株式会社jig.jpの本店所在地、めがね会館訪問してくれました!
一億総プログラミング必修化時代、中学生にも楽しく体験してもらいたいですね!


はじめての電子工作は、LEDの差し込みから!


パソコン(IchigoJam)に、入力(キーボード)、出力(ディスプレイ)、電源(microUSB)を接続してスイッチオン!


たっぷり2時間、はじめてのプログラミングから、ネットワークの基本、ゲームづくり、IoT化まで!楽しんでもらえたようで、何より! 学校に戻って、いろいろアイデアを出すとのこと。実現に向けてぜひ協力しますよ!

今日の装備、エモペンダントをアップグレード!

ミニエモメガネペンダント!


円形WS2812Bをもうひとつ、L時ピンヘッダーの1ピンをペンチで曲げます。


作ってあった左側の円形LEDのDOUT端子から、右側円形LEDのDIN端子に線材をはんだづけ!


24コのWS2812Bをぐるぐると回す制御の実験!


プログラムはこんな感じ!

10 POKE#700,240,181,68,24,24*3,32,13,73,0,34,114,182,128,37,35,120,1,52,210,67,10,96,3,39,10,38,43,66,1,208,10,39,3,38,1,63,253,209,210,67,10,96,1,62,253,209,109,8,239,209,1,56,234,209,98,182,240,189 11 POKE#73A,0,0,0,1,0,80 15 OUT11,0:D=#800:W=2:CLT:F=0 16 IF BTN() R=RND(1):CONT 20 FORI=0TO2:C=RND(1000):GSB@PUTC:U=USR(#700,D):GSB@ROTM:GSB@ROTM:GSB@ROTM:GSB@ROTM:NEXT 30 GSB@ROTM 40 IF BTN() F=1:C=RND(1000):GSB@PUTC:CLT 42 IF F && TICK()>5*60 F=0:GOTO 20 44 IF TICK()>180*60 C=0:FORI=0TO11:GSB@PUTC:GSB@ROTM:U=USR(#700,D):WAITW:NEXT:SLEEP 50 GOTO 30 80 @ROTL:A=PEEK(D):B=PEEK(D+1):C=PEEK(D+2):COPYD,D+3,11*3:POKED+11*3,A,B,C:RTN 90 @ROTR:A=PEEK(D+33):B=PEEK(D+34):C=PEEK(D+35):COPYD+12*3-1,D+11*3-1,-11*3:POKED,A,B,C:RTN 100 @ROTM:GSB@ROTL:D=D+12*3:GSB@ROTR:D=D-12*3:WAITW:U=USR(#700,D):RTN 110 @PUTC:POKED+3,0,0,0,C/100,C/10%10,C%10:POKED+12*3,C/100,C/10%10,C%10,0,0,0:RTN

80-90行 COPYコマンドを使って、左右の円形LEDを、右回転と左回転する @ROTR、@ROTL がポイント!
16行 ボタンが押されている間ランダムを回すことで、起動時のパターンを変更
10-11行 WS2812B制御用ドライバ、Armマシン語プログラム

links
- 円形WS2812B x IchigoDake x DakeCap = エモペンダント
- はじめてのマシン語 - IchigoJamではじめるArmマシン語その1(もっと深く知りたい人へ)

まちがキラキラしがちな12月、電飾も身近なコンピューター制御。
エモグラスに触発され、手軽に装備できて、映えてエモい、ペンダントタイプを作りました。

ぐるぐる回る発光パターンを、ランダムに3秒置きに切り替えます。ボタンを押したら強制切り替え!


WS2812Bが12コ、円形にはんだづけされたモノ「waves WS2812B 12個 5V 円形 リング
L字ピンヘッダーを3ピン使ってDIN/VCC/GNDにはんだづけ、そのまま挿すだけ!
もうひとつを反対側にさせば、メガネ型にもできそう!

IchigoJam BASICのプログラム

10 POKE#700,240,181,68,24,12*3,32,13,73,0,34,114,182,128,37,35,120,1,52,210,67,10,96,3,39,10,38,43,66,1,208,10,39,3,38,1,63,253,209,210,67,10,96,1,62,253,209,109,8,239,209,1,56,234,209,98,182,240,189 11 POKE#73A,0,0,0,1,0,80 15 OUT11,0 20 CLT:H=0:V=10:S=100:X=RND(2):Y=RND(2):Z=RND(2):W=RND(10) 30 COPY#800,#803,11*3 40 GSB@HSV2RGB:POKE#800+11*3,X*G,Y*R,Z*B:H=(H+30)%360 50 WAIT W 60 U=USR(#700,#800) 70 IF TICK()>5*60 OR BTN() GOTO 20 ELSE GOTO30 100 @HSV2RGB:R=V:G=V:B=V:IF S=0 RTN 110 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 120 IF!DG=C:B=F 130 IFD=1R=E:B=F 140 IFD=2R=F:B=C 150 IFD=3R=F:G=E 160 IFD=4R=C:G=F 170 IFD=5G=F:B=E 180 RTN

10-15行 準備:左側CN4のVCCとGNDの隣、IN4が使えると都合がよかったので、OUT11,0 でIN4をOUTに切り替えて、マシン語でアドレス #50000100 を制御しています。(参考、LPC1114 GPIOアドレス
20-70行 メインループ:発光パターン生成
100-180行 サブルーチン:色相H、彩度S、明度Vを光の三原色赤R、緑G、青Bに変換


DakeCap(販売準備中)に、単4電池2本の電池ケースをはんだづけ。


電源を切って置く時は、DakeCapに裏刺し!

links
- 企業の枠を超えたプログラミングと電子工作を広める「KidsVenture」 in 大阪(エモグラス活躍)
- 光るネクタイ IoTie 小型化 ver1.1
- WS2812B x IchigoJamでエモいウェアラブル「イチゴ帽子」プログラミング入門とマシン語、舞鶴x鯖江コラボに向けて

おまけ、asm15 Armマシン語プログラム WS2812B IN4用ドライバ

' DOUT WS2812B DOUT [R1]を変更で他のピンにも変更可能 ' R0 - data count 30コ固定 ' R1 - GPIO address ' R2 - OUT value 0/#FF ' R3 - data value ' R4 - data address G1,R1,B1,G2,R2,B2 .... ' R5 - bit count ' R6 - wait count buf ' R7 - wait count @WS2812B PUSH {LR,R4,R5,R6,R7} R4=R0+R1 R0=30*3 R1=[@DOUT]L R2=0 CPSID @LOOP_DATA R5=#80 R3=[R4] R4+=1 @LOOP_BIT R2=~R2 [R1]L=R2 R7=3 '(3*4+1)=13 <- 16.8+-7.2 R6=10 '(10*4+1)=41 <- 43.2+-7.2 R3&R5 IF 0 GOTO @SKIP R7=10 '(10*4+1)=41 <- 43.2+-7.2 R6=3 '(3*4+1)=13 <- 16.8+-7.2 @SKIP R7-=1 'wait R7*4+1 clock IF !0 GOTO -1 R2=~R2 [R1]L=R2 R6-=1 'wait R6*4+1 clock IF !0 GOTO -1 R5=R5>>1 IF !0 GOTO @LOOP_BIT R0-=1 '+6clock IF !0 GOTO @LOOP_DATA CPSIE POP {PC,R4,R5,R6,R7} 'RET @DOUT DATA L #50000100 'IN4

ポケベル、おつかれさま! 記念に、IchigoJamでポケベル風を作りました。(通信料は月額64円/1万回受信
ポケベル、来年9月終了へ(共同通信) - Yahoo!ニュース

開始はなんと、50年前の1968年(無線呼び出し - Wikipedia)、1996年、高専内でも普及、公衆電話から数字で送るメッセージ、やりました! その後すぐにPHSへと移り変わりつつも、ポケベル入力(ベル打ち)は最強でした。


スマホや、パソコンから8文字メッセージを入れて、送信ボタン、ビープ音がなってディスプレイに表示。なかなかのポケベル感。

sakura.ioからの受信コマンドはこんな感じ!(正常受信でF=1となる)

LET[0],48,48:?I2CR(79,#800,3,#820,22):F=[16]!=5

こちらがポケベルプログラム for IchigoJam x sakura.io。
バイナリを受け取ったとして、受け取った最大8文字を画面に大きく表示(VIDEO 5)し、ビープ音を鳴らす

10 VIDEO 5 20 LET[0],48,48:?I2CR(79,#800,3,#820,22):F=[16]!=5:S=#824:POKE S+8,0 30 IF !F WAIT 10:GOTO 20 40 LC 0,2:?STR$(S) 50 PLAY"O5 A8R64A2R A8R64A2" 60 GOTO 20

送信は国野亘さんによる「Message IoT - sakura.io」を使ってみました! TokenやModuleの保存ができて便利です。とても丁寧な解説があるので、合わせてご覧ください!「ボクにもわかる IchigoJam用 IchigoSoda / sakura.io の接続方法

IoT時代のポケベルは応答もできます。
ボタンが押されていたら「了解」の意味で「1」を返してみましょう。(for βファーム)

25 IF BTN() IOT.OUT 1:WAIT 60:GOTO 20

用途に合わせていろいろ改造ください!

links
- ボクにもわかる IchigoJam用 IchigoSoda / sakura.io の接続方法
- IchigoJam x sakura.io でつくる格安IoTチャットデバイス
- Making of IoP = Internet of Pager(ポケベル@ja) / jig hackathon 2017

こども起業家創出目指す「KidsVenture
2018年、大阪最終イベントははんだづけ、キラキラ、ロボット、自動運転まで活動の集大成!

KidsVenture加盟企業、さくらインターネット、ビットスター、共立電子産業、アイティプロジェクト、ナチュラルスタイル、jig.jp、大阪、東京、札幌、仙台、福井から大集合!


IchigoJamのはんだづけからスタート


自分でつくったパソコンで、早速プログラミングに挑戦です!


電気の流れと合わせて、LEDを接続する電子工作はじめのいっぽ!


接続したLEDをコントロールするのはプログラム!


飾り付け!お家でも飾ってね!


共立電子産業、長者原さんからの激励、なんとかしようとする心がすべての原点!
限界は低いけど意外と奥が深いIchigoJamは、修行にぴったり!


裏では、大人向けのプログラミング講座、人気かつとっても熱心!
自宅でぜひ、こどもたちには紹介しなかったゲームづくりをご披露くださいー


一緒についてきたお子様、休憩時間用に展示も充実!
IchigoJamゲームコーナーには、8方向、縦横無尽に飛び回る!SPACE ATTACK、物理ボタンとレジンLEDがかわいいもぐらたたき!


その場でハイスコア付き、横スクロールアクションゲームに魔改造したかわくだりゲーム
若干おかしなゲームバランスがまた中毒性を持ったようで、ハマってました!


大人も楽しいミニコンテスト、かわくだりゲーム魔改造コンテストや、ライブコーディングなどの余興にも、ぜひどうぞ!


ミニオンズのコスプレメガネ 880円」をベースに「WS2812B 12個 円形 679円」を2コ付け制御!


自動運転、大人が乗っても大丈夫!


アイロンビーズは、大人にも大人気!


アイロンビーズでお手軽立体作品!iPadを裏にひいて設計図化するのも良さそう。
配置データの標準化と、5つ星オープンデータ化もしたいですねっ!


自分たちで作ったキラキラ電飾をバックに記念撮影!


高専狙う中学3年生!再開、楽しみにしてますっ


忘年会スタート!おでん!


エモグラスをかけると、誰でも自然と笑顔に!


IchigoJam育ての親、ナチュラルスタイルとPCNの代表、松田さん到着!


大阪発のエモグラス!メガネの国、鯖江も負けてられないですね!


とーとつにスタート、第一回 SAKURA.Jam 表面実装はんだづけ大会!
大人も子供も楽しい、はんだづけ!(さくらさんからのギフトバージョンは、表面実装はんだづけは不要なのでご安心ください)


優勝は、共立電子産業の岩田さん!さすが!(福野は3位)


さくらインターネットのロゴバリエーション!
コーポレートロゴへ込めた想い | 20周年記念 | さくらインターネット


上下、さくらの花びら揃いました!(両方白もOK!


始まる、表面実装レクチャー


そして、第二回大会!


共立さんのエモグラス試作基板!LPC1114添付モデルもぜひっ


KidsVentureの軌跡。
ルワンダ、フィリピン、宇宙(?)まで、いろいろあったKidsVenture。
きっとこれから、もっといろいろあります!

links
- 噂のSAKURA.Jamを高火力に魔改造!KidsVentureは挑戦意欲溢れる次世代の創出に貢献中! – about yrm
- KidsVenture

沖縄高専で初活躍、IchigoJamスピードパック
ただ、一部モバイルバッテリーがすぐに切れてしまうトラブル発生。
プログラムが動いている間、保存し続けるIchigoJam BASICのプログラムを使って、バッテリーの持ちを検証した。

15秒で起動完了、IchigoJamスピードパック

10 N=0 20 WAIT60*60 30 N=N+1:?N 40 POKE#FFE,N,N/256 50 SAVE 60 GOTO20 100 N=PEEK(#FFE)+PEEK(#FFF)*256:?N

バッテリーチェックプログラム
10-40行 1分ごとにプログラム領域の最後(#FFEと#FFF)に動いていた分数を書き込む
50-60行 そのプログラムを保存することで止まるまでの時間を記録し、くりかえし
100行 電源が切れたあと、電源を入れ直しLOADして、GOTO100でチェックできる

40行の /256 は >>8 、100行の *256 は <<8 へと置き換え可能。
BASICの場合、ビット演算を使っても使わなくても速度に大差ないけど、使えるとかっこいい。

DAISOの500円3,000mAhモバイルバッテリーを8つチェックした結果
130分前後3つ、90分前後3つ、154分持つもの、47分しかもたないものとばらつきがあり。
90分もってくれれば、45分授業2コマで使える計算。・・・でも、もうちょっと余裕がほしいところ。

書いてあることはよくわからないけど、打ち込めば手元で動く数々のゲームに熱中した30年前。
打ち込んで、Syntax error や、謎のフリーズと戦っている内に自然と身についたプログラミング。
ラ製ことラジオの製作から65年、あのベーマガがついに単独復活!?という大ニュース!

ハードもソフトも扱うのが新世代ベーマガ(電子工作マガジン)の特徴です。
記念にIoTスティックを振って浮かびあがる、人気のかわくだりゲームの主人公「ねこ」製作。

人の目の残像現象を利用したバーサライタ(またはPOV)という技術。動画でどうぞ!

浮かぶ「ネコPOV」の作り方
1. WS2812BでIoTスティックをつくる
2. プログラムする

10 POKE#700,240,181,68,24,90,32,12,73,114,182,128,37,35,120,1,52,255,34,74,96,3,39,10,38,43,66,1,208,10,39,3,38,1,63,253,209,0,34,74,96,1,62,253,209,109,8,239,209,1,56,234,209,98,182,240,189,0,0,1,80 15 POKE#704,16*3:V=120 20 LET[0],236,249,250,249,250,237,240,241,235:M=0:C=[M] 25 R=RND(V):G=RND(V):B=RND(V) 30 CLS 40 FORJ=0TO7:FORK=0TO7:IF PEEK(C*8+K)>>(7-J)&1 POKE#900+16*3*J+(15-K)*3,G,R,B 50 NEXT:NEXT 60 N=0 70 U=USR(#700,#900+N):N=N+48:IF N<768 CONT 80 IF !BTN() GOTO 60 90 M=M+1:C=[M]:IF C=0 M=0:C=[M] 100 GOTO 25

10行 WS2812B用ドライバ、Armマシン語
15行 書き込むLED数設定
20行 ボタンを押すごとに変わるキャラクター(左右対称のものを選択)
25行 色をランダムに
30行 VRAMクリア
40-50行 浮かび上がらせる文字を発光用のデータに変換
60-70行 WS2812Bドライバに送るデータを順に切り替えることでバーサライタ表示
80-100行 ボタンが押されていたらキャラクター切り替え

3. 振る!ボタンを押すごとに色とキャラクターが変わります

ねこPOV on MeganeJamIchigoJamの鯖江ご当地互換機!

4. あとは自由に改造ください!
7色に輝かせる?自分のオリジナルキャラクターを表示する?
バーサライタのみであれば、スティック先端に8コWS2812Bを貼り付けて、オフセットをなくす改造がオススメ!


日本で唯一のこどもむけ電子工作専門季刊雑誌「電子工作マガジン」次号はなんと別冊化!楽しみですねっ
エレクトロニクス業界の灯台 電波新聞社
今投稿すれば別冊初号への掲載、間に合うかも!?

2015年、12年ぶりにコーナーとして復活してから、3年!新世代ベーマガ世代を産んでいます!
「ベーマガ」復活!? 「電子工作マガジン」の1コーナーに - ITmedia NEWS

2020年、小学校でのプログラミング必修化をきっかけに増える新世代クリエイター!
小学校プログラミング授業の通奏低音 ー 全部IchigoJam !!!! | Peatix
今月末、東京都小金井市の前原小学校で、小学校で使われるIchigoJamの公開授業&講演会開催です!

links
- MeganeJamづくりTIPSとちょっと改造法 at 鯖江Hana道場
- マシン語でLEDを光らせよう! - IchigoJamではじめるArmマシン語その4

もの博、さばえものづくり博覧会2018


鯖江のものづくり技術で活躍する、福井高専生の後輩!


0.5mの格子状に切断した銅板を使った、LED CUBE by 鯖江工業所
ぜひキット化してもらいたいっ


キビキビといい動きのロボが支えるモノの生産現場!


近畿経済産業局の局長、森さんご来鯖記念に、主催商工会議所との意見交換会がありました。
近畿経済産業局長森清様との意見交換会、 | 『さばえ.jp』百さんのブログです


近畿経済産業局長を囲む会!


眼鏡産業、ウェアラブル手がけるボストンクラブ!


漆器産業、間伐材でSDGs!ものづくりのまち、端材の有効利用もおもしろいテーマ!


漆器産業で活躍、3Dプリンター。試作から商品化された事例展示!


繊維産業、Hana道場は、国登録文化財、旧鯖江地方織物検査所の2Fです


食も楽しい鯖江、日本酒の梵ブース、GOLDのストラップは珍しい!


中学校の見学デー、鯖江にはおもしろいもの多いんです!
いいものを活かした次の研究にも熱心な鯖江。


電通大、ARドッジボール、参加者募集!


電通大のニョロニョロしたアクチュエーター。熱で伸縮する形状記憶合金を利用。大きいものとかあれば、触覚にしっぽに楽しそう。 光るだけじゃなく動くネクタイに!


時計の進む速さを操って、人を操る研究!
時計好きにはうれしい出会い!
時間を止められる時計」「ログ表記時計」「zoomclk


福井工大の反応速度調べ。じゃんけんに負けてという指示で0.5秒切れるか!?
IchigoJamで実装するのも楽しそうっ


光るネクタイをきっかけに、持続可能なものづくり社会、SDGsカラーに輝くIoTieの商品化プロジェクト始動!


SDGsカラー、データ化&アプリ化しました「goals17 with sq-game.js

1 貧困をなくそう E5243B 2 飢餓をゼロに DDA63A 3 すべての人に健康と福祉を 4C9F38 4 質の高い教育をみんなに C5192D 5 ジェンダー平等を実現しよう FF3A21 6 安全な水とトイレを世界中に 26BDE2 7 エネルギーをみんなに そしてクリーンに FCC30B 8 働きがいも 経済成長も A21942 9 産業と技術革新の基盤をつくろう FD6925 10 人や国の不平等をなくそう DD1367 11 住み続けられるまちづくりを FD9D24 12 つくる責任 つかう責任 BF8B2E 13 気候変動に具体的な対策を 3F7E44 14 海の豊かさを守ろう 0A97D9 15 陸の豊かさも守ろう 56C02B 16 平和と公正をすべての人に 00689D 17 パートナーシップで目標を達成しよう 19486A


単4電池x3を電源に、3.3VレギュレーターでCPUは駆動するよう改造。

5 POKE#700,240,181,68,24,90,32,12,73,114,182,128,37,35,120,1,52,255,34,74,96,3,39,10,38,43,66,1,208,10,39,3,38,1,63,253,209,0,34,74,96,1,62,253,209,109,8,239,209,1,56,234,209,98,182,240,189,0,0,1,80 10 S="E5243BDDA63A4C9F38C5192DFF3A2126BDE2FCC30BA21942FD6925DD1367FD9D24BF8B2E3F7E440A97D956C02B00689D19486A" 20 FOR I=0 TO 16 25 FOR J=0 TO 2 26 A=S+I*6+J*2 30 C=ASC(A):GSB@HEX:N=C<<4 31 C=ASC(A+1):GSB@HEX:N=N+C 32 POKE#800+I*3+J,N 35 NEXT 40 NEXT 999 END 1000 @HEX:C=C-48-(C>64)*7:RTN 100 V=0:Y=1 110 FOR I=0 TO 16 115 A=#800+I*3 120 R=PEEK(A):G=PEEK(A+1):B=PEEK(A+2) 130 R=R*V/50:G=G*V/50:B=B*V/50 '135 ?HEX$(R),HEX$(G),HEX$(B) '140 POKE#800+52+I*3,G,R,B 140 POKE#800+52+20*3-I*3,G,R,B 150 NEXT 160 U=USR(#700,#800+52) 170 V=V+Y:Y=Y-2*Y*(V%16=0) 180 GOTO 110

前半、SDGsの色を16進数からデータ化する部分。あらかじめデータにしておけば、短縮可。
140行、表示する向きを変更可能

links
- IoTネクタイの作り方

キラキラとさり気なく光るネクタイは、イチゴ帽子と比べて汎用性が高い。
1日着けて歩いて見ると、やはりケーブルで外部につながっていると邪魔で、断線リスクあり。


ということで、一体化させてバージョンアップ、名付けて「IoTie(アイオータイ)」ver1.1


お手軽に小型化として、IchigoJamのマイコン、LPC1114FN28をそのまま使いました。
お好みで、IchigoDakeや、IchigoJam ZeroでもOK!


2本だけジャンパー、自動起動のためのGND-BTN間は、緑
VCCを左右接続するためには、白がちょうどよい感じ。
ブレッドボード・ジャンパーワイヤ 14種類×10本ブレッドボード・ジャンパーワイヤ 14種類×5本 @秋月)


あとはマイコンへ書き込み。
USBシリアルで書き込む他、IchigoJam UやTでICソケットを使うのもOK!

ひとまずIoT分を一旦消して、光らせないオフセット(O)を0にしてプログラム。BTNによる輝度操作もなし。

10 POKE#700,240,181,68,24,90,32,12,73,114,182,128,37,35,120,1,52,255,34,74,96,3,39,10,38,43,66,1,208,10,39,3,38,1,63,253,209,0,34,74,96,1,62,253,209,109,8,239,209,1,56,234,209,98,182,240,189,0,0,1,80 11 CLV:L=30:O=0 12 POKE#704,L*3 14 Y=5 15 H=180:S=100:W=0 16 T=60 17 A=12 18 FOR I=1 TO L 20 W=W+Y:IFW%100=0Y=-Y 21 V=W*T/100 30 GSB@HSV2RGB 50 Z=#840+O*3:POKEZ,G,R,B:COPYZ+L*3-1,Z+L*3-4,-L*3+3 60 U=USR(#700,Z-O*3) 70 WAIT 5 80 NEXT 85 H=(H+A)%360 90 GOTO17 'use H,S,V,R,G,B,C,D,E,F 100 @HSV2RGB:R=V:G=V:B=V:IF S=0 RTN 110 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 120 IF!DG=C:B=F 130 IFD=1R=E:B=F 140 IFD=2R=F:B=C 150 IFD=3R=F:G=E 160 IFD=4R=C:G=F 170 IFD=5G=F:B=E 180 RTN

着けてみると割といい感じだけど、単3電池ボックスはちょっと重かった・・・。
単4電池ボックススイッチ付きがオススメです。

IoTを着る時代。
ネクタイをネットにつないで、自由自在なカラーコーディネートを楽しみましょう。

材料は、IchigoSodaとフルカラーテープLED「WS2812B」と線材少々、軽めのモバイルバッテリー。

まずは光るネクタイプログラム、じんわり光らせるようチューニング

10 POKE#700,240,181,68,24,90,32,12,73,114,182,128,37,35,120,1,52,255,34,74,96,3,39,10,38,43,66,1,208,10,39,3,38,1,63,253,209,0,34,74,96,1,62,253,209,109,8,239,209,1,56,234,209,98,182,240,189,0,0,1,80 11 CLV:L=30:O=8 12 POKE#704,L*3 14 Y=5 15 H=180:S=100:W=0 16 T=20 17 A=10 18 FOR I=1 TO L 19 IF BTN() ?T:WAIT20:T=T+20:IFT>80T=20 20 W=W+Y:IFW%100=0Y=-Y 21 V=W*T/100 30 GSB@HSV2RGB 50 Z=#840+O*3:POKEZ,G,R,B:COPYZ+L*3-1,Z+L*3-4,-L*3+3 60 U=USR(#700,Z-O*3) 70 WAIT 5 80 NEXT 85 H=(H+A)%360 90 GOTO17 'use H,S,V,R,G,B,C,D,E,F 100 @HSV2RGB:R=V:G=V:B=V:IF S=0 RTN 110 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 120 IF!DG=C:B=F 130 IFD=1R=E:B=F 140 IFD=2R=F:B=C 150 IFD=3R=F:G=E 160 IFD=4R=C:G=F 170 IFD=5G=F:B=E 180 RTN

IoTを1行、加えます。受け取った値で色相(H)をチェンジしてできあがり!

25 X=IOT.IN():IF X H=X*60

光源を裏に、間接照明っぽくするのがポイントです。

NASAの雷オープンデータなど、何かをきっかけ自動で変更するようにするのもオシャレですね!
NASA Space Apps Challenge 2018 東京会場、宇宙ハッカソンで活躍する小学生、NRTでお天気ネクタイを作りたい

いつものテープ状フルカラーLED WS2812Bを30コ、330円分を使って、大きなフルカラー7セグLEDを作って、役に立ちそうにない時計プログラムとして動かしてみます。


カットして配線するときれいですが、横着して折り曲げ加工。


ちょうどいい空き箱発見、和紙をカッターでハコ形に切り出します。

この当たりでひとまずランダムに30コ全部を使って光らせるプログラム作成。(解説

10 POKE#700,240,181,68,24,90,32,12,73,114,182,128,37,35,120,1,52,255,34,74,96,3,39,10,38,43,66,1,208,10,39,3,38,1,63,253,209,0,34,74,96,1,62,253,209,109,8,239,209,1,56,234,209,98,182,240,189,0,0,1,80 20 C=RND(1000):GSB100:WAIT60:CONT 100 FORI=0TO29:POKE#800+I*3,C/10%10*3,C/100*3,C%10*3:NEXT 110 U=USR(#700,#800):RTN

7セグLEDの扱い方は、とても良い解説記事がこちらにあります。
IchigoJamの7セグLEDタイマーで16進数を学ぼう! – しずかなかずし

折り曲げたテープ状フルカラーLED、上下が5つ、その他が4つでセグメントを表しています。
7セグLEDの表示パターンをそのまま使うことにしたので、対応表を配列にいれて、変換するプログラムがこちら。

10 POKE#700,240,181,68,24,90,32,12,73,114,182,128,37,35,120,1,52,255,34,74,96,3,39,10,38,43,66,1,208,10,39,3,38,1,63,253,209,0,34,74,96,1,62,253,209,109,8,239,209,1,56,234,209,98,182,240,189,0,0,1,80 20 FORK=0TO9:C=RND(1000):N=K:GSB100:WAIT60:NEXT:CONT 100 LET[0],#7B,#30,#67,#76,#3C,#5E,#5F,#78,#7F,#7C:N=[N] 110 LET[0],400,504,426,422,409,413,517 115 FORI=10TO44:[I]=0:NEXT 120 FORI=0TO7:IF N>>I&1 M=[I]:FORJ=0TOM/100-1:POKE#814+(J+M%100)*3,C/10%10*3,C/100*3,C%10*3:NEXT 130 NEXT:U=USR(#700,#814):RTN

10行は上記と一緒、WS2812Bドライバ、マシン語プログラム。
100行で7セグのパターンを設定。(7セグLEDの解説通り)
110行ではそのセグメントが30コのフルカラーLEDの何個に対応するかと、その位置を設定しています。
VRAMやPCG領域も空いているのでそちらを使ってもOKですが、今回は配列領域を使っています。


ひとまず電池駆動で詰め込んでみます。


立てて置くイメージ、なかなかいい感じ!


こんな風に、0から9までを1秒おきにランダムな色で表示します。

秒針1桁だけ表示する時計のできあがり!
オシャレ温湿度計や、オシャレサイコロなど、いろんなイルミネーションに応用ください。

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