Nch-Lab 電子工作について駄弁る会 #2
https://www.youtube.com/watch?v=j1kVF61cSWY
勝手に話した内容をメモinajob.icon
字幕データを引っこ抜いて、それを見ながらinajob.iconが文字にしました
勝手に書き換えたり、ページを切り出したりしてOKです
コメントを書き足すのも歓迎です
アイコンを末尾につけるのがオススメです
3DCAD
CadQuery
Pythonを使って3Dモデルを生成するオープンソースの3DCAD
CQ-Editorという専用のIDE
Queryを使ってフィレットを書ける辺を指定できるのが良い
普通はFusion360みたいなGUIベースのCADを使うが、(プログラマ的に)痒いところに手が届かない
(inajob注: Fusion360は結構機能を覚えればここで紹介したことくらいはできるはず)
Gitでソースコードを管理できる
3DプリンタやKiCAD用の3Dモデルを作るために利用
Gitを使ってPC間でデータを同期している
KiCADのPCBエディタのロードが重い話
そこまで気にしたことが無いな(inajob)
無いなぁikeji.icon
果物十進変換器
フォトインタラプタ
果物の組み合わせで2進数の要領で10進数の数字を表現するおもちゃ?
FPGA
Tang nano 9K?inajob.icon
初代Tang Nano(Tang Nano 1Kの前身)ですuchan.icon
マイコン/マイコンボードの価格
CH32V003は50円くらい
Arduino UNOを公式で買うと高い
互換機で良くない?
公式は細かい作りこみがある、IDEなどの開発資金、リファレンス、として1台は持っておきたいinajob.icon
マイコンボードを買わずに、自分でICを買ってきて基板につける方が性に合っている
RP2040は実装がちょっと面倒、ワンチップでは動かない(Flash、発振子などが必要)
RP2040の実装
GNDがIC中心の裏側のPadしかない
スルーホール穴をあけて流し込むのが一般的か?
オーディオビジュアライザ
キットにしようとしている
部品点数300近い
ハードウェアの部品点数を減らすテク
アドレサブルLED(シリアル接続フルカラーLED)を使う
制御が難しい、時間の制約が厳しい
FFTしつつシリアルLEDの制御をおこなうのは工夫が必要
RP2040はデュアルコアなので、できるか? PIOも使えそう
マイコンを使わずアナログで設計したり理由
部品を揃えれば誰でも作れる
部品数が多いと展示映えする
デジタルで処理するならFFTなので、そこまで難しくない
FFTはよくあるアルゴリズムなので便利なライブラリがたくさんある
ちょっとArduino UNOでは厳しそう、ESP32とか?
Arduino UNO R4だったら行けるかも?(高性能化されたので)uchan.icon
STM32
HALとLL
IDEを使ってコード生成する、みたいな作法がとっつきにくいかも
良い入門書がある(同人誌)
STM32を始める本~CubeIDE対応版~ - まんじゅう本舗 - BOOTH
STM32Cubeについてたリンカスクリプトが間違ってて困った事があるikeji.icon
Arduino IDEに慣れている
Arduino IDEに対応したマイコンは多いので、逆にそういうのは使いやすい
MicroPython
Pythonをまず勉強しよう
CadQueryもPython
Pythonの構文
インデントは好きな数でOK、そろっていればOK
GitHubのリポジトリが放置になりがち
別の良いのでは?
作りかけを途中で放置するのは気分が悪い
大学サークル関係のプロダクトを作っているが、個人プロジェクトはあまり回せていない
純粋に電子工作が楽しめていない
自作キーボード
メカニカルキーボードスイッチのおかげで打ち心地が良い
キー配列
AX配列がおすすめ
JISキーボードをUSっぽい配列にして使うことが出来る
Windowsだとレジストリの変更でできる
変換・無変換キーをIMEのON/OFFにする
新しいWindowsならできる
電子の森ラジオ
自作SSDの話をやっと公開できた
仕事の話を公にするのは手間がかかって大変だった
https://open.spotify.com/episode/51ShctF1cawnlVNKzHeWjh?si=1ZPpp_ZsRnWruZ2ucl6epA
電子組版
コードで組版
re:view
CSS組版
SATySFi
Vivliostyle
GitHubと相性が良い
Markdownでは表現力が足りない
TeXを経由したくない
Wordも意外と図表番号とか版管理できるけど、Wordの中で暮らすなら・・という話
この会のYouTube動画を見直すのがつらそう
間がすごい空いているので、単純に1.5倍速再生とかでは辛そう
公式Arduino UNOの良い所
スイッチサイエンスで買うと永久保証が付いている
ピンソケットに機能名が印刷されている
裏面をガードするプラスチックのカバーが付いている
裏面をショートさせて壊すというのがたまにある
公式のIDEの開発資金となっている(と思う)
リファレンス用に1個は持っておこうかなという感じ
CH32V003
安いというだけで楽しい
新しいICなので偽物が少ない気がする
Flash16KB、RAM2KB
ペリフェラルもたくさん
DMA
手はんだで実装するのもRP2040とかと比べると簡単
熱にちょっと弱いらしいので、ホットエアーガンでリフローするなどはやめた方が良さそう
自動書き込み用のブートローダーを試している
書き込み機が安いので、わざわざ作るというのはあまり合理的な理由はない
ブート領域にIAP(自分のFlashを書き換える機能)を使い自身を書き換えるコードを書き込んでおく
シリアル通信が来ていたら、その指示に従いユーザ領域にプログラムを書き込む
WCH社公式のArduino環境が出た
CH32V003については、HALのコードが大きすぎて、Blinkだけで結構メモリを食ってしまう問題がある
ch32v003funのような薄いライブラリを使うのがおすすめ
子供がいるとこういう会に参加しづらい
一方的に自分が話すだけのポッドキャストとか、ブログの発信を中心に活動している
ポッドキャストは軽い台本があれば話がしやすい
その台本を作るのが大変という人もいる
最近のマイコン
安く軽い処理 CH32V003
以前はATTinyでやっていたような処理
重ための処理 RP2040,ESP32
CH32Vシリーズ
ペリフェラルがSTM32のものと酷似している
教科書もSTM32のものがそのまま参考になる
まず和音を鳴らす
PWMとタイマ割込みの勉強になる
8ピンのCH32V003のピン配置が使いづらい
CH32V003はAliExpressで書き込み機、開発ボード、チップ単体の3点セットで安く売っているので、入門したいならこれを買うと良い
CH32V203
USB Deviceになるので、これ1つでライタ不要の自動書き込みが実現できる
子供への英才教育
ドライバーを持たせてみる
ラブライブの動画を見せる
カッターを持たせてみたい
子供が親しみやすいようにC/C++のマクロで子供用言語っぽいものを作った人の話
MMLのような音を鳴らす命令や、画像を出す命令なども完備
オープンソースカンファレンスで展示予定とのこと
NT東京2023に3歳の娘と参加した
子供に足を止めてもらう展示は、その親にも見てもらえる
CadQueryを勉強しているが、触らないとすぐに忘れてしまう
すでに書いたコードを後から読み解くのがつらい
スパゲッティになるのでなにかルールが欲しい
OpenSCADの方が覚えやすいが、表現力が微妙
フィレットがつけにくいケースがある
STEP形式で出力できない
オープンソースのツールを使いたい気持ちがある
CadQueryを使ってGit管理されたSTEPファイルの差分をビジュアルで表示する仕組みを作った
CadQueryのIDEの仕組みを横取りして、CLIで実行した結果を、IDEに表示できる
CadQueryでSTEP形式のファイルの差分を表示する
FM音源の自作
FM音源のICが家にある(OPなんとかのやつ)