IchigoJamで使えるお手軽浮動小数点数FP15、せっかくなので四則演算を用意します。 有効桁2桁ですが、Googleの語源となったグーゴルシャノン数もカバーする10の127乗から、2022年制定予定のクエクトよりはるかに小さい、小数点以下126コ続く10の-127乗までのダイナミックレンジを、16bit/2byteで表現できます。

使い方は簡単、変数のAとBに、指数を上位に、仮数を下位にセットし、ライブラリを呼び出すと、変数Cに計算結果がセットされます。

10 ?"A=A-A*0.99" 20 A=6<<8|100 30 B=-2<<8|99:GSB@MUL 40 B=C:GSB@SUB:GSB@PUT:? 50 A=C 60 GOTO 30

20行、100x10の8乗、つまり、100億をAにセット。
30行、99x10の-2乗、つまり、0.99をBにセットし、掛け算ルーチン(@MUL)を呼び出し。
40行、計算結果CをBにセットし、A-B、引き算ルーチン(@SUB)を呼び出し。
50行、計算結果CをAにセットし、繰り返し!
→ 100億から小さな小数まで計算できました。

これを実現するプログラムは以下の通り

100 @PUT 110 E=C&#FF00/256:D=C<<8/256 120 IF E=0 ?D;:RTN 130 IF E>0 ?D;:FORI=1TOE:?"0";:NEXT:RTN 135 IF D<0 ?"-";:D=-D 140 IF E=-1 ?D/10;:IF D%10 ?".";D%10;:RTN ELSE RTN 150 IF E=-2 ?D/100;:IF D%100 ?".";:GOTO170 ELSE RTN 160 ?"0.";:IF E<-3 FORI=4TO-E:?"0";:NEXT 165 ?D/100;:IF D%100=0 RTN 170 ?D/10%10;:IF D%10=0 RTN 180 ?D%10;:RTN 200 @MUL 210 C=A&#FF00/256+B&#FF00/256 220 D=A<<8/256*(B<<8/256) 225 F=0:IF D<0 F=1:D=-D 230 IF D>>7 C=C+1:D=D/10:CONT 235 IF F D=-D 240 C=C<<8|D&255:RTN 300 @DIV 310 C=A&#FF00/256-B&#FF00/256 320 D=A<<8/256*100/(B<<8/256):C=C-2 325 GOTO225 400 @ADD 410 C=A&#FF00/256:D=B&#FF00/256:E=C-D 415 F=1:F=1:IF ABS(E)>0 FORI=1TOABS(E):F=F*10:NEXT 420 IF E>=0&&E<3 C=D:D=A<<8/256*F+B<<8/256 421 IF E<0&&E>-3 D=A<<8/256+B<<8/256*F 422 IF E<=-3 C=D:D=B<<8/256 425 GOTO225 500 @SUB 510 B=B&#FF00|(~B+1)&255:GSB@ADD:B=B&#FF00|(~B+1)&255:RTN

@PUT 指数に合わせて0をたくさん並べて、普通の数として表示するプログラム
@MUL 掛け算プログラム、指数は足し算、仮数は掛け算して有効桁を調整
@DIV 割り算プログラム、指数は引き算、仮数は100倍してから割ることで有効桁を確保
@ADD 指数の差を調整して足し算、指数の差が3以上は無視
@SUB 足す数の符号を反転して足し算、再び符号を反転してBの値は元に戻す

昔はよく分かっていなかったMSXの浮動小数点数、改めて仕様を確認すると、指数が10のn乗を使っていて親近感。仮数は4bitで10進数1桁を表現するBCDが使われてました。

有効桁2桁では足りない?配列2つを指数と仮数で使った、浮動小数点数の実現は、IchigoJam BASICでも実装できそうですね(掛け算、割り算に一工夫必要です)。ぜひチャレンジしてみてください!

0か1かで記録し計算するコンピューター。片手で31まで数える指二進法のように、2進法で整数は表現できますが、小数はどうするといいでしょう?

コンピューターにとってはただの0か1、人間がどう捉えるかだけの問題です。123という数を1.23と読み替えて、表示で工夫するだけです。

N=123 ?N/100;".";DEC$(N%100,2) 1.23

常に100倍して、下から2桁目が小数点と固定する方式、これを固定小数点表現と言います。

小数点の位置を数とセットで持っておけば、大きな数から小数点以下0がずっと続く、絶対値が小さな数まで表現できます。 これを浮動小数点表現と言います。

現代の一般的なコンピューターでは32bitの浮動小数点数が多く使われていますが、精度を落とした16bitのfloat16もメモリと時間を節約できるのでAIやCGなどで活躍中。

16bitと言えば、IchigoJamの変数の単位と一緒ですね!ただ、仕様に従って符号1bit、指数(小数点位置)5bit、仮数10bitのfloat16をそのまま実装するの、掛け算時のオーバーフロー処理などちょっと大変なので、指数部と仮数部を8bitずつ、しかも指数部は10進法で扱う「FP15」という勝手な規格で作ってみました。

日本の人口、1.26億人は、126 x 10の6乗なので、上位8bitに指数部6、下位8bitに仮数部126を入れて、6<<8|126 と表現します。仮数部はプラスマイナス127まで使います。(マイナスを入れる時は、A=6<<8|-126&255)と8bitに収めることを忘れずに!)


こちら仮に、人口減少率を大げさに3%(x0.97)として、シミュレーションした結果です。(昨年の実際の減少率は0.22%だったとのこと)

こちらがFP15の掛け算を含む、人口減少シミュレーションプログラム

5 Y=2020 10 A=6<<8|126:N=A:GSB@PN:?" A" 20 B=-2<<8|97:N=B:GSB@PN:?" B" 25 ?"Year ";Y;" P:"; 30 GSB@MULAB 40 N=C:GSB@PN:?" C=A*B" 50 A=C:Y=Y+1 60 GOTO 25 100 @PN:E=N&#FF00/256:M=N<<8/256:?M;"e";E;:RTN 200 @MULAB 210 C=A&#FF00/256+B&#FF00/256 220 D=A<<8/256*(B<<8/256) 225 F=0:IF D<0 F=1:D=-D 230 IF D>>7 C=C+1:D=D/10:CONT 235 IF F D=-D 240 C=C<<8|D&255:RTN

最近のCPUには、浮動小数点を計算する回路も含まれていて、超高速にやってくれますが、その実態を理解するには、プログラムで作って触ってみるのが一番です!

大人もこどももプログラミングを楽しく優しくオンラインで学べる、福井高専の先輩、ちっひーの講座、スタート!

ちっひー先輩によるオンラインプログラミング教室、開校! こどもも大人も親子でも! 誕生日もおめでとうございますー

福野 泰介さんの投稿 2020年9月1日火曜日

IchigoJam、はじめてのプログラミングから、深く楽しいコンピューターサイエンスまで、いろんな形でご活用ください!

IchigoJamで使うキーボードは、PS/2に対応したものが必要です。対応していたはずが、動かない現象が発生。原因が判明したので、その対策を紹介します。

結論、10kΩ前後の抵抗1つ、5VとKBD1またはKBD2に接続することで動きます。


サンワサプライのPS/2対応キーボード「SKB-KG3BKN」と色違い「SKB-KG3WN」は、サイズ感がいい感じ。 販売価格もAmazonで、1,255円と手頃な価格もうれしい。


改めて入手し、確認したところ、キーボードのLEDが全く反応しない状態。 自宅のPCをよく見ると、PS/2端子ありました。


PS/2キーボードとしての動作は確認できたので、通信プロトコルの間違いや、初期化のタイミングなどを探ります。


プログラムをいろいろと変えてみましたがどうやっても動かず、KBD1またはKBD2を5Vと抵抗10kΩを使ってプルアップし、信号の5V化を試したところ動きました! ただ、ソフトウェアだけでは対処できないので、残念ながら現在の基板では対応とは言い難い状態。


抵抗の両端、少し切るとコンパクトに収まります。


5V端子は別で使いたい場合、裏面にはんだづけするといいです。CN5の一番上5VとKBD1かKBD2へ10kΩの抵抗でつなぎます。 (他のピンに当たってしまわないように注意!)


はんだづけ、完了!


IchigoSodaも、10kΩ抵抗1つでこの通り、動きました。
抵抗は、100本で100円、プルアップ抵抗としてもよく使うので、この際100本、いっちゃいましょう!

links
- PS/2キーボードが無くならない3つの訳、IchigoJamの対応キーボード拡大!

オンライン講演や、オンラインミーティングが多いので、自撮りライトを作ってみました。

余っていたリング状のWS2812BのLEDがぴったりでした!IchigoJamで制御、簡単!


WS2812BのIN側にL字ピンヘッダーをはんだづけし、PCの縁に引っかかるようペンチで曲げて、3本の線をはんだづけ。


GND、LED、5Vに接続します(VCCでも動きますが、輝度の上げすぎ注意です)


LET[0],100,100,100:WS.LED 1,12

これで12コぜんぶ白色で点灯します!(IchigoJam 1.4 WS.LEDコマンド使用)


夜間の室内、色温度が合わないときはRGBのバランスを調整しましょう。


ゲーミング仕様も色相環プログラムを使って、簡単実現、自由自在!

作ってみたい人 → "WS2812B リング" on Amazon

色設定可能自撮り照明プログラム (ボタンで輝度調整、キーボード1/2/3でRGBで色温度など調整)

10 S=30:N=S*5:R=100:G=100:B=100 20 GSB200 40 IF BTN()=0 K=INKEY():IF K GSB100:CONT ELSE CONT 50 N=N+S:IF N>255 N=0 60 IF BTN() CONT 70 GOTO 20 100 IF K=ASC("1") R=R-10:IF R<0 R=100 110 IF K=ASC("2") G=G-10:IF G<0 G=100 120 IF K=ASC("3") B=B-10:IF B<0 B=100 125 GSB200 130 RTN 200 LET[0],N*G/100,N*R/100,N*B/100 210 WS.LED1,12 220 RTN 300 CLV:WS.LED1,12

ゲーミングセルフィーライトプログラム (V:最大輝度、L:周期)

10 CLV 20 V=100 30 L=20 40 R=V/L:[1]=V 50 [H/L%3]=ABS(H/L%2*(L-1)-H%L)*R:H=(H+1)%(6*L) 60 WS.LED1,12 70 WAIT3 80 GOTO 50

色相環ぐるぐるライトプラグラム (V:最大輝度、L:周期、N:LED数)

10 CLV 20 V=100 30 L=20 35 N=12 40 R=V/L 50 [H/L%3]=ABS(H/L%2*(L-1)-H%L)*R:H=(H+1)%(6*L) 60 WS.LED12 65 COPY#800+N*2*3-1,#800+(N-1)*2*3-1,-(N-1)*3*2 70 WAIT3 80 GOTO 50

links
- BASICプログラム1行で色相環!20分で作るアキバエモメガネでアガるパーティー

今日はダブルヘッダー、京都オープンソースカンファレンスと、福井発の起業家創出を目指す NEW LOCAL FUKUI。共にオンライン登壇なので移動時間0! コロナ禍、世界中のどんなイベントにも参加し放題です。


(追記、OSPN.jpより、当日の講演動画が公開されました)

大切なのは自分の中の熱い想い。何をやりたいか、そのために何を創る必要があり、自分はどんな役割を果たし、足りないものは何か。 すべては始まりは「想い」です。好きなもの、気になるものを突き詰めてみるもよし。SDGsに代表される世界中で解決すべき地域の課題から、ビビッと来るものを選ぶもよし。 人と違ってOK、むしろ多様であるほど社会にプラス!


小中学生向けプログラミングコンテスト、PCNこどもプロコンと共に、小学4年生の好きな作品「おかあさんのスマホ使いすぎを防止するマシーン」を紹介。 もっとかまって欲しいお年頃、スマホばかり見ている母親を見た寂しい想いを形にする、新しい伝え方。

特に「何か」が思い当たらない人や、好奇心旺盛なこどもにオススメしたいのがプログラミング!プログラミングは、オープンデータや、さまざまなツール、ライブラリ、APIを使って、いろんな作品を創造可能な便利で技です。 まずは安くてネットにつながっていない誰にも迷惑かけ無いことが保証された、安心安全なIchigoJamでシンプルにはじめてみましょう。おもしろさにハマった人は、深く広いコンピューターの世界を自由に遊び回りましょう。


BASICからオールマシン語まで、オープンデータとIchigoJamで創るプログラミング教育 - セミナープログラム - オープンソースカンファレンス2020 Online/Kyoto
資料はこちら(20200829-IchigoJam-kyoto-osc.pdf)です。 1996年の経団連の提言「創造的な人材の育成に向けて~求められる教育改革と企業の行動~」、今こそ行動の時!

今年のjigインターン生から、ボードゲームはオンラインでの人と人との距離をぐっと縮めるステキなツールだと学びました。 サイコロ5つを振って、役を作って点数を競うゲーム「ヤッツィー」。遊んでみると確かにいい!自然と会話がはずみ、行動から人となりが見えてきます。

IchigoJamで、サイコロ5つを揃える快感を味わうゲームを作ってみました。


まずはサイコロのデザイン。左上に絵を描いて、プログラムで絵文字にしてみます。これはサイコロ1のつもり。

10 LET[0],0,#BA,#101,#111,#145,#155,#16D:FORI=0TO6:A=#700+I*8:COPYA,#700,8:N=[I]:M=#82:POKEA,#7C,M,N>>6<<3|M,N>>3&7<<3|M,N&7<<3|M,M,#7C:NEXT 20 FORI=0TO6:?CHR$(224+I);:NEXT

1〜6までを枠の中3x3の9ドットで表現することにします。配列に1〜6までのパターン記録し、プログラムでパターン生成。 単純なデータにしてもいいですが、写経するならデータより、プログラムの方が楽しく、打ち込めますよね!20行でテスト表示。

?CHR$(225+RND(6))

これでサイコロがビジュアルにふれます!


残念、サイコロの目、揃わず、ノットヤッツ...
キーボード、1から5のキーを押して、振り直すサイコロを選び、エンター。振り直しは1ゲームに3回まで。全部のサイコロの目をできるだけ早く揃えましょう!


35回目のトライでようやく揃って、YATZ! ゲームクリアです!


プログラムはこんな感じ。1画面に収まりました。全部揃う以外の役の判定をいれたり、対戦ゲームにしたり、いろいろと改造して遊んでみましょう。 コピペですぐ遊べてしまっては学習にならないので、今回はソース添付なし。Let's 写経!


NEW LOCAL FUKUI のオンライン講演。次世代のリーダー、イノベーターを生み出す要、Hana道場! これをやりたい!一人じゃできないから誰か手伝って!強い想いを持った人がリーダーとなり、何かやってしまった人がイノベーター? 大人も子供もみんなで楽しく学ぶ、Hana道場モデルを、世界中に創って0距離でつなぎたい!


新しい福井を創る試みは、キックオフしたばかり。ものづくり王国、福井。チャレンジする人は増えるほどにおもしろい! なにかつくってみたい人、つくってみた人におすすめイベント10/3-4土日開催、NT鯖江2020、入場も出展も無料です! ステキスポットSCCの見学も合わせてぜひどうぞ!

オンライン、オフラインで進むプログラミング教室。シンプルに学べるオープンソースでオープンデータ教材「IchigoJamプリント」に続々プルリク。 新しいプリントが増えています。


はなをえがこう - DRAWFLOWER
IchigoJam 1.4 の新コマンド三角関数、SIN/COSを使った短く、インパクトある作品!
「やってみよう」他、いろいろいじって遊んでいるうちに、三角関数が好きになっちゃうかも?


IchigoJamプリント on GitHub
現在貢献者は12名。GitHubでのオープンソースプロジェクト参加入門にも気軽にお使いください。(33ステップ解説記事)


IchigoJam BASIC 1.4 コマンド一覧
ハッシュ付きリンクで、ページ内リンクに対応。例えば、こうして、DRAWコマンドへ!
PCやスマホと共に使う IchigoJam BASIC リファレンス としてどうぞ!
(aタグ、ページ内リンク、非推奨のname属性をidに変更)


IchigoJamのつぎのいっぽ、JavaScriptでwebアプリづくり!
Deno x Serverst x JavaScriptの続きは、WebSocketを使ったリアルタイムweb。
comming soon! (待ち切れない人は src on GitHub をどうぞ)

IchigoJamでプログラミングが分かってきたら、MacやWindowsやLinuxなど、本格パソコンとつないで、できること増やそう!


用意するのはこちら
- パソコン(Mac / Windows / Linux)
- IchigoJam (or ピンソケット付きIchigoDake)
- USBシリアルコンバーター(aitendoなど)
- プラグソケットワイヤー(aitendoなど)
- USB-C変換 (DAISOなど)


プラグソケットワイヤーのソケット側、USBシリアルの3.3V、TXD、RXD、GNDに接続。


USBシリアル-IchigoJamを、3.3V→VCC、TXD→RXD、RXD→TXD、GND→GNDと接続(USBシリアルの電源が5Vの場合はCN5の5Vへ)。 シリアル通信は、TXD(Transfer、送信側)からRXD(Receiver、受信側)へとお互いにつなぐのがポイントです。 VCCとGNDを逆に挿してしまうとどちらかが壊れてしまうかもしれないので、慎重に!


IJUtilities」をダウンロードして、USBシリアルドライバを選択(今回は usbserial、SLAB_USBtoUARTなど、使用するUSBシリアルによって異なります)。
* IchigoJamのシリアル設定の標準は、115200bps、8bit、パリティなし、ストップビット1bitですが、触らなくてOK!


「Connect」して「led1」と打ち込み、エンター。IchigoJamのLEDが光ったら、遠隔操作実験、成功です!


LOAD0して、LISTで、IchigoJamに入っているプログラムをパソコンに転送できました!

せっかくなので、IchigoJamのボタンとLEDを使ったゲームをひとつ「エルチカゲームの豪華版」を作成。

1 @ARUN:'LCHIKA-GAME 100 W=10 110 T=TICK() 120 IF T%W=0 BEEP 130 A=T/W&1:LED A 150 IF BTN()=0 GOTO110 160 WAIT10 170 IF A=1 PLAY"T500<CEGEG<C" 180 IF A=0 PLAY"EC2" 190 WAIT 30 200 IF BTN()=0 CONT 210 IF BTN()=1 CONT 220 RUN

光った瞬間を見極めてボタンを押そう!
SAVE0すれば、@ARUNによって、電源に挿すだけ自動的に始まります!(止めたいときはESC)


ファームウェアをバージョンアップしたいときは、プラグプラグワイヤーを1本用意して、ISPとGNDを接続した状態で、USBシリアルをMacにつなぎます。 薄っすらとLEDが光った状態になったら成功。


IJUtilitiesのFirm Writerを選択、初回だけ設定画面がでるので、lpc21isp_fileをIJUtilitiesフォルダの中のものを指定しましょう。


IchigoJamの公式サイト、ダウンロードした最新ファームウェアを選択して、Install「Start」で書き込み開始!
バージョン表記が変わったことを確認しましょう!
(ichigojam-ntsc-jpkbd-withexchg.bin など、キーボード切り替え機能プログラム付きファームは、IchigoJamに保存されているファイル4を全部消してしまうので注意!)

zen4ijなど、パソコンを使った一歩先ゆくプログラミングにもチャレンジしてみましょう!


IchigoJam ap を使った教材「プログラミング教育マスター」が、BS12の番組「ドランクドラゴンのバカ売れ研究所! | 情報・ドキュメンタリー | BS無料放送ならBS12(トゥエルビ)」に登場!ドランクドラゴンの方々がプログラミングにチャレンジ!


初プログラミング、楽しんでくれた様子です!
YouTube公開、楽しみですね!
→ 公開!「(1) 【子ども向けプログラミング】プログラミング教育マスターを初心者の2人が体験!本当にできるのか?(ドランクドラゴンのバカ売れ研究所 公式) - YouTube

IchigoJamを使った、毎日30分のタイピングをしてくれた福井県勝山市立鹿谷小学校、1週間でどこまで速くなっているか!?

実験へのご協力いただいたみなさん、ありがとうございました!(データ整理はこれから!)


タイピングする鹿谷小の3年生


スキルアップタイム、もくもくとタイピングに取り組みます。


早速、全ステージクリアしてくれた、全記録!

ちょっと時間をもらってミニレクチャー
ESC押して、F4押してでてくるのがプログラム!
LED1、エンターで、LEDを光らせる、コンピューターとのおはなし第一歩。
ちょっとした英単語を組み合わせることで、いろいろ作れて楽しめます!


IchigoJamを使った電子アクセサリー、AmabieDakeに興味津々なこどもたち。


鹿谷小学校ユネスコスクール加盟校されています。


学校で興味持ったこどもたちなどへ提供する学びの場。鯖江にHana道場、勝山にPCN福井 勝山クラブ>!
イノベーティブなものづくり人材育成拠点、Hana道場は、鯖江駅から徒歩5分、松阜神社の参道沿いにあります。


Hana道場がある旧鯖江地方織物検査所は、国登録文化財、近代化産業遺産群となっています。かわいい外観もお気に入り!


Hana道場の内装は、80年前のベースはほぼそのままに、女性によるデザインでいい感じ。


先代の日本のスパコン京の一部が展示中。初代プロテレビゲーマー高橋名人のサイン入りファミカセも!

越前がにロボコンや、PCNこどもプロコンIchigoJam検定など、それぞれの目標に向けて思う存分修行できます。


福井県立科学技高校の先生による、カニロボコースを想定した、IchigoJam制御のロボットプログラミング実験!


テストに便利な裏返し。センサーとモーターの動き、思い通りにならないところの原因究明。


センサーを使って、白いところの内側を走り回るロボットが完成! なんかもうちょっとすっきり書けそうだななど、大きな達成感と小さな反省が、次のスキルアップにつながります。

Ichigoチョコは、こちらで入手可能!
教材販売 - ithink


BASICからオールマシン語まで、オープンデータとIchigoJamで創るプログラミング教育 - セミナープログラム
8/28-29、オープンソース関係オンラインイベント「オープンソースカンファレンス2020 Online/Kyoto」にて、IchigoJamのヒミツを話す機会、いただきました! 8/29(土)12:00-12:45が出番です。

福井県でのサイバーセキュリティキックオフ「サイバーセキュリティフォーラム&交流会 in 福井」が福井駅前ハピリンで無観客開催。 福井県内のセキュリティ関連の取組ピッチとして「CyberSakura こどもと学ぼうサイバーセキュリティー」を紹介。


PCNこどもプロコン2020の表彰式でも活躍した、能舞台でサイバーセキュリティ、テレビ局の取材あり!


「サイバーセキュリティは他⼈事ではない 〜これからの地域におけるサイバーセキュリティの重要性について〜」 by 前・ファイア・アイ株式会社最高技術責任者、元・経済産業省⼤⾂官房 サイバーセキュリティ・情報化審議官の伊東寛さんの基調講演オンライン
FireEyeは、アメリカ本社の売上1000億円(2019)のサイバーセキュリティ企業。


「北陸地域のサイバーセキュリティ関連活動」 by JAIST 丹康雄さん!
北陸サイバーセキュリティのキーパーソンから、とにかく仲間が大事と、イベントを通じたコミュニティへの参加の呼びかけ。
ICT研究開発機能連携推進会議(HIRP)北陸情報通信協議会(HICC)北陸サイバーセキュリティ連絡会


福井を代表する雑誌、URALAもサイバーセキュリティ参戦!


卒業研究を担当してくれた福井高専、齋藤徹さん!楽しく学ぶCTF(シーティーエフ、データ内のフラグ、データ内の FLAG{XXXXX} と表記された XXXXX を探す競技)
Simple Capture The Flag」(初心者向けに斎藤さんが作ったCTF練習問題

IchigoJamで解けるCTFを1問、IchigoJamで作ってみました!(解き方と回答はLTの後!)

10001101001100100000110001111111011100011010101011001011101010110010011111101

Hana道場では、IchiogJamでプログラミングを学んだこどもたちが、サイバーセキュリティー世界一を目指してトレーニング開始!(CybeSakuraレポート


























コンピューターとネットワークを知り、積み重ねてしまった潜在リスクと戦い、安心できるまちを作るための技術を学ぶ。
サイバーセキュリティは、単なるセキュリティーの上位概念。目に見えないリスクは、ウイルスだけにあらず。
ひとりひとりが意識持つことが、安心快適なまちづくりの基本です!

IchigoJam CTFの解き方
0と1なので2進法。
長さは77、8の倍数ではないので、単純な文字コードではなさそう。
Fの文字コードを2進法にすると ?BIN$(ASC("F")) → 1000110 先頭と一致
7bitずつ区切って、表示すれば、FLAGが現れる!

問題の作り方

1 S="FLAG{XXXXX}" 2 FORI=0TOLEN(S)-1:N=ASC(S+I):?BIN$(N,7);:NEXT:?

結構、おもしろいですね!
IchigoJamプリントネタとしてもいいかも!
33ステップで解説、GitHubオープンソース貢献入門、IchigoJamプリントをつくってみよう!「もじのしょうたい CHR$/ASC」とはじめてのプルリク

パソコン活用、プログラミングする上でも欠かせないタイピング。慣れていないと何をするにも時間がかかってしまいます。 タイピング苦手・・・と思ってしまう前、早いタイミングで遊びながら慣れてもらうのがいいでしょう。

どんなものでも上達のコツは毎日すること。ちょっとずつ1週間練習して、タイピング速度はどこまで速くなるでしょう?


IchigoJamを使ったプログラミングしない学習実験にご協力いただいた、福井県勝山市立鹿谷小学校の全3年生、15名。 A〜Z、アルファベットを覚え始めた頃ならいつでも始められるのがタイピング。ゲーム感覚で楽しくタイピング力、鍛えましょう!


今日の3年生の時間割、5時間目は総合、タイピングの時間!


箱に詰まったIchigoDyhook、皆さん自身で取りに来てもらい、片付けてもらうことで、先生の手間いらず!


記録がでたら、モードと番号と合わせて記録してもらいます。なわとび記録の要領です。


ある児童の記録。モード4、AからZまでランダムに出題されるタイピング、初回は80秒が、45秒まで縮んでます!


用意したモードは6つ。
1. 覚えるの簡単、数字のみ
2. 左手だけで打てるAからG
3. 右手だけで打てるHからN
4. 全アルファベット(計測対象)
5. 記号(おまけ、プログラミングなどでよく使う)
6. ランダムに出題される単語を打とう(上級編)

それぞれ起動後の最短記録が表示されます。


出題は10文字、間違えると音が鳴ります。どこにあるか最初は探すのに時間がかかりますが、それも間違い探し的で楽しんでくれてます。


謎に最高難易度、記号タイピングが人気!シフトキーの使い方、伝授しました。


ご協力いただいた、福井県勝山市立鹿谷小学校の校長先生と!
3年生はタイピング、4年生は算数、5年生は英語、3種3学年、1週間のチャレンジ。成長、感想、楽しみです!

早速、ブログで書いていただいてました!
鹿谷小学校blog: さわってみよう!IchigoDyhook

KPTでふりかえり

K = Keep (よかったこと)
- 楽しんでくれた!
- 難しい記号入力が意外と人気だった!(チャレンジ=楽しい!)
- 機材トラブルなし

PとT = Problem(問題点)と Try(改善)
- 0と8の判別が難しそう → VIDEO3の拡大文字モードへ
- タイム表示が見づらそう → 行間空けて見やすく
- モード6の単語が長い → 10単語を5単語へ
- ESC押してプログラムが止まった → 変だなと思ったら電源OFF/ONでOK!と最初に案内
- モード5の記号が初見では無理 → SHIFTの使い方解説を途中でするか最初はなしにする(シフト押してね表示をプログラムでいれるのも良さそう)

下記プログラムをライトプロテクトモードで書き込んだIchigoDakeを使っているので、消えちゃうトラブルは発生せず安心です。 プログラミング分かる子は、改造して遊んじゃうかも!?

NEW 1 @ARUN:'TYPING! 10 CLS:VIDEO3:?"TYPING!":F=101-6 20 LET[0],"NUM","A-G","H-N","A-Z","SYM","WORD" 30 FORI=1TO6:Y=2+I:LC1,Y:?I;".";STR$([I-1]) 32 T=[F+I]:IFTLC8,Y:GSB600 35 NEXT 40 K=INKEY()-48:IFK<1ORK>6CONT 50 Z=K:LC0,2+Z:?"*":WAIT30:SRNDTICK() 55 CLS:IFZ=6R=280:LRUN1 56 LET[0],48,10,0,65,7,0,72,7,0,65,26,0,33,22,10 60 W=[Z*3-3]:N=[Z*3-2]:Q=[Z*3-1] 100 L=10:?Z;".HIT ";L;" CHARS!":GSB700 120 LC0,4:FORI=1TOL:C=RND(N):?CHR$(C+W+Q*(C>14));:NEXT 130 GSB500:GOTO280 280 LC0,7:T=TICK()/6:GSB600:WAIT30 285 P=[F+Z]:IFP=0||T<P[F+Z]=T:?:?"FASTEST!":WAIT30 290 LC0,11:?"1.RETRY 2.HOME"; 300 K=INKEY():IFK=49GOTO55ELSEIFK=50RUNELSECONT 500 U=#900+4*16:M=0 510 K=INKEY():IF!KCONTELSEIFK!=ASC(U+M)BEEP:CONT 520 LCM,5:?CHR$(K):M=M+1:IFM<LGOTO510 530 RTN 600 ?DEC$(T/10,3);".";T%10;"sec":RTN 700 WAIT30:?:?"START!":WAIT30:CLT:RTN SAVE0 NEW 10 LET[0],"HELLO","GOOD","RED","CAT","DOG","SCHOOL","PEOPLE","MORNING","NIGHT","NOON" 20 LET[10],"ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","TEN" 30 LET[20],"BLUE","GREEN","BLACK","WHITE","BROWN","PURPLE","APPLE","ORANGE","BANANA" 40 LET[29],0 210 CLS:N=0:FORI=0TO1:N=N+1:I=[N]=0:NEXT 220 ?Z;".HIT 5 WORDS!":GSB700 240 FORI=1TO5:LC0,5:?CHR$(#C):S=RND(N):LC0,4:?CHR$(#C);STR$([S]); 250 L=LEN([S]):GSB500:NEXT 260 LRUN0,R 500 U=#900+4*16:M=0 510 K=INKEY():IF!KCONTELSEIFK!=ASC(U+M)BEEP:CONT 520 LCM,5:?CHR$(K):M=M+1:IFM<LGOTO510 530 RTN 700 WAIT30:?:?"START!":WAIT30:CLT:RTN SAVE1 LRUN0

オープンソースで、改造も簡単なIchigoJam BASICを使った学習教材づくり。 丸付けが大変、いい教材がない、そんな先生の悩みを解決するのもプログラミング!


恐竜のまち、勝山。新しくオープンした「道の駅 恐竜渓谷かつやま」のラプトルバーガー、かわいい! 恐竜をテーマにしたプログラミングやロボットも楽しそう!

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