前回はRaspberry Pi Picoに独特なPIOの利用でしたが、今回は一般的なI2Cです。接続するのはEEPROMです。マイクロチップ製の24LC64、64Kbit品です。MicroPythonからメモリの読み書きは「とりあえず」出来たんでありますが、いまだ釈然としない事項が残ります。おまけにI2CバスをSCAN時のロジアナ波形もあり。
MicroPython的午睡(16) ラズパイPico、PIOで74HC595制御、簡単
前回は、Raspberry Pi PicoのProgramable IO(PIO)が可能性無限大、みたいな話を書きましたが、オシロで波形を観察したにとどまりました。今回はその威力を実地に確かめるべく、前々回の7セグLED4桁駆動回路に適用してみます。一撃で任意の波形を作れるPIOがあると本当に楽だ。 “MicroPython的午睡(16) ラズパイPico、PIOで74HC595制御、簡単” の続きを読む
MicroPython的午睡(15) ラズパイPico、プログラマブルIOの威力
Raspberry Pi PicoのMCU RP2040の大きな特徴がPIO(Programable IO)とよぶ、IO制御の仕組みだと思います。プログラム可能なステートマシンでIO端子を直接制御するもの。可能性無限大。そしてMicroPythonからでも「プログラム」可能でした。まずは今回はお試し。ちょっとした波形を作って観察してみます。 “MicroPython的午睡(15) ラズパイPico、プログラマブルIOの威力” の続きを読む
MicroPython的午睡(14) ラズパイPico、7セグ4桁、とりあえずタイマ駆動
前回までLEDの4個ばかりでラズパイPicoのマルチコアの動作とかを確かめてきました。今回、Picoの機能を活かしても少しIOを触ってみるために外付けのハードを追加しました。とはいえLEDに変わりありません。が、4桁の7セグLEDなのでダイナミック駆動必須です。今回から時間縛りがあって多ピンの連動が必要なIO操作をやって行く予定です。 “MicroPython的午睡(14) ラズパイPico、7セグ4桁、とりあえずタイマ駆動” の続きを読む
MicroPython的午睡(13) ラズパイPico、マルチコアの排他制御など
前回、MicroPythonからでもラズパイPicoの2つのCPUコアを使えることが分かりました。今回は複数コアを使う際にはまず避けて通れないことの一つ、排他制御をやってみます。また、RP2040にはコア間の制御をやりやすくするための専用ハードが搭載されているので、そちらが使われているのかどうかも探ってみます。
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の実装についても少し分かってきました。
MicroPyton的午睡(10) _thread、マルチスレッドは出来るけれども…
このところ、MicroPythonのライブラリを「触って」「実感して」おりますが、今回はマルチスレッドの為の「低水準」ライブラリ _thread であります。フルPythonであれば、この上に高水準な threading が存在するのでありますが、MicroPythonの場合は低水準だけのようです。最低限のものはあるから後は自分でやれ、という感じか。 “MicroPyton的午睡(10) _thread、マルチスレッドは出来るけれども…” の続きを読む
MicroPython的午睡(9) ulabで連立方程式を解く、機種固有実装の蹉跌
前回に引き続き、MicroPythonにおける「フルPythonにおける numpy 的な」演算ライブラリ ulab の機能を試用して行きたいと思います。今回のお題は「連立方程式」であります。別投稿にて「解答済」の問題があるので、MicroPythonでも解いてみようという趣向。しかし、今回は実装の違いによる問題に躓いてしまいました。トホホ。
MicroPython的午睡(8) M5StickV、ulab行列積、timeitデコレータ
前回の作業でM5StickV用のMicroPython(MaixPy)のセルフ開発環境が「整った」ので、早速例題をやってみたいと思います。micro:bit上のMicroPythonでは「やる気も起きなかった」計算量やらメモリ量やら必要なもの。当然ながら時間計測もしたいです。ドキュメント読んでいるうちにデコレータ使って時間計測している技を発見。早速使わせていただきます。 “MicroPython的午睡(8) M5StickV、ulab行列積、timeitデコレータ” の続きを読む
MicroPython的午睡(7) M5StickV, MicroPython再々復活
最近のmakersなのかSTEMなのかの盛り上がりの余波で、今だRaspberry Pi PICOもmicro:bit V2も買えておりませぬ。そのためmicro:bit V1.5のBTネタへの移動にともない、本MicroPythonシリーズはM5StickVに担当してもらうことになりました。春の人事異動か? “MicroPython的午睡(7) M5StickV, MicroPython再々復活” の続きを読む
MicroPython的午睡(6) micro:bit、ファイルシステムとメモリダンプ
MicroPythonはMicroと言いつつも、見た目「普通の」Python同様に書ける部分が多いので嬉しくもあり、また無意識に「外れ」たところを触ってしまってビックリすることもあり。今回は気になっていたmicro:bit上のMicroPythonのファイルシステムあたりをエクササイズしてみます。
MicroPython的午睡(5) LSM303AGRへアクセス、micro:bit
マイコンボードによってはリビジョンにより搭載部品が異なる場合があります。このところMicroPythonしているBBC micro:bitも例外ではありません。v1系とv2では違いが大きいですが、v1系の中でもハッキリした違いがあります。加速度センサと電子コンパスの部分だと思います。お楽しみのデバイスの直接操作のためにちと調べてみました。 “MicroPython的午睡(5) LSM303AGRへアクセス、micro:bit” の続きを読む
MicroPython的午睡(4) micro:bitとWio Terminalの比較
「MicroPython化」はBBC micor:bitで3機種目であったのですが、このほど4機種目を追加いたしました。Seeed Studio社Wio Terminalであります。MicroPythonの実装としてはArduPyというお名前で呼ばれているもの。MicroPythonとして共通する部分は多いものの比べてみるといろいろと違いもあり。