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

プログラミングB分類、算数、円弧の面積「fillArc」 in JavaScript with 万華鏡

2018/12/11
#js #KidsIT 

算数が嫌いな小学生が多いことにショックを受けたので、算数プログラミングシリーズを増やします。
テーマは「円弧と面積」
津幡町のまちなか科学館の万華鏡が気に入ったので、websarasaを使っています。

fillArc - websarasa.js
こちらJavaScriptのソースコード、今回はセミコロン、辞めました。(JaovaScript Advent Calendar 2018

var main = function(scr) { scr.loop = function(g, ts, dt, vw) { var speed = 60 var deg = ts / 1000 * speed % 360 // var deg = 120 // var deg = 240 // var deg = 0 g.setColor(255, 255, 255) // 背景 R, G, B g.fillRect(0, 0, 1000, 1000) // x, y, width, height g.setColor(250, 220, 0) // R, G, B g.beginPath() g.moveTo(500, 500) g.arc(500, 500, 100, 0, Math.PI * 2 - deg / 360 * Math.PI * 2, true) g.fill() if (deg == 0) deg = 360 g.setColor(0, 0, 0) var m = 10 * 10 * Math.PI * (deg / 360) g.fillTextCenter("angle:" + fixfloat(deg, 1) + "° area:" + fixfloat(m, 0), 500, 500, 19) } }

degが円弧の角度。経過時間(msec)を表すtsと動く速度speedを使って、じわじわアニメーションさせています。
プログラムであれば、ひとつひとつ手描きするより圧倒的に楽ですね!


var deg = 120 と角度を指定すると、アニメーションを止めてじっくり観察することができます。
思う存分いじり回してください。


var deg = 360 とすると円弧は消えてしまうバグを発見。
0度か360度かの二者択一、360度で円になる方を選びました。(if (deg == 0) deg = 360)

プログラミングをしていると、いろんな判断の連続です。
間違いはありません。結果は瞬時に返ってきます。
最終的に自分で決めたものが、正解と言えるかもしれません。

プログラミング教育が、算数嫌い低減のきっかけとなりますように!
リクエストなど、Facebook/Twitterなど、受付中です!

円形WS2812Bx2でお手軽工作エモメガネペンダント! IoTプログラミングで明日を創ろう - 福井市美山中学校会社訪問&IoT体験

2018/12/10
#IchigoJam #maker #IoT #fukui 

福井市美山中学校の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(もっと深く知りたい人へ)

円形WS2812B x IchigoDake x DakeCap = エモペンダント

2018/12/09
#IchigoJam #maker 

まちがキラキラしがちな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

正2.22角形は何辺ある? 正2.5角形の謎とVSCodeでもF5 / 高専IT系部活紹介レビュー

2018/12/08
#js #kosen 

小学校のプログラミング教育A分類として紹介されている、正N角形の描き方。
前回は、円周をNで割った角度を線で結ぶアルゴリズムで描きました。
すると、Twitterにて、正2.5角形なる存在を知る。
これぞ一日一創的わらしべ長者!

正N角形の定義を、下記をすべて満たす多角形とする。
- すべての辺の長さが等しい
- すべての内角が等しい
- 内角が(180-360/N)度、ただしN>=2

すると、実は、Nは整数ではなくても描画できてしまう。
例えば、N=2.5とすると、内角は36度となり、描画すると星型があらわれる!


N=2.05、正2.05角形は、41角ある多角形(自己交叉多角形とも呼ぶらしい)

N=2.11、正2.11角形だと、211角。

ちょうどN=3になると、無事おなじみ正三角形

ひとつ進めた、正3.01角形

タップや上下キーで自在に増減できるアプリ「equilateral-ex

(タップ or クリック or キーの上下 で、変更できます)

下限はN=2、下回ると内角がマイナスになってしまいます。この線分を多角形と呼ぶかどうかは定義次第。

今回のアルゴリズムは定義に忠実に、内角に沿って曲がって線分を描画を繰り返すもの。
最初は始点からはじめて終点に戻るまでループとしていましたが、もうちょっとスマートにいきたい。

小数2桁の正N角形の角の数Cを下記のアルゴリズムで求めました。
N*100を因数分解する
100の因数、2,2,5,5をあれば取り除く
残った数をすべてかけた数が、角の数C
(もっとスマートな方法がありそうな予感ですが、ひとまず十分なパフォーマンスが出たので今回は良し)

JavaScriptのプログラムだとこの部分(詳細はアプリでソースを表示してみてください)

var getCorners = function(n) { var d = Math.floor(n * 100 + 0.5); var fs = getFactors(d); removeFromArray(fs, [ 2, 2, 5, 5 ]); return calcMultiple(fs); };

アプリ上の「角」、英語 equilateral の lateral は辺だったので変更。

コンピューターを変えるプログラミング!
JavaScriptを始めるのに、VSCodeをオススメすることにします。
決めては、実行がIchigoJam BASICと同様、「F5」なところ。
さすが、BASICからスタートした、Microsoft製!

「VSCodeで始める、お手軽JavaScript」は、また後日まとめて、Hana道場でIchigoJamを学んだこども達や、IT系部活な高専生たちに試してもらおうと思います。

高専IT系部活 #kosenit Advent Calendar 2018
各地の高専のIT系部活の事情がとても勉強になります。

逆求人にいく全高専生に送る、好印象持たれやすいコツ - みずきちの甘め日記。
沖縄高専ICT委員会のOB、jigインターンのOBでもある、みずきちさん。(*OBで統一/Boyの意味はありません)
IT系部活出身の新社会人からの視点で、高専生へのアドバイス。
高専プロコンなどで選ばれる側ばかりでなく、高専時代に小中学生向けのコンテストを主催し選ぶ側を体験してみるのも、オススメです。

宇部高専コンピュータ部の今までとこれから - Theories of Pleiades
宇部高専のはすみくんさん。なんと総勢53名、宇部高専コンピュータ部についての紹介。
3年生のときからのプログラミング部としての立て直しストーリーがすごい!
中国地区高専コンピュータフェスティバル(コンフェス)というローカルなイベントがあるのも楽しそう。
課題などもどんどん共有し、いい解決方法を共有していくといいですね。

北九州高専 コンピュータ研究部の紹介 - 共産趣味情報系高専生の日記
北九州高専コンピュータ研究部「コン件」のトミーさん、jigインターンOBでもあります。
ここにもローカルな大会「九州アプリチャレンジ・キャラバン」が登場。
活躍の場、あればあるほど燃えますね!(今年の受賞もおめでとう!)
部室の様子が写真付き、過去の高専プロコン競技部門を1年生向けの練習に使っているのも楽しそう。
こういう情報見て、中学生が入りたい!といってくれるはず。
ゆっくり進む学校のプログラミングの授業を先取りして、一気に学べる環境、いいですね!
イラスト部門もあるのはデザインが重要になっている昨今、強みかも。
コミュニケーションツールに関する悩み、どこもいろいろありますね!

一関高専電子計算機部を支える〇〇 - Qiita
一関高専電子計算機部「電算部」で使っているいろいろツールの紹介。
無料で使えるツールがありすぎて逆に迷うくらいですが、ひとまずみんなで楽しく品評するつもりで使って、レポートを共有するのも他のIT系部活の人に役立つ、立派な活動!

参加いただいた方々、ありがとう!
まだ若干の余裕があるので、ぜひこの機会に楽しい知識共有、お試しください。

links
- 高専IT系部活 #kosenit Advent Calendar 2018

今度は算数のスライド公開、プログラミングB分類「30m走ゲームで学ぶ、はやさとプログラミングとIoT」 - 鯖江東小学校の総合的な学習の時間「ふるさと教育」

2018/12/07
#KidsIT #IchigoJam #movie 

今年で4年目、めがね会館最寄りの小学校、鯖江東小学校「ふるさと教育」
5年生はNS松田さん、6年生は福野が担当。
先生からのリクエストもあって、今日のテーマは小学6年生の鬼門!?の「速さ」!
(昨日の「英語とプログラミング」に続き2日連続)

30m走ゲーム」をスライド化! 「速さ - さんすうでプログラミング with Ichigojam (PDF)

こちらダイジェスト動画。
LEDで制御でコンピューターの速さと操作を復習して、30m走ゲームづくり、タイムから距離を算出して、IoT化してもりあがるネット対戦!

こちら本日作成、30m走ゲーム(20行のキャラクターは、ALT+Cでネコ、ALT+Vでイチゴなどご自由に!)

10 CLT:X=0 20 CLS:LC X,15:?”O” 30 IF INKEY()!=28 CONT 40 IF INKEY()!=29 CONT 50 X=X+1 60 IF X<=30 GOTO 20 70 T=TICK()*10/6 80 ?T 90 V=10800/T:?V

ネットにつながるコンピューター、IoT化するのはこの1行

100 IOT.OUT V

ぞくぞく届く30m走のスコア、時速データを前のスクリーンにヒストグラムで表示していると、すごい勢いでチートされちゃいました(動画参照)。 さすが4年前からプログラミングクラブがある小学校!


去年の復習を兼ねて、エルチカ(LEDをチカチカさせる制御の基本)から!

キーボードに慣れているかどうかの差が大きく、すぐ終わってサポートしてくれるコもいれば、シフトキーの使い方に戸惑うコも。 小学1-2年生の内に、教室で使える「IchigoJamスクールセット」や「IchigoJamスピードパック」で、合間時間に少しずつ楽しく慣れておくのがオススメです!


算数の苦手意識、少し減ったようで何より!
また楽しく学べる教材作ってみようと思います。

自動運転車も登場、松田さんの授業の様子はこちら!
Cool shining in your way, let’s program the 2D Christmas tree! / 君の光らせ方でカッコよく、2Dクリスマスツリーをプログラミングしよう! – about yrm

小学校でのプログラミング教育について話し合う「第4回こどもプログラミングサミット」12/26開催!

links
- 動画&スライド公開、プログラミングB分類、総合と英語2コマ使った「はじめてのプログラミング」 - 鯖江市進徳小学校でモデル授業
- 小学五年生、一人2台のコンピューターを持つとどうなるか? 鯖江東小学校でふるさと教育
- 小学5-6年生全員!小学生プログラミング「ふるさと教育」ITのまちづくりの第一歩
- 子供の夢に未来あり! 鯖江の小6が考えた道具とプログラミング教育に響く言葉
- プログラミング楽しい! 鯖江東小5、6年生 専門家に習い挑戦 | 社会 | 福井のニュース | 福井新聞D刊

動画&スライド公開、プログラミングB分類、総合と英語2コマ使った「はじめてのプログラミング」 - 鯖江市進徳小学校でモデル授業

2018/12/06
#KidsIT #IchigoJam #movie 

小学校プログラミング教育の手引」のB分類。 鯖江市進徳小学校にて、プログラミング教育モデル授業。総合と英語の2コマ、IchigoJamを使った「プログラミングの楽しさを知ろう」動画公開です!


伝えたいことは、意外と安くて、意外とすごくて、意外とかわいいこと。
コンピューターが身近にあることは、こどもはとっくに知っています。
だから、もう一歩、楽しいプログラミングの世界の入り口へと誘いましょう!

はじめてのプログラミング with IchigoJam (PDF)

LEDの制御と、時間の制御(WAIT)で自在にLEDをコントロール。
ハイライトは、保存(SAVE)した後、スイッチオフ、一旦ケーブル抜いて、IchigoJamのボタンを押しながらスイッチオン! 手元で光りだす、自分たちで作ったプログラム!

えいごでプログラミング with IchigoJam (PDF)

おなじみ「かわくだりゲーム」を英語分多めで紹介しました。
LOCATEは、場所を指定する英単語。GOTO 20は「go to 20」20へ行けという英単語。
スゴイ勢いで迫る敵キャラに大はしゃぎ!(19:00〜

ゆっくりにするときは、そう、1コマ目に使った「待って」を表すWAIT。
IFは「もし」、条件によって動きが変わるよ・・・などと、英単語がちょっと使えるとコンピューターだって動かせちゃう。


ふたりで1台、順番に協力しながら取り組むスタイル。交代を基本に、キーボードの左右で守備範囲を分ける斬新スタイルなど、最初はちょっと大変なキーボードを打つことをそれぞれ楽しんでやってくれてました。


使用機材は、IchigoJam S + バッテリーを使った準備片付けラクラク、IchigoJamスピードパック


進徳小学校4年1組のみなさん、楽しく受けてくれてありがとう!!

4年生向けに、ペアで行う、45分でエルチカロボ、45分でかわくだりゲーム。
キーボードが不慣れなコが居ても、余裕持って進められ、こどもたちも100%楽しんでくれる、ひとつの完成形!

みんなもっとやりたいコも100%! ぜひ空いた時間、「はじめのいっぽ&ミニゲームズ」で、復習したり、「IchigoJamプリント」を使って、いろいろ体験できる時間や、学校の遊具としてIchigoJamカフェをつくるとかオススメです!

文科省、高専機構も後援「PCNこどもプロコン」へのチャレンジもぜひ!

小学校でのプログラミング教育について話し合う「第4回こどもプログラミングサミット」12/26開催!

links
- 今度は算数のスライド公開、プログラミングB分類「30m走ゲームで学ぶ、はやさとプログラミングとIoT」 - 鯖江東小学校の総合的な学習の時間「ふるさと教育」

プログラミングA分類、正N角形をかくプログラム、正解はひとつじゃない

2018/12/05
#KidsIT #js 

小学校プログラミング教育の手引」のA分類として有名な正三角形。 これをなぞるだけでは、コンピューターの良さは伝わりません。

Q1. 学習指導要領に例示された算数、理科、総合的な学習の時間だけでプログラミング教育を実施すればよいのでしょうか?
A1. 小学校段階の教育課程全体を見据え、各学校の創意工夫により、様々な場面で積極的に取り組むなど、発展させていくことが望まれます。
小学校プログラミング教育の手引 Q&Aより)

正三角形、正四角形(=正方形)、正五角形・・・と、単純に増やしていくとどうなるでしょう?
手で作図するのは大変ですが、コンピューターには朝飯前!


equilateral」クリックするほどに増える!

答は1つに決まらない社会課題、答が1つの学校教育との差をプログラミング教育で埋めましょう。

コンピューターが得意は、超高速正確な計算、抜群の記憶力、加えて、圧倒的コスパ!
秒間5,000万回計算し、半永久的に3万文字を記憶し続けるCPUが、たったの100円という事実。
まずは大人が「今」を認識しなければなりません。

「プログラムは人が作成していること、また、コンピュータには得意なこととなかなかできないこととがあることを、体験を通して気付かせることです。」
小学校プログラミング教育の手引 Q&Aより)

コンピューターのハードやソフト技術の発展により、なかなかできないことを教えるのは大変ですが、こどもたちが、実際試行錯誤してみることが一番でしょう。


大原テクノアートデザイン専門学校で IchigoJam x sakura.io を使ったIoTプログラミング講習!


実際手を動かし、体験するのが一番です!

links
- 答は1つじゃない、IchigoJamプログラミング入門 with グラスミーゴFC

プログラミングB分類と小6算数、30m走ゲームと速さの計算

2018/12/04
#KidsIT #IchigoJam 

2020年からの小学校プログラミング必修化、先月「小学校プログラミング教育の手引」が第二版へと改訂されました。 英語や算数など、各教科での実施となるB分類。今週、鯖江の進徳小学校と鯖江東小学校で実施予定です。

こちら、新作、30m走ゲーム!

30m走ゲーム、作り方

10 CLT:X=0 20 CLS:LC X,15:?"O" 30 IF INKEY()!=28 CONT 40 IF INKEY()!=29 CONT 50 X=X+1 60 GOTO 20

キャラクターを変えるには、20行を次のように改造。(ALT+RでもOKです)

20 CLS:LC X,15:?CHR$(252)

パタパタ走るアニメーションにするには、35行を追加。(ALT+SでもOKです)

35 LC X,15:?CHR$(251)

どこまでも走るだけではおもしろくないので、1コマ1mと見立てて30m未満なら繰り返し、とIFで条件を付けます。

60 IF X<30 GOTO 20

タイムを測ります。

70 T=TICK()*10/6 80 ?T

1/100秒単位で表示されるタイム。100で1秒の意味。
(解説:TICK()は1秒に60進むので、60で割って100をかけると1/100秒単位になりますが、先に60で割ってしまうと小数点以下が切り捨てられてしまいます。なので、先に100をかけて60で割ります。これは、10をかけて6で割っても同じ意味なので、*10/6とします)

30m走の速さを、平均時速として計算してみましょう。

90 V=10800/T:?V;"km/h"

(解説:30mをT/100秒かけて走ったことは、0.03kmをT/100*60*60時間かけて走ったことと同じです。よって時速(km/h)は、0.03/(T/100*60*60) = 10800/T と計算できます)

タイムをかっこよく、小数点付き表示にするには、このようにすればOK!

80 ?T/100;".";T/10%10;T%10;"sec"

30m走ゲーム、プログラム全文はこちら

10 CLT:X=0 20 CLS:LC X,15:?CHR$(252) 30 IF INKEY()!=28 CONT 35 LC X,15:?CHR$(251) 40 IF INKEY()!=29 CONT 50 X=X+1 60 IF X<30 GOTO 20 70 T=TICK()*10/6 80 ?T/100;".";T/10%10;T%10;"sec" 90 V=10800/T:?V;"km/h"

(IchigoJam web で、遊んでみる - 左右キーで走る、もう一度は、RUN、エンター)

おまけ
IoT対応ファームのIchigoSodaを使うと、たった1行でネット対戦30m走ゲームになります!

100 IOT.OUT T

つまづきやすいところも、分かりづらいところも、ゲームとプログラミングで楽しく克服する方法を身につければ怖くない!

links
- 小学校段階のプログラミングに関する学習活動の分類(例)でまとめる鯖江の活動 - 教育の情報化フォーラム
- 小学校プログラミング授業、低学年から高学年まで全部IchigoJam!? / 東京都小金井市前原小学校の授業参観と講演
- 小学校プログラミング教育の手引:文部科学省

IchigoJamとsakura.ioでつくるポケベル! BASICプログラム6行の実装でなんとカナが8文字表示できる

2018/12/03
#maker #IchigoJam #IoT 

ポケベル、おつかれさま! 記念に、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」 in 大阪

2018/12/02
#KidsIT #maker #osaka #IchigoJam 

こども起業家創出目指す「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

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