_m_watanabe

趣味と仕事の勉強を兼ねて、電子工作を中心に投稿していきたいと思います。

_m_watanabe

趣味と仕事の勉強を兼ねて、電子工作を中心に投稿していきたいと思います。

最近の記事

画像処理、濃度ヒストグラム表示

画像処理の勉強の為のソフトウエアの作成。今回は、画像の濃度ヒストグラムを表示するソフトウエアを作成する。 濃度ヒストグラムは、画像の画素ごとの濃度値の分布をグラフにして表示した物です。以下の書籍を参考にさせていただいた。 ・はじめてのデジタル画像処理 P68 P69 ・インターフェース2017/05 P36 輝度の濃度ヒストグラムを求める為、今回はグレースケールの画像を用意するのでは無く、まず元の画像をグレースケールに変換する。 書籍を参考にして以下の様に変換した。 Y(輝

    • 画像処理、白黒の粗密濃淡表現

      画像処理の勉強の為のソフトウエアの作成。今回は、印刷物等で白黒のみ(白黒の粗密)で灰色等の濃淡表現するハーフトーン処理のソフトウエアを作成する。 ①階調を表現するための濃度を確率的に与える。(ランダムディザ) 以下の書籍を参考にさせていただいた。 ・はじめてのデジタル画像処理 P85 ・インターフェース2017/05 P42 濃淡画像の注目画素ごとに乱数によりしきい値を設定して、それより明るければ白、それより暗ければ黒にする。また、画面全体の明暗が調整出来る様にパラメータk

      • 画像処理、ノイズの除去

        画像処理の勉強の為、画像処理の書籍資料を参考にして、実際にソフトウエアを作成し実験してみた。今回は画像に混入したノイズの除去を行う。 ①9画素の平均化でノイズ除去(移動平均フィルタ) 以下の書籍を参考にさせていただいた。 ・はじめてのデジタル画像処理 P49 ・インターフェース2017/05 P58 下の図の様に元画像を計算して新しく作成した画像の画素の濃度を決める。 新しい画像の画素E'は、元画像Eとその周辺の画素との平均値から求める。 画像の素材はここからダウンロード

        • FreeCADのモデリング例

          以前使用したAUTODESK Tinkercadは細かい操作が難しそうだったので、 こちらの記事をみてやはりフリーのFreeCADを使ってみる事にしました。 職場で必要となった簡単なパネルを作成する時、ねじ穴等細かい位置や寸法の指定がFreeCADの方が使いやすい事が判った。 今回の記事は、自分の備忘録と職場の同僚のスタッフへ作業内容の説明や作業が引継ぎ出来る様に作成した。 まずは、FreeCADのインストール。特に設定変更は行っていない。バージョンは2023年11月にイン

        画像処理、濃度ヒストグラム表示

          OpenCVでマンデルブロ集合を描く実験

          こちらの記事を見て、マンデルブロ集合は意外に短いコードで描ける事を知りOpenCVの勉強を兼ねて表示させてみました。 開発環境は、こちらの記事を見てVisual Studio 2022を使用。 OpenCVには、点を描画する専用の関数はなさそうだった為、こちらの記事を見てポインタを使用。全部調べて組み合わせただけですね。 以下タイトルの画像を表示させたコードです。 ポインタが使いやすい様にxとyのループの順番を入れ替えて、計算回数の偶数奇数の色分けを追加してみました。 //

          OpenCVでマンデルブロ集合を描く実験

          3Dプリンター実験

          3DプリンターのVoxelab Aquila X2を先月購入していたのですが、こちらのwebサイトを参考にして、組み立たてて、付属していたgcodeデータを出力した後は全く使用していませんでした。 3Dプリンターを使用するには、おおまかに以下の様な事が解って来ました。 1,3DCADソフトでモデリングしてSTLファイルを作成する。または、3DモデルのSTLファイルをダウンロードする。 2,スライサーソフトでSTLファイルをgcodeファイルに変換する。 3,3Dプリンターで

          3Dプリンター実験

          STM32F303K8T6のADCとPWMの実験

          実際の仕事のコーディングを始めた所、ADコンバーターとPWMを使用しなければならない事が判り、ADCとPWMを実験しました。 ADCに繋がった照度測定センサーで周囲の明るさを調べて、LEDランプ調光用のPWM信号を出力させます。実験はADCに可変抵抗器を接続してPWM信号はオシロスコープで計測します。 使用する全てのI/Oの設定を行っていた為、今回の実験で使用しないI/Oも設定しています。 いつもの様に自分の他の記事と重複している所は、省略しています。 STM32CubeID

          STM32F303K8T6のADCとPWMの実験

          STM32F303K8T6のDAC1実験

          開発でSTM32F303K8T6のDAコンバーターも使用しなければならない為、実験を行う。DAC1を使用する。 他の方の記事でここやここを参考にさせていただきました。 いつもの様に自分の他の記事と重複している所は、省略しています。 回路も前回までと同じ物です。 STM32CubeIDEを立ち上げて、「STM32F303K8T6」のプロジェクトを作っていきます。 プロジェクト作成後、「Pinout & Configuration」にて、 ・「PA4」をクリックして「DAC1_

          STM32F303K8T6のDAC1実験

          STM32F303K8T6のインターバルタイマー実験

          今回は、STM32F303K8T6のタイマー割込みとインターバルタイマーの動作確認をします。他の方の記事でここやここを参考にさせていただきました。私の記事であまり目新しい物は無いのですが、仕事で使う為実際に試したので自分の備忘録と記録の為残しておきます。 自分の他の記事と重複している所は、省略しています。 回路も前回までと同じ物です。 STM32CubeIDEを立ち上げて、「STM32F303K8T6」のプロジェクトを作っていきます。 プロジェクト作成後、「Pinout &

          STM32F303K8T6のインターバルタイマー実験

          STM32F303K8T6のUSART1通信実験2

          他の方のSTM32の記事を読んでいたところ「USART通信を割込みを使って処理をしていて取りこぼしがありDMAを使用したら改善された。」という記述があり、DMAと割込みを使用してUSART通信を作り直す事にした。 USARTのDMA使い方については「この記事」を参考にさせていただいた。 また、以前の通信実験では、エラー処理を全く入れていなかった為、エラー処理を追加した。エラー処理については、「この記事」と「この記事」を参考にさせていただいた。 今回も端子は、 ・19pin P

          STM32F303K8T6のUSART1通信実験2

          STM32F303K8T6のUSART1通信実験

          STM32F303K8T6のUSART1通信は使用する予定なので通信実験を行った。端子はシリアル書込みに使用した、 ・19pin PA9(USART1_TX) ・20pin PA10(USART1_RX) を使用する。 開発はSTM32CubeIDEを使用して、 HAL(Hardware Abstraction Layer)を使用する。 STM32CubeIDEを立ち上げて、 ①、「Information Center」をクリックする。 Information Cente

          STM32F303K8T6のUSART1通信実験

          STM32F303K8T6シリアル書込み実験

          STM32F303K8T6のプログラムの書込みをST-LINKではなく、シリアル通信で書き込む確認を行った。 書込みプログラムは、「STM32CubeProg」を使用する。ここからダウンロードしてインストールした。 秋月電子の「STM32マイコン STM32F303K8T6」ページ内のデータシート「stm32f303x6_st32f303x8.pdf」の13ページを見るとBoot modeを使ってUSART1を使う場合は、 ・19pin PA9(USART1_TX) ・20p

          STM32F303K8T6シリアル書込み実験

          STM32F303K8T6実験

          STM32F303K8T6を次の開発ターゲットに使うかもしれないのでフラッシュ書込みや動作の実験してみました。自分用の備忘録を兼ねて記録します。 ほぼこの記事「STM32マイコン「STM32F303K8T6」を動かす」のそのままの回路で作っています。 フラッシュ書込みは上記記事と「STM32入門 環境構築「CubeIDEのインストールとSTM32F446でLチカ」」を参考にさせていただきました。 開発環境の「STM32Cube IDE」と「ST-LINK server」は上記

          STM32F303K8T6実験

          二足歩行ロボット動作データ作成支援4

          PCプログラムの作成 ArduinoUNOからシリアルで送られてくるADCのデータを角度データに変換して、モニターに表示してBluetoothシリアルでロボットに送信する。(Bluetoothシリアルは、プログラム上からは通常のCOMポートに見える。)画面にグラフィック表示をしたい為、「DXライブラリ」を使用しています。 コンパイラは、Visual Studio Community 2019のC++を使用。2022がリリースされているのを最近知った為、2022では未検証。

          二足歩行ロボット動作データ作成支援4

          二足歩行ロボット動作データ作成支援3

          二足歩行ロボットのソフト作成 二足歩行ロボットもほぼそのまま書籍の通り作った。「この記事」を参考にして、三端子レギュレータをNJM2845に変更しました。しかし自分の環境ではまだ動作が安定しなかった為、3.3v電源に接続されている47uFの電解コンデンサーを470uFの物に変更しました。他には、起き上がりモーション用に足の可動範囲を広げる為、腿や膝のパーツを外しています。 プログラムを以下に示します。サーボ動作関係の部分は、書籍からそのまま持ってきていますが、元々書籍に記

          二足歩行ロボット動作データ作成支援3

          二足歩行ロボット動作データ作成支援2

          角度入力機器の作成 可変抵抗器を使ってサーボの角度を入力する為、ADコンバーターを探していた所、ちょうど作りたい物に近い作成記事が見つかってほぼそのまま作りました。「16チャンネルに拡張」以降の部分の回路をそのまま作成。ADC入力部分にコネクターを付けました。 「marmelo(ユニバーサル基板用回路図エディタ)」にてADコンバータ基板の部品を配置、スズメッキ線の電源の配線もレイアウトしました。ArduinoUNOに接続するピンヘッダーは裏面なのですが置けない?為、図面上は

          二足歩行ロボット動作データ作成支援2