Mechanical design

3Dプリンター事始め

研究室で3Dプリンターを3年ほど使ってきた経験から, 3Dプリンタを導入するか考えている人のための情報を書いていこうと思います. 3Dプリンタとは何か  3DプリンタはAdditive manufacturingを実現する装...
Mechanical design

3Dプリンタで作った部品へのナットの取り付け

樹脂の部品にネジ穴を持たせたいとき, 方法は六角ナットを埋め込むか, インサートナットを埋め込むかの2つになります. 雌ねじを埋め込むメリットとしては, 締め付ける際にレンチでナットを抑える必要がないことでしょう. 締め付けの際にナットを落...
C/C++

リアルタイムでの外れ値の除外

ロボットでデータを計測していると,外れ値と呼ばれる大きなノイズの影響を受けた値が出てきます. 外れ値の影響はデジタルローパスフィルタで除外しきれない場合が多いです. フィルタの次数を大きくすることで,外れ値の影響は小さくすることはでき...
Arduino

Arduinoで秋月のI2C-LCDを操作する

秋月のI2C-LCD用のArduinoスケッチとライブラリをGitHubで公開しました. 動作テスト・アナログデータ表示・障害物回避ゲームのスケッチを開発しました. 動作テストでは,テキストの表示,アナログデータ表示スケッチではA0...
Arduino

ArduinoでHSV color

Arduino でRGB LEDを使った時にいちいちRGBで色を設定するのが面倒なので,HSVでコントロールできるプログラムをGitHubに公開しました. RGB LEDはアノードコモンとカソードコモンのものがあるので,これに合わせてAr...
C/C++

ログの書き出しにはmapを使おう

C++ にはmapというクラスが用意されています.このクラスは, vector のようにindexで配列の要素にアクセスするのではなく,キーと呼ばれる「名前」でデータを呼び出すことができます.このmapクラスはログをファイルに書き出す場合に...
C/C++

std::coutで改行させない方法

C++ でターミナルに出力する時に重宝するのがstd::coutです. 多くのターミナルでは改行する際に,文字列が表示されます. ただし, といったように, std::cin の入力の前に改行したくない場合にはstd::flushを...
C/C++

C/C++からpipeを使ってmp3 を再生する

Raspberry Pi でロボットを開発してる時に,音を鳴らせたいなーと思って実装してみました. 純粋にC/C++だけでmp3を再生しようとすると大変なので,今回はpipeを利用します. 「パイプとは、通常のファイルの入出力と同じよう...
未分類

スペーサバー

ロボットを作成していると,t2やt3のスペーサがふと欲しくなる時があります.でも,こういう薄いスペーサはあまり流通していないので,僕の場合はアクリルの端材をレーザーカットして使っています.φ3のスペーサのデータを下のリンクからダウンロードで...
Arduino

ArduinoUNOに急に書き込めなくなってしまった!

先日,突然ArduinoUNOにプログラムこ書き込みができなくなりました.スクショを撮り忘れていたのですが,エラーメッセージの先頭は以下のようなものでした. java.io.IOException: Cannot run prog...