micro:bit ではさまざまなウェブベースの開発環境が提供されている。
この記事ではオフラインでの開発環境の構築方法(ただし Ubuntu Linux のみ)について説明する。
参考にしたのは以下のサイトである。
https://lancaster-university.github.io/microbit-docs/offline-toolchains/
micro:bit ではさまざまなウェブベースの開発環境が提供されている。
この記事ではオフラインでの開発環境の構築方法(ただし Ubuntu Linux のみ)について説明する。
参考にしたのは以下のサイトである。
https://lancaster-university.github.io/microbit-docs/offline-toolchains/
冬休みの自由課題として micro:bit で遊んでみた。
モジュールは秋月電子で購入した。
http://akizukidenshi.com/catalog/g/gM-12513/
PCと micro:bit とを USB-Micro USB のケーブルで接続すると、自動的に起動してメッセージ(Hello.)が表示される。
その後、左ボタン(A)と右ボタン(B)を押すように促される。さらに SHAKE と表示されるので micro:bit を振る。
次にCHASEの表示の後で点滅する赤いLEDが現れる。micro:bit を傾けると点灯するLEDが動くので、適当に傾けて点滅するLEDに重ねる。2回ほど行うと「GREAT NOW GET CODING!」表示されたあと、LEDのアニメーションが延々と続く。
自分でプログラムを作って micro:bit に転送することができる。micro:bit のサイトには何種類かの方法が提示されている。
一番手っ取り早いのはJavaScriptブロックエディタで、いわゆる Scratch 風のブロックプログラミングができる。
ブラウザに Scratch 2.0 風の配置の編集画面が表示される。中央のパレットから右側のブロックエリアにドラッグ&ドロップでブロックを配置していく。「最初だけ」や「ずっと」の中にブロックを配置していけば Arduino のようなプログラムを作れる。上部にある JavaScript ボタンを押せば JavaScript のコードに変換して表示される。
秀逸なのは、ブロックを編集するたびに左側に表示されている micro:bit でプログラムの動作がシミュレート表示されることだ。音関係のブロックを取り出すと、どのようにスピーカーに配線するかも図示される。
プログラムを micro:bit に転送するには「ダウンロード」ボタンを押せばよい。拡張子が hex のファイルがダウンロードされるので、それを micro:bit に転送する。micro:bit はPCに接続すると外付けメディアとして認識されるが、ダウンロードした hex ファイルをそのメディアにコピーすることでプログラムが転送される。
JavaScript ブロックエディタはオンラインでしか利用できないが、Docker を用いてサーバー環境を構築すればオフラインでも利用できる(らしい。試していない)。
https://hub.docker.com/r/kadok0520/pxt-microbit/
micro:bit のサイトには Python のコードを入力できるエディタもある。
画面に Python コードを入力するだけ。Download ボタンを押して hex ファイルをダウンロードするのは JavaScript ブロックエディタと同様である。
micro:bitで利用できるのは MicroPython で、どんな機能が使えるかは以下のサイトで確認できる。
http://microbit.org/ja/guide/python/
いわゆるLチカは、こんな風に書ける。
from microbit import * while True: pin0.write_digital(1) sleep(500) pin0.write_digital(0) sleep(500)
上の2つはいずれもブラウザ上のアプリとして micro:bit のプログラミングを行うものだったが、PCにインストールするタイプのものもある。mu エディタはPC上で MicroPython のプログラムを作ることができる。
Windows, OS/X, Linux 版が提供されている。Linux版をダウンロードすると、 mu-0.9.13.linux.bin のようなバージョン付きのファイルが得られるので、適当な名前に変更するかシンボリックリンクを作成する。また、実行形式のフラグを設定する必要がある。
Python エディターに似た画面が表示され、Python コードを入力できる。 Flash ボタンを使うと直接 micro:bit にプログラムを転送することができる。ただし、(おそらく) dialout のグループにユーザーを登録する必要がある。
arm Mbed cloud 上でも micro:bit のプログラムを作成できる。そのためには、アカウントを作成してサイトにログインしておき、以下のページを開く。
https://os.mbed.com/platforms/Microbit/
画面中程の右サイドバーにある「Add to your mbed compiler」ボタンをクリックすると、mbed のアカウントに micro:bit 用のコンパイラが追加される。同じページにある「microbit-hello-world」などのサンプルをインポートすれば、適当なサンプルを試すことができる。
スマホやタブレットのアプリからも micro:bit のプログラムを作れるらしい。個人的には JavaScript ブロックエディタが使いやすいように思える。ゼミでは arduino を使っているが、価格の違いを差っ引いても来年度は micro:bit を使いたい衝動に駆られた。
これはSmalltalk Advent Calendar 2017の記事です。
前回に引き続いて、Bloc のチュートリアルである Building a memory game with Bloc のChapter 5(Adding Interaction) の内容をやっていく。
元ネタは
https://github.com/pharo-graphics/Bloc
の中にある、
http://files.pharo.org/books-pdfs/booklet-Bloc/2017-11-09-memorygame.pdf
である。
これはSmalltalk Advent Calendar 2017の記事です。
前回に引き続いて、Bloc のチュートリアルである Building a memory game with Bloc のChapter 4(Adding a board view) の内容をやっていく。
元ネタは
https://github.com/pharo-graphics/Bloc
の中にある、
http://files.pharo.org/books-pdfs/booklet-Bloc/2017-11-09-memorygame.pdf
である。
これはSmalltalk Advent Calendar 2017の記事です。
前回に引き続いて、Bloc のチュートリアルである Building a memory game with Bloc のChapter 3(Building card graphical elements) の内容をやっていく。
元ネタは
https://github.com/pharo-graphics/Bloc
の中にある、
http://files.pharo.org/books-pdfs/booklet-Bloc/2017-11-09-memorygame.pdf
である。
これはSmalltalk Advent Calendar 2017の記事です。
前回に引き続いて、Bloc のチュートリアルである Building a memory game with Bloc のChapter 2(Game model insights) の内容をやっていく。
元ネタは
https://github.com/pharo-graphics/Bloc
の中にある、
http://files.pharo.org/books-pdfs/booklet-Bloc/2017-11-09-memorygame.pdf
である。
これはSmalltalk Advent Calendar 2017の記事です。
Smalltalk絡みで何か書こうと思っていたけど、本職が火を吹いているので何もできず、そうかといってやり過ごすのも癪だ。
最近、Pharo Smalltalk界隈でBlocの話題がよく出ている気がする。小田さんのAdvent Calendarの記事にもなってるし。勉強会にも行ってないので何のことやら取り残された感を持っていたが、github にチュートリアルが出ていたので、それを記事を書くことで Bloc について勉強することにした。
ということで、元ネタは
https://github.com/pharo-graphics/Bloc
の中にある、
http://files.pharo.org/books-pdfs/booklet-Bloc/2017-11-09-memorygame.pdf
である。
GPD Pocket(ubuntu版)を入手したのだが、起動が遅かったりイザという時に自分でインストールできないと困るので、いろいろと方法を試してみたところ、 https://apt.nexus511.net/ のビルドイメージがなかなか便利だった。GPD Winでも使えるようなので備忘として残しておく。
いつも忘れてしまうので。
| iconList | iconList := IconListModel new. iconList items: (Smalltalk ui icons iconSelectors collect: [ :each | each -> (Smalltalk ui icons iconNamed: each) ]); displayBlock: [ :assoc | assoc key]; sortingBlock: [ :assocA :assocB | assocA key < assocB key ]; icons: [ :assoc | assoc value ]; title: 'Availiable icons for the current theme.'. iconList openWithSpec
この記事はSmalltalk Advent Calendar 2016のエントリです。
今年のSmalltalk Advent Calendarを何もネタを考えずに引き受けてしまった。このところ忙しくてなかなかコーディングの機会がない。昨年は何を書いたのだろうと思ったら、こんな記事を書いていた。毎度のネタで心苦しいが、今回もScratch絡みの記事を書く事にする。