福野泰介の一日一創

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

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

It's Programming Fes Day 2 in Eiheiji town Fukui prefecture! (Day 1)

The opening speech by Mr. Amil Khanzada founder of ZenIT with connecting live to Silicon Valley. He is also an evolution ambasaddor of here, Eiheiji town. Now is the best era to make your dreams!


Curiosity is Treasure!
(this program in the end of this article with IchigoJam ver 1.4β!)


They worked out After training with Zen!


"A healthy mind dwells in a healthy body"


Let's start to program with the robot! (CamRobo by Tamiya, coding with IchigoJam)


Great weather to program the auto pilot car!


Here is the best place to practice to make the auto pilot car! (1F at Shiki-no-mori)


It's free programming time! They replied the interview of a TV channel!


With lively kids!


Try and challenge, enjoy your unique failure!


Our staffs enjoyed also!


Them parents met them kids went up the level.


Thank you for comming!


See you next time!
You can remember with VR app "VR ProgFes 2019".

To curious kids...


Let's try to manipulate 16x16 full color LED, WS2812B with IchigoJam 1.4β
Connect WS2812B x 256 to VCC, GND, OUT1 and program!

LET[0],0,10,0:WS.LED 1,256

You can control many LEDs with a parameter of repeat of WS.LED!

10 A=RND(14)+1:T=RND(3)*20+20 15 FOR J=0 TO 3 20 FOR I=0 TO A-1 25 LET[I*3],RND(16),RND(16),RND(16) 26 NEXT 30 WS.LED A,256/A+1 40 WAIT T 42 NEXT 50 GOTO 10

How to control indivisually 256 LEDs? (try this!)

links
- プログラミングフェス
- 夏、プログラミングフェスDay1! VRで実寸で思い出せる360度写真&アプリ
- Programming Fes Day 2 connected Silicon Valley and Eiheiji to encourage kids!

How can we read numbers in Nepal?
Let's learn "Nepali Numbers" on IchigoJam!

This is a program to show Nepali numbers.

Use ALT+0 to ALT+9 to show a number in Nepali
Run on IcihgoJam Web

1 VIDEO3:CLS:LC0,4:?"NUMBER IN NEPALI" 2 ?" ";:FORI=0TO9:?CHR$(224+I);:NEXT:? 10 [0]="0000304848300000 11 [1]="3048483040201020 12 [2]="7008087020100800 13 [3]="7008087008887020 14 [4]="8888507088887000 15 [5]="4040808090f01008 16 [6]="7080806080907008 17 [7]="8080b8a8b8887000 18 [8]="1010202040483000 19 [9]="3048483020101000 20 FORJ=0TO9:S=[J] 30 FORI=0TO7:GSB@H:M=N<<4:GSB@H:N=M+N:POKE#700+J*8+I,N:NEXT 40 NEXT:END 50 FORI=0TO9:?CHR$(224+I);:NEXT 90 END 100 @H:N=PEEK(S):S=S+1:IFN>57N=N-87ELSEN=N-48 110 RTN

I made charcter partterns on bits font maker.
And write as original characters on IchigoJam (use POKE command to write to the memory)


Enjoy programming in our real world!


Today the first IchigoJam educater was born in Nepal!


PDF「The first programming with IchigoJam
PPT「The first programming with IchigoJam
You can use freely under the CC BY open license.


In Nepal, you can find many Nepali numbers arround you!

links
- Day1. 2076年の元日に入国、アナログ時計を90度ひねれば読める、ネパール日本時計
- Day2. ネパールのこどもたちへプログラミングを!震災、栗城さん、PCN、IchigoJamからつながった縁 - How to make a e-musical insturemnt by IchigoJam
- Day3. Numbers in Nepali language on IchigoJam

Computers only know them binary machine language using just 0(off) and 1(on).
How do we make binary number sequence? It's depends on computers.


"RUN the Arm machine language on IchigoJam RPi after 1.2b16 (Raspberry Pi 2)"

The computer of IchigoJam understands 16 bit words (0 or 1 x 16).

0011000000000001

This machine language means to add 1 to R0 register. (resisters are kind of memories in the computer)

First 5 bit means "to add", next 3 bit means the resister number, last 8 bit means number to add.

00110 000 00000001

Let's write to RAM using POKE command of IchigoJam BASIC. (*IchigoJam BASIC reference ver 1.2)

POKE#700,`00000001,`00110000

#700 is position of RAM. Number starts with ` means binary number. (# for hexadecimal number)
To write last 8 bit in the first is a rule of this computer. (little-endian)

You need an other machine language word to work, "return" to IchigoJam BASIC.

0100011101110000

Write this word to RAM in the same way.

POKE#702,`01110000,`01000111

You are ready to run!

?USR(#700,1)

Did you get a number 2 as a right result?

USR command needs an start address of the machine languages and a number as a parameter.
Please check using 100 as a parameter.

?USR(#700,100)

Try to make to add 5 program using the machine language.

POKE#700,5 ?USR(#700,100)

You did it!

Speed is the greatest advantage of using the machine language.
The disadvantage is wrong machine language program doesn't protect your system.
So, please save before run if you make long program with machine language.

IchigoJam will stop if you write wrong machine languages.
Try to freeze your IchigoJam.

?USR(#704,0)

Computers work with some machine language words such them.
CPU of IchigoJam (LPC1114 Arm Cortex-M0) knows only 56 words Arm Thumb machine language.
It's very simple to understand!

If you use IchigoJam RPi after 1.2b16 (Raspberry Pi2/3 Arm Cortex-A7/A53), it knows more words.

It's a sample code to use SIMD(single instruction multiple data) machine language.
QADD8 can calculate 4 number as parallel during just 1 CPU cycle.

POKE#700,#80,#FA,#10,#F0,#70,#47 ?HEX$(USR(#700,#1234)) 2468

*It can calculate 8bit x 4 numbers but variables of IchigoJam BASIC are 16bit.

To be continued!

references
- Cortex-M0 Technical Reference Manual - Instruction set summary / ARM Information Center
- Cortex-A7 MPCore Technical Reference Manual - About the programmers model / ARM Information Center

links (now in Japanese)
- asm15 - simple Arm assembly language and machine language table
- asm15 assembler for IchigoJam
- series of "My First Arm Assembly language"

NHK WORLD "NEWSROOM TOKYO" 生中継 from 大安禅寺!

福井、鯖江の紹介コーナーの後、ITのまち鯖江について英語インタビュー。


外には大きな中継車!


too funkyで、幻となった鯖江メガネ neoplug、IchigoJam x OLED エディション


番組内にはneoplug開発のBOSTON CLUB 小松原社長と共に登場!


ありがとうございました!中山さんカティーキャットさん(@DoitCosplaygirl)と!

世界中に放送された NHK WORLD NEWSROOM、NHK WORLDで録画も見られます。
Fukui: craftsmanship and beyond - NEWSROOM TOKYO - TV - NHK WORLD - English

Q: Why has Sabae been so successful in embracing new technology? What’s the key to its success?
なぜ鯖江市は新しい技術の取り組みがうまくいっている?

First of all, it is the mayor's decision to turn Sabae into an open-data city.
第一に市長の判断が鯖江をオープンデータシティに変えました。
Sabae is the first city in Japan to have done this.
鯖江市は日本初のオープンデータシティ。
And it's important to emphasize that citizens backed up this decision.
そして市民がそれをバックアップをしていることが重要です。
The city has many CEOs. People in Sabae are eager to revive their community.
鯖江市には社長がたくさん。鯖江の人々はまちの活性化にとても熱心です。
The number of shops is falling. Young people are moving elsewhere to find better jobs. Most of them don't return.
お店が減り、若い人は職を求めてよそへ行ってしまって戻ってこない。
Residents want to stop this.
市民はそんな流れを断ち切ろうとしています。
A citizens group started classes to make children and adults more familiar with programming.
市民の力で子供とシニア向けのプログラミング教室が始まりました。
And this spring, the city will launch programming clubs in all 15 elementary and junior high schools.
そしてこの春、鯖江市は市内のすべての小中学校15校でのプログラミングクラブ活動スタートさせます。
We believe all this could lead to the development of new apps using open-data.
これらすべてがオープンデータを使った新しいアプリケーションの実現へとつながります。

Q: What's the goal of the Sabae city?
鯖江市のゴールは?

Sabae is trying to create a model that will make everything revolve around information technology.
ITを活用し、すべてを進化させる鯖江モデルを創ろうとしています。
Our goal is to involve all residents and all local businesses in the management of their city.
私達のゴールはすべての市民、すべての地域企業が市の運営に関わることです。(市民主役)
...and to inject technology into traditional craftsmanship to revive local industry.
伝統的な産業にもITを融合させ地域経済の活性化を実現します。
70-thousand people live in our city, which is a good size to innovate.
鯖江市の人口は約7万人、イノベーションにちょうどいいサイズです。
People communicate with each other... no matter what their job is.
業種業界に関係なく、みんなで話し合えます。
With IT, every single citizen should be able to develop new ideas to improve the community and participate in decision-making.
ITを使えば、すべての市民がまちの意思決定、まちをよくするアイデアづくりに参加できます。
And eventually, this will lead the city to grow.
全員参加こそ、まちを成長させる最終型です。
Also, we hope to attract investment from Japan and abroad... and encourage people to live in Sabae.
国内はもちろん海外からの進出、移住も大歓迎です!

links
- Fukui: craftsmanship and beyond - NEWSROOM TOKYO - TV - NHK WORLD - English
- NEWSROOM TOKYO - TV - NHK WORLD - English
- 普通の眼鏡をスマートグラス化、スライド式着脱機構「neoplug」。鯖江ブランドを世界規格へ - Engadget 日本版
- データシティ鯖江ポータルサイト | Data City Sabae

On Friday 19th, I'll appear in the live of NHK WORLD TV broadcasting(NHK国際放送) in "NEWSROOM TOKYO" program with neoplug "glasses for wearable". [20:00 - 20:45 (JST)]

IchigoJam x OLED x neoplug!


IchigoJam demo / see IchigoJam x OLED - IchigoJam BASIC & Arm Assembly Language.

1 GSB@INIT:GSB@LINIT:CLT 2 GSB@CLS:S="IchigoJam":FORI=0TOLEN(S)-1:X=3:Y=12-I:GSB@LC:C=ASC(S+I):GSB@LPUTC:NEXT 3 VIDEO0 20 X=RND(8):Y=RND(16):GSB@LC 22 IF TICK()>60*15 CLT:GOTO2 25 IF !(X<2 OR X>4 OR Y<3 OR Y>13) GOTO20 30 C=229+RND(27):C=RND(2)*C:GSB@LPUTC 40 GOTO20 100 @INIT:POKE#700,0,141,20,32,0,175:?I2CW(60,#700,6):RTN 110 @LC:POKE#700,0,33,Y*8,127,34,7-X,7:?I2CW(60,#700,7):RTN 120 @PUTC:COPY#700,C*8,8:?I2CW(60,#40,#700,8):RTN 130 @CLS:X=7:Y=0:GSB@LC:C=0:FORI=0TO127:GSB@PUTC:NEXT:RTN 150 @LPUTC:?USR(#800,C):?I2CW(60,64,#700,8):RTN 155 @LINIT:LET[0],#B5F0,#2307,#021B,#18C9,#2308,#4358,#1812,#2500,#2701,#2600,#2407,#2000,#5D93,#40EB,#403B,#40A3,#18C0,#3C01,#3601,#2E08,#D1F6,#5548,#3501,#2D08,#D1EF,#BDF0:RTN

We're judging programs of PCN Kid's Programming Contest 2017 Winter at SAMMIE'S in Fukui prefecture.
Thank you kids to send us many intresting programs!

(added 2019.1.19)
NHK WORLD NEWSROOM 2018.1.19 - YouTube (recorded)

"my interview scene and my talks"

A third party OS for Raspberry Pi "IchigoJam RPi" can connect and program the IchigoJam with LPC1114 via just 3 jumper wires.
ラズパイ用サードパーティーOS「IchigoJam RPi」はIchigoJamをジャンパーワイヤー3本で簡単につないで、プログラムできますよ!

Connect 3 wires after boot both IchigoJams. 起動してから3本つなぐ
1. RPi:6pin(GND) - IchigoJam:GND
2. RPi:8pin(TXD) - IchigoJam:RXD
3. RPi:10pin(RXD) - IchigoJam:TXD

Type followings on IchigoJam RPi つぎのように打つ

?"LED1

Your remote IchigoJam lighted! するとつないだIchigoJamが光る!


You can program also! プログラムもできちゃいます

?"1 LED1:WAIT10 ?"2 LED0:WAIT10 ?"3 GOTO 1 ?"RUN


Send #1B (=0x1b, code of ESC) to stop 止める時は#1Bを送信

?CHR$(#1B)

Unwire a wire if IchigoJam repeated errors. エラーがループしたらワイヤーを1本ぬく
You can change the no response mode "OK0" レスポンスなしモードは「OK0」

OK0

Make a VIDEO connector for Raspberry Pi Zero ビデオコネクターづくり

Just solder a 2P pin header and a composit connector
2Pピンヘッダーとコンポジットコネクターをはんだづけするだけ!


You can use the 4.3 inch mini monitor! 4.3インチのミニモニターが使えます!

How to use the IchigoJam RPi つかいかた
1. Download the OS, IchigoJam RPi (https://ichigojam.github.io/RPi/)

2. Write to SD 書き込み
3. Boot! 起動

You can find the "IchigoJam RPi" on the Raspberry Pi official DOWNLOADS page!
ラズパイ公式のダウンロードからも辿れます!

Enojoy programming and computing! プログラミングとコンピューティングを楽しもう!


photo 2016.12.11: Mr. Eben Upton(@EbenUpton), inventor of Raspberry Pi and inventor of IchigoJam! 「IchigoJam meets Raspberry Pi! Mr. Eben Upton's first IchigoJam BASIC program is...
We've released IchigoJam RPi with I-O DATA!
エベン氏と会って1年、アイ・オー・データ機器のイベントでついに IchigoJam RPi 発表!
Moblie Game Machine making workshop for Kids using IchigoJam RPi / I-O DATA FAIR 2017


photo from 「10 age kid who got PCN RaspberryPi award is creating a electric circuit with transistors as his own idea! Let’s spread Kids Programming! / PCNラズパイ賞を受賞した10歳の子は「最近はトランジスタが楽しい」と、オリジナルなモーター回路を設計中!IchigoJam RPi でますます広がる こどもプログラミング! – about yrm
Raspbery Pi Foundation supported our PCN Kids Programming Contest 2017 in Summer.
Thanks a lot!! ラズパイ財団からPCNこどもプロコンに特別協賛、感謝!


Today (4 December) is 50th anniversary of Kids Coding! なんと子供のコーディング50周年記念日!
Celebrating 50 years of Kids Coding


IchigoJam can connect Rwanda and us also. / IchigoJamがつないでくれたルワンダとの縁!
Programming for Rwandan kids! Open Teaching Materials

Programming for All Kids! - PCN / すべてのこどもたちにプログラミングするきっかけを!

クラウドの展示会、クラウドコンピューティングEXPO【春】のさくらインターネットブース、スペシャルセッションにて「sakura.io と IchigoJam でつくるバス公共交通IoTとオープンデータ」をテーマにトークセッション!(5/10水14:30〜)
We'll have a show at the booth of Sakura Internet in Cloud Computing Expo Spring!

こどもでも作れる簡単、高速、低消費電力IoTプログラミング環境でもある「IchigoJam」と月額60円からの4G通信モジュール「sakura.io」を使った、鯖江市営バスのシステム。 Code for Japan コーポレートフォローシップで誕生した、本システムの背景とを鯖江市役所の情報統括官で Code for Sabae のメンバー、本システムの共同開発者でもある牧田氏を交えて紹介。 更なる低価格IoTを実現するLoRaとこども起業家輩出を目指す企業連携プロジェクト「KidsVenture」が創る未来を、代表の高橋氏を交えて公開ディスカッション!
- Easy IoT Programming Environment "IchigoJam" x Just ¥61/month IoT "sakura.io"
- About Code for Japan Corporate Fellowship and this system with Mr. Makita CIO of Sabae city.
- How to make the future with Mr. Takahashi Leader of KidsVentrue.


"オープンデータ鯖江市つつじバスモニター / Sabae Tsutsuji Bus Monitor with opendata"

ブースでは、IchigoJam x sakura.io で動くシステムの予備機と鯖江で4月から運用されているバスのリアルタイム乗客数オープンデータを紹介。
だれでも作れる IoT ぜひ会場までお越しください!
We'll show the acutual IoT device and the demo page on web at the booth.
IoT for everyone! Welcome to the booth of Sakura Internet!


(運転手さんに実際使ってもらった実証時の写真)


Bus Graph / つつじバス乗客数グラフ@ja
(based on つつじバスなう)

links
- Code for Sabae 4周年!(スペシャルセッション講演資料)
- 「第8回 クラウド コンピューティング EXPO【春】」(東京)の弊社ブースにて、セッションを行います | さくらインターネット
- 福井県鯖江市、jig.jp、さくらインターネットが共同開発した「バス乗客リアルタイムオープンデータシステム」を鯖江市の公共バスで運用開始
- 鯖江市バスのリアルタイムオープンデータを使ったグラフアプリ
- - クラウド コンピューティング EXPO | リードエグジビションジャパン
- バス乗降数IoT実験、Code for Japan x Yahoo!Japan コーポレートフェローシップ in 鯖江

メモリが4KBしかないIchigoJam、節約のため変数はすべて16bit。低い限界を楽しめる設計です。 もちろんプログラミングでその限界は超えられます。今回はマシン語を使って超える方法の紹介。
How to exceed the 16bit limit of IchigoJam!

@CALC32 PUSH {LR,R4,R5,R6} R6=8 R6=R6<<8 R6=R1+R6 R5=#F<<2 R4=R0 R0=R4>>2 R0&=R5 R0=[R6+R0]L R1=R4<<2 R1&=R5 R1=[R6+R1]L R2=R4>>12 R2-0 ' plus IF !0 GOTO @SKIP1 R0=R0+R1 GOTO @END @SKIP1 R2-1 ' minus IF !0 GOTO @SKIP2 R0=R0-R1 GOTO @END @SKIP2 R2-2 ' multi IF !0 GOTO @SKIP3 R0*=R1 GOTO @END @SKIP3 R2-3 ' division IF !0 GOTO @SKIP4 PUSH {R4} GOSUB R3 POP {R4} GOTO @END @SKIP4 R2-4 ' division(remain) IF !0 GOTO @SKIP5 PUSH {R4} GOSUB R3 POP {R4} R0=R1 ' GOTO @END @SKIP5 @END R4=R4>>6 R4&=R5 [R6+R4]L=R0 POP {LR,R4,R5,R6}

"32bit calc library on asm15 (CALC32)"

マシン語呼び出しのパラメーターで、計算種類、配列位置で、結果格納、計算する数2つを指定します。32bit = 4byte なので、配列は[0]と[1]など、2つずつ使います。コンパイルした結果がこちら。

10 POKE#700,112,181,8,38,54,2,142,25,60,37,4,70,160,8,40,64,48,88,161,0,41,64,113,88,34,11,0,42,1,209,64,24,19,224,1,42,1,209,64,26 20 POKE#728,15,224,2,42,1,209,72,67,11,224,3,42,3,209,16,180,152,71,16,188,5,224,4,42,3,209,16,180,152,71,16,188,8,70,164,9,44,64,48,81 30 POKE#750,112,189 RUN

例えば、1234*5678 (=7006652)を計算するには、このように使います。

[0]=1234:[2]=5678 U=USR(#700,#2201):'[4]=[0]*[1] [6]=10000 ?DEC$(USR(#700,#3523),4)DEC$(USR(#700,#4423),4) 7006652

結果の表示上、9999万9999まで表示します。マイナスの数はどうなるか、やってみましょう! links
- IchigoJam
- マシン語でつくるプログラマブル学習リモコン
- レゴテクニックシリーズをIchigoJamと赤外線LEDで制御する(マシン語) / Control Lego Technic by IchigoJam and IR LED
- はじめてのマシン語 - IchigoJamではじめるArmマシン語その1

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