GoにいればGoに従え(16) TinyGo、6軸センサに誰?と micro:bit v2

LSM303AGRb
Joseph Halfmoon

第13回でmicrobit v2とv1.5のI2Cバスの差について調べました。しかしv2の内部I2Cバスについては触ってません。内部I2Cバスには3軸加速度センサと3軸電子コンパスが接続されてます。手元のmicro:bit v2ではLSM303AGRという1チップで両方できる優れもののデバイスが搭載されています。

“GoにいればGoに従え(16) TinyGo、6軸センサに誰?と micro:bit v2” の続きを読む

GoにいればGoに従え(15) TinyGo、クラスは無いけど。micro:bit v2

MovingAVGstruct
Joseph Halfmoon

一時期、あの言語もこの言語もオブジェクト指向、いえ「クラス原理主義」にハマっていたと思う私メでございます。Go言語にはアカラサマなクラスというものは有りませんが、クラス的な型structと型に引っ付いたmethodがあり。このくらいが私メには丁度いい感じがします。折角なので練習してみました。題材は移動平均とな。
“GoにいればGoに従え(15) TinyGo、クラスは無いけど。micro:bit v2” の続きを読む

GoにいればGoに従え(14) TinyGo、micro:bit v2、CDSセンサ読み取り

MB20CDS_DUT_SCHEMATIC
Joseph Halfmoon

前回までで、micro:bit v2上でv1.5上でできていたことが出来るように復旧できました。今回からアナログ入力に戻ります。まずはDC的な動きのないアナログ電圧で処理できるものということでCDSセンサを取り付けてみました。ありがち?ちょっとした明るさの変化にも敏感に反応してくれるCDSセンサは実験しやすいです。 “GoにいればGoに従え(14) TinyGo、micro:bit v2、CDSセンサ読み取り” の続きを読む

GoにいればGoに従え(13) TinyGo、micro:bit v2、I2Cは要変更

goI2c1_DUT
Joseph Halfmoon

micro:bitボードをv1.5からv2.0に機材変更するのにともない、v1.5で動作していたプログラムがv2.0でも動くのか確認作業中です。前回はキー割り込みとオンボードの温度センサは問題なく動作OK。I2Cも大丈夫だろ、と甘くみたらばダメでした。ここにもv1.5とv2.0の違いがあったのね。今回はその変更点をば。

“GoにいればGoに従え(13) TinyGo、micro:bit v2、I2Cは要変更” の続きを読む

GoにいればGoに従え(12) TinyGo、micro:bit v2、キーと温度センサ確認

MB20_DKT
Joseph Halfmoon

micro:bitボード をv1.5からv2.0に機材変更したのにともない、前回はLEDマトリックスの表示部分をv2.0対応に変更しました。v1.5用の他の関数などは「そのまま動くだろ」とは思ったものの、動作確認は未です。「動くだろ」と思っても「動かない」ことはままあり、今回は第5回第6回あたりのコードをv2.0で復習。 “GoにいればGoに従え(12) TinyGo、micro:bit v2、キーと温度センサ確認” の続きを読む

GoにいればGoに従え(11) TinyGo、micro:bit v2でLED Matrix

MBv2DispGo
Joseph Halfmoon

前回 micro:bit v2であればTinyGoからもADCが使用できることを確認。前々回まで v1.5で実験していたのですが器材を変更。しかし困った問題が。micro:bitのボード表面の5×5のLEDアレイ、見た目は同じ、でもv1.5とv2では結線が違います。折角作ったv1.5用のインタフェース関数は要作り直し。
“GoにいればGoに従え(11) TinyGo、micro:bit v2でLED Matrix” の続きを読む

GoにいればGoに従え(10) TinyGo、micro:bit v2でのADC動作確認

mbv2_mbv15
Joseph Halfmoon

前回まさかのmicro:bit v1.5(nRF51系)ではTinyGoはADCをサポートしていない件発覚。しかしmicro:bit v2(nRF52系)ではADCが使えるような雰囲気。今回は実際にmicro:bit v2でADCでアナログ電圧を読めることの動作確認をしてみました。v2ならば動くし、性能も良いのよ。
“GoにいればGoに従え(10) TinyGo、micro:bit v2でのADC動作確認” の続きを読む

GoにいればGoに従え(9) TinyGo、micro:bitでは不在、v2では使えるAD?

micro_bit_target
Joseph Halfmoon

いつかは壁に当たると思っていましたが早かったです。TinyGoからmicro:bitのADCを使おうとするとエラーになります。ところが同じコードをmicro:bitでもv2をターゲットにすると通ります。TinyGoのmachineのソースをちらちら眺めてみると、どうもnRF51系のADCは未サポートっす。残念。
“GoにいればGoに従え(9) TinyGo、micro:bitでは不在、v2では使えるAD?” の続きを読む

GoにいればGoに従え(8) TinyGoでmicro:bitにAQM1602をI2C接続

mbAQM1602DUT
Joseph Halfmoon

前回、TinyGoからみたmicro:bitのI2Cインタフェース関数の挙動を確認。今回は外部デバイスを接続してみます。まずはAQM1602LCD表示器(秋月電子製)を接続します。16文字x2行の文字表示ができるもの。以前にもmicro:bitに接続してますがそのときはMakeCode(JavaScript)でした。

“GoにいればGoに従え(8) TinyGoでmicro:bitにAQM1602をI2C接続” の続きを読む

GoにいればGoに従え(7) TinyGoのmicro:bit向けI2C関数の挙動を観察

MBI2C_DUT
Joseph Halfmoon

今回からBBC micro:bitのI2CをTinyGoから操作してみたいと思います。しかしmachineモジュールの説明を読んでムムム。I2Cなんですが2個ありますな。過去、MakeCode、Mbed OS、MicroPythonなどでもmicro:bit使ってますがそんな選択迫られたことなかったデス。どっち?
“GoにいればGoに従え(7) TinyGoのmicro:bit向けI2C関数の挙動を観察” の続きを読む

GoにいればGoに従え(6) BBC micro:bit (v1.5)で超簡単、温度計よ

MBtemperatureMeter
Joseph Halfmoon

今回はmicro:bitのマイコンが内蔵している温度センサを読み取ってみます。ICの温度を測るもの、温度計と期待しちゃいけない奴。温度の表示は25個あるLEDを温度に応じて光らせます。0℃なら0個、20℃なら10個、50℃以上なら25個という感じ。2℃あがるごとに1個点灯。前回の表示ルーチンも細かく改良、ホントか?
“GoにいればGoに従え(6) BBC micro:bit (v1.5)で超簡単、温度計よ” の続きを読む

GoにいればGoに従え(5) micro:bitのA, Bキーを割り込み受けね。

IntHandlerEC
Joseph Halfmoon

前回はTinyGoでも使えるgoroutineを使ってmicro:bit(v1.5)のLED点灯ルーチンを並行処理化。メインループでは点灯処理のことを「忘れておける」ようになりました。今回はmicro:bitの表面にある2つのキーを割り込みで処理してみます。Aキーを押されたらバッテン、Bキーを押されたらマルを表示っと。 “GoにいればGoに従え(5) micro:bitのA, Bキーを割り込み受けね。” の続きを読む

GoにいればGoに従え(3) micro:bitのLED、ダイナミック駆動じゃね

DispX
Joseph Halfmoon

前回TinyGoを使って BBC micro:bit(v1.5)のボード表面のLEDの所望の場所を点灯できるようになりました。今回は5x5の配列を使ってXというかバッテンというかを表示させようと思います。その前に表示関数の行数が長くてうるさいので別ファイルに追い出したいのだけれど、どうする?(Goする?)

“GoにいればGoに従え(3) micro:bitのLED、ダイナミック駆動じゃね” の続きを読む

GoにいればGoに従え(2) 再びmicro:bit v1.5のLED配列に謀られる

CoverSheet
Joseph Halfmoon

昨晩、アイキャッチ画像の御本「基礎から学ぶ TinyGoの組込み開発」を購入させていただきました(AmazonのKindle形式電子書籍版ですけど。)これを読めば立派にTinyGo書ける人になること必定?しかし、すみません、まだ読んでません。今回はダメダメなまま前回心に引っかかっていた問題に再突入。

“GoにいればGoに従え(2) 再びmicro:bit v1.5のLED配列に謀られる” の続きを読む