uchan note

プログラミングや電子工作の話題を書きます

Python で Markdown 文書を HTML へ変換する

python-markdown2, py-gfm, pygments というライブラリを使って Markdown 文書を HTML へ変換するメモです。 GitHub Flavored Markdown (GFM) の特徴である Fenced Code Block にも対応しています。 インストール $ pip3 install --user python-markdown2 py…

deb パッケージングメモ - alien 編

Ubuntu で deb パッケージを作ろうとして調べ、実験したメモです。 なぜ自作ツールの deb パッケージを作るのか 開発したソフトウェアを Chef や Ansible などでデプロイするのに、apt-get install できると便利です。 deb にすることで、プログラム本体だけ…

楽しい仕様書と生産性に関する考察

結論:楽しい仕様書は将来にわたってチームの生産性を向上させる。 仕様書を書く効果 『Joel on Software』(オーム社 2005)でジョエルはこんなことを書いている。 「仕様書の最も重要な役割はプログラムをデザインすることだ。」 仕様書を書くには設計する…

Git で deb パッケージング

Git で管理しているソフトウェアを deb パッケージにしたいことがあります。 本記事は、1 つの Git リポジトリの中でソフトウェア本体と deb パッケージのメタデータを管理する方法を説明します。 2016/02/29追記:ここで紹介するブランチ構成には問題がある…

KiCad Pcbnew 各レイヤの役割

概要 KiCad のプリント基板エディタ Pcbnew の各レイヤの役割をメモします。 この記事は KiCad 4.0.1-stable を対象に記述しています。古いバージョンではレイヤ名が日本語になっていたりと違いがあるようです。バージョン 4.0.1 に対応した体系的な説明が見…

MOSFET を用いた双方向レベル変換回路の考察

前回の記事 で紹介したレベル変換回路(level shifter)の動作を説明し、MOSFET の機種選択の考慮点を考えます。結論は、MOSFET のゲートしきい値電圧が高い機種は使えないので注意しましょうということです。

DRV8830 と電源電圧が異なるマイコンを直につないで良い

English translation is below. 前回の記事 モータドライバ DRV8830 に関するメモ の続きです。 概要 本記事は DRV8830 という TI (Texas Instruments) 製のモータドライバと各種マイコンを I2C で接続する際の注意点をまとめたものです。結論は、DRV8830 と…

モータドライバ DRV8830 に関するメモ

DRV8830 は TI (Texas Instruments) 製のモータドライバです。秋月電子通商でも販売しています ので、それなりに有名だと思います。 DRV8830 は 2.75V から 6.8V までと幅広い電源電圧に対応しており、乾電池 2 本でも動くので電子工作には最適です。 マイコ…

Kafka のトピック・パーティションの決め方を考察する

Apache Kafka は分散キューまたは pub/sub メッセージ配信システムとして使われるミドルウェアである。Kafka は pub/sub システムで一般的にある「トピック」に加えて、各トピックを分散処理のために分割する「パーティション」という機能を持っている。この…

Arduino に iPod の出力を繋ぐためのプリアンプ回路を実験してみる

少し前に プリアンプ回路を設計した ので、それを実装して実験してみた。 そもそもやりたかったのは、Arduino でデジタルエフェクタを作ることである。 そのために、交流である音声信号を、 1.65V を中心にして、なるべく 0V から 3.3V まで大きく振れる信号…

Arduino に iPod の出力を繋ぐためのプリアンプ回路を設計してみる

注)Qiita で書いた記事 を引っ越してきました Arduino で iPod の出力を精度よくデジタル変換したいなと思って、プリアンプ回路を設計してみた。対象は Arduino Due だけど、他の Arduino でも同じように使える回路になっているはず。 Arduino Due は 3.3V …