ドナドナされるプログラマのメモ

Windows用アプリのプログラミングメモ

スポーク折れた

自転車の後輪スポークが折れた。まだ買って2年しか経ってないのに。しかもこれ、折れるの実は3回目。1回目は買って11ヶ月目。2回目と3回目(今回)は23ヶ月目。ちょっと折れすぎなので破断面を観察してみた。ちなみに折れたのはスポークのハブ側にある曲がっ…

MozJpegGUIの更新: Ver. 1.4リリース

MozJpegGUIのVer. 1.4をリリースしました。 github.com バージョン1.3 -> 1.4の変更点:内蔵ライブラリを更新。 zlib 1.2.11 -> 1.3 libpng 1637 -> 1640 mozjpeg 3.3.1 -> 4.1.1 jpeg以外の形式から一部のメタデータをコピーするように変更。なお、jpegから…

MozJpegGUIの更新: ベンチマーキング

メタデータコピーによる変換時間増加量がどの程度のものなのか、ベンチマークをとってみた。 計測対象624枚のpngファイル (計1GB); SSDに保存 結果メタデータのコピーなし:59.462秒メタデータのコピーあり:60.213秒すなわち、0.751秒の増加。png1枚あたり1…

MozJpegGUIの更新: 残ってるTODO

そうだ、忘れないうちにToDoを書いておかないと。 TODO: 新規追加した箇所について、エラーメッセージの多言語化 元画像がJPEGだった場合はGDI+によるメタデータコピーをしない メタデータコピーのチェックボックスを消す(常時コピーする)

MozJpegGUIの更新: とりあえずGDI+でお茶を濁す

前回書いた通り、PNG/JPEG間にはメタデータ互換性がまったく無いことがわかった。となると、変換が必須だ。そして、自前で書くのは間違いなく難しい。そこで、車輪の再発明はせずに既存のものを使うことにする。候補は2つ。 GDI+のImageクラスおよびその派生…

MozJpegGUIの更新: そもそもPNGとJPGでメタデータの互換性がない!?

githubのissueに、メタデータのコピーに失敗するPNGのサンプルがアップロードされた。 github.com そこで、さっそく解析ソフトを作って、どんなメタデータがコピーできていないのかを調べてみた。そして絶望した。 PNGにおいて、画像を含む各種データはチャ…

MozJpegGUIの更新: メタデータコピーの方針

MozJpegGUI 1.3にメタデータコピー機能を追加するための方針について。 まず、MozJpegライブラリにメタデータ指定機能があるかどうかを調査した。・・・うーん、元jpegにあるメタデータをコピーできるのに、メタデータの外部指定機能がなさそう? 次に、画像…

MozJpegGUIの更新: メタデータのコピー状況

MozJpegGUI 1.3は、メタデータのコピーについてMozJpeg任せにしている。そこで、GDI+を利用する簡単なメタデータ表示ソフトを作りメタデータのコピー状況を確認してみた。 まずはサンプルデータの収集。プロが撮った写真や、プロが公開している画像だとexif…

MozJpegGUIの更新

MozJpegGUIの更新に着手。目標は、 使っている各種ライブラリのバージョンアップ https://github.com/nibasya/MozjpegGUI/issues/1 zlib 1.2.11 -> 1.3 libpng 1637 -> 1640 mozjpeg 3.3.1 -> 4.1.1 メタデータの維持 Copy metadata when converting images …

自転車用ウインカーの制作(17)

ここまでにかかった材料と費用のまとめ。 ■回路 5LED リアライト | 【公式】DAISO(ダイソー)ネットストア (100円)×5 AVRマイコン ATTINY202−SSNR: マイコン関連 秋月電子通商-電子部品・ネット通販 (70円)×5 SOP8(1.27mm)…

自転車用ウインカーの制作(16)

今日は、各部品を自転車に固定するパーツを作る。 まずはウインカー用スイッチから。 ブレーキを固定している部分に、ブレーキと共締めで固定したい。でも、ネジの向きとスイッチの向きがねじれの関係になるので、パーツを作る必要がある。 何かいいのが無い…

自転車用ウインカーの制作(15)

自転車用ウインカー続き。 前回バグを修正したあとの基板裏面写真。追加抵抗が目立つ。 基板裏面(バグ修正後) さて。これを容器に密封しなきゃならないんだけど。電池交換のことを考えるとフタつき密封容器が良さそうだ。 いいのがあった。 パッキン一体型…

自転車用ウインカーの制作(14)

回路にバグを見つけてしまった。以下、スイッチを左右とも切った状態でのLED状態。左右のスイッチを両方切るとMCUの電源が切れる構成なのに、なぜかうっすらと点灯している。 MCU電源を切ったのにLEDが光ってる 回路構成を眺めなおしてみる。 現在の回路構成…

自転車用ウインカーの制作(13)

AVRマイコンATtiny202でソフトがうまく起動しない件について、根本原因が分かった。 今回の回路は単三電池2本で、すなわち3V付近で動作する。今回のAVRマイコンは1.8Vから動作できるので問題ないはずだった。 ATtiny202マニュアル 31.3 General Operating Ra…

自転車用ウインカーの制作(12)

制御回路のはんだ付けが無事完了したので、さっそくプログラムを作る。 構造はシンプル。スイッチの状態に応じてLEDを点灯する。また、電源が入っている間はピッピッと音を出す。 構造はシンプルだし、エラー処理とかもいらないのでコードもシンプル。 void …

自転車用ウインカーの制作(11)

制御基板設計の続き。今日はレイアウトと配線の検討。 レイアウトはこんな感じにしてみた。45mm×45mm基板なら余裕かと思ったけど、きっつきつだった。 制御基板レイアウト 配線はこんなかんじ。スズメッキ線で配線するので、線間は2.54mm、角度はすべて直角…

自転車用ウインカーの制作(10)

今日は制御基板の設計。 こいつはスイッチからの信号をもとに表示器への電源供給を入り切りしたり、スイッチの状態に応じて手元LEDを光らせたり、音を鳴らしたりする役割となっている。これを実現するため、以下を実現するように設計した。 スイッチは表示器…

自転車用ウインカーの制作(9)

表示基板の量産も終えたので、それぞれケースに組み込む。 表示基板とLED基板の間には、念のためプラ板を挟んで絶縁した。また、中に入れるコネクタはリプロ用のもののみとし、電源は外に直接線出しした。 表示器として組み上げた 前2個、後ろ2個を組み上げ…

自転車用ウインカーの制作(8)

AVRマイコン ATtiny202を使って自転車用ウインカーを作るメモも、早くも8回目。ここに来て、わかりにくいトラブルが発生した。プログラミング直後はちゃんと動作するのに、安定化電源の出力を入り切りして電源を投入すると起動しない。調べても同様の症状の…

自転車用ウインカーの制作(7)

今日はLED基板を3枚作ったところで力尽きた。真ん中にあるICを覆ってる樹脂がとても硬くて、パターンカットが大変なのよね。 この基板の動作確認もできたので、今日はここまで。

自転車用ウインカーの制作(6)

さて、プログラミング環境も整ったのでまずはLチカから。Arduino IDEにて下記コードを作成してビルド、書き込み。 void setup() { pinMode(PIN_PA6, OUTPUT); } void loop() { digitalWrite(PIN_PA6, LOW); delay(1000); digitalWrite(PIN_PA6, HIGH); delay…

自転車用ウインカーの制作(5)

なんということでしょう。使用したATtiny202ライブラリのピン配置が、ドキュメントと違うじゃないですか。 使用したATtiny202ライブラリのピン配置 マニュアル記載のピン配置 マニュアル通りのピン配置に変更。 ピン配置を修正 回路図も合わせて更新。 表示…

自転車用ウインカーの制作(4)

今日はソフトの開発環境を作る。 まずはプログラマの作成。下記のUPDI_Writer_Cir.pdf右下にある回路を実装した。 www.ne.jp すなわち、秋月のFT234xモジュールに抵抗を1個つけて配線出ししただけ。 akizukidenshi.com 実装した回路 UPDIプログラマ外観 次…

自転車用ウインカーの制作(3)

自転車用ウインカー制作の続き。 今日はウインカーの容器を作る。 ベースはダイソーの自転車用5灯尾灯。 これをバラすとこうなってる。 ダイソー 5LED リアライトの分解(1) ダイソー 5LED リアライトの分解(2) 基板の裏面はこんなかんじ。 今回は、このケー…

自転車用ウインカーの制作(2)

昨日の続き。表示器の回路を設計する。 回路設計CADが未導入なので、P板.comの プリント基板 回路設計CAD | プリント基板ネット通販P板.comを参考に 電子部品通販のRSコンポーネンツと連携したCADであるDESIGNPARK PCBをインストールした。 www.rs-online.co…

自転車用ウインカーの制作(1)

大人の夏休みの工作として、自転車用ウインカーを作りたくなったので検討してみた。 要件 まずは大雑把な方針というか要件を決める。 右折、または左折を示す合図を黄色~橙色LEDで前および後ろに提示する。 表示器やスイッチは有線接続。 有線接続に必要な…

ライブ配信だけで生活できる日本人の人数と、それだけで生活する難しさ

ASCII.jpに「20~30人のコアなファンがいればライブ配信で生活できる時代に」という記事があった。 20~30人のコアなファンがいればライブ配信だけで生活できるらしい? 実際の記事内容は「ファンビジネスとして成立させられれば20〜30人コアなファンがいれば…

Factorio スペース・エクスプローラやりなおし日記143 宇宙服MK3の生産

宇宙服MK3を作れるようになったので、さっそく作成。 宇宙服MK3のレシピ エネルギーシールドMK3も装備することにした。 エネルギーシールドMK3のレシピ 装備グリッドはこんな感じにしてみた。 装備グリッドの状況 もう長いこと稼働していない各種サイエンス…

Factorio スペース・エクスプローラやりなおし日記142 宇宙船の改造とか

とりあえず色々と研究予約。 いろいろと県k風予約 どんどん予約 あと、バイタリック試薬が足りなくなったので、臨時生産ラインを設置してきた。 バイタリック試薬の臨時増産ライン 宇宙船のキャパシティが増えたので、大改造をすることにした。 宇宙船(改造…

Factorio スペース・エクスプローラやりなおし日記141 バイオスラッジの量産

ブランクデータカードの生産が間に合っていない気がするので、増産することにした。 ブランクデータカードの生産設備(現在) ただ、ベルト容量は限界に見え、かつ施設間のスペースも全然ないのでちょっと気合を入れて拡張する必要がある。 まずはスペースを…