別件シリーズでコンピュータ上で赤外線リモコン波形を生成。こちらでは実際に赤外線LEDを駆動して「送信」できる筈の波形をPIC16マイコンで作成してみたいと思います。とりあえずの今回は0と1の波形が生成されていることをオシロで確認するところまで。過去回で練習済のTIMER、PWM、DSMの合わせ技、応用課題か?
“PIC三昧(23) PWM+TIMER+DSM、赤外線リモコン波形、PIC16F18855” の続きを読む
手習ひデジタル信号処理(108) Scilab、CRC8の計算、Pythonから移植
ここ数回ビット列の生成、復元などコチョコチョしたことをやっており。その中でCRC(Cyclic Redundancy Check、巡回冗長検査)の計算をせにゃならんことがあり。CRC計算といえば多項式の割り算デス。そういえばScilabは多項式の計算出来たな~そいつを使ってなんとからなんのか?ダメか?
MicroPython的午睡(131)M5Stack UIFlow2、I2Cスキャン
前回SPI経由でmicroSDカードへアクセス。今回はI2Cをスキャンしてみます。M5Stack内蔵のI2C接続デバイスあり、既に初期化済の筈。それとの競合がチト心配ではあるのですがMicroPython側のI2Cインスタンスを作ってスキャンをかけてみます。このI2C信号が側面ピンソケットやGroveコネクタにも接続。
ぐだぐだ低レベルプログラミング(142)ARM64(AArach64)SIMD ビット幅変?
GoにいればGoに従え(42) ラズパイPico、SSD1315接続、OLEDで表示
別シリーズ記事で、Arduino Uno R4にOLEDを接続し表示ができました。小さくても自発光のディスプレイは見やすいです。そこでTinyGoの練習に使っているラズパイPicoでもOLED接続を試みてみることにいたしました。TinyGoで、ビルドした、書き込んだ、動いた、という感じっす。ホントか?
データのお砂場(109) R言語、cloth、布地のキズ、{boot}
今回は服飾、アパレル系などの方々には常識の話でしょうが、半導体ボケの年寄には聞いたこともない話です。布地のロールとそこに含まれるキズ、汚れなどの「欠陥」のデータです。しかし考えてみれば半導体ウエファ上のディフェクトと同じようなものか?知らんけど。しかしウエファサイズ同様、布地ロールもいろいろある、と。 “データのお砂場(109) R言語、cloth、布地のキズ、{boot}” の続きを読む
忘却の微分方程式(123) 反復練習86、重力による落下、初期値問題、Maxima
教科書冒頭ということで、今回もアリガチな例題「重力による落下」の初期値問題であります。ソフトウエア業界の「HelloWorld」、電子工作業界の「Lチカ」にならぶ定番にして吉例なんであります。お答えは分かっているけれども、やらんわけにもいかないデス。御朱印帳にハンコを押す的な。微分方程式88か所?そんなに練習するのか?
STM32三昧(4) Cube IDEでDMA転送、メモリからメモリ、Nucleo
Cube IDE使ってSTM32のHALを練習中です。前回DACをソフトウエアで制御し「ゆるゆる」な三角波を発生させてみました。もっと高速な波形を生成するのならDMA利用かね。ということで今回はDMA関係のHALを練習してみることに。まずはメモリ間です。DMAリクエスト元のペリフェラルの設定不要なのでお手軽。
モダンOSのお砂場(78)UNO R4でFreeRTOS、Task発Queue経由OLED行
別シリーズにてUNO R4にOLEDディスプレイを接続。これでprintfしなくても「出力」可能となりました。とは言え一つしかない虎の子のOLEDを複数Taskで奪い合うのは醜い。そこでOLED表示TASKを作製、他のTASKどもはそちらにQueue経由でお願いする形にいたしました。今回のはそのプロトタイプです。
MicroPython的午睡(130)M5Stack UIFlow2、microSDマウント
前回はM5Stackの前面パネル下に3個あるボタンを押してみました。今回は側面(下側)に移ってmicroSDカードスロットにアクセスしてみたいと思います。SDカードアクセスはESP32用の標準的なMicroPythonと共通ではあるものの、M5Stackのハードウエア特有の設定をしないとなりません。
PIC三昧(22) TIMER0、ワンショットでパルス幅を制御する。PIC16F18855
前回に続きTIMER0を試用。今回はワンショットで出力パルス幅を制御するのに使ってみたいと思います。外部でボタンが押されたことをトリガにして、ボタンが押された直後から所定の幅のパルスを一発出力するもの。制御ではアリガチ?今回は16ビット利用なので最小4μsから最大約260msまでのパルスを自由自在だと。
手習ひデジタル信号処理(107) Scilab、赤外線リモコン実機波形の読み取りと解読
前々回、赤外線リモコンの波形(NECフォーマット向け)を生成するScilab関数を作製。その一方、別シリーズにて実際にNECフォーマットのIR信号を出力しているらしいリモコンの実機波形をCSVファイルに取得しました。今回は取得した実機波形から01の生データを解読、前回作成の比較関数で期待値と比較してみます。 “手習ひデジタル信号処理(107) Scilab、赤外線リモコン実機波形の読み取りと解読” の続きを読む
ぐだぐだ低レベルプログラミング(141)ARM64(AArach64)SIMD fcmeq
前回に続きSIMDの比較命令の練習です。今回は浮動小数型。条件一致すればオール1、不一致でオール0が結果です。いつもの通りA64の命令多すぎ、と書いておきます。前回の整数型であったビット比較が無くなって1個減ったと思ったら、絶対値比較が2個も増えている。かえって練習するパターン増だと。流石だなA64。
部品屋根性(107) SSD1315制御のOLEDのArduino Uno R4/R3接続
別シリーズでルネサスマイコン搭載のArduino Uno R4を使用中。自発光の小型ディスプレイを接続したくなり長らく眠っていたOLEDの小基板を取り付けることに。まずはUno R3で動作確認作業を行おうとしてハマリました。最初からUno R4でやってればよかったんであります。R3でトラブルような周辺装置もあるのだと。