IoT何をいまさら(88) Wio Terminal、SAMD51周波数メータを使う

FREQM_DUT
Joseph Halfmoon

昨日ラズパイPico(RP2040)の周波数カウンタというものを使ってみました。同様な機能はSAMD51にも備わっています。こちらSAMD51での呼び方は Frequency Meter(FREQM)です。これを使い、外部端子から入力した信号の周波数を計測してみました。設定と適用の限界を見極めておれば、便利な機能であります。

“IoT何をいまさら(88) Wio Terminal、SAMD51周波数メータを使う” の続きを読む

鳥なき里のマイコン屋(131) ラズパイPico、PWM、外部クロック、周波数カウンタ

clk_sys_DUT
Joseph Halfmoon

昨日の投稿にてラズパイPicoのPWM出力を使ってみました(トホホ2つ。)基本的な設定はデフォのまま動作させましたが、PWMのカウントの元になるクロックは何なの、周波数はいくら、などいくつも疑問を持ちました。今回は実験しながらそのあたりをハッキリさせていきたいと思います。

“鳥なき里のマイコン屋(131) ラズパイPico、PWM、外部クロック、周波数カウンタ” の続きを読む

トホホな疑問(39) ラズパイPico、C/C++SDKからのPWM出力でトホホが2つ

RGB_LED
Joseph Halfmoon

何度か使ってラズパイPicoのC/C++SDKの使い方も分かって来たぞ、という感触。今回はPWM出力をさらっと確かめるつもりで作業開始。しかし「さらっと」などと不埒なことを考えると「トホホ」が待っているのです。gpio.hは見つかるのにpwm.hが見つからない?なぜ、ビルドできないじゃん?解決して実機で走らせたら今度はLEDが光らない?トホホ。

“トホホな疑問(39) ラズパイPico、C/C++SDKからのPWM出力でトホホが2つ” の続きを読む

MicroPython的午睡(37) ラズパイPicoとDMA3重塔でZ80の制御を奪う

PicoDMAz80DUT
Joseph Halfmoon

ノスタルジックな理由からZ80の機械語を走らせることができる実機を入手いたしました。しかしデバイス的な理由からそのままでは自分でコードを書いて走らせることができませぬ。そこでラズパイPicoで、ターゲットのメモリを乗っ取って書き換えてしまおう、と計画中。今回はラズパイPicoからターゲットメモリを読み取る(まだバグありそうだけれど)ところまで。 “MicroPython的午睡(37) ラズパイPicoとDMA3重塔でZ80の制御を奪う” の続きを読む

IoT何をいまさら(87) Wio Terminal、SAMD51タイマの外部クロック駆動

WioTerminal_Timer_DUT
Joseph Halfmoon

MicroChip社のArmコアマイコン、SAMD51の周辺を直接プログラミングしてみています。前回はクロックジェネレータGCLK部分を調べてみました。そして内蔵発振器のクロックを外部端子に出力させて観察しました。今度はタイマ/カウンタを調べてみます。初回は外部端子に与えたクロックでカウンタ動作を行わせたいと思います。

“IoT何をいまさら(87) Wio Terminal、SAMD51タイマの外部クロック駆動” の続きを読む

ブロックを積みながら(30) BBC micro:bit、512K SRAMをSPI接続

microBit_23LC512
Joseph Halfmoon

昨日、micro:bit用のブレークアウトボード(横型)を用意したので、早速活用してみます。接続してみるのはSPI接続の512Kbit SRAM 23LC512です。ハードウエアの接続は簡単でしたが、MakeCodeで読み書き関数を作るところで躓きました。いつもよく文書を読まないで書いているから!直して読み書きOK。

“ブロックを積みながら(30) BBC micro:bit、512K SRAMをSPI接続” の続きを読む

部品屋根性(51) Kitronik、micro:bit用Breakout Board

Breakout boards for the BBC micro:bit
Joseph Halfmoon

このところBBC micro:bitに外付けの回路を接続しています。micro:bitの場合、ワニ口で接続する方法もあるのですが限られた端子のみ可能。エッジコネクタから安定して他の信号を取り出すために従来から「縦型」のブレークアウト・ボードを使ってきたのですが、今回は「横型」を追加してみました。英Kitronik社製。

“部品屋根性(51) Kitronik、micro:bit用Breakout Board” の続きを読む

MicroPython的午睡(36) ThonnyでATOM Liteにインストール

M5ATOMLiteOnEXTBOARD
Joseph Halfmoon

ラズパイPicoのMicroPythonを使うにあたって頼り切ってきたものにThonny IDEがあります。ふれこみでは「初心者向けのPythonのIDE」であると。しかしこのツール、ラズパイPicoに限らず、マイコン上でMicroPythonを使うときの友というべきものじゃないかと思います。本日、これを使ってM5 ATOM LiteをMicroPython化、まさに一撃。 “MicroPython的午睡(36) ThonnyでATOM Liteにインストール” の続きを読む

ブロックをつみながら(29) BBC micro:bit、EEPROMをI2C接続

mbg_24LC64DUT
Joseph Halfmoon

前回はライトオンリのLCDモジュールをmicro:bitのI2Cに接続してみました。今回はリードとライト両方あるものということでEEPROM、24LC64を接続してみました。micro:bitから読み書きはできたのですが、MakeCodeエディタのI2C書き込み用のブロック、使いずらいデス。なんとかならないものか。 “ブロックをつみながら(29) BBC micro:bit、EEPROMをI2C接続” の続きを読む

IoT何をいまさら(86) Wio Terminal、SAMD51内蔵OSC信号を取り出す

OSC32DUT
Joseph Halfmoon

前回SAMD51マイコンの周辺回路に直接アクセスするための「定型句」を調べました。そして制御レジスタへのアクセスの門番的存在、PACを覗いてみました。今回はクロック関係の設定の一部を調べてみます。そして使っていないと思われる端子を使い、内蔵クロックを外部へ出力させて観察するところまでやってみたいと思います。

“IoT何をいまさら(86) Wio Terminal、SAMD51内蔵OSC信号を取り出す” の続きを読む

鳥なき里のマイコン屋(130) VS CodeでラズパイPico、GPIOで割り込み

Pico_GPIO_INT_DUT
Joseph Halfmoon

先週からRaspberry Pi Pico C/C++ SDKをボチボチと試用しております。前回は高水準なTimer関数(インターバルタイマ)を勉強。まずは基礎からということで今回はGPIOです。ただ読み書きするだけでは面白くないので、端子からの割り込みをトリガにワンショットタイマも動作させてみたいと思います。
“鳥なき里のマイコン屋(130) VS CodeでラズパイPico、GPIOで割り込み” の続きを読む

IoT何をいまさら(85) Wio Terminal、SAMD51の周辺に直接アクセス

WioTerm
Joseph Halfmoon

久しぶりのWio Terminalです。フレームワークはArduinoのままですが、今回からマイコンであるSAMD51P19Aの周辺機能を「ことさら」ダイレクトに操作して行きたいとおもいます。Armコアのマイコンとして大人気?のSAMDシリーズのお勉強を兼ねて。最終的にはIoTネタに落ち着かせる予定ですが、当分、開発環境やマイコンネタが続いてしまいますがご勘弁を。

“IoT何をいまさら(85) Wio Terminal、SAMD51の周辺に直接アクセス” の続きを読む

鳥なき里のマイコン屋(129) VS CodeでラズパイPico、SDKのTimerを使う

iTimerTst0DUT
Joseph Halfmoon

前回まででPC上のVS Codeから、ラズパイPicoの母艦であるラズパイ4に接続してビルド&デバッグを行う環境ができました。環境ができるとホッとして止まってしまう。。。それではイケない。ボチボチとRaspberry Pi Picoの C/C++ SDKを使ってみて行きたいと思います。まずはTimerで定周期で関数を呼び出すところから。

“鳥なき里のマイコン屋(129) VS CodeでラズパイPico、SDKのTimerを使う” の続きを読む

ブロックを積みながら(28) BBC micro:bit、外付けLCDをI2C接続

microbitOntheBB
Joseph Halfmoon

以前にもオンボードデバイスの制御のためにBBC micro:bitのI2Cバスを使用したことがあったです。しかしその記憶は定かでないです。いざMakeCodeエディタで書こうとしてこの引数なんだっけと困りました。この際ということでメモを残します。I2C接続の最初の題材は「例によって」AQM1602LCDモジュールです。

“ブロックを積みながら(28) BBC micro:bit、外付けLCDをI2C接続” の続きを読む