福野泰介の一日一創 - 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!

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

グローバル人材育成も大きなテーマである、福井高専未来戦略会議第二回。 日本財団の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
続報も届いた様子!

金沢と言えば金箔!国内生産シェア99%と、鯖江近辺のメガネ以上!(* 金沢箔技術振興研究所より)

金沢駅内のお店「カフェ・アルコ スタツィオーネ」で買える金澤箔ソフト!銀箔もシェア100%!

そんな金澤の金箔に危機が!?

〜ミッション〜
ある日、金沢で金がとれなくなってしまった!
正義の味方「加能ガニロボ」よ!月まで行って金をとって来てくれ‼
加能ガニロボットコンテスト ルールより
ということで、金沢の将来、こどもの手にかかってます!


参考に、こちらは福井県福井市で開催された、越前がにロボコン2019での、高学年部門、決勝動画!


カニだけに横展開して、今年は金沢でも開催、加能ガニロボットコンテスト!
本日の実行委員会にて、ロゴデザイン、役割、当日進行が決定!かわいいロゴ、公開、お楽しみにっ


会場はまちなか、金沢駅から徒歩15分、近江町市場すぐそば!(加能ガニを予習)


創ろう、プログラミングで未来を創るこどもたち!

12/26(木)は金沢へ!
加能ガニロボコン(午前)
第5回こどもプログラミングサミット(午後)


IchigoJam ap / webも、自動起動に対応!(@ARUN、apはコントロールキーを押しながら起動にも対応予定)
LED1、LEDの代わりに、IchigoJam ap / web では、画面の枠が反転(液晶画面の明かりはだいたいLED)

IchigoJam 1.4では、@ARUNを先頭に加えてファイル0に保存で、ボタンを押さなくても自動起動!

1 @ARUN 10 LED1:WAIT10 20 LED0:WAIT10 30 GOTO10

カニロボなど、ロボットや、デバイス、キラキラ飾り付けにどうぞ!

先日レビューしたパソコンに挿すだけ簡単「IchigoKamuy」のキット版をsyushu社長の太田さんより直接入手!

組み立てからエルチカロボづくりまでを一人称視点動画で紹介!(撮影 by 録画できるメガネ meganerec
途中で、はんだづけする部品を間違え、はんだ吸い取り線でリカバリー、完成後、シリアル通信を使ってプログラム!


IchigoKamuyと電池式モバイルバッテリーによる、エルチカロボ!


こちらが、IchigoKamuy(イチゴカムイ) 組立てキット

組み立て方の基本は、IchigoJamと一緒!

はんだごて、はんだ、ニッパーを用意しましょう!


手順毎に使う部品が、マスキングテープで留めてある!とっても親切設計なIchigoKamuyのくみたて方!

低い部品から順番に、取説を読みながら、見つけて、挿し込んで、はんだづけ。

はんだづけ4ステップ、あたため、とかして、はんだはなして、コテはなす!


動画で確認、はんだづけ!


できあがり!
パソコンをすでに持っている人にオススメです!(他にモニター、キーボード、電源を用意する必要がありません)


syushu社長の太田さんと! 札幌開催、Kita-Tech 2019にて


Ichigokamuy(イチゴカムイ)、かわいい公式サイトもオープン!


かわいい、いちごファミリーが増えました!

links
- Ichigokamuy(イチゴカムイ)公式サイト
- PCに挿すだけ簡単IchigoJam、USBシリアル内蔵「IchigoKamuy」先行レビューとβファームウェア1.4b10

Kita-Tech明けの午前中は、KidsVenture、はじめてのIoTプログラミング!

楽しい時間、ありがとう!
スライドはこちら「はじめてのIoTプログラミング Sapporo SP(src on GitHub)」
復習にどうぞ!誰かに教えてあげる時にもぜひご活用くださいっ


札幌、今回の会場は、KidsVentureメンバー企業、ビットスター!


キーボード使うのが初めてでも大丈夫!


すぐに慣れて、みんな早く打てるようになっちゃいます!


Kita-Techでプレゼンした、小学生チームも参加してくれました!
中でもメインプログラマーの子、キーボード打つのがめっちゃ速い!


かわくだりで使うIchigoJamコマンドを使った、お題文章を速く打つタイプのタイピングゲームを作ってみました。
表示される数は、1分間あたりのタイプ数。426タイプ/分が、私の参考記録(IchigoJam web + Dvorak配列)

10 S="LED1:WAIT180:GOTO1:CLS:LC X,5:?RND(32):X=X-BTN(28):IF SCR(X,5) END" 20 CLS:LC0,0,1 30 ?STR$(S):?:CLT 40 FOR I=0 TO LEN(S)-1 50 IF INKEY()!=ASC(S+I) CONT 60 ?STR$(S+I,1); 70 NEXT 80 ?:?100*LEN(S)/(TICK()/6)*6

・・・でもこの記録、小学生にすぐ抜かれてしまいそう!


休憩時間も、PCN仙台直伝のキラキラ&音声合成プログラミングに夢中!


こちらも人気、KidsVentureの人気プログラム、ボタン連打によるリレー!

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