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

IchigoJam 1.4βの新コマンドWS.LEDで制御する、WS2811フルカラーLEDx50を使ったイルミネーションワークショップ。

こちら5セットつなげて、250コ、光らせてみたところ

10 V=30:N=250 20 A=RND(5)+1 30 FOR I=0 TO A*3-1:[I]=RND(V):NEXT 40 WS.LED A,N/A+1:WAIT 30 50 LET[0],0,0,0:WS.LED 1,N:WAIT 30 60 GOTO 20

最大輝度をVで決めて、ランダムに色を決めて点灯、50行で消灯、のくりかえし。
Vを大きくする場合は電源が別に必要になります。Nで点灯数を決定、電源が持てば数千個くらいならいけそう。


1つ50コ連なってます。
Amazon.co.jp: ALITOVE WS2811 12mm 拡散 デジタルRGB LEDピクセルライト Neo Pixel RGBドーム型 LEDモジュール 防水IP68 DC 5V 50pcs/セット: ホーム&キッチン
これを10コずつ切って、ワークショップをしてみる準備をしてみます。
1760円で5人分とれるので、一人あたり400円弱です。
WS2812のテープ状の300コ3,480円ジャンパーワイヤという手もあります)


まずは、全部同じ色に自分だけのパターンで光らせてみよう。

1 @ARUN 10 LET[0],30,0,0:WS.LED1,10:WAIT60 20 LET[0],30,0,0:WS.LED1,10:WAIT60 30 GOTO 10

WS2811は並び順が赤、緑、青のRGB順。クリスマスっぽく、赤と緑を1秒ずつ交互に点灯!
IchigoJam 1.4 の場合、先頭に @ARUN をつけておくと、ボタンを押さずに電源入れるだけで自動起動!


40ピンのピンヘッダーを8本ずつ5コに切り分けます。重ねながら指で折ると間違えにくい。
ピンヘッダ 1×40 (40P): パーツ一般 秋月電子通商-電子部品・ネット通販 - 35円)


ピンヘッダーの左端2つと右端1つを予備ハンダ(はんだを少しのせておく)


フルカラーLEDの入力側(矢印が目印になるかも)の3本を割きます。


ワイヤーストリッパーで被覆を3mmほど剥ぎ、予備ハンダ(ワイヤー側を温めてはんだを付けると、すっとなじみます)


電源、GND、信号線をはんだづけ。


8ピンをCN4のLEDを白に合わせ、挿してみて点灯することを確認して、できあがり!
1つあたり3分くらいで仕上がります。

Happy Xmas!

CPUの世界にもオープンデータ。オープンソースでオープンライセンス(BSDライセンス)なCPUアーキテクチャ「RISC-V(リスク・ファイブ)」の実機が続々登場! 1981年に発表されたRISC-Iからスタートして5世代目のRISC-V、Google / NVIDIA / NXP / Qualcomm など、数多くの企業をメンバー企業に支えられて躍進前夜。

Amazonが発表した自社開発CPU、Graviton2はArmベースでしたが、次世代がRISC-Vになっても不思議はありません。(現時点でAmazonはまだメンバーではないが、オープンに誰でも使えるため、使用するのにメンバーである必要もない)

そんな RISC-V というオープンなコンピューターの気持ちになってみましょう!
IchigoJamで試した、はじめてマシン語Arm編のように、はじめのいっぽはハンドアセンブル!
Specifications - RISC-V Foundation(RISC-V仕様書 P130より)

Instructionsとは、RISC-Vというコンピューターができること一覧、基本は32bit(4byte)、メモリに書かれた命令にしたがって、どんどん計算していきます。 レジスタは基本32コ、そのうち0番レジスタX0は0固定。実行位置を表すプログラムカウンタ(PC)は別となっています。

ひとまず、1+1をさせてみましょう。
レジスタ同士の足し算は ADD (上の図の一番下)

ADD rd,rs1,rs2

rd = rs1 + rs2 という足し算をします。
RISC-Vは、32コあるレジスタ(X0-X31)の内、x10,x11...を引数や、返り値に使うことになっています(x10,x11は別名a0,a1)

ADD x10,x10,x11

こちらをマシン語表を見て、二進法32桁の数値に変換します。(RISC-Vのマシン語の基本は32bit、16bitの圧縮版もあります)

0000000 01011 01010 000 01010 0110011         rs2 rs1 rd

これを16進数に表すと

-> #00b50533

この4byteをメモリに書き込めばOKです!(RISC-Vは、little endian なので、#33,#05,#b5,#00 の順)

ただ、これだけではプログラムの終わりがわからずどんどんよくわからない計算が進んでしまうので、戻す(RETURN)命令を加えます。 RISC-Vでは、戻り先がレジスタ1番に入っているので、そちらへのジャンプ(GOTO)すればOK。 命令表の中から Brunch の JALR x1 を上記同様に16進数に変換します。(x1は別名ra)

JALR x1 (JALR rd,rs1) 0b00000000000 000001 000 00000 1100111         rs1 rd -> #00008067

できました!

実機で動かしてみたいところですが、今回は誰でも使えるエミュレーターを使います。

WebAssemblyにも対応し、ブラウザ上でRISC-V版Linux(JSLinux)まで動かしてしまうTinyEMUをベースにしたコンパクトなエミュレーターrv32emuを使います。

いろいろ組み込みに便利なようにコア部分を分離するように改造した rv32emu を作りました。
emu-rv32i.h をインクルードし、下記のように使います。

#include "emu-rv32i.h" #include <stdio.h> int main(int argc, char** argv) { uint32_t start = 0; ram_start = 0; uint32_t end = 0xfffffffe; *(uint*)(ram + start + 0) = 0x00b50533; // ADD x10,x10,x11 *(uint*)(ram + start + 4) = 0x00008067; // JALR x1 pc = start; reg[2] = ram_start + RAM_SIZE; // sp - stack pointer reg[1] = end; // ra - return adderss reg[10] = 1; // a0 reg[11] = 1; // a1 while (machine_running) { next_pc = pc + 4; insn = get_insn32(pc); printf("[%08x]=%08x\n", pc, insn); execute_instruction(); pc = next_pc; if (pc == end) break; } printf("x10 a0: %08x\n", reg[10]); return 0; }

結果はこちら

x10 a0: 00000002

見事、x10に 1+1 の結果、2が入っていますね!
reg[10]やreg[11]の初期値を変えたり、他の命令をハンドアセンブルしてみたりと、いろいろ試してみましょう。

MacでRISC-Vの開発環境を入れるなら、Homebrewを使うと楽ですよ!

$ brew tap riscv/riscv $ brew install riscv-tools

links
- はじめてのマシン語 - IchigoJamではじめるArmマシン語その1

紙幣の図柄でも、情報教育を強くアピールする国、アフリカ、ルワンダ!

グローバル人材育成も大きなテーマである、福井高専未来戦略会議第二回。 日本財団の18歳意識調査、日本の将来が良くなると答えた率はなんとたったの9.6%! このまま日本の将来を「良くする!」と回答してくれる率を上げられなければ、日本の存続は難しいでしょう。

「拡大する世界、縮小する日本、薄れる国境」という局面において必要を増す外国語なはずですが、日本人の英語力は低下中。 現状の教育、変わらなくてはいけません。(日本の英語力、非英語圏で53位 世界ランク、前年から低下:時事ドットコム英語力向上、対策を 総務省が中高の教育で勧告 :日本経済新聞

グローバル人材育成の6ステップ
1. 小学校低学年、タイピングでABCにふれる
2. 小学校高学年、プログラミングを学び、オリジナルゲームづくり(かわくだりゲーム改造なら誰でも簡単!)
3. 作ったゲームを1分動画で紹介!(プレゼン力、コミュニケーション力を上げる取り組み、YouTuber体験)
4. 英語でも紹介してみよう!(まずは機械翻訳、かっこよく改造、英語/ALTの先生に見てもらって仕上げる!)
5. 非英語圏で、英語で学習する学校と相互交流、コメントを付け合ったり、ネットでつないで相互発表会実施
6. 共同プロジェクトをスタートする(英語で話せる仲間ができる!)

タイピングでABCにふれる
昨年から鯖江市内全小学校でスタートしているプログラミングクラブ(小4〜小6)。 IchigoJamを使ったプログラミング入門を終えたら、サンプルを打ち込んだり、改造したり、IchigoJamプリントに取り組んだり、おもいおもいの45分を過ごしています。 ある小学生は、AからZまでタイピングして時間を測る、こうそくタイピングを打ち込み、記録3.2秒!

ABCタイピング(for IchigoJam 1.3)

1 CLS:?"ABCDEFGHIJKLMNOPQRSTUVWXYZ":CLT:FORI=0TO26:LCI,0,1:I=I-(INKEY()!=SCR()):NEXT:T=TICK():?T/60;".";T/6%10

(RUN on IchigoJam web)

ABCタイピング(for IchigoJam 1.2)

1 CLS:?" ABCDEFGHIJKLMNOPQRSTUVWXYZ":CLT:FORI=1TO27:LCI-1,1:?" ^":I=I-(INKEY()!=SCR(I,0)):NEXT:T=TICK():?T/60;".";T/6%10

(RUN on IchigoJam web)

自分の作品を英語で紹介する
ステップ3以降は、小中高専のどの学年の学生でも自分のレベルに合わせて作品づくりをすればOK。単語や文法よりも大事なこと、それは伝えたいコト! 自分で作ったものを語れるのは自分だけ。Maker Faire Bay Areaなど、英語で話す機会が上達と自信につながりました。

ルワンダとのつながり

(photo by @rwanda_future)
英語は、世界中をつなぐ基本プロトコル、ユニークで多様な世界各国のおもしろい人とのインターフェイス。ものづくりの楽しさを広げてくれる便利な道具。 福井高専OBによる会社、ict4e企画のルワンダツアー2019ルワンダ未来の教育ラボでのワークショップの一コマが動画で紹介されてます。(ルワンダは公用語をフランス語から英語に変更)


ルワンダからも続報、届いてます!(アフリカのこども達に プログラミング by PCNルワンダ! – about yrm
日本とルワンダ、高専と世界、つなぎましょう!

IchigoJam Advent Calendar 2019」に参加!

IchigoJamは、画面表示と同時にシリアル信号をTXD端子から出力していて、RXDからの入力をキーボードと同等に扱うように作ってあります。

この機能を利用して、MIDI鍵盤や、サウンドとカラー拡張ボードPanCake、無線LANボードMixJuiceなどが動いていたり、PCと接続してキーボードとディスプレイ替わりになったりしています。(PC接続用のIchigoKamuyも!)

ただ、「画面には出したいけど、シリアル信号出力としては出したくない」や、逆に「シリアル信号は出力したいけど、画面には出したくない」など、ありますよね。 そんなときは、UARTコマンド!送信モードや、受信モードをいろいろ変更できます。

UART使用例)
画面には出したいけどシリアル信号出力しない UART0
シリアル信号は出力したいけど画面には出さない UART9
* 詳しい使い方は末尾参照

また、シリアル信号は出力したいけど、画面には出さない方法として、LC0,-1としてカーソルを画面外に設定する特殊な方法があります。 実はカーソル画面外設定時にINPUTコマンドで入力を受け付けると、変数領域(Yとか)を破壊してしまうバグが発覚!

LC0,-1:INPUT N:?Y

こちら、1.4b14にて修正を行いました。

合わせて、カーソルが画面外のときのエラーが表示されるように変更しています。
バグ修正版では、カーソルが画面外にある場合、"not match"のエラーとなります。

LC0,-1:A

画面にエラーが表示されず分かりづらかったのも改善!

IchigoJam 1.4β14
- LC0,-1で表示停止中のINPUTによるシリアル入力で一部変数が破壊される不具合を修正(Not matchエラー)
- LC0,-1時にエラーが表示されるよう変更
- VER(4)で1秒のTICK数を返す(PALの時50)
- PAL版を同梱
- LRUN3でキーボード切り替えプログラム内蔵版を同梱(-withexchg) *既存ユーザーファイルは消えます
- @ARUNに対応(ap/wasm)
- RESET時に入出力状態がリセットされない不具合を修正(ap/wasm)

UART 数1{,数2}

数1:シリアル出力設定
0:出力オフ
1:PRINT出力
2:PRINT出力+制御コード出力(LC/CLS/SCROLL) - (初期値:2)
3:PRINT出力+改行コード\r\n化
4:エコーバック出力
5:エコーバック出力+PRINT出力
6:エコーバック出力+PRINT出力+制御コード出力
7:エコーバック出力+PRINT出力+改行コード\r\n化
8:画面表示OFF+出力オフ
9:画面表示OFF+PRINT出力
10:画面表示OFF+PRINT出力+制御コード出力
11:画面表示OFF+PRINT出力+改行コード\r\n化
12:画面表示OFF+エコーバック出力
13:画面表示OFF+エコーバック出力+PRINT出力
14:画面表示OFF+エコーバック出力+PRINT出力+制御コード出力
15:画面表示OFF+エコーバック出力+PRINT出力+改行コード\r\n化

数2:シリアル受信設定
0:入力オフ
1:入力オン - (初期値:1、省略時)
2:ESC無効
4:CR変換 (13→10)
6:ESC無効+CR変換

新MIDI音源、NTS-1を気軽に鳴らすキーボードがほしいけど、最近のMIDI出力付きのキーボードの安価なものはUSBばかり。
ないなら創ってしまいましょう!IchigoJamでつくる、簡易MIDIキーボード。

ちょうどいい場所にある、キーボードの「C」を「ド」とした、半音階対応のMIDIキーボード。
1から9キーでオクターブの変更にも対応!

10 BPS31250:UART0:S="AZSXCFVGBNJMK,L./:\]" 20 FORI=0TOLEN(S)-1:[ASC(S+I)]=8+I:NEXT 30 O=4 40 K=INKEY():IF !K CONT 50 IF K>48 AND K<58 O=K-48 60 T=[K]:IF T T=T+O*12:UART1:?CHR$(#90,T,60);:WAIT5:?CHR$(#90,T,0);:UART0 70 GOTO40

離したことが検出できないので、伸ばす長さはプログラムで固定対応(WAIT5)なところが簡易版。


NTS-1と接続して、いろいろ演奏、楽しめます!


在庫ありなeVY1も3本ジャンパー線でつなぐだけで使えます!(eVY1のつなぎ方

エレクトーンや、電子ピアノなど、お手持ちのMIDI音源につないで遊んでみてください。
IchigoJam用MIDIインタフェース基板キット: 組立キット 秋月電子通商 電子部品 ネット通販」もどうぞ!

動画で弾いていたのは、ジングルベル。
IchigoJam Advent Calendar 2019 - Qiita
今年もスタート、クリスマスまでのお楽しみ、IchigoJamアドベントカレンダー、どうぞ気軽にご参加ください!

令和元年11月に発売、1万円ちょっとの楽しいMIDI音源「NTS-1 by KORG」を、早速IchigoJamにつないで鳴らしてみました!

音階をランダム演奏!
MIDI INが、ステレオジャックなのでIchigoJamと接続するケーブルを電子工作。


楽しみだった、KORGのMIDI音源、NTS-1 digital kit、到着!


ネジ止めだけの簡単キット!ドライバーも付属!まずは大きな基板をパキッと割ります。


メイン基板、四隅もパキッと割ります。
NTS-1のCPUはSTM32、Arm Cortex-M4 180MHz Flash512KB RAM128KB 別途DRAMも実装


まずは金属製のシャーシをネジ止め、2セット


底板を黒いネジでネジ止め


鍵盤に当たる部分、裏面のシールを剥がして、曲がらないようにきれいに貼り付け。


裏側に通して挿し込み、プラスチックの飛び出した部分を押し込んで固定!
操作パネル側のコンピューターはSTM32F030、IchigoJamと同クラス、Cortex-M0 48MHz


メインの基板と操作パネルは電子工作でおなじみ、ピンヘッダーとピンソケットで接続!仕様が分かれば直接いじることも可能!?


CN2B端子、I2Cで接続できそう!


最後に、前面と後面のパネルをネジ止めしてできあがり!


ネジは予備がある模様、余ってOK!モバイルバッテリーなどを付属のmicroUSBケーブルとつないだら、すぐ鳴らせます!

MIDI IN端子を使って、IchigoJamからコントロールしてみましょう!

ステレオミニジャックと小さな基板、ピンソケットを準備。
(基板なしで、ケーブルを解いて、直接はんだ付けしてもOK!)


裏面、GNDとLとRに当たる部分をピンソケットに接続しています。


ステレオミニジャックのブレイクアウトボードができあがり


ステレオジャックとIchigoJam、先端の部分にTXD(Sink/Tip)、真ん中(Source/Ring)にVCCを接続。
(MIDIのステレオジャックの仕様:MIDIのTRS接続規格化 | g200kg Music & Software


ステレオのケーブルでつないだら、あとはプログラムするだけ!

10 BPS31250 20 A=RND(30)+50:?CHR$(#90,A,50) 30 WAIT30 40 ?CHR$(#80,A,0); 50 GOTO20

デフォルトはチャンネル1、50から79のランダム音階を0.5秒毎に鳴らしています。
(MIDI仕様など、ダウンロード | NTS-1 digital kit | KORG (Japan)

音色もMIDIで自在に変更できそうなので、いろいろと遊べる予感!

見つけた、楽しそうな動画!

links
- NTS-1 on Amazon (11,000円)
- NTS-1 digital kit - PROGRAMMABLE SYNTHESIZER KIT | KORG (Japan)
- リアルなサウンド!IchigoJamとMIDI音源でドラムマシーン - Eyes, JAPAN Blog
- MIDIキーボードをIchigoJamにつないで明和電機ごっこ!?
- 1万円で買えるKORGの小さなシンセ・NTS-1に、世界中で開発されるオシレータやエフェクトを組み込んでみた | | 藤本健の "DTMステーション"

プログラミングの楽しさ広めたい。今日は大人向け、福井経済同友会にて講演。

タイトル「創造的IT人材育成計画 〜福井から世界へ〜」
ご参加いただいたみなさま、ありがとうございました!

IoT、AI、DX・・・、日に日に危機感高まる中、イチオシのはじめのいっぽは「自分で作るIT、プログラミング!」
ひとつ自宅用IoT、創ってみました。

温度計がついたTEAM HokkaidoのボードをIoT対応のIchigoJam、IchigoSodaへ接続します。


起動したら、さくっと1行プログラムを書いて、SAVE0で保存。

1 IOT.OUT ANA(2):WAIT60*60:CONT SAVE0


あとは、ボタンを押しながら起動したら、1分に1回、温度計のアナログデータをsakura.ioのクラウドに送信するIoT温度計のできあがり!
キーボードや、ディスプレイは外してしまってOK!


いつでもどこからでもスマホから、自宅内のネコハウス内の温度がリアルタイムに分かるようになりました!


「ネコハウスIoT温度計」
温調付きの小型オイルヒーターで温めてますが、放っておくのはちょっと心配。異常温度を感知したら100V電源を切る機能とかあると安心できそう。

欲しいものは創る。創ってみないと見えないものと、創ってみないと身につかないもの。
ものづくりの醍醐味です!
大人向けのIoTプログラミング講座からはじまる、地域ICTクラブとこども実業団!

越前がにロボコンの横展開企画「加能ガニロボットコンテスト」は、12/26午前、金沢で開催です!
同日開催「第5回こどもプログラミングサミット」もどうぞ!

8才で初めてパソコンとプログラミングに触れたインパクト、30年以上経っても覚えてます。


Twitterで見かけた、こちらのネズミさん!見覚えあり!
せっかくなので、IchigoJamで再現してみました。


スプライトの替わりに、絵文字を自分でパターンを書き換えるPCGを利用します。(RUN on IchigoJam web)
16bitまとめて2進数で代入できる配列を使うと、0と1とでお絵かき簡単!
POKEコマンドで、メモリに書き込み、表示してみましょう。ALT+0〜3を使っても打ってもOK!


かわいい!

>
ゲームやツールへの組み込みや投稿などで、プログラムを短くしたいときは、メモリの内容をPEEKで読み取り、POKEコマンドを使ったプログラムを生成すると便理です。

50 ?"10 POKE#700";:FORI=0TO31:?",";PEEK(#700+I);:NEXT:?

CLPでパターンを消したりして遊んでみましょう!
好きな場所にこの4文字使った16x16の大きなパターンを表示する場合、上下左右のキーコードを使って、次のようにも作れます。

LC15,12:?CHR$(224,226,28,28,31,225,227)

自分なりに納得いくまであれこれ試して動かして遊んでみるのが上達の近道!
学び方を学んでほしい。こどもパソコンIchigoJamに込めた想いです。


本日京都で、大人向けプログラミングと、IoTプログラミングの講師育成講座!
会場は、aeru gojoの上、糸の老舗、糸六さんのステキなレンタルスペース。


逐次実行、繰り返し、変数、条件分岐がシンプルに体験できるゲームづくりは、アルゴリズム入門に最適!


作ったゲームを1コマンドだけ改造して、IoT化!
IOT.OUTの次は、IOT.IN()を使って家電制御の模擬実験!自分のスマホで体験するのがポイントです。


体験、ありがとうございました!本スライドはオープンデータ。数回復習すれば、もうIoT入門講師はできるはず!
IchigoJam x sakura.io IoTプログラミングはじめのいっぽ gojo ver.


京都で進む、アートのエンジニアリングの融合文化づくりプロジェクト、KYOTO STEAM 事業創発部会!
KYOTO CULTIVATES PROJECT KYOTO STEAM 基本計画
当時の自分におもしろいものを伝授してくれた、30年前の大人に感謝です!

次の30年、そして、1000年続く創造文化に向けて、私達にできることとは?
2/13 京都で、再び作戦会議、ご興味ある方、お声がけください。


Rwandan Children to benefit from Japan computers and robot programming tool kits – Rwanda inspirer
アフリカ、ルワンダでも IchigoJam!
アフリカのこども達に プログラミング by PCNルワンダ! – about yrm
続報も届いた様子!

パソコンとスマホ、どちらが入力速いですか?

日本人、実はスマホ派の方が多いのかもしれません。 実際、日本語入力であれば、フリック入力方式と変換予測と慣れによって、あまりストレスなく使えています。(編集機能が貧弱なので、長文はまだ面倒)

パソコンとスマホのいいとこ取りをすべく、スマホでコントロールするパソコン第一弾、シンプルなプレゼンクリッカーを作成。

キー操作や、マウス操作をプログラミングするAPIをネット越しに呼び出せばOKです。今回はサーバー側は Python3 + Flask で作りました。 pyautogui を使うと、Javaで言う java.awt.Robot と同様、キー操作、マウス操作をエミュレートできます。

from flask import Flask, render_template app = Flask(__name__) @app.route('/') def home(): return render_template("index.html") import pyautogui @app.route('/api/left') def left(): #pyautogui.click() pyautogui.keyDown('left') return "" @app.route('/api/right') def right(): #pyautogui.rightClick() pyautogui.keyDown('right') return "" app.run(host = '0.0.0.0', port = 8001)

templatesフォルダに、操作するクライアント側プログラムを HTML+CSS+JavaScriptで以下のように記述。

<!DOCTYPE html><html lang="ja"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width"/> <title>clicker</title> </head><body> <div class=btn id=left>←</div> <div class=btn id=right>→</div> <style> body { text-align: center; font-family: sans-serif; } .btn { display: inline-block; margin: 5vh 1vw; width: 40vw; height: 50vh; line-height: 50vh; background-color: gray; color: white; font-size: 30vw; } </style> <script> left.ontouchstart = function(e) { fetch('api/left') e.preventDefault() } right.ontouchstart = function(e) { fetch('api/right') e.preventDefault() } </script> </body> </html>

パソコンとスマホを同一ネットワーク内で起動して、IPアドレスを ifconfig (Mac) か ipconfig (Windows) で調べて、スマホで表示してみましょう(QRコード連携が便利です)

スライド表示して、スマホから左右ボタンを遠隔操作できました。
機能を増やしたり、マウス替わりにしてみたり、WebSocket化して高速化したり、いろいろ試すベースができあがり!

Q. なぜ今、プログラミングが必要か?
A. 社会が必要としている創造力を、最も簡単に鍛える方法だから。

DNA - 二重螺旋VR」 (OculusQuest推奨、PC、スマホでもOK!)
VR空間上にそびえ立つ、世界でも珍しい構造物「さざえ堂」と同じ16.5mの二重螺旋を体感するWebVRアプリ

一日一創の思考:今日は何創ろう? → 高専の授業で活用できそうなもの? → 武生高校で化学やった → かっこいい分子構造と言えばDNA、二重螺旋 → Wikipediaに気になるリンク、会津さざえ堂 → なんと階段が二重螺旋構造になっていて登って降りる入口から出口までが一本道! → そういえば、会津行く予定あり → これは創っておかなくては! → 高さは16.5m、VRで二重螺旋を再現! → プログラミング → デバッグ・調整 → 完成!

let th = 0 let xz = [ 0, 0, 0, 0 ] for (let y = 0; y < H; y += DY) { for (let i = 0; i < 2; i++) { const nth = th + i * Math.PI const x = OX + Math.cos(nth) * R const z = OY + Math.sin(nth) * R const obj = document.createElement('a-sphere') obj.setAttribute('scale', BR + " " + BR + " " + BR) obj.setAttribute('position', x + " " + y + " " + z) scene.appendChild(obj) xz[i * 2] = x xz[i * 2 + 1] = z } th += DTH const line = document.createElement('a-entity') line.setAttribute('line', { start: xz[0] + " " + y + " " + xz[1], end: xz[2] + " " + y + " " + xz[3] }) scene.appendChild(line) }

肝の二重螺旋プログラム!HTML+JavaScriptの全文でもたった36行(src on GitHub)

プログラミングという、ものづくりに効く、二重の積み上げ。

1. 使ったスキルを再利用できる(スポーツなど、通常の学習と同様)
2. 創ったプログラムを再利用できる(自分のものだけでなく、ネットにつなげば世界中の作品も対象に!)

なので、創れば創るほどに創れる幅が広がり、速度が増します。
つまり、する人としない人と差は広がり続ける。

ネットを共同創造の場と見れば、世界中のプログラムを再利用して、自分だけのものづくりに活用可能という天国!
(PythonやAIが有名ですが、それに限らずVR/IoT/DNAプログラミング言語など、あらゆる分野に存在します)

この楽しすぎる環境を、こどもたちに伝えずにいられずにいられません。

日本中、世界中に積み上がる社会課題、すべてに創造的な解決策が必要です。正解はもちろんありません。
DX(デジタルトランスフォーメーション)という言葉、未来を担うDN(デジタルネイティブ)にどう映るのか?


福井高専の田村校長はじめ先生と一緒に、高専と福井、日本と世界の未来について語り合い。
高専生が母校へいってプログラミングを伝え、越前がにロボコン、こどもプロコンを目標に、育ち、福井高専へ。
教えることで学生の技術力が上がり、地域産業界から実践の場を提供することで、磨かれ、活きて、好きになる。
自分にしか語れない英語フレーズをゲットして、タイ高専、ルワンダ、ケニアの学生やこどもたちに伝えよう!

正解があり、失敗が許されなかった時代は終わり
正解がない、いかにたくさん失敗したかを競う時代が始まっています

無限に失敗できるコンピューター環境を自在に操るプログラミング、もちろん大人だって遅くはありません。
世界最高齢83歳プログラマーが現役のワケ | ワークスタイル | 東洋経済オンライン | 経済ニュースの新基準


クラウド環境活用 IoTワークショップ / 現場ですぐ試せる 手づくりIoT講座」(post on FaceBook)
大人向けのステキなイベント発見!
三重県版のディスプレイ一体型IchigoJam「IchigoBoyPocket」を使ったIoTプログラミング講座!

福井でもどんどんいきましょう!

links
- 母校の小学校でプログラミングを教える福井高専生! SINを使った敵生成アルゴリズムとMacのスクリーンセーバー
- ディープラーニングを使ったオーラルケア、福井高専チームが優勝! 北陸イノベーショントライアル HIT2019 - 写真整理にもプログラミング!
- 高専に集まる地元小中学生! プログラミングと電子工作とIoT、県大会のススメ、仙台高専で初開催「みやぎプロコン」動画まとめ
- ブラタモリで注目!「会津さざえ堂」はダビンチも創れなかった不思議な二重螺旋迷宮? | 福島県 | LINEトラベルjp 旅行ガイド

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