[KiCad Advent Calendar 2015] PUI Audio社の小型表面実装ブザーのフットプリント

[KiCad Advent Calendar 2015] PUI Audio社の小型表面実装ブザーのフットプリント

KiCad Advent Calendar 2015,1日目は yoneken さんの KiCadの始め方 でした.
僭越ながらつなぎの次鋒をつとめさせていただきます.
内容としては,先日走り書きした 小型ロボットに使いやすい表面実装ブザー の補強版のような感じです.

続きを読む

[techaday:0007] 軌道と経路の違い

[techaday:0007] 軌道と経路の違い

はじめに

何気なく軌道計画や経路計画という言葉を使っている場面を目にすることがあるのですが,実は用語としてはこれらの2つは異なるものを指す言葉です.
というわけで,今日は軌道と経路の違いについて書きます.

効能

  • 軌道や経路について混乱を引き起こさずに済む

続きを読む

[techaday:0006] 2進数は下から3桁ずつ読もう

[techaday:0006] 2進数は下から3桁ずつ読もう

何か綺麗ですね

はじめに

16進数や2進数がスラスラ読み書きできるようになりたいと思いませんか?普段バイナリをいじらない人でも,宴会芸として使えるかも?
ということで,今回は \(\{16進数, 2進数\} \times \{読み, 書き\} \) の元として,2進数の読み方のコツについて書いていきます.

前提知識

  • 3桁の2進数が読める(0〜7までの8通りなので覚えるか計算するかしてください…)
  • 九九と2桁の足し算が暗算できる

効能

  • スラスラとまではいかないものの,めちゃくちゃ迷うことはなくなる

続きを読む

[techaday:0005] 小型ロボットに使いやすい表面実装ブザー

[techaday:0005] 小型ロボットに使いやすい表面実装ブザー

1粒400円((((;゚Д゚))))

はじめに

ロボットの基板にLEDを載せてデバッグ出力をするというのは多くの方が実施されているかと思います.
もう1つの方法として,音が最も使いやすい出力方法だと思います.今回はそれに使える電子部品の紹介です.

続きを読む

[techaday:0004] Fresnel積分と緩和曲線

[techaday:0004] Fresnel積分と緩和曲線

アメリカのテキサス州ダラスにあるHigh-Fiveというインターチェンジ

はじめに

突然ですが,「高速道路のインターチェンジや線路のカーブを作ってください」と言われたとするとあなたならどうしますか?
ほとんどの人は,まず一番オーソドックスな円弧を考えると思います.
しかし,少しだけ考えてみてください.直線と円弧のつなぎ目は連続で1階微分可能でこそあれ,微分した結果は不連続になり,2階微分は不可能ですね.
これはつまり,カーブに差し掛かった時に急ハンドルを切らなければならないということに相当します.このままではあなたが設計した道路は事故多発地点になってしまいます.
それでは一体どのようにカーブを作ればよいのでしょうか?というのが今日の話題です.

前提知識

  • 微積分の計算ができる
  • 高校物理の力学がわかる

効能

  • 車両ロボットなどの軌道・経路計画をする際に慎重になる
  • 数学がちょっと役立てられている場面を知ることができる

続きを読む

[techaday:0003] latexmkで楽々LaTeXコンパイル

[techaday:0003] latexmkで楽々LaTeXコンパイル

はじめに

第3回です.皆さんは文書を書くときに何を使っていますか?
Wordを使っているという方は今すぐお帰りください.何も得する情報はありません.
LaTeX を使っているという方,素晴らしいですね.ぜひお友達になりましょう.どうやってコンパイルしていますか?

コマンド平打ち?シェルスクリプト?Makefile?
それってとてもめんどくさいですよね.毎回やることは決まってるわけですし,保存してプレビューするたびに make とか打つのはナンセンスです.
かといって,私みたいに慣れたテキストエディタがある場合は,わざわざTeXだけのために専用の執筆環境をインストールして使うのもまどろっこしいです.

というわけで,TeXのコンパイルに関わる処理をよしなにやってくれる latexmk という便利なコマンドラインツールがあるのでご紹介します.
ついでに,プレビュー時のコンパイル時間を短縮するためのコツについても書きます.

前提知識

  • シェルが最低限使える
  • TeX が書ける
  • TeX のコンパイルってめんどくさいなーと思ったことがある

効能

  • ちょっとだけ時間の節約になる
  • 頻繁にプレビューするときのコツがわかる

続きを読む

[techaday:0002] C言語での構造体とアライメントについて

[techaday:0002] C言語での構造体とアライメントについて

はじめに

「1日1技シリーズ」第2回は,構造体とアライメントについてです.
構造体は複数のデータをひとまとめにして扱えるため,みなさんも様々なプログラムで多用しているかと思います.
また,マイコンプログラミングではメモリが数kB〜数十kBと制約がシビアになるため,1bitで済むフラグや値が小さいことがわかっている変数を,構造体の拡張機能であるビットフィールドを使って複数固めて使用することがあります.
しかし,使い方によってはかえってメモリを食いつぶしてしまう場合があります.今回はそれと回避方法について書いていきます.
この手の話について大変詳しく知っているわけではないので誤りが含まれているかもしれません.その場合は躊躇なさらずご指摘ください.

前提知識

  • C言語の構造体・共用体が使える

効能

  • ビットフィールドや構造体を使うときに気をつけるようになる
  • どうしても使いたい時の容量節約方法が分かる

続きを読む

[techaday:0001] C言語での符号とビットシフトについて

[techaday:0001] C言語での符号とビットシフトについて

はじめに

「1日1技シリーズ(別名techadayも併用することにします)」記念すべき第1回は,整数型の符号とビットシフトに関する話題です.
ビット演算は特にマイコンプログラミング等において,IOを使用するためだけでなく高速化やメモリ節約のためにも頻繁に使用されます.
今回と次回はそんなビット演算について,知らないとハマりやすいポイントについて書いていきます.

前提知識

  • C言語の基礎的文法がわかる
  • ビット演算についてイメージできる

効能

  • signed な整数型変数と unsigned な整数型変数でのビットシフトの処理の違いがわかる
  • 異なる処理をわざわざ行う理由が分かる
  • unsigned char と書くべきところをうっかり char と書いて闇に落ちてしまうのを防止できるようになる

続きを読む