モダン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” の続きを読む

モダンOSのお砂場(79)UNO R4でFreeRTOS、AD22100で温度監視?

UNO_R4_AD22100_DUT_EC
Joseph Halfmoon

別シリーズにてAD22100、電圧出力型温度センサを練習。-50℃から+150℃という広い温度範囲で装置の温度を簡単にモニタできる優れものです。規定の温度範囲を超えたらファンを回すとかいろいろ使えそう?今回は前回作成した「OLED表示」をお願いするだけのタスクの一方を温度監視タスク的な雰囲気にしてみます。

“モダンOSのお砂場(79)UNO R4でFreeRTOS、AD22100で温度監視?” の続きを読む

PIC三昧(23) PWM+TIMER+DSM、赤外線リモコン波形、PIC16F18855

RMT_wave0
Joseph Halfmoon

別件シリーズでコンピュータ上で赤外線リモコン波形を生成。こちらでは実際に赤外線LEDを駆動して「送信」できる筈の波形をPIC16マイコンで作成してみたいと思います。とりあえずの今回は0と1の波形が生成されていることをオシロで確認するところまで。過去回で練習済のTIMER、PWM、DSMの合わせ技、応用課題か?
“PIC三昧(23) PWM+TIMER+DSM、赤外線リモコン波形、PIC16F18855” の続きを読む

MicroPython的午睡(131)M5Stack UIFlow2、I2Cスキャン

I2CscanResults
Joseph Halfmoon

前回SPI経由でmicroSDカードへアクセス。今回はI2Cをスキャンしてみます。M5Stack内蔵のI2C接続デバイスあり、既に初期化済の筈。それとの競合がチト心配ではあるのですがMicroPython側のI2Cインスタンスを作ってスキャンをかけてみます。このI2C信号が側面ピンソケットやGroveコネクタにも接続。

“MicroPython的午睡(131)M5Stack UIFlow2、I2Cスキャン” の続きを読む

GoにいればGoに従え(42) ラズパイPico、SSD1315接続、OLEDで表示

TinyGo_OLED_DUT
Joseph Halfmoon

別シリーズ記事で、Arduino Uno R4にOLEDを接続し表示ができました。小さくても自発光のディスプレイは見やすいです。そこでTinyGoの練習に使っているラズパイPicoでもOLED接続を試みてみることにいたしました。TinyGoで、ビルドした、書き込んだ、動いた、という感じっす。ホントか?

“GoにいればGoに従え(42) ラズパイPico、SSD1315接続、OLEDで表示” の続きを読む

STM32三昧(4) Cube IDEでDMA転送、メモリからメモリ、Nucleo

DMAsetting
Joseph Halfmoon

Cube IDE使ってSTM32のHALを練習中です。前回DACをソフトウエアで制御し「ゆるゆる」な三角波を発生させてみました。もっと高速な波形を生成するのならDMA利用かね。ということで今回はDMA関係のHALを練習してみることに。まずはメモリ間です。DMAリクエスト元のペリフェラルの設定不要なのでお手軽。

“STM32三昧(4) Cube IDEでDMA転送、メモリからメモリ、Nucleo” の続きを読む

モダンOSのお砂場(78)UNO R4でFreeRTOS、Task発Queue経由OLED行

FreeRTOS_OLED_DUT
Joseph Halfmoon

別シリーズにてUNO R4にOLEDディスプレイを接続。これでprintfしなくても「出力」可能となりました。とは言え一つしかない虎の子のOLEDを複数Taskで奪い合うのは醜い。そこでOLED表示TASKを作製、他のTASKどもはそちらにQueue経由でお願いする形にいたしました。今回のはそのプロトタイプです。

“モダンOSのお砂場(78)UNO R4でFreeRTOS、Task発Queue経由OLED行” の続きを読む

MicroPython的午睡(130)M5Stack UIFlow2、microSDマウント

M5StackSDCardSlotEC
Joseph Halfmoon

前回はM5Stackの前面パネル下に3個あるボタンを押してみました。今回は側面(下側)に移ってmicroSDカードスロットにアクセスしてみたいと思います。SDカードアクセスはESP32用の標準的なMicroPythonと共通ではあるものの、M5Stackのハードウエア特有の設定をしないとなりません。

“MicroPython的午睡(130)M5Stack UIFlow2、microSDマウント” の続きを読む

PIC三昧(22) TIMER0、ワンショットでパルス幅を制御する。PIC16F18855

ResultsWaveForm
Joseph Halfmoon

前回に続きTIMER0を試用。今回はワンショットで出力パルス幅を制御するのに使ってみたいと思います。外部でボタンが押されたことをトリガにして、ボタンが押された直後から所定の幅のパルスを一発出力するもの。制御ではアリガチ?今回は16ビット利用なので最小4μsから最大約260msまでのパルスを自由自在だと。

“PIC三昧(22) TIMER0、ワンショットでパルス幅を制御する。PIC16F18855” の続きを読む

STM32三昧(3) Cube IDEでDAC出力、ソフトウエアトリガ、Nucleo

STM32_DAC_DUT
Joseph Halfmoon

STMicroelectronics社純正開発環境Cube IDEを使用し、STM32のHAL(hardware abstraction layer)を思いつくまま試用中。今回はアナログ出力を行ってみたいと思います。DAコンバータね。まずはソフトウエアループで出力タイミングを制御してゆっくりした三角波を出力してみます。
“STM32三昧(3) Cube IDEでDAC出力、ソフトウエアトリガ、Nucleo” の続きを読む