前回、MbedオンラインコンパイラがサポートしているBBC micro:bitはv1.3だということに気づいてしまいました。v2は勿論、v1.5すら対象外。愕然。まあ、v1.3とv1.5の差に気をつければ生成オブジェクトはv1.5ハード上でも動作することは確かめましたが。しかし大っぴらにv1.5およびv2をサポートできるRTOSとしてZephyrの利用にトライ。micro:bit v2上でZephyrのサンプルプログラムを動かしてみました。
MicroPython的午睡(28) ラズパイPico、lightとdeepなsleep
Raspberry Pi Pico上のMicroPythonで以前から気になっていたのが、電力制御関係の関数です。パソコンに接続してソフトを書いている分には必要性は無いですが、バッテリに接続して動作させようとする場合には非常に重要です。それらしい関数が存在するので、きっと効果あるに違いないと思い込んできたのですが、そこには闇がありました。
モダンOSのお砂場(25) MbedとMicroBit、threadとfiber
前回は、Arm Mbedコンパイラ上で、BBC micro:bitのBluetoothサービスを起動するオブジェクトを生成し、スマホとペアリングさせてその動作を確認いたしました。しかし、例によってドキュメントもよく読まずにやっているのでペアリングにはテコずり、他にも不明な点がポロポロと。今回は一度立ち止まって文書を確認しましたです。
MicroPython的午睡(27) ラズパイPico、DHT11接続、ソフト現物合わせ
Raspberry Pi Pico上のMicroPythonで各種デバイスを制御してみております。今回は「電子工作業界?」定番の温湿度センサといってよいでしょう、DHT-11であります。「とりあえず」今回はソフトでタイミング制御、現物合わせです。動いているみたいなので、ま、いいか。
鳥なき里のマイコン屋(124) M5StackとUno間、CANフレームのラウンドトリップ
前回はM5StackからArduino Unoへ向かって一方通行のCANフレームの通信を行ってみました。当然、今回は双方向での通信の確認であります。お手軽にM5Stack発でUno経由M5Stack着の「ラウンドトリップ」です。同じArduino IDE使用で同じような仕事ですが、衣の下がちょっと違うのが見えまする。 “鳥なき里のマイコン屋(124) M5StackとUno間、CANフレームのラウンドトリップ” の続きを読む
MicroPython的午睡(26) ラズパイPico、入力端子からの割り込みの反応時間
前回Timerコールバック関数の呼び出し周期の上限目安(被呼び出し関数にもよりますが)を測定しました。今回は端子からの割り込みに対してMicroPythonの関数が反応するまで(割り込み入力をトリガとして出力端子の状態を変更するまでの時間)の目安を測ってみたいと思います。最速どのくらいの処理がデキそうなのか。
モダンOSのお砂場(23) Arm MbedでBBC micro:bitプログラミング
今までJavaScript(実際にはTypeScript)環境にてプログラムしていたBBC micro:bitですが、C/C++環境への移行を考えております。移行先として、Arduino環境(別シリーズ)、Arm Mbed環境、Zephyrの3候補のうち、本シリーズではMbedとZephyrの2つをやってみる所存。まずはArm Mbed環境を調べてみました。
MicroPython的午睡(25) ラズパイPico、Timer周波数設定の上限?
MicroPythonが用意してくれているTimerクラスは便利なものです。面倒な設定もなく、指定した周波数でタイマハンドラを呼び出してくれます。ただ、周波数の上限あるはずだよね、どのくらいなの?ちょっと別件でマイクロ秒単位の制御をしたかったのです。どこまで対応できるものだか調べてみることにいたしました。
MicroPython的午睡(24) ラズパイPico、CDSセンサをADCに接続
さて今回は、ラズパイPicoのADCを使ってみたいと思います。12ビットのADコンバータであります。真面目に精度を出そうと思うとチョッと大変そうですが、今回はとりあえず精度は気にせず。明るい、暗いがアナログ値で分かれば良いだろ~ということでCdSセンサを接続。
トホホな疑問(34) BBC micro:bit V2のArduinoピン番号はまた違う
鳥なき里のマイコン屋(123) M5StackとArduino Uno、CANバス接続
別シリーズにてArduino用のCANバスIFと、M5Stack用のCANバスIFを手に入れ、ぞれぞれCANフレーム送信をロジアナ機能で確認いたしました。当然次のステップとしては2つをCANバスで接続して通信できることの確認です。今回はM5StackからArduinoへ一方通行にしたので簡単。
MicroPython的午睡(23) ラズパイPico、Passive Buzzer接続
今回 Raspberry Pi Picoに接続する「定番の」部品はパッシブ・ブザーであります。片やONするだけで特定の周波数で鳴ってしまうアクティブ・ブザーに比べると、パッシブ・ブザーの場合、与える周波数を制御する必要はあるものの、音程を変えることができるので表現力が上回るっと。まあPWM波形を与えれば良いのでPWM出力に対応しているPicoにとっては何の問題もありませぬ。
ブロックを積みながら(21) MakeCode、Compilation failed
前回、ラズパイPythonからBluetooth UARTサービスを使って「コマンド」をmicro:bitに送り込み、それに反応させることができました。今回はmicro:bitから処理結果をラズパイに返信するとともに、各種コマンド大拡充、と目論んだのですが障害あり。MakeCodeのコンパイル時エラー発生。
MicroPython的午睡(22) ラズパイPico、AQM1602 LCDパネル接続
このところ Raspberry Pi Picoに各種デバイスを接続し、MicroPythonで操作してきております。が、定番のデバイス、どうせ接続できるでしょ、ということでやってませんでした。しかし、やっておかないと何が起きるかわからない。念のためということで今回は、秋月電子製LCDモジュールキット、AE-AQM1602Aであります。 “MicroPython的午睡(22) ラズパイPico、AQM1602 LCDパネル接続” の続きを読む