MicroPython的午睡(30) ラズパイPico、HC-SR04超音波センサを接続

RPiPico HC-SR04 DUT
Joseph Halfmoon

前回Raspberry Pi  PicoのPIOを使ってパルス幅測定ができるようになりました。今回はその応用、HC-SR04超音波センサで距離の測定を行ってみたいと思います。距離に比例するパルス幅(時間)が返ってくるセンサです。細かいことを言わなければ測ったパルス幅を距離に換算するだけ。

“MicroPython的午睡(30) ラズパイPico、HC-SR04超音波センサを接続” の続きを読む

ブロックを積みながら(23) BBC micro:bit v2とラズパイでサウンドモニタ

soundMonitorDUT
Joseph Halfmoon

前回、懸案解決(いつの間にか)。ということで、早速、ペンディングにしていた実験のプロトタイプを作ってみました。「サウンドモニタ」と呼ばせていただきますが、単にドアなどの開閉音などをイベントとして検出し、bluetoothでホスト機に報告するものです。今回は「実証実験?」用のプロトタイプもどきを作成。 “ブロックを積みながら(23) BBC micro:bit v2とラズパイでサウンドモニタ” の続きを読む

ブロックを積みながら(22) MakeCode、いつの間にmicro:bit v2対応?

v1v2
Joseph Halfmoon

前回、BBC micro:bit v2用のプログラムをMakeCodeエディタで作成中にメモリ不足に起因するとみられるエラーに遭遇いたしました。その時点ではv2、v1に関わらずv1のメモリ上限で制約されていると推測いたしました。しかし、それからわずか1か月、何もしていないのですが v2の拡張されたメモリを使えるようになってました。

“ブロックを積みながら(22) MakeCode、いつの間にmicro:bit v2対応?” の続きを読む

鳥なき里のマイコン屋(125) Nucleo+MCP2562でCANバスにフレーム送信

MCP2562
Joseph Halfmoon

前回、M5StackとArduino Uno間でCANフレームの送受信ができるようになりました。しかしCANは「バス」です。1対1で通信できても物足りませぬ。そこで今回はST MicroelectronicsのSTM32マイコン搭載、Nucleo-F072RBをCANバスに接続してみます。でもね、PHYはMicrochip製MCP2562。

“鳥なき里のマイコン屋(125) Nucleo+MCP2562でCANバスにフレーム送信” の続きを読む

MicroPython的午睡(29) ラズパイPico、PIOでパルス幅測定

PIO_PW_DUT
Joseph Halfmoon

Raspberry Pi Picoの上でMicroPythonを走らせていて「どうしたら良いのか」ちょっと迷ったことにパルス幅の測定があります。RP2040のPWM機能の中に周波数測定、デューティ測定などはありますが、単発のパルス1発の幅を拾いたいです。こういう時こそPIO(Programable IO)ですかね。

“MicroPython的午睡(29) ラズパイPico、PIOでパルス幅測定” の続きを読む

トホホな疑問(35) Mbed Studio、ビルドも実行もできるんですが。。。

Nucleos
Joseph Halfmoon

別件で ST Microelectronics社のNucleo-F072RBをMbed OSで動かす必要がでてまいりました。Mbedオンラインコンパイラでなく、久しぶりにローカルな開発環境であるMbed Studio でやってみるか、ということで眠っていたMbed Studioをアップデートいたしました。ビルドのテストをしてみたのですが、できるのだけれど、ちょっとトホホな状況。

“トホホな疑問(35) Mbed Studio、ビルドも実行もできるんですが。。。” の続きを読む

モダン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周波数設定の上限?” の続きを読む