MicroPython的午睡(135)M5Stack UIFlow2、DDSで波形出力

M5Stack_AD9837board
Joseph Halfmoon

前回生成した25MHzクロックを使って別シリーズにてDDS、AD9837を駆動、美麗な正弦波を得ることができました。ただブレッドボード接続だったので配線が汚いです。そこでM5Stackの側面のピンソケットに差し込める「アタッチメント」ボートを作製。チェック不十分にて大慌て。壊れずに動いて良かった。 “MicroPython的午睡(135)M5Stack UIFlow2、DDSで波形出力” の続きを読む

モダンOSのお砂場(81)UNO R4でFreeRTOS、第2のUARTで指令を送る(だけ)

UNOR4_Serial1_DUT
Joseph Halfmoon

前回は規定温度を超えでPassiveブザーをPWMで鳴らす機能を追加。今回は第2UARTを使って外部から「指令」を受信する機能を付け加えたいと思います。UNO R4はUSBシリアルに向いているチャネルとは別にもう一本UARTを使えるのでこれとのやり取りをTask1にお任せします。今のところ指令を受信するだけだけれども。
“モダンOSのお砂場(81)UNO R4でFreeRTOS、第2のUARTで指令を送る(だけ)” の続きを読む

STM32三昧(7) Cube IDE、TIMER6+DACで疑似ノイズ波生成、Nucleo

LFSR8bit_10us
Joseph Halfmoon

STMicroelectronics社純正開発環境Cube IDEを使用し、STM32のHAL(ハードウエア抽象化レイヤ)を試用中。前回はDACが内蔵する三角波生成機能を使ってみました。今回はもう一つの波形生成機能「疑似ノイズ生成器」を使ってみます。LFSR(リニア・フィードバック・シフト・レジスタ)で生成。
“STM32三昧(7) Cube IDE、TIMER6+DACで疑似ノイズ波生成、Nucleo” の続きを読む

部品屋根性(113) AD9837、プログラマブル波形生成器、M5Stackで生成テスト

AD9837_DUT_wM5Stack
Joseph Halfmoon

今回試用してみるデバイスはDDS(ダイレクト・デジタル・シンセサイザ)です。正弦波、三角波、矩形波などの波形をお好みでシンセサイズしたのち、DAコンバータを介してアナログ出力できるもの。ディープな用途には必携?らしいデバイスであります。動作させるためにはホストのマイコン必要。今回はM5Stackを使ってテスト。

“部品屋根性(113) AD9837、プログラマブル波形生成器、M5Stackで生成テスト” の続きを読む

MicroPython的午睡(134)M5Stack UIFlow2、CLOCK出力

PWMWaveForm

今回新デバイスをM5Stackに接続せんと思ったら外部クロックを必要とするものでした。適切そうな周波数は25MHzとな。そこで今回はM5Stack上のMicroPythonで25MHzクロックを生成。けれどAD2のFs=100MHzしかないので、生成した25MHzクロックを16分周して周波数を測定してみます。メンドイ?

“MicroPython的午睡(134)M5Stack UIFlow2、CLOCK出力” の続きを読む

PIC三昧(25) CONFIGビット読めていた、フェイントU-bit PIC16F18855

CONFIG_PRAGMA
Joseph Halfmoon

前回、Flashの中の「コードとは別な空間」にあるDevice IDは読めたけれども、CONFIGURATIONビットが読めないと混乱しました。しかし、よくよく調べてみたら実は読めていたことが判明。MCCの提示した値が読めるものと思っていたところ、実機では異なる値が読めることが判明。ようやく腑に落ちました。

“PIC三昧(25) CONFIGビット読めていた、フェイントU-bit PIC16F18855” の続きを読む

STM32三昧(6) Cube IDE、TIMER6+DACで三角波生成、Nucleo

ResultWOLPF
Joseph Halfmoon

STMicroelectronics社純正開発環境Cube IDEを使用し、STM32のHAL(ハードウエア抽象化レイヤ)を試用中です。前回はTIMER6の割り込みを使ってみました。今回はDAC(デジタル・アナログ・コンバータ)が搭載する「ジェネレータ」機能をTIMER6でトリガしてDACから3角波を出力してみます。

“STM32三昧(6) Cube IDE、TIMER6+DACで三角波生成、Nucleo” の続きを読む

GoにいればGoに従え(43) ラズパイPico、TIMERアラーム、一部は使われている?

ALARM0runs
Joseph Halfmoon

ラズパイPicoにTinyGoのオブジェクトを書き込んでラズパイPicoハードウエアをどう制御したものか手探りしてます。今回はTIMERにやってまいりました。TinyGoのmachineパッケージから直接TIMER使えないのだけれど、調べてみるとTIMERはしっかり使われている形跡があります。使っているのは誰ぞ?

“GoにいればGoに従え(43) ラズパイPico、TIMERアラーム、一部は使われている?” の続きを読む

MicroPython的午睡(133)M5Stack UIFlow2、DHT11温湿度センサ

M5Stack_DHT11_DUT_EC
Joseph Halfmoon

前回はUIFlow2版MicroPython搭載のM5Stackに定番の気圧センサBMP280を接続。今回はこれまた定番の温湿度センサDHT11を接続してみます。過去回でESP32版MicroPythonでDHT11を制御していたのでお楽。M5Stackらしくお愛想にLCDに温湿度を表示するようにいたしました。
“MicroPython的午睡(133)M5Stack UIFlow2、DHT11温湿度センサ” の続きを読む

モダンOSのお砂場(80)UNO R4でFreeRTOS、規定温度越えたらブザーを鳴らす

UNOR4_buzzor_DUT
Joseph Halfmoon

前回AD22100温度センサで「温度監視」。といいながら温度をOLEDに表示するだけでお茶を濁してました。何か監視した結果っぽいアクションを起こしたいデス(形だけですが。)そこでブザー(パッシブ型)を接続、規定温度を超えたらブザーを鳴らして警告するようにしてみました。タスク間の通知にNotification使用。

“モダンOSのお砂場(80)UNO R4でFreeRTOS、規定温度越えたらブザーを鳴らす” の続きを読む

PIC三昧(24) Device ID読めるがCONFIG読めない? PIC16F18855

CONFIG_READ_Results
Joseph Halfmoon

PICマイコンにはコンフィギュレーション・ビットあり、ハード初期設定を不揮発な記憶に残すもの。ありがたい機能ですが自分でやると設定がメンドイ。しかし、コンフィギュレーションツールMCCにお願すれば「よきに計らってくれる」っと。しかしソフトで設定値読み出そうとするとヤバイ?どうなっているの?

“PIC三昧(24) Device ID読めるがCONFIG読めない? PIC16F18855” の続きを読む

レトロな(8) 最近見ないな立派なRESETボタン、でもRESET信号は不滅?

RESET
Joseph Halfmoon

レトロなPCには立派なリセット・ボタンがあった、そういう追憶の中で生きている年寄です。リセット・ボタンが珍しい若者に気づいて驚きました。そういえば最近のパソコンやスマホにはアカラサマなリセットボタンってないの~。無いわけじゃないけれども、どうもメーカー様は隠したいご様子。昔は何かあるとRESET押してたんだけれどな~。
“レトロな(8) 最近見ないな立派なRESETボタン、でもRESET信号は不滅?” の続きを読む

MicroPython的午睡(132)M5Stack UIFlow2、BMP280圧力センサ

BMP280DUT
Joseph Halfmoon

前回はM5StackのI2Cに接続されているオンボードのデバイスをスキャンしてみました。同じI2Cバスが側面のGroveコネクタへも出力されております。よってここにI2Cデバイスを接続すれば簡単に使える筈。今回はここに定番の圧力センサ、Bosch BMP280を接続してみます。でもドライバはどうする? “MicroPython的午睡(132)M5Stack UIFlow2、BMP280圧力センサ” の続きを読む

STM32三昧(5) Cube IDEでTIMER6割り込み、Nucleo

TIMER_DUT
Joseph Halfmoon

STMicroelectronics社純正開発環境Cube IDEを使用し、STM32のHAL(ハードウエア抽象化レイヤ)を思いつくまま試用中。前回はメモリ間でDMA転送。続いてDACとメモリ間の転送をすべしと思いきや、そのためにはタイマを使わないといけません。そういえばタイマを練習していなかった。今回はタイマね。

“STM32三昧(5) Cube IDEでTIMER6割り込み、Nucleo” の続きを読む