初心者向けではないピンヘッダの使い方

これは CPS Lab Advent Calendar 2016 13日目の記事です

www.adventar.org

 

あんまみんなに共有できるネタが思いつかなかったため、これまでに培ってきた電子工作のクソ小技的なものを紹介します。

 

ピンヘッダとは、プリント基板上に取り付ける端子類の総称らしいです。


かなり汎用性のあり、使わない人はいないかと思われます。

 

しかし、「ピンヘッダ 変な使い方」「ピンヘッダ 裏技」「ピンヘッダ クソ」とかで検索しても、特殊な使い方をしている人はあまり見つかりませんでした。

 

そこで、まとめも兼ねてこれまでに作った(活用した)個人的には特殊だと思う使い方を備忘録もかねて下記に示しておきます。

 

 

1.コの字ピンヘッダ

光る財布を作るときに制作。財布の表のNeoPixelを綺麗に配線するために使用。

f:id:sukonbu0909:20161213134714p:plain      f:id:sukonbu0909:20161213134732p:plain

あとはArduinoに挿せばArduinoから下方向に配線ができる?

 

2.タコ足ジャンパワイヤ

こちらも光る財布を作るときに制作。財布の中で配線する際、5VとGNDが圧倒的に足りなくなり使用。これにより一つのジャンパケーブルで大量のタコ足配線が可能になります。

f:id:sukonbu0909:20161213134544j:plain

ジャンパケーブルのオス側にピンヘッダをはんだ付け。

これによりたこ足空中配線が可能

 

3.Arduinoのブレッドボード直挿し用ピンヘッダ

Arduinoをブレッドボード配線する際、わちゃわちゃして持ち運びがだるいため制作。
GND用にケーブルを増設している先駆者がいた。

f:id:sukonbu0909:20161213132658p:plain f:id:sukonbu0909:20161213132807p:plain

(左図 作例、右図 使用例)

 

4.裏表なしピンヘッダ&ソケット

バイトで頻繁に抜き差しを行う部分の配線時に制作。点対称に配線することで裏表どちらから接続しても正常に動作する。これは2列以上のソケットでも同様に行えるため便利。

写真が見つからなかったため適当に図で解説

f:id:sukonbu0909:20161213134418p:plain

 

5.接続方向矯正ピンヘッダ&ソケット

バイトで配線が多い部分の配線時に制作。ピンの内一つを物理的に接続できないように作成。これにより正しい向きでなければ配線ができない。

f:id:sukonbu0909:20161213133002p:plain

(見にくい図で申し訳なさ)

図では、2×5のうち、四隅の一つのピンにピンヘッダを挿したままはんだ付け。また、挿入する側も四隅をひとつ欠けた状態のピンヘッダに加工する。

 

 

特に4と5はマザボとかのピン配置の工夫として用いられているらしいです。

 

 

 

まとめ

もっと写真撮っておけばよかった。

あと作り方とか(いらないだろうけど)書いたりすればよかったですかね?

 

他にもネタがないかもっと探してみます。(海外とか)

なんか見つけた人がいたら教えてください。

 

 

Gun Gale ◯nline作ってみた[ラボライフ!]

sukonbuです。

CPS Lab(ラボライフ!) Advent Calendar 2014 - Adventar 

19日目ということで、記事を書かせていただきます。

(18日目:私物に唯一性を)

前回の「パルスセンサによる心拍の可視化」について、かなり乱暴に発展させ、某「Gun Gale ◯nline」のシステムである着弾予測◯をゲームとして実装しました。

☆概要
・題名「Gun Gale ◯nline風のゲームやってるPCがOnline
・開発環境:VisualStudio、Arduino
・開発言語:C++Arduino
・使用ライブラリ:DXライブラリ(C++)
・使用機材等
Arduino
└Grove用イヤークリップ型心拍センサ
└(WiiリモコンWiiザッパー)※銃を模して使用、別途アプリケーションでマウスを割り当て、自作のIRセンサでポインティングする。

・動作内容
インベーダーゲーム」を元にして、敵を倒す手段を「バレ◯ト・サークル」による射撃に変更。(左クリック時の円の半径の内側にランダムで着弾)


先日の旭祭および学術研究発表会にて展示しました。


◯仕組み
ゲーム本体とArduinoで、シリアル通信を介して心拍の値をやりとりする。そして、心拍の値に応じて円の半径を増減させる。

f:id:sukonbu0909:20141212024946p:plain

アルゴリズムが微妙なため、いまいちな動きだが、「一応動く」という程度にはできた。

コレをインベーダーゲームに加えると・・・↓

f:id:sukonbu0909:20141219194636p:plain(見た目だけいい感じ・・・?)

 

◯苦労した点
C++でのシリアルモニタを作成およびゲームへの組み込み
ArduinoとDXライブラリの組み合わせでの開発例が余り無いため、難易度が高かった

・60fpsの描画処理に対して1000msの周期で更新される心拍の値を対応させること

└バッファに対して1フレームごとにforループで複数回アクセスし、無理矢理更新を調整した。

 

◯考えたこと

「新しいことをするのは難しい」

└コピペプログラマ程度の自分が文献のないものを制作するのには相当の努力が必要。でも楽しかった。


「自作操作インターフェースの可能性」

└シリアル通信でデバイスから何かしらの値を取得し、ゲームの動作に関連付けることができるということは、もっと良いプログラムを書けば自作のコントローラ等が制作できるのでは無いかと思う。

 

とりあえずこんなところで、だいぶグダグダな内容ですが、終わりとさせていただきます。

 

20日目:

パルスセンサを用いた心拍の可視化[ラボライフ!]

sukonbuです。

CPS Lab(ラボライフ!) Advent Calendar 2014 - Adventar 

12日目ということで、記事を書かせていただきます。

(11日目:我が家に伝わるのコーヒーの淹れ方)



先日の学祭にて展示したこれ↓について、

考えたことやこれからの展望について書いていこうと思います。

 

f:id:sukonbu0909:20141212015534j:plain

図1.ドキドキ☆シャイニングハート  全体図

☆概要
・題名「パルスセンサを用いた心拍の可視化」
・使用機材等

Arduino + Groveシールド
┗Grove用イヤークリップ型心拍センサ
┗車用LED(?)※詳細は調べていません

・動作内容

心拍センサを耳たぶや指先にはさむと、脈に合わせてLEDが白く発光します。

また、脈拍が速くなるとLEDが白の代わりに黄色く光ります。

プログラムは先日の展示ポスターにて紹介した(再度書くの面d)ので、LEDを爆発させながら自分なりに考えた回路について紹介しようと思います。

(回路図の描き方がわからないので回路図の代わりに写真)

 f:id:sukonbu0909:20141212024006p:plain

 

◯肝となる素子の解説

トランジスタ

電流を流すor流さないの挙動が実装できるため、「脈に合わせて点滅する(電流on off切り替え)」部分に使用しました。

 f:id:sukonbu0909:20141212024554p:plain

・リレー

電流を2つの方向に切り替えする挙動が実装できるため、「LEDが白く光るor黄色く光る」部分に使用しました。
※LEDは「電源」「白く光る線」「黄色く光る線」の3本の線からなる

 f:id:sukonbu0909:20141212024551p:plain

 

Arduino側の説明

心拍センサはブレットボードでなく、シリアル通信で数値を受け取る目的のみで、Arduino本体に直接接続しています。先日紹介したプログラムを用いて「脈に合わせて点滅」用のピンと「脈が早いかどうか」用のピンの2つのピンで回路を制御しています。

 

◯考えたこと

「ブレットボードが分解される」・・・放置すると分解されてしまい、再使用が面倒。ハンダ付けの練習と回路を最適化し、シールド化したいところ。

 

「心拍の状態判定が適当」・・・心拍の速さを測る、とはいっているものの、波形に変換しているわけではなく、閾値を設けているだけのため、より精度の高いモノにするために数値の解釈について勉強が必要。

 

「他のセンサとの組み合わせ」・・・心拍だけでなく、他のセンサと併用することにより、ニーズに合わせた(???)人間の精神状態の表現等が可能なのではないでしょうか。

 

◯今後のこと

現在、自分の所属するサークルの作品として、某ラノベの中の作中ゲーム「GunGale◯nline」のシステムを再現するためのゲーム及びインターフェースを制作しています。

 

次回の記事では、そのゲームの制作についての記事を書こうと思います。

f:id:sukonbu0909:20141212024946p:plain

 

13日目:インスタントラーメンの電子レンジ調理に関する報告