2020年3月の記事一覧
micro:bit上級者編(22)〜プログラミング言語を考える
先日紹介した書籍の内容の一部を要約してみます。
筆者がプログラミング言語に興味を持ったのは高校生時代から学生時代にかけての40年以上前のことです。社会人として仕事で電子回路の方に舵を切ったので言語についてはチラチラ横目で眺める程度の関わり方でした。
今や第一線から身を引きつつあり、IT関連の後に続く人たちを指導する立場になってみて、改めて知識を整理したいと思っていたところタイミングよくこの本が
micro:bit上級者編(21)〜工作に挑戦する(6)
前回、LEDでイルミネーションを作るのに入手性のいい独自制御のLEDテープにするか、I2C制御にこだわるか、と言う話をしました。
I2C制御にこだわるならそう言う回路は市販されているようです。例えば以下
https://strawberry-linux.com/catalog/items?code=13964
ただQ&Aを眺めると、I2C制御以外で悩むことが多々ありそうで、I2Cにこだわる必
micro:bit上級者編(20)〜工作に挑戦する(5)
進捗が遅くてイライラさせてすいません。
「ひとりチームラボ」を目指していると先日書きました。本家チームラボでは次のようなLEDをテープ状にしたものを使っていると想像されます。
一本の信号で、つながったLEDの色・輝度を個別に制御できる、「シリアルLEDテープ」と称するデバイスを使っているようです。
しかしながら、今までせっかくI2C制御をできるようにやって来たのにこれは独自規格のようで、これ
micro:bit上級者編(19)〜番外編
まずは書店でたった今購入した書籍を紹介します。
学生時代、プログラミング言語の研究をしていたこともあって(とは言え当時の言語は少なく機能も貧弱だったので研究と言うほどのことはない)、この手の話題には未だに興味があります。
技術者は、自分の持っている技術がこれから発展するのか廃れるのか、現時点での位置づけなどもよく見極めておく必要があります。祖父が鉄道の技術者、親父が紡績の技術者で、引退間際あま
micro:bit上級者編(18)〜工作に挑戦する(4)
今回はエンタメ系の工作を考えてみます。
近頃新型コロナウィルスの影響で外出もままならない人が多いと聞くと、沈んだ人の気持ちを刺激し元気付けられることってないのかあれこれ考えます。
イメージしているのは前々回にも書いた「チームラボ」。LED照明の可能性を示してくれた感があります。あれを個人の工作で再現できないか。
違う切り口として、遠くの人、亡くなった人?の存在を感じられるようなモノが作れない
micro:bit上級者編(17)〜工作に挑戦する(3)
今日は進捗がはかばかしくないのですが、こんなことをやっていますという紹介。
まずはこれで飛距離のチェック、能書きを一杯垂れてデモ、等々ができるかな。
ここまで
micro:bit上級者編(16)〜工作に挑戦する(2)
実用品と嗜好品と両建てで進めると申しました。一つだと進捗がないときネタに困るんですよ。今回は作業的には両方進捗がないですが考えていることを書き留めておきます。
===
実用品の方。
次のような順序で開発しようと思います。
(1) micro:bitを2個用意して、片方のボタンを押したらもう片方が反応するところまで
(2) 一方にはボタンを外付けし、もう片方にはバイブレーターをつける
(
micro:bit上級者編(15)〜工作に挑戦する(1)
ここらで趣向を変えて、いよいよ工作を始めてみようと思います。一つは実用品、一つは嗜好性の強いものを考えています。実用品だと要求が厳しい場合、micro:bitでは実現できない虞があるからなんですよ。
まず実用品は、実際近親者からリクエストのあったものを作ってみようと思います。最終形はどんなところに落ち着くかわかりません。何せ実用になることが最終目標ですから。商品企画から試作、実地試験から商品化へ
micro:bitで電子工作を始めてみる(1)
堅苦しい説明には飽きてきた頃だと思うので、そろそろ電子工作を始めることにします。
実は筆者は「人目を引く」「楽しそう」「面白そう」「美しい」と言った価値観とは縁遠い世界で地味な物づくりしかしたことがないので、最終的にどんなものが出来上がるのか、読者の方々に満足してもらえるのか、今のところはあんまり自信がありません。
ここでは偉そうに、プログラミングは初めて、とか電子工作も今までやったことがない
micro:bit中級者編(4)〜I2CでLCDを制御する
前回まででJavaScriptで自由自在にI2C制御ができるようになったはず、です。これからI2Cの制御をガンガン書こうと思っているのですが、micro:bitは標準出力がLED25個しかなくデバッグがしにくいのでまずはLCDディスプレイを繋ごうと思いました。参考にした書籍のリンクを張っておきます。
ここで扱っているLCDもリンクを張っておきます。
ところがどっこい。書籍に出ている物品そのまま
micro:bit中級者編(3)〜JavaScriptでI2C制御を書くには
I2C制御に関する関数はpinsクラスにあります。ブロックで用意されているi2cReadNumber, i2cWriteNumberを使わないで、i2cReadBuffer, i2cWriteBufferだけで書く方法をここに書き留めておきます。
===
I2Cからデータを入力するには
let buf = pins.i2cReadBuffer(YY, Z)
bufは可変長のBufferオブ
micro:bit中級者編(2)〜JavaScriptについて
中級者編が始まりましたが、ざっくり初級、中級、上級の棲み分けは次のように考えています。
初級編:ブロックプログラミングでできることだけ
中級編:JavaScriptでできることまで含む(一部機能拡張を考える)
上級編:センサーや制御等の拡張やクラウドサービスとの連携を考える
こんな感じです。中級編を進めるに当たって、まずJavaScriptとはどんな言語なのか、突っ込んで学習するに値するも
micro:bit上級者編(14)〜ブロックを自作する(6)
今回は新しくわかったことを書き留めます。
===
「micro:bit上級者編(6)〜I2Cインターフェースを使いこなす(3)」のi2cReadNumberブロックをi2cReadBufferを使った記述に変更してみます。
JavaScript環境でi2cReadBufferを使って書き直し、ブロックタブに切り替えたものが以下です(灰色の部分)。
以上のように、敢えて新しいブロックを作らな
micro:bit上級者編(13)〜ブロックを自作する(5)
今回は簡単なブロックを作ってみます。手順を記します。
(1) 新しいプロジェクトを立ち上げてタブをJavaScriptに切り替えます
(2) エクスプローラーの"+"でcustum.tsを開きます
(3) ブロックの雛形が2つ出てくるのでfooの方に少し書き足します。最初は
export function foo(n: number, s: string, e: MyEnum): void