工作と競馬2

電子工作、プログラミング、木工といった工作の記録記事、競馬に関する考察記事を掲載するブログ

技術メモ

SPRESENSEでデジタルマイクによる録音

概要 SPRESENSEにデジタルマイクを接続し、録音させてみた。 概要 背景と目的 詳細 1. 使用部品 2. 配線方法の確認 3. LTE拡張基板のデジタルマイク入力への切り替え 4. ソフトウェア 5. 動作確認 トラブルTips まとめと今後の課題 背景と目的 SPRESENSEを用…

WSL Linuxで、Arduino IDEを使う ~ SPRESENSEでお試しビルド ~

概要 WSL Linuxの環境で、Arduino IDEを使うことができた。 概要 背景と目的 詳細 0.実施環境 1. Arduino IDEのインストール 1.2 SPRESENSE ボード定義をインストール 2. USB仮想シリアルポートをLinux側で認識させる 2.1 usbipd-winのインストール 2.2 認識…

USB仮想シリアルポートデバイスの挿抜を監視するソースコードの自分用メモ

概要 USB仮想シリアルポートデバイスの挿抜を監視するためのPythonソースコードを自分用にメモしておく。 実装 必要パッケージ pip install PySerial pip install pywin32 ソースコード import threading import time import logging import win32api import…

PCの音声をラズパイオーディオで流す(1) --- とりあえずWebラジオとして受信する ---

概要 PCの音声をラズパイオーディオで流せるようにした。 概要 背景と目的 詳細 1. 調査 2. システム構成 3. 作業 3.1 VB-CABLEをインストール、設定 3.2 icecastをインストール、設定 3.3 ffmpegのインストール 4. 実行 4.2 Volumio 5. 感想 まとめと今後の…

yolov8を転移学習したモデルをtflite形式に変換し、UnitV2で動かす

概要 yolov8を転移学習したモデルをtflite形式に変換し、UnitV2で動かすことができた。 概要 背景と目的 詳細 0. 環境 1. データセットとアノテーション 1.1 アノテーションツール 2. 転移学習 2.0 環境作成 2.1 yolov8のインストール 2.2 データセット作成 …

ラズパイオーディオの筐体の製作(3) ~ 操作プログラムの製作、完成 ~

概要 ラズパイオーディオ筐体の操作プログラムを作成し、完成させた。 概要 背景と目的 詳細 0. 準備 1. volume操作部 2. 再生/停止、トラック操作部 3. スクリプト全体 4. systemdサービス化 5. 完成 まとめと今後の課題 背景と目的 前回、筐体の組み立てを…

ラズパイオーディオの筐体の製作(2) ~ 筐体の製作 ~

概要 ラズパイオーディオ用筐体の組み立てを行った。 概要 背景と目的 詳細 1. 材料調達 1.1 木材 1.2 電気・機構部品 2. 材料の切り出し 3. 材料の接合 4. カッティングシートの貼り付け 5. スイッチ基板製作、配線 6. 仕上がり まとめと今後の課題 背景と…

ラズパイオーディオの筐体の製作(1) ~ 仕様の整理、設計 ~

概要 ラズパイオーディオを格納する筐体の製作に着手した。 概要 背景と目的 詳細 1. 仕様整理 2. 設計 2.1 筐体周り 2.2 電子回路周り まとめと今後の課題 背景と目的 以前、ラズパイオーディオを組み立てて以来、ちゃんとした筐体を用意せず裸の状態のまま…

ローカルLLMでRAG

概要 ローカルPC上で、LLMを動かし、かつ、RAGを実装するための自分用メモ。 概要 背景と目的 詳細 0. 環境 1. ローカルLLM実行環境(Ollama) 2. LLMモデル 3. RAGの実装 3.1 embedding modelのインストール 3.2 実装 3.2.1 全体構成 3.2.2 ベクトル化 3.2.3 …

掃き出し窓用踏み台の製作(2) --- 製作 ---

概要 掃き出し窓用踏み台の組み立てを行い完成させた。 概要 背景と目的 詳細 1. 材料調達 2. 木材の切断 3. 部材の接合 4. 塗装 5. 組み立て 6. 設置 まとめと今後の課題 背景と目的 前回の設計に基づき、製作を行い完成させる。 詳細 1. 材料調達 近所のホ…

React自分用メモ 配列の一部要素を更新したときに、更新した要素に依存するコンポーネントだけ再描画する

概要 配列データをstateに持つ親コンポーネントの子として、配列の各要素に依存する子コンポーネントがあるときに、更新した配列要素に依存する子コンポーネントだけを再描画させるためのコーディング方法をメモ。useMemo, useCallbackを用いる。 詳細 配列…

Flask+React+pywebview+PyInstallerでデスクトップアプリを作成する

概要 Flask+React+pywebview+PyInstallerでデスクトップアプリを作成し、動作を確認した。 概要 背景と目的 詳細 0. 環境 1. 作成するもの、実現手段 2. 必要なライブラリのインストール 2.1 Python 2.2 node 3. Flask部 backend.py 4. React部 frontend/src…

SPRESENSE+拡張ボードのPWM機能をArduinoで動かす

概要 SPRESENSE+拡張ボードのPWM機能をArduinoで動かすまでの環境構築とプログラミングを行った。 概要 背景と目的 詳細 0. 環境 1. USBシリアル変換ICのドライバーをインストール 2. Arduino IDEでボードを追加 3. ブートローダーの書き込み 4. プログラミ…

Flutterで、ビュー、ステート、ロジックを整理・分割でき、外部から柔軟にステートを変更できるWidgetのコーディング方法を整理する

概要 flutterで、ビュー、ステート、ロジックを整理・分割してコーディングでき、外部からもステートを変更できるStatefulWidgetの構築方法を整理、メモした。 概要 背景と目的 詳細 0. できるようにしたいこと 1. コード全体 1.1 WidgetAState 1.2 WidgetA …

Flutter側で、Androidのビルド日時を取得する

概要 Flutter側から、Androidのビルド日時を取得するためのコーディング方法を整理した。 概要 背景と目的 詳細 0. 環境 1. Android側 build.gradle kotlin側ソースコード 2. Flutter側ソースコード 参考 まとめと今後の課題 背景と目的 Flutterアプリを作成…

FDTD法でスピーカーエンクロージャー形状による影響をシミュレーション

概要 FDTD法で、スピーカーエンクロージャー形状による影響をシミュレーションした。 概要 背景と目的 詳細 条件 0. エンクロージャー形状のイメージ 1. 条件設定 1.1 基本条件 1.2 信号 2. 対象のエンクロージャー 3. シミュレーション音場 3. 結果 3.1 低…

Flutter Riverpod基礎

概要 Flutterで、Riverpodを使うための基礎的なことの自分用メモ。 概要 背景と目的 詳細 0. インストール 1. 前提を整理 1. フォルダ分け 2. ビュー 3. ステート 4. ロジック 5. main.dart まとめと今後の課題 背景と目的 Flutterでは、状態管理の実現方法…

Flutter ルーティング基礎

概要 Flutterで、ルーティング基礎をメモった。 概要 背景と目的 詳細 1. 作りたいもの 2. コーディング 2.0 画像ファイルの準備 2.1 pubspec.yaml 2.2 main.dart 3. 動作確認 まとめと今後の課題 背景と目的 先日からFlutterによるアプリを作成していたのだ…

Next.jsアプリ基礎 自分用メモ

環境 プロジェクトの作成 ルーティング 基本的なルーティング 動的ルーティング 共通レイアウト サーバーコンポーネントとクライアントコンポーネント クライアントコンポーネントを使う バックエンドAPI ルートハンドラーの作り方 データの更新頻度高いアプ…

家庭菜園の成長記録用カメラ ver2の製作(4) ~ 動作実績確認 ~

概要 家庭菜園の成長記録用カメラ ver2の約7か月間の稼働実績をまとめた。 概要 背景と目的 詳細 1. ケース(防水性、耐候性) 2. 基板とケースとの接着(セメダインSUPER X) 3. 支持ポール 4. ソーラーパネル まとめと今後の課題 背景と目的 2024年1月に設置し…

Flutterアプリ開発メモ(1) --- ボディ部分をスクロールできるテーブル ---

概要 ボディ部分をスクロールできるテーブルのコーディング方法の自分用メモ。 概要 背景と目的 詳細 1. 全体構成を整理 2. 全体 3. ヘッダ 4. ボディ 5. ボディの行アイテム 6. 動作確認 まとめと今後の課題 背景と目的 Flutterで、ボディ部分をスクロール…

Flutterアプリ開発環境構築メモ

概要 Flutterアプリ開発するための自分用メモ。環境構築~Visual Studio Code上でサンプルアプリを作成して動かすまでを行った。 概要 背景と目的 詳細 環境 Flutterのインストール パスの設定 Android Studioの設定 開発用Android Device Flutter doctor Vi…

M5UnitV2用の物体検出モデルを作成する

概要 M5UnitV2用の物体検出モデルをEdge Impulseにて作成し動作させた。 概要 背景と目的 詳細 0. 実施環境 1. クロスビルド環境の用意 2. アプリケーションソースコードの準備 2.1 アプリケーションのひな型ソースコード 2.2 OpenCV関連のビルド 3. Edge Im…

Dart言語 メモ

概要 Flutterを使うために最低限知っておくべきDart言語に関する自分用メモ 背景と目的 Flutterを使ってスマホアプリを作成する必要が出たため、まずは開発言語であるDartについて最低限必要な内容について学習し、メモしておく。 詳細 Playground DartPadと…

M5Stack UnitV2を触る

概要 M5Stack UnitV2を動かした。 概要 背景と目的 詳細 1. ドライバーのインストール 起動&物体検知お試し 物体認識(20クラス) 顔認識 シリアルの出力を確認 オーバーヒート その他 参考 まとめと今後の課題 背景と目的 M5Stack UnitV2でカスタムの物体検知…

seleniumで、指定した要素をスクロールして、要素内すべてのスクリーンショットを撮るためのメモ

概要 seleniumで、指定した要素をスクロールしてスクリーンショットを撮るためのメモ。 概要 背景と目的 詳細 0. 環境 1. スクリーンショットの対象サンプル 2. seleniumコード 2.0 キャプチャ対象要素を選択 2.1 対象要素をスクロール 2.2 指定した子要素が…

信号発生器の製作(2) --- 電子回路基板とソフトの製作 ---

概要 信号発生器の回路製作とソフト実装を行った。 概要 背景と目的 詳細 1. 回路 1.1 メイン基板 1.2 操作ボタン類 2. ソフト 2.1 インクルード 2.2 setup 2.3 loop 2.4 動作仕様 2.4.1 ロータリーエンコーダ 3. 動作確認 まとめと今後の課題 背景と目的 前…

コストを抑えた大型の簡易ハタ金を作る(約3000円で4つ)

概要 大型の簡易ハタ金をコストを抑えて作ってみた。(約3000円で4つ) 概要 背景と目的 詳細 1. 基本設計 2. 材料調達 3. 製作 4. 試用 5. コスト まとめと今後の課題 背景と目的 ベッドフレームを作るにあたり、比較的大きな(600mm程度)ハタ金が必要となる。…

プログラマブル波形発生器IC AD9833 をESP-WROOM-32で動かす

概要 プログラマブル波形発生器IC AD9833 をESP-WROOM-32(ESP32)で動かし、波形を発生させてみた。 概要 背景と目的 詳細 1. 部品調達 2. ESP32と接続 3. Arduinoプログラムを作成 3.1 コントロールレジスタの設定 3.2 FREQ0レジスタ値 3.3 ソースコード全体…

液晶モジュール1602AをESP-WROOM-32で動かす

概要 液晶モジュールをESP-WROOM-32で動かし、文字の表示ができることを確認した。 概要 背景と目的 詳細 1. デバイスの購入 2. 配線する 3. 液晶モジュールとI2Cで通信できるArduinoライブラリを探す 4. 通信がうまくいかない??? -> I2CアドレスがAmazon…