BBC micro:bitについては別シリーズ「ブロックを積みながら」でテキストでソースを書かずに使ってきました。デバッガ等も使用せず。もっぱらprintfデバッグ。しかし、だんだんとC/C++で「普通に」書かないとならない領分に踏み込みそうな気がします。それにデバッガも使いたい。PlatformIOあるし、簡単だし、などと思っていたらハマりました。単なるピン番号に。 “トホホな疑問(33) BBC micro:bitのピン番号にハマる。Arduino環境にて” の続きを読む
MicroPython的午睡(13) ラズパイPico、マルチコアの排他制御など
前回、MicroPythonからでもラズパイPicoの2つのCPUコアを使えることが分かりました。今回は複数コアを使う際にはまず避けて通れないことの一つ、排他制御をやってみます。また、RP2040にはコア間の制御をやりやすくするための専用ハードが搭載されているので、そちらが使われているのかどうかも探ってみます。
鳥なき里のマイコン屋(121) nRF52833搭載 BBC micro:bit V2到着
半導体不足が深刻化する中、僥倖というべきでしょうか。Raspberry Pi Picoにつづき、BBC micro:bit V2もゲットであります。NORDIC社製nRF52833搭載。桜田モモエ先生も連載小説に書かれていましたが、半導体不足のときは実需の何倍もの需要が現れて一気に品薄になるのが通例。しかし今回は中国勢の買い漁りもあり先鋭化でしょうか。しかし山高ければ谷深し、後の事を考えると難儀なことです。 “鳥なき里のマイコン屋(121) nRF52833搭載 BBC micro:bit V2到着” の続きを読む
MicroPython的午睡(12) ラズパイPico、簡単!マルチコアでLチカを
Raspberry Pi Picoは「お求めやすい」価格のマイコンにしては珍しいデュアルコアのMCUです。一味違うのがMicroPythonからでも2番目のコアを「お手軽に」使えてしまうこと。扱いやすいです。今回は、ミニマムのデュアルコア利用のサンプルとして、走っているコア毎に光る色を変える、マルチコアLチカを作ってみました。ラズパイPicoのMicroPythonの特徴の一つか?
MicroPython的午睡(11) ラズパイPico、Thonny IDEで動作確認
昨日、待望のRaspberry Pi Picoが到着、早速ピンヘッダを半田づけして吉例のLチカをやってみました。お手軽さを最優先し、MicroPythonでの動作確認です。とりあえず5分10分程度の作業時間でOK。お楽です。動作させればラズパイPico上でのMicroPythonの実装についても少し分かってきました。
鳥なき里のマイコン屋(120) RP2040搭載、Raspberry Pi Pico到着予定
少し前に Raspberry Pi Pico 入荷お知らせメールを貰った翌朝、通販サイトへ行ったらば売切れていた、と書きました。今でも品薄は続いているようです。しかし、別ルートで「正常価格」で入手できそうだったので注文してしまいました。多分、本日到着の筈。待望の現物入手ということで、ついフライングで搭載マイコン RP2040 について書いてしまいました。
鳥なき里のマイコン屋(119) M5Stack、FreeRTOS機能使って周波数カウンタ
今回、M5Stack Grayを使って、外部から入力される信号の周波数(せいぜい数kHzくらい)を測定したかったのであります。しかし、Arduino環境で以前使ったことがある周波数カウンタのライブラリ、AVR用でした。M5Stackでは使えません。M5Stack用のタイマライブラリで自力更生とも考えましたが、別シリーズでFreeRTOSの「タイマ」使ったのを思い出しました。今回はFreeRTOS機能を使ってみます。 “鳥なき里のマイコン屋(119) M5Stack、FreeRTOS機能使って周波数カウンタ” の続きを読む
モダンOSのお砂場(22) FreeRTOS、ソフトウエアタイマAPIでワンショット
前回はMutex排他制御でしたが、今回はソフトウエアタイマAPIであります。ソフトウエアタイマというと自前でループで回る「あれ」をつい想像してしまいますが違います。RTOSです。ちゃんとOSが面倒を見てくれる「タイマ」です。ある意味ハードウエアのリソースの制限が無い分、使いやすくもあるもの。 “モダンOSのお砂場(22) FreeRTOS、ソフトウエアタイマAPIでワンショット” の続きを読む
鳥なき里のマイコン屋(118) M5ATOM Lite、UART、I2C接続
前回、M5Stack社の超小型無線マイコンボード ATOM Liteの拡張端子について、デジタル、アナログの入出力ピンとしての動作を確認しました。今回は、UARTおよびI2Cインタフェースが使用できることを確かめたいと思います。兄弟品種?のM5StickC よりも大分使いやすい気がいたします。 “鳥なき里のマイコン屋(118) M5ATOM Lite、UART、I2C接続” の続きを読む
MicroPyton的午睡(10) _thread、マルチスレッドは出来るけれども…
このところ、MicroPythonのライブラリを「触って」「実感して」おりますが、今回はマルチスレッドの為の「低水準」ライブラリ _thread であります。フルPythonであれば、この上に高水準な threading が存在するのでありますが、MicroPythonの場合は低水準だけのようです。最低限のものはあるから後は自分でやれ、という感じか。 “MicroPyton的午睡(10) _thread、マルチスレッドは出来るけれども…” の続きを読む
鳥なき里のマイコン屋(117) M5ATOM Lite、ブレッドボード接続のお供
M5Stack社の超小型デバイス ATOM Lite、ボタン、LEDと、WiFi接続(でMQTT)あたりの単体で出来そうなことは大体動かしてしまった感じです(まだBLE残っているのが気になってますが。これは別件扱い。)いよいよ外部接続端子に外の回路なりを接続して行こうと思います。今回は「接続準備」ということでブレッドボードのお供の治具を作ってみました。
ブロックを積みながら(10) micro:bit、複数BLE serviceの共存の限界
前回は BBC micro:bitのbluetooth led serviceというものを走らせ、スマートフォンからDroidScriptで点灯制御してみました。今回は、複数のservicesをmicro:bit上で共存させ、その機能をスマホから使ってみたいと思います。しかし今回、micro:bit v2を購入できていないのが、ボディーブローのように効いてきました。 “ブロックを積みながら(10) micro:bit、複数BLE serviceの共存の限界” の続きを読む
MicroPython的午睡(9) ulabで連立方程式を解く、機種固有実装の蹉跌
前回に引き続き、MicroPythonにおける「フルPythonにおける numpy 的な」演算ライブラリ ulab の機能を試用して行きたいと思います。今回のお題は「連立方程式」であります。別投稿にて「解答済」の問題があるので、MicroPythonでも解いてみようという趣向。しかし、今回は実装の違いによる問題に躓いてしまいました。トホホ。
モダンOSのお砂場(21) FreeRTOS、Mutex排他制御の効果が「分かる」サンプル
今回はRTOSでは避けて通れない排他制御を実験してみます。それも「排他制御無」だとこんなに動作が「ボロボロだ」と実感できるサンプルを作ってそこに排他制御(mutex)を導入し、「解決できた」ところを見ようという野望です。タイミングとかいろいろあるし、そんなに上手くサンプルプログラムを作れるのか。