前々回、ラズパイPico上でuarrayとuctypesを使い、連続したメモリ上に置かれるバイナリ配列を操作してみました。メモリに制約のあるマイコン上のMicroPythonでは必須でしょう。今回はこれまたMicroPythonの特徴の一つであるFlash上のストレージに対してバイナリ配列の読み書きをやってみます。
MicroPython的午睡(72) Thonny IDE 4.0.1インストール
パソコンをWindows10からWindows11に更新したのでソフトウエアの再インストール等実施中です。MicroPythonの場合、IDEであり、MicroPython処理系のインストーラでもあるThonny IDEの最新版をインストールいたしました。Windows11の対応明記されており安心。しかし最大の変化は?
MicroPython的午睡(71) ラズパイPico、uctypesとuarray
前回は「絶対番地アクセス可能なヤバイ奴」uctypesモジュールと structモジュールが「相互運用可能」ということで便利だと喜びました。「絶対番地」でアクセスできるので当たり前っちゃ当たりまえです。今回は、arrayモジュールの配列もまたuctypesでアクセスできるというこれまた当たり前の件を実習してみます。 “MicroPython的午睡(71) ラズパイPico、uctypesとuarray” の続きを読む
MicroPython的午睡(70) ラズパイPico、uctypesとstruct
前回、前々回とuctypesモジュールを使ってCの「構造体」的なものにアクセスしてみました。しかしMicroPythonには、その名もズバリのstructモジュールがあるのです。こちらはCの「構造体」的なものにパックしたりアンパックしたりできるもの。「似たもの同士」だから、相互に運用可能じゃないかい?やってみました。 “MicroPython的午睡(70) ラズパイPico、uctypesとstruct” の続きを読む
MicroPython的午睡(69) ラズパイPico、構造体アクセス、ビットフィールド含む
前回はMicroPythonのuctypesモジュールを使って、ラズパイPicoのCPUレジスタを直接読んでみました。しかし読み取りだけ、書き込みもビットフィールド・アクセスもやってないです。直接IO制御するなら練習しておかないと。今回はメモリ上のバイトアレイを練習相手に書き込みとビットフィールド操作をやってみます。
“MicroPython的午睡(69) ラズパイPico、構造体アクセス、ビットフィールド含む” の続きを読む
MicroPython的午睡(68) ラズパイPico、IOレジスタへの直接アクセス
前回記事から約4か月もMicroPythonご無沙汰です。別処理系に手を伸ばしたせいで棚上げ状態。これではイケナイということでMicroPython再開でございます。しかし忘却力です。どうやってMicroPythonしたらよかったんだけ?まずはターゲットになるボードを取り出さないと。。。ラズパイPicoであります。 “MicroPython的午睡(68) ラズパイPico、IOレジスタへの直接アクセス” の続きを読む
MicroPython的午睡(67) ラズパイPico、5V信号IF取り付け、動作確認
進捗が捗々しくなかったのは大したことない配線本数を敬遠していたからに違いありません。何時までもメンドイなどと言っていると一生できないのでGWでもあり配線することにいたしました。ラズパイPicoに5V系のあるデバイスを接続する一件であります。重い腰を上げた今回は5V変換チップを接続して動作チェックまで。刻むね、自分。
MicroPython的午睡(66) ラズパイPico、非反転アンプのオフセットとゲイン調整
MicroPython的午睡(65) ラズパイPico、アナログコンパレータのトリップ電圧
前回MicroChip社製MCP4018デジタルポテンショメータをラズパイPicoに取り付けて制御。I2Cで制御できる「可変抵抗」です。今回は応用例としてデータシートに載っているアナログコンパレータの閾値調整をやってみます。想定の応用はセンサなどからのアナログ信号がある閾値を超えたらマイコンに割り込むとか。
MicroPython的午睡(64) ラズパイPico、デジタルポテンショメータを制御
今回ラズパイPicoに取り付けてMicroPythonで制御してみるのは、ソフトウエアで抵抗値を設定できる可変抵抗、デジタルポテンショメータです。MicroChip社製MCP4018であります。ソフトで制御できるというと回路をいじらないでも何かいろいろ出来そうで嬉しい気もします。まあ使い道にもよりますが。
MicroPython的午睡(63) ラズパイPico, DTMFトーン生成IC制御その2
前回、懐かしの三洋電機製LC7366NをラズパイPicoのMicroPythonから制御してDMTFトーン(プッシュホンのピポパポ音)を発生してみました。1音、それも波形のみ観察でした。今回はスピーカを取り付けて16音全てを「聞いて」みたいと思います。耳で聞くのは良いけれど、トーンをデコードしてくれる相手がいないです。
MicroPython的午睡(62) ラズパイPico、DTMFトーン生成IC制御その1
別投稿で音声フォルマント周波数をとり扱いました。その「反対」で音声フォルマントを外した代表例?DTMF=Dual-Tone Multi-Frequencyトーン生成用のICをラズパイPico上のMicroPythonから制御してみる1回目です。DTMF、電話の「ピポパポ」音。スマホでも「まだ」使えるけれど使わないか?
MicroPython的午睡(61) M5ATOMLite、ランニングテスト用改良?改悪?
前回WatchDogタイマを使ってみたのは、M5ATOMLite用の「環境測定&MQTT報告」スクリプトを長時間走らせているとハングする現象の対策のためでした。しかしWatchDogで復旧を試みるまえに原因に当たりをつけておきたいです。そこで「ダイイングメッセージ」が残るようにスクリプトを改変。
MicroPython的午睡(60) ESP32、WatchDogタイマの利用
WatchDogタイマ(番犬タイマ)は、万が一ソフトウエアがxxな事態に陥ったときにRESETなどかけて制御を取り戻してくれる「転ばぬ先の杖」であります。40年ほど前のマイコンでは、ちょっとヘビイ・デューティっぽい機種にのみ搭載されていましたが、この頃はほぼほぼ漏れなく搭載されている標準機能かと思います。