モダンOSのお砂場(26) Zephyr RTOS、micro:bit v2でHello!

microbitV2package
Joseph Halfmoon

前回、MbedオンラインコンパイラがサポートしているBBC micro:bitはv1.3だということに気づいてしまいました。v2は勿論、v1.5すら対象外。愕然。まあ、v1.3とv1.5の差に気をつければ生成オブジェクトはv1.5ハード上でも動作することは確かめましたが。しかし大っぴらにv1.5およびv2をサポートできるRTOSとしてZephyrの利用にトライ。micro:bit v2上でZephyrのサンプルプログラムを動かしてみました。

“モダンOSのお砂場(26) Zephyr RTOS、micro:bit v2でHello!” の続きを読む

MicroPython的午睡(28) ラズパイPico、lightとdeepなsleep

sleepDUT
Joseph Halfmoon

Raspberry Pi Pico上のMicroPythonで以前から気になっていたのが、電力制御関係の関数です。パソコンに接続してソフトを書いている分には必要性は無いですが、バッテリに接続して動作させようとする場合には非常に重要です。それらしい関数が存在するので、きっと効果あるに違いないと思い込んできたのですが、そこには闇がありました。

“MicroPython的午睡(28) ラズパイPico、lightとdeepなsleep” の続きを読む

モダンOSのお砂場(25) MbedとMicroBit、threadとfiber

Joseph Halfmoon

前回は、Arm Mbedコンパイラ上で、BBC micro:bitのBluetoothサービスを起動するオブジェクトを生成し、スマホとペアリングさせてその動作を確認いたしました。しかし、例によってドキュメントもよく読まずにやっているのでペアリングにはテコずり、他にも不明な点がポロポロと。今回は一度立ち止まって文書を確認しましたです。

“モダンOSのお砂場(25) MbedとMicroBit、threadとfiber” の続きを読む

MicroPython的午睡(27) ラズパイPico、DHT11接続、ソフト現物合わせ

RPiPico_DHT11_DUT
Joseph Halfmoon

Raspberry Pi Pico上のMicroPythonで各種デバイスを制御してみております。今回は「電子工作業界?」定番の温湿度センサといってよいでしょう、DHT-11であります。「とりあえず」今回はソフトでタイミング制御、現物合わせです。動いているみたいなので、ま、いいか。

“MicroPython的午睡(27) ラズパイPico、DHT11接続、ソフト現物合わせ” の続きを読む

鳥なき里のマイコン屋(124) M5StackとUno間、CANフレームのラウンドトリップ

RoundTrip_DUT
Joseph Halfmoon

前回はM5StackからArduino Unoへ向かって一方通行のCANフレームの通信を行ってみました。当然、今回は双方向での通信の確認であります。お手軽にM5Stack発でUno経由M5Stack着の「ラウンドトリップ」です。同じArduino IDE使用で同じような仕事ですが、衣の下がちょっと違うのが見えまする。 “鳥なき里のマイコン屋(124) M5StackとUno間、CANフレームのラウンドトリップ” の続きを読む

MicroPython的午睡(26) ラズパイPico、入力端子からの割り込みの反応時間

ITR_TEST_DUT
Joseph Halfmoon

前回Timerコールバック関数の呼び出し周期の上限目安(被呼び出し関数にもよりますが)を測定しました。今回は端子からの割り込みに対してMicroPythonの関数が反応するまで(割り込み入力をトリガとして出力端子の状態を変更するまでの時間)の目安を測ってみたいと思います。最速どのくらいの処理がデキそうなのか。

“MicroPython的午睡(26) ラズパイPico、入力端子からの割り込みの反応時間” の続きを読む

モダンOSのお砂場(23) Arm MbedでBBC micro:bitプログラミング

Mbed_MB
Joseph Halfmoon

今までJavaScript(実際にはTypeScript)環境にてプログラムしていたBBC micro:bitですが、C/C++環境への移行を考えております。移行先として、Arduino環境(別シリーズ)、Arm Mbed環境、Zephyrの3候補のうち、本シリーズではMbedとZephyrの2つをやってみる所存。まずはArm Mbed環境を調べてみました。

“モダンOSのお砂場(23) Arm MbedでBBC micro:bitプログラミング” の続きを読む

MicroPython的午睡(25) ラズパイPico、Timer周波数設定の上限?

TimerMeasureDUT
Joseph Halfmoon

MicroPythonが用意してくれているTimerクラスは便利なものです。面倒な設定もなく、指定した周波数でタイマハンドラを呼び出してくれます。ただ、周波数の上限あるはずだよね、どのくらいなの?ちょっと別件でマイクロ秒単位の制御をしたかったのです。どこまで対応できるものだか調べてみることにいたしました。

“MicroPython的午睡(25) ラズパイPico、Timer周波数設定の上限?” の続きを読む

MicroPython的午睡(24) ラズパイPico、CDSセンサをADCに接続

CDS
Joseph Halfmoon

さて今回は、ラズパイPicoのADCを使ってみたいと思います。12ビットのADコンバータであります。真面目に精度を出そうと思うとチョッと大変そうですが、今回はとりあえず精度は気にせず。明るい、暗いがアナログ値で分かれば良いだろ~ということでCdSセンサを接続。

“MicroPython的午睡(24) ラズパイPico、CDSセンサをADCに接続” の続きを読む

トホホな疑問(34) BBC micro:bit V2のArduinoピン番号はまた違う

microBitV2 Arduino Blink
Joseph Halfmoon

別シリーズにてMakeCode環境(JavaScript)でBBC micro:bit v2をプログラムしていたのですが問題に遭遇し、C/C++系に開発環境を変えてやり直してみるかと考えました。候補となる環境はArduino、Mbed、Zephyrなのですがそれぞれにまた一長一短あります。まずは前回に続きArduino環境を調べてみることにいたしました。

“トホホな疑問(34) BBC micro:bit V2のArduinoピン番号はまた違う” の続きを読む

鳥なき里のマイコン屋(123) M5StackとArduino Uno、CANバス接続

M5_CAN_ARDUION_BlockDiag
Joseph Halfmoon

別シリーズにてArduino用のCANバスIFと、M5Stack用のCANバスIFを手に入れ、ぞれぞれCANフレーム送信をロジアナ機能で確認いたしました。当然次のステップとしては2つをCANバスで接続して通信できることの確認です。今回はM5StackからArduinoへ一方通行にしたので簡単。

“鳥なき里のマイコン屋(123) M5StackとArduino Uno、CANバス接続” の続きを読む

MicroPython的午睡(23) ラズパイPico、Passive Buzzer接続

Pico_PassiveBuzzer_DUT
Joseph Halfmoon

今回 Raspberry Pi Picoに接続する「定番の」部品はパッシブ・ブザーであります。片やONするだけで特定の周波数で鳴ってしまうアクティブ・ブザーに比べると、パッシブ・ブザーの場合、与える周波数を制御する必要はあるものの、音程を変えることができるので表現力が上回るっと。まあPWM波形を与えれば良いのでPWM出力に対応しているPicoにとっては何の問題もありませぬ。

“MicroPython的午睡(23) ラズパイPico、Passive Buzzer接続” の続きを読む

ブロックを積みながら(21) MakeCode、Compilation failed

CompilationFailed
Joseph Halfmoon

前回、ラズパイPythonからBluetooth UARTサービスを使って「コマンド」をmicro:bitに送り込み、それに反応させることができました。今回はmicro:bitから処理結果をラズパイに返信するとともに、各種コマンド大拡充、と目論んだのですが障害あり。MakeCodeのコンパイル時エラー発生。

“ブロックを積みながら(21) MakeCode、Compilation failed” の続きを読む

MicroPython的午睡(22) ラズパイPico、AQM1602 LCDパネル接続

Pico_AQM1602
Joseph Halfmoon

このところ Raspberry Pi Picoに各種デバイスを接続し、MicroPythonで操作してきております。が、定番のデバイス、どうせ接続できるでしょ、ということでやってませんでした。しかし、やっておかないと何が起きるかわからない。念のためということで今回は、秋月電子製LCDモジュールキット、AE-AQM1602Aであります。 “MicroPython的午睡(22) ラズパイPico、AQM1602 LCDパネル接続” の続きを読む