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

こどもメイカーフェアを! PythonでIoT黒電話を作って展示する小学生!? MicroPython on WiFiBoy

2018/08/05
#KidsIT #python #rasppi #taiwan 

Maker Faire Tokyo 2018、閉幕。今年もいろんな刺激とたくさんの出会いがありました。
ハッシュタグを追いかけ見つけた、見たかった作品はこちら、IoT黒電話!


なんと小学生がラズパイとPythonで作ったとのこと。こどもの活躍、うれしい!


台湾のプログラミング教育のためのWiFiBoy32で、初MicroPythonに挑戦してみました。

WiFiBoy32で、MicroPythonをインストールし、エルチカするまでの手順
1. esp32用ツールにパスを通す

export PATH=$PATH:/Users/[username]/Documents/Arduino/hardware/espressif/esp32/tools/

2. MicroPythonをダウンロード
3. バイナリを WiFiBoy32 に転送(しばし待つ)

esptool.py --chip esp32 --port /dev/tty.SLAB_USBtoUART write_flash -z 0x1000 esp32-20180805-v1.9.4-440-g3bef7bd78.bin

4. シリアルで接続する

screen /dev/tty.SLAB_USBtoUART 115200

5. 記事を参考にLEDを光らせてみる

import machine led = machine.Pin(16, machine.Pin.OUT) led.value(0)

* WiFiBoy32のLED、回路図を見るとGPIO16をOFFで光るように接続されている
6. エルチカ(上キーを押したら光りっぱなし)

import machine import utime up = machine.Pin(33, machine.Pin.IN, machine.Pin.PULL_UP) led = machine.Pin(16, machine.Pin.OUT) while True: if up.value(): led.value(1) utime.sleep_ms(500) led.value(0) utime.sleep_ms(500)

できた!
いつものPythonで動くのは便利!

でも、やっぱり短いコードなら、IchigoJam BASICの方が簡単!

10 LED BTN(UP)=0:WAIT30 20 LED0:WAIT30 30 GOTO10

IchigoJamでいろいろいじって工夫して、物足りなさを感じてからのステップアップがおすすめです。


こどもプログラミングの老舗、LEGOマインドストームは20周年!貴重な初代モデル展示がありました!


子どもプログラミング喫茶、たくさんの感動が生まれました!


大人も体験プログラミング!


訪ねてきてくれたIchigoJamオーナーと記念写真!


USBシリアルと電源の切り替えスイッチを搭載した、自慢のオレンジカムロボを見せてくれました。


IchigoJam、一度教わると、教えられそうかなっと思えるくらいの簡単さが特徴です。
大人にも喜んでもらえるとうれしい!


上級者にはIoT対応IchigoSodaをいろいろいじってもらってメンタリング。どんどん勝手に夢膨らむ感じがステキ!


IchigoJamの初参加!OtOMOの倉本さん、楽しい機会をありがとうございました!


15歳のWiFiBoy創業者、PCNブースにも来てくれました!


供の操縦、楽しそう!タミヤのムカデロボ、すでにサーボでラジコン化されてました。


PCN北千住&PCNブース、おつかれさまでした!


PCNブース、たくさんのご来訪ありがとうございました。子供でもできちゃう手書きPOPメソッド。


花添えた、未就学児でも楽しめるプログラミング環境「IchigonQuest」のエルイー


たくさんのこどもたち!


こどもが作った作品を、こどもが楽しむ!


こどもが開発、笑顔になれるボタン!


高専カンファレンス、おびなたさん!


イスラエルから!


Pimoroni x MagPi


ラズパイユーザーグループ太田さんと!


同時開催のデザフェス、オレンジの作業服が決まってる「紙でできた道路アクセサリー」というレアジャンル!


極小LEDをなんと手半田して作っている光るペンダント。光るアクサリー、来ますね!


大好きなBLAMEのような世界観。


融合するともっと楽しいことになりそう!


Startup Weekend Tokyo @ Maker Faire Tokyo


今回のMaker Faire内開催の発端となった、大田区、スゴイ!沖縄も鯖江市も負けてはられません!


子供の発想による自由な作品が増えるともっとすごいイベントになりそう!
Maker Faire、次は大垣開催

IchigoJam VR!? meet up with Japanese Raspberry Pi Users Group!

2018/06/19
#IchigoJam #rasppi 

Raspberry Pi foundation is supporting our PCN Kids Programming Contest.

"Nice see you again!" with @EbenUpton (the first time 2016.12.11)


Raspberry Pi Foundation Prize at PCN Kids Programming Contest 2017 Winter! (from results)

Raspberry Pi x IchigoJam projects


BASIC programming with voice!


IchigoJam BASIC runs on Raspberry Pi - IchigoJam RPi


Dancing Lion made will run also IchigoJam RPi


I met Johan agin also. Eben's the first try about Oculus Go.


This useful VR for Smartphones, VR SHINECON. I've done Megane demo.


IchigoJam is advancing VR!?
I added a function "vr" to "IchigoJam web" for VR googles.
This is only the beginning.


PCN Matta showed demo of IchigonQuest (unpublished RPi version!) for before BASIC language talkers.


I presented 15th special IchigoJam kit!


Thank you Eben! Great various Raspberry Pi goods.


Fantastic Japanese Raspberry Pi Users Group!

Computers all Kids!

links
- Japanese Raspberry Pi Users Group | ユルく楽しく、ある意味しょーもないことを追求することを楽しむ、お気軽なユーザグループです
- IchigoJam meets Raspberry Pi! Mr. Eben Upton's first IchigoJam BASIC program is...

音声認識パーツとして使うラズパイゼロ、声でプログラミングするIchigoJam コンパクト版

2018/04/06
#IchigoJam #rasppi 

声でプログラミング第二弾、前回はMacだったのでラズパイゼロを使って、コンパクトになりました。

マイクに向かって「えるいーでぃーいち」と話すと、LEDをつけてくれます!
電源を入れてから1分で準備ができて、しゃべりかけるたびに、シリアル出力でIchigoJamに伝えます。
なので、キーボードは必要なし!


IchigoJamとラズパイゼロ(Raspberry Pi Zero)との接続は、5V/GND/TXD/RXDの4本
PanCakeや、MixJuiceのように、シリアル信号経由でいろいろなことをラズパイにしてもらえそうです。
I2Cも使いたいところですが、ラズパイにI2Cスレーブモードはないのかも??


ラズパイで使ったOSは、IchigoJam RPiも載っているOS一覧から、Raspbian Stretch Liteを選択。
IchigoJamと同様、画面の入出力はシリアルにも同時入出力されますが、raspi-configを使って「shellでは使わない、ハードウェアとしては使う」に設定変更。 あとは、前回同様、pyserialでラズパイのシリアルを表す /dev/ttyAMA0 に出力するようにすればOK!

IchigoJamでおなじみ小型モニターで使う場合、config.txt を下記のように設定するとなんとか読めます。

overscan_left=4 overscan_right=4 overscan_top=24 overscan_bottom=24 framebuffer_width=320 framebuffer_height=240

ネットワークがないラズパイゼロは、アプリのインストールがちょっと面倒ですが、Macと共有できるスペースを確保しておくと便利でした。

SDカードにRaspbianを書き込む

sudo dd bs=1m if=2018-03-13-raspbian-stretch-lite.img of=/dev/rdisk2

fdiskで余りの領域に、VFATのパーティションを作成する

sudo fdisk -e /dev/disk2 edit 3 [pid] C [start, size は、デフォルトでOK] write quit

diskutilでVFATパーティションをフォーマットする(16GB SDカードの場合、14G確保可能)

diskutil splitPartition /dev/disk2s3 1 "MS-DOS FAT32" "data" 14G

この領域にいろいろコピーしておくことで、ネットワークがなくてもなんとかなります。
ラズパイ上でマウントするコマンドは、こちら

mount /dev/mmcblk0p3 /data

パーミッションとかいろいろ面倒ですが、部品として使う場合、root(管理者権限)で全部やっちゃうと楽です

sudo passwd root

音声認識エンジン julius をラズパイ上でコンパイルして、前回の設定ファイルで動くように /etc/rc.local に起動スクリプトを書いて出来上がり。 動作速度が心配でしたが、前回のMacで試したときと体感的な差はなく、実用レベル!(長い文章認識だと違うかも)


ボストンクラブ新社屋(360度写真)にて、SWL(Sabae Wearable Laboratory)の第4回ミーティングがありました。
おみやげに、めがね会館で購入、お菓子なメガネ、サバエイトのちっちゃいパッケージ。
鯖江市×老舗お菓子メーカーフルタ製菓×仮面女子コラボ決定「サバエイトチョコ」!|日刊アイドル

ポストスマホの未来はメガネ、夢のようで、そうでもない話で、盛り上がります。
電脳メガネサミット、次回開催に向けて、いろいろネタを創りましょう!
電脳メガネサミット2018 in Tokyoの記事書き起こし - ログミー

無いのならジブンで作ろうコンピュータ! はんだづけからLEDつけるまで、わずか5分!? はんだづけタイムアタック in Raspberry Jam Big Birthday Weekend 2018 in TOKYO and TAIWAN

2018/03/04
#taiwan #tokyo #rasppi #IchigoJam #KidsIT 

コンピューターのかわいいところは、自分の思い通りに動いちゃうところ。
いろんなものを作れてしまう楽しさに、年齢も性別も国籍も何の壁もありません!

自分でつくった、ウェアラブルコンピューターと!(Raspberry JAM Tシャツ、GET!)


阿部和広さんによるセッション「2020年の小学校プログラミング教育必修化とRaspberry Pi」
NHKの番組「Why!?プログラミング [技術 小5~6・中]|NHK for School」にもパペット出演!


実施する教科
例示以外の内容や教科書においても、プログラミングを学習活動として実施スロことが可能であり、プログラミングに取り組むねらいを踏まえつつ、学校の教育目標や自動の実情等に応じて工夫して取り入れていくことが求められる。
→ いろんな教科で使えそうなら使いましょう!


総則
各教科等の特質に応じて、次の学習活動を計画的に実施すること
イ 自動がプログラミングを体験しながら、コンピュータに意図した処理を行わせるために必要な論理的思考力を身に付けるための学習活動
→ コンピュータを思い通り動く感動をすべてのこどもたちへ!


でも、学校には5.9人に1台しかない!

・・・そこで、IchigoJamのコア部分をとりだしたコンピューター、IchigoDake

2017年エイプリルフール発表からの、製品化!


コンピューターのはんだづけに挑戦!
はんだづけする部品はわずか、9つ。お手軽で、ペンダントやキーホルダーになる、できあがりのかわいさがウリ!

起動した!LED光った!

IchigoJam BASIC ver 1.2.4 by jig.jp OK LED1 OK

はんだづけ具合はみんな違う、世界でたった一つのジブンコンピューターのできあがり!

1kbyteが4つ保存できる、IchigoJam。
たかが1KB、されど1KB。
なんとマインスイーパーを実装しちゃった、「IMines」 by 永谷弘宣さん!

自慢のプログラムを持ち運び、IchigoIgaiがあれば、どこでも自分のプログラム、見せられます!
(IchigoSpot設置店のオープンデータ化、始めないと!)


更に、IchigoJamや、IchigonQuestでプログラムを組んで・・・


DakeJacketカスタムされた、タミヤのカムロボに差し込めば、動く!

IchigonQuestについては、公式サイトや、ブログをどうぞ!
全国から集結 、第3回こどもプログラミングサミット!「カムロボ × IchigonQuest」ワークショップは2年生にも好評! – about yrm


扱った、みんなでタイムアタック、4人対戦!

IchigoJam はんだづけタイムアタック(Dake部門)

ルール
- IchigoDakeハーフキットを使用する
- 袋は未開封の状態とする
- はんだごてなどの道具、IchigoIgaiは準備しておく
- 部品は全部、実装すること
- 背面の線は切ること(上から手で押さえてもショートしないこと)
- スタートと掛け声ではじまり、LED1でLEDをつけるまでをタイムとする


CoderDojoさんもよる挑戦


私も本気で挑戦するも・・・

本日の公式世界記録はこちら(HN=ハンダネーム)

IchigoJam はんだづけタイムアタック(Dake こども&初心者部門)
1. 22'38"47 HN:トガサン
2. 23'45"00 HN:オコサン

IchigoJam はんだづけタイムアタック(Dake 大人&ガチ部門)
1. 4'58"10 HN:ヨシナリ
2. 5'08"10 HN:フクノ
3. 6'10"27 HN:マキノ
4. 8'13"00 HN:フルコオリ
5. 8'20"00 HN:ケイカ
6. 15'04"00 HN:イマチャン

10秒及ばず、2位。

エントリー方法はこちら!
- 公式イベント、PCN秋葉原、または、配信サービスで動画アップ!


コンピューターの楽しさ伝える、CoderDojoさんがお向かいでした!


台湾台北のユーザーグループとのコラボ「日本・台湾合同グローバルセッション」
じぶんでつくったまちを自分で作った自動運転車が走ってます!
Raspberry Pi Jam in Taipei 2018
台湾とはオープンデータつながりも!


Programming education for elementary school kids by RaspberryPi」と題して、英語プレゼン!
IchigoJam RPi is Compact and has Impact! Try to download now just 3Mbyte!


Japanese Raspberry Pi Users GroupCoderDojo JapanPCN


Japanese Raspberry Pi Users Group 太田さん、良い機会、ありがとうございました!


PCNブース、見に来ていただいた方、ありがとうございました!
見に行けなかったーという方、PCN秋葉原アセンブラージュ(電気街口から徒歩1分)でお待ちしています!

links
- 鯖江-蒲田を結んだ、オープンデータデイ&ラズパイ生誕祭PCNブース - 1日目
- 無いのならジブンで作ろうコンピュータ! はんだづけからLEDつけるまで、わずか5分!? はんだづけタイムアタック in Raspberry Jam Big Birthday Weekend 2018 in TOKYO and TAIWAN - 2日目(本記事)

鯖江-蒲田を結んだ、オープンデータデイ&ラズパイ生誕祭PCNブース

2018/03/03
#sabae #tokyo #opendata #rasppi #IchigoJam 


オープデータデイ鯖江とつないで、東京蒲田のラズパイイベント会場からワークショップ!(鯖江市役所(めがねのまち さばえ)


お誕生日会、スタート!


IchigoJam RPi、起動の速さとそのまんま感、ご体験ください!
IO-DATAさんブースもありますっ(はじめてのプログラミング 開催レポート | IODATA アイ・オー・データ機器


IchigoJam、カトラリーカード、Fabo、sakura.ioを使った、オープンデータを作ろう、こどもIoTハッカソンminiワークショップ開催!
くらくなったら、3秒おきに、ネットにデータ送信のプログラムは、このように並べて・・・


ひっくり返してコンパイル!上から1、2、3、と番号を振りながら入力していきます


カトラリーカード sakura.io & Fabo 拡張
カトラリーカード基本版 CC BY 日鉄日立システムエンジニアリング株式会社


カトラリーカード 基本編、GOTOでくりかえし編
カトラリーカード基本版 CC BY 日鉄日立システムエンジニアリング株式会社


光センサーが隠れている、くるくるまわるLED、プログラミング体験してもらいました。


なんと、ゲームボーイアドバンスのカセットを自作しちゃっている! CUBIC STYLEさん


8x8のWS2812Bマトリクスを使って日本地図表現!これは使えそう!


IchigoJamなど、こちらでお買いものもできます。
Assemblage秋葉原、本日は蒲田で営業です!


PCNブースでは、はんだづけコーナーも設置!


動いた!カラフル、世界にひとつだけのIchigoJamをはんだづけできます!


アイロンビーズをつかったパクパクししまいくん、キットの販売もあります!


LTで、6才お祝いさせてもらいました!


流行りのマトリクスLED、こちらなんと64x64!


お誕生日ケーキ!


世界各地でラズパイ生誕6周年祭、Raspberry JAM, Big Birthday Weekend
3/4(日)も開催!

links
- 鯖江-蒲田を結んだ、オープンデータデイ&ラズパイ生誕祭PCNブース - 1日目(本記事)
- 無いのならジブンで作ろうコンピュータ! はんだづけからLEDつけるまで、わずか5分!? はんだづけタイムアタック in Raspberry Jam Big Birthday Weekend 2018 in TOKYO and TAIWAN - 2日目

3/3、オープンデータデイ&ラズパイ6才のお誕生日会で、こどもIoTハッカソンmini!

2018/02/28
#opendata #rasppi #IchigoJam #KidsIT 

月額64円でできちゃう4Gネットワークを使ったIoT。
sakura.ioを使った「こどもIoTハッカソン」は子供の発想と創造力に、大人が学べるおすすめイベント。

プログラミングに苦手意識をもった人でも安心、カトラリーカードのIoTバージョンをつくって、ますます親しみやすくしてみます。 続々登場するオープンデータとIoTを組み合わせた、新しいものづくりに子供の心で挑戦してみましょう!


カトラリーカード sakura.io & Fabo 拡張
カトラリーカード基本版 CC BY 日鉄日立システムエンジニアリング株式会社

送信と受信、2枚のカードを足しました。基本版の行番号と合わせて並べて、ひっくり返してコンパイル!

Nをデータ送信

N=15:LET[0],2593,19457,N:[6]=N>>8^N^102:?I2CR(79,#800,13,#820,3)

データを受信するまで待つ(データはNへ)

LET[0],48,48:?I2CR(79,#800,3,#820,22):F=[16]!=5:N=[18]:IF!F:CONT

週末開催されるラズパイ6才のお誕生日会
Raspberry Jam Big Birthday Weekend 2018 in TOKYO | Japanese Raspberry Pi Users Group
こちらで初お披露目です!

IchigoJamワークショップ at Raspberry Jam Big Birthday Weekend 2018 in TOKYO | Peatix

楽しいキラキラや、ロボットの展示、はんだづけ体験コーナー、3/4にはIchigonQuest、カムロボも登場!


まちで遊ぶアプリを考えよう@オープンデータデイ2018 – めがねのまちさばえ 鯖江市
3/3は、インターナショナル・オープンデータ・デイ。
鯖江市の鯖江公民館を会場に開催されるオープンデータデイイベントとも結び、IoTとオープンデータのものづくりを紹介します!

links
- こどもIoTハッカソン
- KIDS IoT Hackathon - How do you help your mom by the robot you create?(仙台)
- Cutlery Card expantion for Kids IoT Hackathon(鯖江)
- 51 IRA-IRA makes 33 new things! Kids IoT Hackathon in Akihabara(秋葉原)
- IcihgoJam x sakura.io Educational Material Hackathon / IchigoJam IoT教材ハッカソン
- 大切な人を助けよう!遊びが学び「こどもIoTハッカソン」とIchigoDakeペンダント in 鎌倉 #IchigoJam(鎌倉)
- こどもIoTハッカソン in 三重!はじめてのプログラミング・電子工作・IoTハンズオン、アイデアソン、ハッカソン、発表までを1日で!

Armマシン語でライフゲーム - IchigoJamとRaspberry Pi用IchigoJam RPi(beta)で動く!

2018/01/28
#arm #IchigoJam #rasppi 

1995年のMSX-FANで出会ってから、シンプルな法則から生まれる多彩な結果に魅了されたライフゲーム。
一日一創でも、広大なライフゲームチェックボックスでつくったもの光の3原色をレイヤー表示したものなど作ってました。

IchigoJam BASICでも、10x10くらいなら配列を使ったプログラミングの練習にもちょうどいい感じでできます。
シミュレーション入門 / こどもパソコン IchigoJam でつくるライフゲーム
IchigoJam でも IchigoJam RPi(1.2b16以降) でも同じプログラムで動きます!

IchigoJam-FANにて、紹介あったArmマシン語でサクサク全画面で動くライフゲーム!
IchigoJam RPi vs LPC1114 マシン語ルーチンで動作違いを確認(戻り値の動き)
asm15 assembly表記にしてみました。

こちらちょうど1kbyte(=1024byte)になったライフゲームプログラム。(ベースプログラム by KubotaProject

1 'L-GAME 10 POKE#7D0,240,181,132,70,0,32,0,35,0,36,37,0,0,38,45,66,6,208,1,45,4,208,2,45,2,208,3,61,1,54,246,231,66,9,87,1,199,27,2,180 20 POKE#7F8,0,33,18,66,4,209,54,66,9,209,23,33,73,1,6,224,22,42,4,209,2,46,2,209,23,33,73,1,73,66,63,66,3,209,45,66,6,209,32,49 30 POKE#820,4,224,31,47,2,209,2,45,0,209,32,57,10,0,2,188,23,24,127,25,32,37,110,67,191,25,33,63,9,34,18,2,191,24,125,92,101,69,0,209 40 POKE#848,1,51,1,52,9,44,196,209,143,36,36,1,100,90,198,8,247,0,199,27,53,25,7,38,246,27,111,92,132,24,1,34,178,64,102,92,102,69,7,209 50 POKE#870,3,43,9,208,4,43,7,208,255,36,98,64,23,64,2,224,3,43,1,209,23,67,111,84,64,28,66,9,23,42,162,209,0,224,132,70,0,32,9,34 60 POKE#898,18,2,143,35,27,1,91,90,0,36,230,8,247,0,231,27,245,24,7,38,246,27,111,92,247,64,1,37,47,64,165,24,1,47,1,209,64,28,103,70 70 POKE#8C0,111,84,100,28,101,9,23,45,235,209,240,189 100 CLS:S=#700:W=0:FORI=0TO95:POKES+I,0:NEXT 110 FORI=0TO255:G=RND(736):M=G/8+S:F=7-G%8:R=PEEK(M):R=R|1<<F:POKEM,R:NEXT 120 WAIT3:LC0,23:?DEC$(USR(#7D0,#ED),5);:CONT

#700からのメモリに1マス1bitの生命データを置き、USRのマシン語読み出しで1世代進めています。
asm15形式にした、Armマシン語プログラムはこちら。(ベースプログラム by KubotaProject

' LIFE GAME - START ADDRESS #7D0 PUSH {LR,R4-R7} R12=R0 R0=0 @LP0 R3=0 R4=0 @LP1 R5=R4<<0 R6=0 @LP2 R5&R5 IF 0 GOTO @JP1 R5-1 IF 0 GOTO @JP1 R5-2 IF 0 GOTO @JP1 R5-=3 R6+=1 GOTO @LP2 @JP1 R2=R0>>5 R7=R2<<5 R7=R0-R7 PUSH {R1} R1=0 @TOP R2&R2 IF !0 GOTO @BOTTOM R6&R6 IF !0 GOTO @LEFT R1=23 R1=R1<<5 GOTO @LEFT @BOTTOM R2-22 IF !0 GOTO @LEFT R6-2 IF !0 GOTO @LEFT R1=23 R1=R1<<5 R1=-R1 @LEFT R7&R7 IF !0 GOTO @RIGHT R5&R5 IF !0 GOTO @JP5 R1+=32 GOTO @JP5 @RIGHT R7-31 IF !0 GOTO @JP5 R5-2 IF !0 GOTO @JP5 R1-=32 @JP5 R2=R1<<0 POP {R1} R7=R2+R0 R7=R7+R5 R5=#20 R6*=R5 R7=R7+R6 R7-=#21 R2=9 R2=R2<<8 R7=R7+R2 R5=[R7+R1] R5-R12 IF !0 GOTO @JP2 R3+=1 @JP2 R4+=1 R4-9 IF !0 GOTO @LP1 @PREP R4=143 R4=R4<<4 R4=[R4+R1]W R6=R0>>3 R7=R6<<3 R7=R0-R7 R5=R6+R4 R6=7 R6=R6-R7 R7=[R5+R1] R4=R0+R2 R2=1 R2<<=R6 @JUDGE R6=[R4+R1] R6-R12 IF !0 GOTO @JPB R3-3 IF 0 GOTO @JP3 R3-4 IF 0 GOTO @JP3 @DEATH R4=#FF R2^=R4 R7&=R2 GOTO @JPMEM @JPB R3-3 IF !0 GOTO @JP3 R7|=R2 @JPMEM [R5+R1]=R7 @JP3 R0=R0+1 R2=R0>>5 R2-23 IF !0 GOTO @LP0 GOTO @JPX2 @MEM2VRAM R12=R0 @JPX2 R0=0 R2=9 R2=R2<<8 R3=#8F R3=R3<<4 R3=[R3+R1]W R4=0 @LPX1 R6=R4>>3 R7=R6<<3 R7=R4-R7 R5=R6+R3 R6=7 R6=R6-R7 R7=[R5+R1] R7>>=R6 R5=1 R7&=R5 R5=R4+R2 R7-1 IF !0 GOTO @JPX1 R0=R0+1 R7=R12 @JPX1 [R5+R1]=R7 R4=R4+1 R5=R4>>5 R5-23 IF !0 GOTO @LPX1 POP {PC,R4-R7}

asm15 assemblerでアセンブルできます。

asm15 assemblerのアップデート
- R8からR15レジスタに未対応の一部命令を追加しました。
- レジスタに代入できるのは8bit/1byteの符号なし定数までなど、範囲制限のある数値で超える場合にエラーが出るようにしました。

IchigoJam、ラズパイ、スマホで動くArmマシン語、興味持った方はこちらからどうぞ!
はじめてのマシン語 - IchigoJamではじめるARMマシン語その1

My First Machine language - the simplest course of Arm machine language with IchigoJam step1

2018/01/25
#IchigoJam #KidsIT #Arm #rasppi #english 

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"

IchigoJam RPi, a Third Party OS for Raspberry Pi can program the IchigoJam / Kids Coding 50th!

2017/12/04
#IchigoJam #KidsIT #rasppi #english 

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 / すべてのこどもたちにプログラミングするきっかけを!

IchigoJam RPi ベータ版公開!

2017/10/11
#IchigoJam #rasppi #maker 

お待たせしました、Raspberry Piで動くIchigoJam、IchigoJam RPiのベータ版がIchigoJam-FANからダウンロードできるようになりました! 超簡単エルチカがラズパイでも実現です!


* 書籍は、高専プロコンで出会った高知高専の今井一雅さん著「Raspberry Pi ZeroによるIoT入門- Zero W 対応

LED1 OK LED0 OK

わずか8MBのファイル群を、microSDカードにファイルをいれて、ラズパイにセット、電源をいれれば数秒で起動、LED1、エンターでラズパイのLEDが光ります!(まるで、IchigoJam!)

10 LED1:WAIT60 20 LED0:WAIT60 30 GOTO10 RUN Break in 10 SAVE0 Saved 42byte OK

IchigoJamのボタンを押しながら電源ONの代わりに、キーボードをつながずに電源ONで自動起動。LEDが1秒おきに点滅します。

GPIO/PWMも同様にいろいろと使えます。

microSDカードは、起動後はファイルを保存、読み込みする以外は使わないので、いつ電源を切っても大丈夫! ラズパイを使ったお手軽電子工作にもぜひチャレンジください。

links
- IchigoJam RPi ベータ公開 on IchigoJam-FAN
- $15 Computer IchigoJam meets Cute Manufacture Pimoroni in UK, and connects SkyWriter HAT!
- ラズベリーパイ財団も特別協賛、PCNこどもプロコン表彰式
- IchigoJam meets Raspberry Pi! Mr. Eben Upton's first IchigoJam BASIC program is...
- IchigoJam on Raspberry Pi - ラズパイ用のベアメタルOSとしてのIchigoJam

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