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

1から100までたすといくつ?コンピューターといっしょ!

2017/06/27 23:55:00
#KidsIT #IchigoJam #doc 

各地で花咲くこどもプログラミング談義。
打てばシンプルに響くコンピューターとの対話「プログラミング」
この楽しさをすべてのこどもたちへ届けたい。

ボーリングのピンは、先頭の1本から順に4列並べてちょうど10本。
では、5列ならべると?10列では?疑問に思ったら試してみるのが一番。
プログラミングは、強力な検証手段のひとつ。
選択肢から外してしまうのはもったいない。

情報リテラシーのはじめのいっぽは、
どんな専門家でも、どんなに偉い人でも、聞いた話は正しいとは限らないと知ること。

学ぶとは、自分で検証することで、ひとつひとつ自分のモノにしていくこと。
社会はまさに自分育成RPG、学ぶ楽しさはゲーム以上!

リクエストあった、IchigoJamプリント「1から100までたす編」つくりました。

1から100までたす
学校の単元に合うプリントをいろいろと追加していきたいと思います。
引き続きリクエスト、協力者募集中です!
IchigoJamプリント教材共同開発 on GitHub

links
- IchigoJamプリント
- こどもパソコンIchigoJam

IchigoJamご要望数ナンバーワン!プログラム領域拡大版、お試し公開

2017/06/22 23:55:00
#IchigoJam #lpc1114 

IchigoJam-FANにて、IchigoJamの拡張版にほしいものを大募集した結果、たくさんのご要望いただきました!

1. プログラム領域拡大 112票
2. HDMI 69票
3. USBキーボード(HIDサポート) 69票
4. カラー化 30票
5. キーボードUS/JP切替 29票
6. 浮動小数点 25票
7. 長い変数名 17票
8. グラフィック描画機能 16票
9. バッテリーバックアップの時計 15票
10. ネットワーク 15票
*アンケートよりトップ10を抜粋、複数回答あり

断トツナンバーワンだった、プログラム領域拡大。
ちょっといいCPU「NXP LPC1114FHN33/333」を使って作ってみました。

IchigoJam 1.3beta!?(仮称)

プログラムサイズ拡大:1KB → 4KB
配列サイズ拡大:102 → 614

いつものIchigoJamへのバージョンアップはできません。
ROMが56KB以上、RAMが8KB以上のLPC1114またはLPC1115へ書き込んで使ってみてください。
LPC11Uシリーズは、GPIOの扱いなどに互換性がなく未対応です。

links
- IchigoJam-FAN (ファイルからβ版ファームウェアダウンロード可能)
- LPC1115評価ボード (未確認ですがきっと動くはず)

IchigoJamではじめるIoT sakura.io ハンズオン(データ発信編)

2017/06/21 23:55:00
#IchigoJam #maker #doc 

月額61円で使える4G通信モジュール「sakura.io」、秋月電子でも買えるようになりました!
IchigoJamを使ってIoTができあがるまでの解説です。

スマホやPC、WebサーバーなどとIchigoJam、相互に超低価格通信!

準備するもの
1. IchigoJam 1500円〜 (バージョン1.2.2)
2. sakura.io 通信モジュール 8,640円
3. sakura.io ブレイクアウトボード 2,700円
4. I2C電圧変換 PCA9306 150円
5. ジャンパーコード 220円
はんだごて、ニッパー、はんだ少々

モジュールづくり
IchigoJamと通信モジュールをつなぐボードをブレイクアウトボードを使って、電子工作します。

* SCLとSDAを逆に使用


ブレイクアウトボード右側、電圧変換PCA9306を上下逆にするとGND/SCL/SDAが対応していて都合がいい。


PCA9306のピンヘッダーを2ピンだけに分割し、SCL/SDAにはんだづけ。
GNDはブレイクアウトボードとPCA9306両方にはんだづけ。
VREF2はブレイクアウトボードの16ピンに触れないようはんだづけ。


ブレイクアウトボード左側、 PCA9306のVREF2から9番ピンをジャンパーでつなぎはんだづけ。
スリープ制御用のWAKE_INに白、データ取得検知用のWAKE_OUTにオレンジの長めのジャンパーをはんだづけ。


ブレイクアウトボード左上20番ピンに黄色のジャンパーをはんだづけ。
PC9306AのVREF1に赤、SCL1に青、SDA1に緑のジャンパーをはんだづけして、できあがり!


WAKE_IN / WAKE_OUTが必要ない場合は、WAKE_INをLDO_OUT(1.8V)にプルアップ(10kΩ)だけしておきましょう。


IchigoJamに接続する
CN5
黄:5V *ACアダプターや充電式モバイルバッテリーなど電流が多めに流せること
青:SDA (or IN3)
緑:SCL (or EX1)
赤:3.3V
黒:GND
CN4
オレンジ:IN1 (受信状態検知、未接続でもOK)
白:OUT1 (モジュール省電力制御、使わない場合VCCへ)

モジュールとサービスの登録
sakura.ioの開発者向けから登録、ログイン

プロジェクト追加(名前、test)


モジュール登録


通信モジュールのシール下に書かれた(IDとPASS)を転記。QRコードを読み取ってコピペもできます!


プロジェクトのサービス「WebSocket」を追加(名前、test)し、WebSocketサービスを開いておきます。

IchigoJamからデータ送信
通信モジュールを動かす

OUT1,1

通信モジュールの点滅がはじまり、1分ほど待つと、1回点滅になります(3回は回線接続中、2回はサービス接続中)

次のプログラムを書いて、データを送信! (*IchigoJam ver 1.2.2 が必要です)

N=15 OK POKE#800,#21,10,1,76,N,N>>8,0,0,0,0,0,0,N>>8^N^102:?I2CR(79,#800,13,#820,3) 0


WebSocketの画面でデータが到着する様子がリアルタイムに見られます!
これでアナログセンサーに温度計や水位計、距離計などをつないで、モニターするデバイスが創れますね。
GPSと接続すれば、リアルタイムに位置情報を送ることも可能です。

データ受信編をお楽しみに!
(待てない方は、β版解説や公式資料など参照の上、チャレンジ!)

links
- sakura.io β版時点での解説
- 応用例、バスIIoT 送受信方法解説
- 応用例、めがね会館ビルチカ
- IchigoJam meets GPS receiver 'u-blox NEO-7M'

IchigoJamで学ぶデータ構造「スタック」 / Stack on IchigoJam

2017/06/20 23:55:00
#IchigoJam 

プログラミングにおける基本的なデータ構造のひとつ「スタック」。入れることをPUSH(プッシュ)、出すことをPOP(ポップ)と呼ぶ。
"Stack" is an important data structures in the computer. PUSH to put in to the stack, POP to get from the stack.

"Stack / スタック" from Wikipedia

IchigoJamにある102コの配列を使って、PUSH/POPを実現する。
Use 102 sizes array on IchigoJam to PUSH and POP.

S=0 OK [S]=1:S=S+1 OK [S]=2:S=S+1 OK [S]=3:S=S+1 OK [S]=4:S=S+1 OK [S]=5:S=S+1 OK [S]=6:S=S+1 OK ?S 6

1から6をPUSHしたので、配列の0から5までが使われ、次入れる位置が6になっている。この位置のことをスタックポインタと呼ぶ。
PUSH 1 to 6, so using the array from 0 to 5, stack pointer became 6.

S=S-1:?[S] 6 S=S-1:?[S] 5 S=S-1:?[S] 4 S=S-1:?[S] 3 S=S-1:?[S] 2 S=S-1:?[S] 1 S=S-1:?[S] Index out of range

最後に入れたものから、6から1までが取り出せた(POP)。更に取り出そうとすると配列の限界を超えるのでエラーとなる。
You can get 6 to 1 (POP). It will be an error if you get more.

多重ループ、多段に使われるGOSUB、スタックはマシン語における変数の一時記憶など、コンピューターではよく使われるテクニック。
Stack uses loops, GOSUBs, temporaly memory storage with the machine language and etc...

簡単に演算の優先度付きの計算機をつくるサンプルがこちら。(逆ポーランド計算機より)
This is a sample of calculator with Stack.

1 'R-POLISH CALC 10 S=0 20 CLS:IF S FOR I=0 TO S-1:LC0,23-I:?"[";I;"]=";[I];:NEXT 30 LC0,0:INPUT N 40 IF N=0 C=SCR(1,0):IF C!=ASC("0") GOSUB 70:GOTO20 50 [S]=N:S=S+1 60 GOTO 20 70 IF C=ASC("+") [S-2]=[S-2]+[S-1]:S=S-1 80 IF C=ASC("-") [S-2]=[S-2]-[S-1]:S=S-1 90 IF C=ASC("*") [S-2]=[S-2]*[S-1]:S=S-1 100 IF C=ASC("/") [S-2]=[S-2]/[S-1]:S=S-1 110 IF C=0 S=S-1 120 RETURN

3 エンター、5 エンター、+ エンターで、8と計算できる。
3 enter, 5 enter, + enter, you'll get 8.

5 エンター、2 エンター、10 エンター、* エンター、+ エンターで、5+2*10=25 と計算できる。
5 enter, 2 enter, 10 enter, * enter, + enter, you'll get 5+2*10=25.

IchigoJam web で、試してみよう!(長いプログラムのimportに対応!)
"http://fukuno.jig.jp/app/IchigoJam/#1%20'R-POLISH%20CALC%0A10..."
Try on the web also!

通常の配列と同居させるため、配列の最後からスタックポインタを減らすように実装するのもOK!
If you want to use the array normally, you can start the stack pointer as 101 (last) also.

links
- 楽しさ広がるマルチバイトメモリアクセスとスタック - IchigoJamではじめるARMマシン語その5
- ものづくり好き x 学べるという気づき - IchigoJamで逆ポーランド計算機づくり

ミニ四駆のモーターでレーザープロジェクション!? ProjectionBall controlled by IchigoJam

2017/06/18 23:55:00
#IchigoJam 

I met a man who made a inexpensive personal laser projector "ProjectionBall" at Maker Faire Bay Area.
Maker Faire Bay Areaで、安い個人用レーザープロジェクター「ProjectionBall」の作者さんに会いました!

This can manipulate by UART. So I tried on IchigoJam!
シリアル通信でサクッと制御できるのでIchigoJam実験!

ProjectionBallのGNDとWTXの左側を、IchigoJamのGNDとTXDに接続するだけ
Connect just GND and WTX(left) of ProjectionBall to GND and TXD of IchigoJam.

プログラムはこれだけ! Program is just below.

10 BPS9600 20 ?"awt 30 WAIT 300 40 ?"dym 50 WAIT 300 60 ?"stg=IchigoJam 70 ?"stm 80 WAIT 300 90 GOTO 20

SDカードに任意のデータを書き込んで切り替えることもできそうです。 You can select a picture from the SD card.
*kibidangoの購入サイトの機種は文字列描画には未対応。最新版は近日発売予定とのこと! 'stm' comming soon!


使われているのはミニ四駆でもおなじみ普通のDCモーター! It works with usual DC motors!

壁際、上に向けて単焦点でもいい感じ!
It's good to put it at the wall side and ahead up.

そして、なんと、オープンソースハードウェア! Also it's under the Open Source!
"meerstern/prjball-firmware2: The Projection Ball firmware for V5.X & IoT Update. Please write the firm with ST-Link V2."

links
- ProjectionBall
- ショッピング-かんたんレーザービーム「Projection Ball」組立キット - クラウドファンディング | Kibidango【きびだんご】 (buy it here)
- ProjectionBall

分水界?PCN丹波 IchigoJamで大人も入門、はじめてのプログラミング&ゲームづくり The first programming event at Tamba and the watershed

2017/06/17 23:55:00
#IchigoJam #tamba #doc 

PCN丹波、丹波市の柏原自治会館にて「IchigoJamはじめのいっぽ&かわくだりゲーム」
IchigoJam event at Tamba city Kaibara-Jichi-Kaikan "the first step & making a game!" by PCN Tamba.


プログラミングとは、コンピューターにおしえること Programming is teaching your computer
普段は教わってばかりかもだけど、今度は君たちの番! This is your turn!


裏を見て!IchigoJamは、みんなにも組み立てられるコンピューター。 Flip your IchigoJam, you can buld it!


タイピングを楽しそう! They enjoyed typing!


今回のチャレンジ、大人向けミニ講習は良かった! It was good to hold a mini event for adults.


前半はじめのいっぽ、5分休憩して後半かわくだりゲームの1時間半
1 hour and half event for kids. The first step and making "Rafting Game".


地元高校生や大人の温かい見守りサポート! Thank you warm supports by students and adults!


楽しんでくれてありがとう! Thank you to participate!


PCN丹波のイベントをお楽しみにっ Comming soon next event by PCN Tamba!
*日本一低い分水界にて At lowest watershed in Japan

もっとやってみたい人は、下記の自習教材をどうぞ!
- IchigoJamプリント
- 連載、こどもパソコンIchigoJamではじめるプログラミング
- PCN ダンブンゲームズ
他、公式サイト ichigojam.net 読み物、書籍などをご覧ください。
オープンデータ教材も多いので、リミックスしての利用、出版、大歓迎!
Welcome to remix these materials as open data.

丹波観光編

気になっていた妙に大きな標識「水分れ」 An interesting big sign "Miwakare"


解けた、水分れ(みわかれ)の謎! I solved that secret of "Miwakare"


これが日本で一番低い分水界!右に流れると日本海、左に流れると太平洋(瀬戸内海)
This is the lowest Miwakare in Japan! Right: to Japan sea, Left: to Pacific ocean


美しい、根っこ橋 The Root Bridge, beautiful!


根っこ橋は、本当に根っこが橋になっていた! Root Bridge by the root of the tree!


丹波は自然が近い!小学生の遊び場ツリーハウス! Tree house for kids. Tamba is very closed to nature!


めっちゃ精巧な木の船 Cool ship by wood!

丹波グルメ編

朝は泊まった婦木農場「○まる」のおいしい野菜! Good morning with good vegitables in Fuki-Nojo "Maru"!


おいしい卵をくれたコッコ達! They gave me good eggs!


ジャージー牛、かわいい! Cows!


採れたて丹波野菜! Fresh Tamba Vegitables!


一輪車で野菜を売る、婦木農場のプリンス達! Princes of Fuki-Nojo!


お昼は鹿肉!(無鹿) Venison as lunch at Mujika.


丹波と言えば、黒豆!ふっくら! Delicious black beans by Tamba!

丹波まとめ

Come on and join us PCN丹波 and OpenData@丹波! (丹波@ja = Tamba)

links
- キッズ向け☆PCN丹波feat.ふくのさん
- ウェブ新時代、田舎の時代 - 兵庫県丹波市 TAMBA地域づくり大学 大人の学び舎(with OpenData@丹波)
- 日本一低い中央分水界を行く
- OpenData@丹波

ブラウザで動き、URLでプログラムを共有する IchigoJam web - runs on browser, share with URL

2017/06/15 23:55:00
#IchigoJam #web #js #KidsIT 

ブラウザで動く IchigoJam web のバージョンアップ。エクスポート(テキスト出力)に加え、インポート(テキストからの入力)にも対応!
I update the IchigoJam web, IchigoJam runs on browsers edition. The "import" function was supported.

URLのハッシュにも設定されるので、そのまま共有も可能です。
You can share your IchigoJam BASIC program with URL.


"IchigoJam web by WebAssembly"

例えば「かわくだりゲーム」がこのリンクで遊べる!
For instance, you can play "Rafting Game" with this link.

links
- 7seg LED simulator for IchigoJam web by WebAssembly x HTML #js #IchigoJam
- IchigoJam BASIC on the web by WebAssembly
- Write in C language! The fast web with WebAssembly

IchigoJam BASIC 1行でつくるバッテリーチェッカー 1 Line Battery Checker by IchigoJam

2017/06/14 23:55:00
#IchigoJam #maker #KidsIT 

IchigoJamワークショップで活躍する100円均一(Seria、ダイソー)で手に入る乾電池式のモバイルバッテリー。
The mobile battery sold in 100 yen shops (Seria, DAISO) is useful at IchigoJam workshops.

でも、バッテリー切れは心配ですよね?
But you are worry about the battery, aren't you?

IchigoJamにちょうどいいバッテリーチェッカーをIchigoJamでつくりました。
I made a useful battery checker for IchigoJam on IchigoJam.

接点に当てるとLEDで残量をお知らせ!
LED notices you about the battery.

つくりかた - How to build.
1. ちょうど良さそうな長ピンソケット Find a long pin socket.

2. ちょうどいい2ピンを除いて引き抜く Remove pins without just fit 2 pins.

3. プルダウン用10kΩ抵抗をはんだづけ Solder a 10kΩ resistor to pull down.

4. IchigoJamのGNDとIN2へ接続する Connect to your IchigoJam GND and IN2.

5. プログラムする Program!
1行簡易版 1 line version

10 LED ANA()>800:GOTO10

LED点滅で知らせる豪華版 Delux version with blinking LED

5 LED1:WAIT5:LED0 10 V=ANA(2):?V 20 IF V>900 LED 1:GOTO10 30 IF V>800 LED TICK()&8:GOTO10 40 IF V>700 LED TICK()&4:GOTO10 50 IF V>500 LED TICK()&2:GOTO10 60 LED 0:GOTO10

6. 自動起動用にGND-BTNをつなぐ Connect GND-BTN to boot automatically.

自分自身を駆動するバッテリー残量も調べることができます!
It can check own battery level!

ダイソーのモバイルバッテリーだと、12V昇圧ケーブルを使ってディスプレイも30分ほど駆動できて便利!
DAISO mobile battery can work about 30min with a 5V-12V DC-DC cable and 4.3 inch monitor!

Play the volca sample by IchigoJam コンピューターで楽しむ音楽!

2017/06/13 23:55:00
#IchigoJam #sound #KidsIT #MIDI 

Making rhythm is fun! リズムづくりは楽しい!
Play the easy sampler "volca sample" by IchigoJam.
お手軽サンプラー「volca sample」をIchigoJamで奏でよう!

1. prepare a MIDI output. MIDI出力を準備します
2. connect つなぎます
3. test a sound 試しにならしてみます

BPS31250 OK ?CHR$(#90,1,1) OK

*volca sample MIDI Implementation Chart / MIDI仕様書

4. program it! プログラムを打ち込みます

10 UART0:CLS:?"MIDI DRUMS" 15 BPS31250 20 P="12345678QWERTYUIASDFGHJKZXCVBNM," 30 FORI=0TO8*4-1:LCI%8*2,I/8*2+4 40 IF RND(3)=0 ?"O" ELSE ?"." 50 NEXT 60 W=10 70 BPS31250:N=0 75 LC 0,14:?"WAIT:";DEC$(W,3) 80 LCN*2,12:?"^" 90 UART1:LC0,-1:FORI=0TO3 92 IF SCR(N*2,I*2+4)=79 ?CHR$(#90+I,1,1); 94 NEXT:UART0 100 WAIT W 110 LCN*2,12:?" " 120 N=(N+1)%8 130 K=INKEY() 140 IF K=UP W=W-1 150 IF K=DOWN W=W+1 160 IF K=SPACE GOTO30 170 IF K GOSUB300 180 IF K=8 FORI=0TO8*4-1:LCI%8*2,I/8*2+4:?".":NEXT 200 GOTO 75 300 FORI=0TO8*4-1:IF ASC(P+I)=K LCI%8*2,I/8*2+4:IF SCR()=79 ?"." ELSE ?"O" 310 NEXT:RETURN

5. Enjoy! 楽しむ!
How to play - 演奏法
1-8 Q-I A-K Z-, - Make the PATTERN (キーボードのキーで音を置いたり取ったり)
SPACE - RANDOM PATTERN (スペースでランダムパターン)
Backspace - CLEAR PATTERN (バックスペースでパターンクリア)
Cursor UP - Up the Tempo (上キーでテンポアップ)
Cursor DOWN - Down the Tempo (下キーでテンポダウン)


Comming soon MIDI I/O kit for IchigoJam! MIDI入出力キットも準備中!

links
- volca sample
- MIDI Random Rhythm Machine with KORG volca beats x IchigoJam
- シンセサイザー / キーボード | KORG (Japan)

鯖江産パソコン「IchigoJam」 meets 仮面女子@めがねフェス2017、Chromeに対応したWebAssembly版! - Made in Sabae PC, IchigoJam x KamenJoshi at MeganeFes and WebAssembly version on Chrome

2017/06/11 23:55:00
#megane #IchigoJam #game #sabae #PCN 


2日目のめがねフェスでは、PCN鯖江に通う若きエンジニア2人の姿。
There are 2 young engneers at Ichigo-Glass booth.


展示デモプログラムはPCN鯖江エンジニアMASAHARU作の「ネオジム磁石 - MASAHARUの魂のプログラム」 - Demo "Neodymium magnet - MASAHARU's Program" by PCN Sabae engneer MASAHARU


PCN鯖江、新商品開発中。 Under developping by PCN Sabae.


ついに歩いた、カニロボ! Crab Robot Walks!


テスト中のPCN鯖江オリジナル基板。 Original PCB by Kids of PCN Sabae.


未来のエンジニア育成、IchigoJamはんだづけ体験するこども。 Future engneer!? Kid tries to solder IchigoJam.


自分で作ったパソコンが動いた! It's works!


"IchigoJam web by WebAssembly"
IchigoJamが気になっている方へ、PC/Macなどのブラウザでお試しできるIchigoJam WebAssembly版Chromeにも対応しました!ポイントは、JavaScriptのWorkerスレッドで動作させることでした。
IchigoJam WebAssembly version works on Chrome also! The problem solved by JavaScript Worker.

動いた記念の「めがねくだりゲーム」 Glass Rafting Game!

10 CLS:X=15 20 LC X,5:?"V" 30 LC RND(29),23:?"O-O" 35 WAIT 5 36 X=X-BTN(28)+BTN(29) 37 IF SCR(X,5) 40 GOTO20


めがねのまちさばえ大使となった仮面女子。 KamenJoshi inaugurated Ambassador of Glass City Sabae.


鯖江市とコラボする、最強の地下アイドル「仮面女子」と。Ichigoメガネブースにて。 with KamenJoshi at our Ichigo-Glass booth.


めがねフェス、いい天気! MeganeFes with good weather!


京都、三重、金沢、仙台、福井、集まったPCNクラブ! PCN club's members!

links
- PCN
- めがねフェス / MeganeFes
- 仮面女子 / KamenJoshi
- IchigoJam

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