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

MicroPython的午睡(129)M5Stack UIFlow2、「Btn」を押してみる

BtnTest
Joseph Halfmoon

前回はUIFlow2版MicroPythonをつかってM5Stackの表示に触ってみました。今回はディスプレイ下部に並んでいる3個のボタンを使ってみます。前回同様M5モジュールの中のクラスや関数を使うので、ついでにM5モジュール内の「細々」したところにも触っていきたいと思います。API多すぎ。とても触り切れませぬ。

“MicroPython的午睡(129)M5Stack UIFlow2、「Btn」を押してみる” の続きを読む

PIC三昧(21) TIMER0、外部クロックをカウント、PIC16F18855

TIMER0_DUT
Joseph Halfmoon

前回は内部のクロックを外部出力するCLKREFモジュールを練習しました。今回は外部からクロックを入力して数えてみます。PIC16F18855はタイマ(カウンタ)が充実、0から6まで7本もあります。今回はそのうちのTIMER0を使って外部クロックをカウント、周期的にタイマ0割り込みを発生させてみます。

“PIC三昧(21) TIMER0、外部クロックをカウント、PIC16F18855” の続きを読む

GoにいればGoに従え(41) ラズパイPico、ArmのSystick使えるの?

Systick100kHz
Joseph Halfmoon

前回は周辺装置の割り込みの「元締め」NVICの動作状況を見てみました。しかしNVICを経由しないArmコア固有の例外、システム割り込みの中にSysTickというものも含まれているのです。プロセッサクロックで動作している高速なタイマです。今回はこいつが使えるのか否かを確かめてみます。 “GoにいればGoに従え(41) ラズパイPico、ArmのSystick使えるの?” の続きを読む

STM32三昧(2) Cube IDEでGPIOから割り込み、Nucleo

GPIO_CONFIG
Joseph Halfmoon

STMicroelectronics社純正開発環境Cube IDEを使用し、STM32のHAL(hardware abstraction layer)を思いつくまま試用中です。前回はGPIO入力とprintf出力を使えるようになりました。今回はソフトウエアでのGPIOポーリングを割り込み入力に変更してみます。 “STM32三昧(2) Cube IDEでGPIOから割り込み、Nucleo” の続きを読む

レトロな(6) 8080, Z80, 8086を比べる、レジスタ編

8080_Z80_8086_REGS
Joseph Halfmoon

前回はピン配置のみから8080、8085、Z80のハードウエアの違いというか、設計思想?について勝手なことを書きました。今回はレジスタ一覧から8080、Z80そして8086について語りたいと思います。8085が居なくなった?レジスタ的には8080と8085はクリソツだからっす。代わりに16ビット8086を比較すると。

“レトロな(6) 8080, Z80, 8086を比べる、レジスタ編” の続きを読む