tag:blogger.com,1999:blog-27833177189296470772023-11-16T22:59:31.339+09:00nekolab電子工作やプログラミングの話題を主に載せています。
他のことも載せていけたらなぁ、と。Unknownnoreply@blogger.comBlogger58125tag:blogger.com,1999:blog-2783317718929647077.post-61692995041508189472016-07-27T21:08:00.003+09:002016-07-27T21:08:58.921+09:00コンデンサ大戦TRPG v0.1<h3>
【はじめに】</h3>
<div>
ノリで作った。</div>
<div>
ゲームバランスとかはほとんど考えてないので、バランス崩壊してるかも。</div>
<div>
<br /></div>
<h3>
【マザーコンデンサ作成】</h3>
<h4>
1:マザーコンデンサの種類</h4>
マザーコンデンサの種類を好きな物から選びます。<br />
それぞれのマザーコンデンサには、基本特性を決める際のダイスの振り方が書かれているため、次の基本特性の決定の際にはそれに従って基本特性を決めてください。<br />
<br />
・アルミ電解コンデンサ<br />
耐久力:2d/定格電圧:2d/容量:4d/特性:【極性】<br />
<br />
・セラミックコンデンサ<br />
耐久力:2d/定格電圧:3d/容量:1d/特性:【高周波特性】<br />
<br />
・フィルムコンデンサ<br />
耐久力:2d/定格電圧:2d/容量:2d/特性:なし<br />
<h4>
2:基本特性の決定</h4>
基本特性をダイスを振って決めます。<br />
どのようにダイスを振るかは、マザーコンデンサの種類によって決定されます。<br />
<br />
[耐久力]:ダメージを受けると減ります。耐久力が0になるとマザーコンデンサは破壊されます。<br />
[定格電圧]:マザーコンデンサの定格電圧です。回路に供給される電圧と同時に、防御力にもなります。<br />
[静電容量]:マザーコンデンサの最大容量です。攻撃回路に供給する量が決定されます。<br />
<br />
<h3>
【ゲームの流れ】</h3>
<div>
このへん考えてない。</div>
<br />
<h3>
【戦闘の流れ】</h3>
<h4>
<b>・先制判定</b></h4>
[精度]+1dを達成値とします。達成値が高いマザーコンデンサから行動します。<br />
<br />
<h4>
<b>・メインフェーズ</b></h4>
メインフェーズでは、マザーコンデンサは下記の行動のうちどれかを1回取れます。<br />
<br />
1:攻撃<br />
攻撃回路を用いて、相手のマザーコンデンサに攻撃をしかけます。<br />
<br />
・攻撃回路選択<br />
どの攻撃回路で相手のマザーコンデンサを攻撃するかを選択します。<br />
攻撃回路を選択した時点で攻撃力の決定を行っておきます。<br />
<br />
「チャージポンプ回路」<br />
容量+2Dの攻撃力を持つ。<br />
消費容量:1D+2<br />
製作難度:5【高周波特性】持ちであれば4。<br />
<br />
「ウィーンブリッジ発振回路」<br />
定格電圧+1Dの攻撃力を持つ。相手のマザーコンデンサが【極性】持ちであればダメージが2倍。<br />
消費容量:2<br />
製作難度:5<br />
<br />
「コッククロフト・ウォルトン回路」<br />
定格電圧×1Dの攻撃力を持つ。<br />
消費容量:3<br />
製作難度:8<br />
<br />
・動作チェック<br />
まずは攻撃回路が動くかどうかのチェックをします。<br />
2Dを振り、達成値が攻撃回路の製作難度以上であれば動作成功です。<br />
動作失敗した場合は相手に攻撃できません。<br />
また、ファンブル(1ゾロ目)の場合は、回路がショートしてマザーコンデンサの耐久が1D減ります。<br />
<br />
・ダメージ計算<br />
攻撃回路の攻撃力-攻撃を受けたマザーコンデンサの定格電圧がダメージ値となります。<br />
攻撃を受けたマザーコンデンサは、ダメージ分だけ耐久値を減らしてください。<br />
<br />
2:充電<br />
マザーコンデンサを充電します。<br />
マザーコンデンサの容量は最大値まで戻ります。<br />
<br />
行動を終えたら、次に行動するマザーコンデンサがメインフェーズを開始します。<br />
<br />
<h4>
・戦闘終了判定</h4>
<br />
<ul>
<li>どちらかのパーティーが全滅した時。</li>
<li>GMにより戦闘終了が宣言された時。</li>
</ul>
<h4>
<br /></h4>
<h4>
・報酬</h4>
<div>
相手のコンデンサの残骸を手にいれる。</div>
<div>
<br /></div>
<div>
<br /></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2783317718929647077.post-744650692220484022016-01-19T18:50:00.000+09:002016-01-19T18:50:39.808+09:00イカ通話のためにオーディオミキサーを作った<div class="separator" style="clear: both; text-align: left;">
最近ブログを放置してたのですが、久々に電子工作ネタができたので投稿します。</div>
<div class="separator" style="clear: both; text-align: left;">
タイトルの通り、オーディオミキサーをつくってみました。</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqoSlhg5_2GcgxKMb3cwCwZVeCJTkGbbHyg5DHIAhi3oau1ZI8P0_Jv5CwkK9HLyFsagqgFcH7vLzrXGTa8aJ8blwlwkVJg4CWXXgDaj-oeVX5TK0i1hSQ2G7WoBtbkMQQ6u6TPUI-iuo/s1600/IMG_20160117_200823.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="282" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqoSlhg5_2GcgxKMb3cwCwZVeCJTkGbbHyg5DHIAhi3oau1ZI8P0_Jv5CwkK9HLyFsagqgFcH7vLzrXGTa8aJ8blwlwkVJg4CWXXgDaj-oeVX5TK0i1hSQ2G7WoBtbkMQQ6u6TPUI-iuo/s400/IMG_20160117_200823.jpg" width="400" /></a></div>
<br />
オーディオミキサーとは、複数の音声入力を合成して出力する装置です。<br />
具体的に言うと、<span style="font-size: large;"><b>「<span style="color: #660000;">Splatoonのゲーム音</span>と、<span style="color: #274e13;">Skype通話の音声</span>と、<span style="color: #073763;">WALKMANの音楽</span>を一つのイヤホンで聞きたい人のための装置」</b></span>です。<br />
<br />
市販品でもミキサーは売ってますが、電子工作マンとしては自作したいところ。<br />
というわけで回路図です。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiA2h9GvrvVJwv5JqvlkMmu2kA1ysYu5jxWhiH8cfL2N385y9rN9IlLOQZXQyPjVihKkbAFCoPRdrh2uM-MLQqHFEwAzzbwjZgm794rl0iXZeZB_cNsfcPtBD2kAcrSWbZqnpzY-_VhkQc/s1600/Untitled.BMP" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="346" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiA2h9GvrvVJwv5JqvlkMmu2kA1ysYu5jxWhiH8cfL2N385y9rN9IlLOQZXQyPjVihKkbAFCoPRdrh2uM-MLQqHFEwAzzbwjZgm794rl0iXZeZB_cNsfcPtBD2kAcrSWbZqnpzY-_VhkQc/s640/Untitled.BMP" width="640" /></a></div>
<br />
オペアンプを使った加算回路で入力音声を合成して、出力しているだけです。<br />
各チャンネルの音量調整のために、<a href="http://akizukidenshi.com/catalog/c/cvr9/">オーディオ用2連ボリューム</a>を使ってます。(破線でつながっている可変抵抗器が1つのパッケージに入ってる)<br />
<br />
上の加算回路だと出力が反転してしまうので、後段に反転増幅回路を設置してます。(利得は20dB)<br />
<br />
<br />
金曜日の夜に思い立って設計して、土曜日の朝に秋葉原で部品を買い、午後から<a href="http://handazukecafe.com/">はんだづけカフェ</a>で製作しました。お手軽電子工作です。<br />
<br />
実際に使ってみた感じだと、実用上問題ない感じです。(無音の時に若干ホワイトノイズが入っているのが少し気になるかも。)<br />
別段音質を気にしない方なら、普通に使えると思います。<br />
<br />
値段は全部合わせて1500円ぐらい。<br />
スプラトゥーンをやってる人で電子工作ネタがない人は、ぜひ週末に部品を買い漁ってからはんだづけカフェへ行きましょう。Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2783317718929647077.post-78731449846211188792015-09-07T01:08:00.001+09:002015-09-07T01:08:18.006+09:00Maker Faire Tokyo 2015 行ってきましたNekosanです。<br />
<div>
<br /></div>
<div>
超今更ですが、8/1〜8/2に開催されたMaker Faire Tokyo 2015に行ってきました。</div>
<div>
<a href="http://makezine.jp/event/mft2015/">http://makezine.jp/event/mft2015/</a></div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5Y8OmhI0yPyTpvoDOG6kPrEQtvcK1Gkw4baMPUsyCp9Vjfo463-2qOe-frQErNZu4jS9jHVHFQvsId9MvAVHsBegIdTsk4yLs1jeeDEaMreQ4aEBBUVXEA_rhldzjHEMd1tbzCVhcnLU/s1600/DSC_0049.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5Y8OmhI0yPyTpvoDOG6kPrEQtvcK1Gkw4baMPUsyCp9Vjfo463-2qOe-frQErNZu4jS9jHVHFQvsId9MvAVHsBegIdTsk4yLs1jeeDEaMreQ4aEBBUVXEA_rhldzjHEMd1tbzCVhcnLU/s320/DSC_0049.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="" style="clear: both;">
いつぞやにブログにも載せていた、振ったら残像で時間が見えるやつを展示してました。</div>
<br />
<div class="" style="clear: both;">
振ったらこんな感じ。<br />
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjq2wNs7u-s1Rfz887XRpA3eVHTpc1n0zieHwFkWE_LxskPuP6oV-EGfeEX40F2Fc_SxRWGjAwrkHk_7081gje5CxCkxbEm_xV0TlJXtHkGqXIepBwWHOGMJYC51YbRtgweomWhScjOYQ8/s1600/DSC_0048.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjq2wNs7u-s1Rfz887XRpA3eVHTpc1n0zieHwFkWE_LxskPuP6oV-EGfeEX40F2Fc_SxRWGjAwrkHk_7081gje5CxCkxbEm_xV0TlJXtHkGqXIepBwWHOGMJYC51YbRtgweomWhScjOYQ8/s320/DSC_0048.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9iaCRBoeyanTrr49TT3GQPTYvkxxynMZ_MQOsrc5MA-wU5YDcFMuyDQ_7uzdZePWpkxP-kn53EObRtSSW_w-mIZ87s-mvMMZuFCLDc9qkZzZWih86m6FbU5ufeB9apcJVSZyymlJWoT8/s1600/DSC_0051.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9iaCRBoeyanTrr49TT3GQPTYvkxxynMZ_MQOsrc5MA-wU5YDcFMuyDQ_7uzdZePWpkxP-kn53EObRtSSW_w-mIZ87s-mvMMZuFCLDc9qkZzZWih86m6FbU5ufeB9apcJVSZyymlJWoT8/s320/DSC_0051.JPG" width="320" /></a></div>
<br />
短いですが、これで。Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2783317718929647077.post-14418438147433737602015-05-14T22:55:00.000+09:002015-05-14T22:55:17.220+09:00エラトステネスの篩久々の更新です。<br />
<br />
<a href="http://dev.team-lab.com/?itemid=207">http://dev.team-lab.com/?itemid=207</a><br />
こんな記事を見つけたので、挑戦してみました。<br />
1000万番目の素数を出来るだけ早く出力する課題です。<br />
<br />
素数を求める方法として有名なのが、エラトステネスの篩です。<br />
ある範囲の自然数の数列を用意して、2の倍数のものを取り除く、次は3の倍数を、次は5、というようにして、合成数(約数が1と自身の値以外に存在する数)を取り除いていく方法です。<br />
Wikipediaに分かりやすいgifアニメがあったので、イメージがつかみにくい人は、そちらを見ると良いかと思います。<br />
<br />
エラトステネスの篩は、求めたい範囲が広くなれば広くなるほど、計算量がどんどん増えていきます。<br />
今回は 10^7番目の素数を求めたいので、結構な範囲になります。(1.8*10^8ぐらい)<br />
<br />
<br />
とりあえずC++で実装してみました。<br />
char配列を2億個ぐらい用意して、要素の添字を、その要素の値としました。<br />
あとは単純にforループを回して、2の倍数、3の倍数の要素にフラグを立てていくだけのプログラムでテスト。<br />
<br />
そこそこ動くけど、何十秒もかかってる。<br />
さっきの記事をもう一回見たところ、1位の人は1.4秒で出力してる!!!<br />
<br />
改良の余地はたくさんあるらしいので、いろいろ試してみました。<br />
最終的なコードがこれ。<br />
<a href="https://gist.github.com/nekosan/a956c2794796750280ec" target="">https://gist.github.com/nekosan/a956c2794796750280ec</a><br />
<br />
何を改良したかはコードから察して欲しい。(気力がないし、ぐぐると結構いろいろ出てきました)<br />
配列からあらかじめ2の倍数のものを抜いたり、ループの回し方を変えたりしました。<br />
<br />
最終的には、出力時間を0.9秒まで縮めることができました。(CPUはIntel Core i7 2.2GHz)<br />
もうちょっと改良すれば縮められそうですが、疲れたので一区切りつけました。<br />
<br />
<br />
単純に興味があってコードを書き始めましたが、結構勉強になりました。<br />
演算子の処理時間とかを考えないといけないコードを最近書いてなかったので、いい復習になった気がします。<br />
<br />
次もプログラミング関連の投稿になると思います。<br />
そろそろ自分のHPぐらい持ってみたいものです。VPSとか借りようかな。Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2783317718929647077.post-52141940677550878792015-01-02T18:51:00.000+09:002015-01-02T18:51:12.197+09:00あけましておめでとうございました<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOmow9Z6h9v_ZUPCcjZsjRyoJ-w-JVfWudPBLyb9r1KAtY_95swm_sm-mnYSwYvJ9OKNx0nX5WUDYgWeZ7hUDren4narGEZT-423GR40pOpaAZDnXFMyxFlN4c4e-n2PWilg1l_ArCN2Y/s1600/%E5%B9%B4%E8%B3%80%E7%8A%B62015_ex.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOmow9Z6h9v_ZUPCcjZsjRyoJ-w-JVfWudPBLyb9r1KAtY_95swm_sm-mnYSwYvJ9OKNx0nX5WUDYgWeZ7hUDren4narGEZT-423GR40pOpaAZDnXFMyxFlN4c4e-n2PWilg1l_ArCN2Y/s1600/%E5%B9%B4%E8%B3%80%E7%8A%B62015_ex.png" height="368" width="640" /></a></div>
<br />
<br />
あけましておめでとうございました。<br />
今年も、nekolabをよろしくお願いします。<br />
<br />
2ヶ月ぶりの更新ですね。さぼってました。<br />
<br />
ネタがないです。<br />
何か作ったらまた更新しますね。<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2783317718929647077.post-54968136334576810712014-10-21T00:49:00.002+09:002014-10-21T00:49:43.959+09:00BrainWarsが楽しい<span style="font-size: x-small;">最近、技術ネタが無いので、趣向を変えてみました。</span><br />
<br />
<br />
Android/iOSでリリースされている、<b><a href="http://translimit.co.jp/services/brainwars.html">BrainWars</a></b>というアプリを入れてみました。<br />
<span style="font-size: large;">「リアルタイム対戦型脳トレ」</span>です。<br />
<br />
<br />
神経衰弱、四則演算などの、いわゆる脳トレアプリがいくつか入っており、その成績を他のプレイヤーと競います。<br />
<br />
このゲームの目玉は、なんと言っても<span style="font-size: large;">リアルタイムネット対戦</span>です。<br />
世界中の人と競い合いながら、脳トレをすることが出来ます。<br />
<br />
1回の対戦は5分ぐらいで終わるので、ちょっと暇になった時にぴったりのアプリです。<br />
<br />
<br />
また、各脳トレの成績から、能力チャートが作られます。<br />
ある程度、対戦時の参考になったりします。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAINVhmE9hjP4St7Pqmbf-LhwgtIU_0cOHr7WFYFCjS5ORvnaUtB-etrHlQOQ0g91OcuDi0064L2V8IxK82bZNG04ivOzzBTn18cdmwNoPFKfsRFg_7RIjmTuzeKClRpTBrR2u9QMSeNY/s1600/B0X-h4iCEAAEw8O.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAINVhmE9hjP4St7Pqmbf-LhwgtIU_0cOHr7WFYFCjS5ORvnaUtB-etrHlQOQ0g91OcuDi0064L2V8IxK82bZNG04ivOzzBTn18cdmwNoPFKfsRFg_7RIjmTuzeKClRpTBrR2u9QMSeNY/s1600/B0X-h4iCEAAEw8O.jpg" height="400" width="376" /></a></div>
<br />
<br />
<br />
もしよければ、僕のユーザコード「<b>SW4188</b>」に、フレンド申請をお願いします。<br />
<br />
フレンドになれば、登録したフレンドといつでも対戦することが出来るようになります。<br />
対戦には相手がアプリを開く必要がありますが、フレンド対戦だと相手のゴースト(相手の記録に沿ったコンピュータ)と対戦することも出来ます。Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2783317718929647077.post-76082811448484777092014-10-12T08:25:00.000+09:002014-10-12T14:52:19.947+09:00【ジャイロセンサ、加速度センサ】ティーポッドを回す<div class="separator" style="clear: both; text-align: left;">
台風19号が近づいて来てるせいか、風が強いです。</div>
<div class="separator" style="clear: both; text-align: left;">
家が吹き飛びそうですが、なんとか生きています。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
それはそうとして、以前このブログにも何回か載せた傾き検出を、分かりやすく可視化してみました。</div>
<div class="separator" style="clear: both; text-align: left;">
OpenGLを使って、マイコンから得た傾きデータを元に、3Dティーポッドを動かしています。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/aCTGsF9Q-kI?feature=player_embedded' frameborder='0'></iframe></div>
<br />
今はピッチとロールだけしか反映させていません。<br />
ヨーを反映させるなら地磁気センサの値を使ったほうがいいかもしれません。(ジャイロセンサだとドリフトが発生する)Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2783317718929647077.post-80238504671938919052014-10-09T23:26:00.001+09:002014-10-12T14:51:32.208+09:00FETゲートドライバのIR2302を使ったモータドライバ<div class="separator" style="clear: both; text-align: left;">
秋月に売ってるIR2302ゲートドライバを使ったNchFETフルブリッジモータドライバです。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyg3Gc9cTCrggp4UotB5dM1W8UKfkXTqgoknKCo1w-NAvB0EMeEQ3s5-lOP9uO8yg25M2Hraqf2ndLcNZQtRK1bwf_iOkmnplI-FO8ftP0-h5UZmUbvoH6vmGQp-FqGIUgvlcbb5y-pgo/s1600/%E7%84%A1%E9%A1%8Cmicromd.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyg3Gc9cTCrggp4UotB5dM1W8UKfkXTqgoknKCo1w-NAvB0EMeEQ3s5-lOP9uO8yg25M2Hraqf2ndLcNZQtRK1bwf_iOkmnplI-FO8ftP0-h5UZmUbvoH6vmGQp-FqGIUgvlcbb5y-pgo/s1600/%E7%84%A1%E9%A1%8Cmicromd.png" height="322" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
FETは、IR社の<a href="http://akizukidenshi.com/catalog/g/gI-06170/">IRFB4410PBF</a>(100V 96A 250W)を使っています。<br />
<br />
<a href="http://akizukidenshi.com/catalog/g/gI-06208/">IR2302</a>は、ハーフブリッジ用のゲートドライバです。<br />
NchのみでHブリッジなどを組むと、ハイサイドFETの駆動電圧をどうやって上げるかが問題になりますが、このICではブートストラップ方式で昇圧を行い、ハイサイドFETの駆動を行っています。<br />
ICでデッドタイムなども挿入してくれているらしいです。(540ns程度)<br />
<br />
ロジック入力に入れるPWMの周波数は、10kHzまでは動作を確認しています。<br />
モータに負荷をかけた状態や、回転方向の切り替えを短時間に何回も行った場合の動作確認をしていないので注意。(540モータを2つ同時にぶん回すことは可能)<br />
<br />
このICは、モータ側の電源と、ロジック側の電源のGNDが共通になっています。<br />
データシートにはちゃんと絶縁されていると書かれているので大丈夫とは思いますが、気になる方は、フォトカプラをつけるなり何なりお願いします。(僕は、マイコンのロジックを直接繋げてますが、壊れたことは無いです。)<br />
<br />
<h3>
ロジック入力</h3>
00 : ローサイドブレーキ<br />
01 : 正転<br />
10 : 逆転<br />
11 : ハイサイドブレーキ(非推奨)<br />
<br />
<br />
<h3>
使うときの注意点</h3>
<br />
<ul>
<li>最大定格電圧は、FET、ゲートドライバ、ダイオード、パスコンの定格電圧のうち、<b><span style="color: red;">最も低いもの</span></b>になります。これを超えたら死にます。(回路図では、パスコンが一番低いので、50V)</li>
<li>ゲートドライバへの電源(回路図のVd)に20V以上かけると、もれなくゲートドライバとFETが死にます。</li>
<li>ロジック入力を長時間Highにしていると、ブートストラップコンデンサの電荷が放電されてしまい、モータが停止します。そのため、<b>必ずPWM制御等でLowの時間を取るように</b>してください。</li>
<li>パスコンを取り付けないとスパイクノイズがひどいので、必ず取り付けるように。</li>
<li>最大定格電力を超えないようにしてください。<br />(参考:<a href="http://abcdefg.jpn.org/elememo/swfet/cc.html">http://abcdefg.jpn.org/elememo/swfet/cc.html</a>)</li>
</ul>
<br />
<br />
<br />
「100Aは雑魚」<br />
<br />
という<strike><span style="color: #cccccc;">変態な</span></strike>人たちもいると思うので、そういう場合はFETをもっと強い奴にするかIGBT等に変えてください。<br />
<br />Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-2783317718929647077.post-45409347258164502552014-09-10T18:44:00.001+09:002014-09-10T18:44:56.035+09:00マイコンでブラシレスモータ用ESCを制御する忘れそうなので自分用メモ。<br />
<br />
ラジコン飛行機などに使われる小型のブラシレスモータを動かす、ESC(アンプ)をマイコンで制御したかったので、やってみました。<br />
<br />
<h3>
用意したもの</h3>
<b>・ブラシレスモータ</b><br />
A2208-KV1400 ブラシレスモーター<br />
<a href="http://www.rc-e-tech.co.jp/eccube/html/products/detail.php?product_id=3502">http://www.rc-e-tech.co.jp/eccube/html/products/detail.php?product_id=3502</a><br />
<br />
<b>・ESC</b><br />
ZTW BEATLES20ABEC ブラシレスアンプ<br />
<a href="http://www.rc-e-tech.co.jp/eccube/html/products/detail.php?product_id=4476">http://www.rc-e-tech.co.jp/eccube/html/products/detail.php?product_id=4476</a><br />
<br />
<b>・マイコンボード</b><br />
STBee Mini<br />
<br />
<h3>
結線</h3>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5DcLfd0epbl9rUwpok1NxU-PoOm29oB7LKGe8bTJmRYy23gIJxeQ5BThHO_9QXicaiKPlPZndcKPdDKkpAE4A2Wqj4G8DdFoAnQyrY7PG6axghPqDwQKtOE84xzWY0lZA9XkO0O_QReA/s1600/%E7%84%A1%E9%A1%8Ckessen.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5DcLfd0epbl9rUwpok1NxU-PoOm29oB7LKGe8bTJmRYy23gIJxeQ5BThHO_9QXicaiKPlPZndcKPdDKkpAE4A2Wqj4G8DdFoAnQyrY7PG6axghPqDwQKtOE84xzWY0lZA9XkO0O_QReA/s1600/%E7%84%A1%E9%A1%8Ckessen.png" height="217" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
モータやバッテリとの結線は、使うESCのマニュアルを見てください。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
ESCからは、比較的太目の線と細い線が出ているはずです。</div>
<div class="separator" style="clear: both; text-align: left;">
細い線はラジコン受信機に繋ぐためのものですが、今回はマイコンから制御するため、マイコンに接続します。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<h3 style="clear: both; text-align: left;">
制御信号</h3>
<div class="separator" style="clear: both; text-align: left;">
サーボと大体同じです。</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0KV0BHNupZ5d_VMnsulYQOg_GKpAcVTxuz8AsMYhebTSSq26vYlInMZU5kcwiDToQVt3pYvXn7byeZisE8ogRTD9wOQ4WrgNk5ss6OA6WsmsGisD0TNTrXOouBszyG0J3XIUu9FcZy2c/s1600/%E7%84%A1%E9%A1%8Csingou.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0KV0BHNupZ5d_VMnsulYQOg_GKpAcVTxuz8AsMYhebTSSq26vYlInMZU5kcwiDToQVt3pYvXn7byeZisE8ogRTD9wOQ4WrgNk5ss6OA6WsmsGisD0TNTrXOouBszyG0J3XIUu9FcZy2c/s1600/%E7%84%A1%E9%A1%8Csingou.png" height="183" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
PWM周期は20ms前後でON時間を1~2ms程度で動作するようです。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
僕が使ったESCでは、電源投入時にON時間を1msにするとESCが初期化を開始しました。</div>
<div class="separator" style="clear: both; text-align: left;">
1.4msあたりからモータが回転し始め、大体1.8ms程度で最大出力になりました。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
信号を見れば分かると思いますが、このタイプのESCは一方向にしか回転させることができません。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
モータの回転方向が逆のほうがいい場合は、ESCとモータの結線を変えれば回転方向を変えられます。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2783317718929647077.post-80062188931753077062014-08-19T23:37:00.002+09:002014-08-19T23:37:56.101+09:00テトリスWin7のコンソールで動くテトリスです。<br />
暇つぶしに作ってみた。<br />
<br />
やっつけ感がすごいけど、ご勘弁を。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYcn0waFS_qsB_wsWeTDBUN1qlLI6bj53s2UTLNqPWqVefPw8BwYjJ1nEGGl3h0xjTmmgCPYVCPfvbx5VWee2T0F9bWuN7r7VXGvqYUQ2iHnzKDdJI9Ne3PZXMfxHfPL-ojoQjWL5ok3k/s1600/%E7%84%A1%E9%A1%8Ctet.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYcn0waFS_qsB_wsWeTDBUN1qlLI6bj53s2UTLNqPWqVefPw8BwYjJ1nEGGl3h0xjTmmgCPYVCPfvbx5VWee2T0F9bWuN7r7VXGvqYUQ2iHnzKDdJI9Ne3PZXMfxHfPL-ojoQjWL5ok3k/s1600/%E7%84%A1%E9%A1%8Ctet.png" height="400" width="277" /></a></div>
<br />
Githubに上げているので、興味があればどうぞ。<br />
<a href="https://github.com/nekosan/tetris">https://github.com/nekosan/tetris</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2783317718929647077.post-84128117138249124542014-08-13T19:54:00.003+09:002014-08-15T16:17:52.772+09:00残像LEDディスプレイ的なアレ<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMXELolSEo2wymdr-K9Dq9jlhdtqMw5zp0IXJgc8CWQ0lav_KXMQgZpk1FSMmP7BLopMFBxj0E0Dyt6cSE1_59PEEaqXH2HmR4lOoyppfMkZoowCtBZ60ULIEZ3wrIMuLTz_r1EXR17X4/s1600/SN3J0365.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMXELolSEo2wymdr-K9Dq9jlhdtqMw5zp0IXJgc8CWQ0lav_KXMQgZpk1FSMmP7BLopMFBxj0E0Dyt6cSE1_59PEEaqXH2HmR4lOoyppfMkZoowCtBZ60ULIEZ3wrIMuLTz_r1EXR17X4/s1600/SN3J0365.jpg" height="225" width="400" /></a></div>
<br />
これを持って振ったら、残像で空中に文字が出て読める、的なやつです。<br />
残像LEDディスプレイはググったら結構たくさん出てきて、僕も作りたくなったので作りました。<br />
<br />
今のプログラムでは時計として機能します。(RTCを組み込んでないので電源切ったら要調整)<br />
<br />
加速度センサが付いていて、振ったら勝手にLEDが光ります。<br />
<br />
本当は振る速度に応じて発光スピードを変えて、表示長さを一定にするようにしたかったのですが、なかなか難しくて、とりあえず5[g]以上の加速度を検知したら発光を開始するようにしています。<br />
<br />
ちょっとした衝撃とかでも光っちゃうので、そこが課題です。<br />
<br />
<br />
最終的には小型化してBluetooth基板を搭載して、Androidと連動させたいです。<br />
腕時計型にして、見たいときに腕を振れば情報が表示される、みたいな。<br />
<br />
イメージはこんな感じ。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtGN4gvtG-Pa9X8ALBKWTzt0HnDL1hJwg98Ikr8mRgPaYICJKJza_xxz72jEIu_oKbfLVo7hCQ1_odP3CmfJoIVqYk2GlpPbqMpk-SMgo4Czie7X6p29Tv280SrO4cP2wuAW8S3WjRd0g/s1600/%E7%84%A1%E9%A1%8Cude.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtGN4gvtG-Pa9X8ALBKWTzt0HnDL1hJwg98Ikr8mRgPaYICJKJza_xxz72jEIu_oKbfLVo7hCQ1_odP3CmfJoIVqYk2GlpPbqMpk-SMgo4Czie7X6p29Tv280SrO4cP2wuAW8S3WjRd0g/s1600/%E7%84%A1%E9%A1%8Cude.png" height="315" width="400" /></a></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2783317718929647077.post-33485692128511782412014-07-04T16:29:00.000+09:002014-07-04T16:29:07.463+09:00ライフゲームライフゲームとは↓<br />
<a href="http://ja.wikipedia.org/wiki/%E3%83%A9%E3%82%A4%E3%83%95%E3%82%B2%E3%83%BC%E3%83%A0">http://ja.wikipedia.org/wiki/%E3%83%A9%E3%82%A4%E3%83%95%E3%82%B2%E3%83%BC%E3%83%A0</a><br />
<br />
<br />
面白そうだなーと思って、とりあえず作った。<br />
<br />
<a href="https://gist.github.com/nekosan/988c4c43104d77c3d861">https://gist.github.com/nekosan/988c4c43104d77c3d861</a><br />
<br />
単純な規則なのに形によってはすごく複雑になったりするのは結構興味深いです。<br />
<br />
個人的にはグライダー銃が好き。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuM5QqhSjtr8zxFZI_rBiPWaTfD_8en1cJkjKTCaYFP-dXBuJIpLcD6thTEic0jQO_l2IpPrtPhXI71yNYLYB1pFLZRZkLetjfwgt-all36iOM5AJrk9Wjyv-5SNVOrH4688LpgQwLmMM/s1600/Brljm0HCUAATtpR.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuM5QqhSjtr8zxFZI_rBiPWaTfD_8en1cJkjKTCaYFP-dXBuJIpLcD6thTEic0jQO_l2IpPrtPhXI71yNYLYB1pFLZRZkLetjfwgt-all36iOM5AJrk9Wjyv-5SNVOrH4688LpgQwLmMM/s1600/Brljm0HCUAATtpR.png" height="265" width="400" /></a></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2783317718929647077.post-84572331172314751002014-06-27T16:02:00.002+09:002014-06-27T16:02:41.222+09:00傾き検出まとめnekolabの資料庫に、9軸センサを使った姿勢制御のページを作りました。
<br />
<br />
<a href="https://sites.google.com/site/nekolabwiki/electronic/posturecontroll">https://sites.google.com/site/nekolabwiki/electronic/posturecontroll</a><br />
<br />
<br />
いままでブログにちょこちょこ載せてきた内容をまとめたものです。Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2783317718929647077.post-63092601358470902802014-06-20T16:42:00.000+09:002014-06-20T16:43:41.930+09:00RasPiで9軸センサーを動かすRaspberry PiでI2Cを使って9軸センサー(MPU9150)を動かしてみました。<br />
今後も使う可能性あるので自分メモです。<br />
<br />
RasPiでI2Cを使うのに参考にした<strike>(丸パクリしたともいう)</strike>サイトは次のサイトです。<br />
<a href="http://www.instructables.com/id/Raspberry-Pi-I2C-Python/all/?lang=ja">http://www.instructables.com/id/Raspberry-Pi-I2C-Python/all/?lang=ja</a><br />
<br />
<br />
<h3>
環境</h3>
実機 :Raspberry Pi Model.B<br />
OS :Raspbian<br />
センサ:9 Degrees of Freedom Breakout - MPU-9150<br />
<br />
<h3>
1.RasPiのI2Cを有効化する。</h3>
RasPiのI2Cはなぜかデフォルトでは使えません。<br />
/etc/modprobe.d/raspi-blacklist.conf にある設定ファイルを変えると有効化できます。<br />
<br />
<pre class="consl">$ sudo vi /etc/modprobe.d/raspi-blacklist.conf</pre>
<br />
ファイルをエディタで開きます。
<br />
<br />
<pre class="consl">blacklist spi-bcm2708
blacklist i2c-bcm2708</pre>
<br />
blacklist i2c-bcm2708をコメントアウトします。
<br />
<br />
<pre class="consl">blacklist spi-bcm2708
#blacklist i2c-bcm2708</pre>
<br />
これでI2Cが有効化されました。<br />
<br />
<h3>
2.カーネルのI2Cモジュールを有効化する。</h3>
/etc/modulesを編集して、I2Cモジュールを読み込むようにします。<br />
<br />
<pre class="consl">snd-bcm2835</pre>
<br />
の末尾に、i2c-devを追加します。<br />
<br />
<pre class="consl">snd-bcm2835
i2c-dev
</pre>
<br />
<h3>
3.パッケージをインストールする。</h3>
apt-get updateを実行してから、i2c-toolsと、python-smbusをインストールします。<br />
<br />
<pre class="consl">$ sudo apt-get update
$ sudo apt-get install i2c-tools
$ sudo apt-get install python-smbus
</pre>
<br />
終わったら再起動します。<br />
<br />
<pre class="consl">$ sudo reboot</pre>
<br />
再起動が終わったら、インストールしたソフトがちゃんと動いてるか確かめます。<br />
<br />
<pre class="consl">$ sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
</pre>
<br />
こんな感じの表示が出れば大丈夫です。<br />
<br />
i2cdetectコマンドの引数は、RasPiのタイプ(?)によって違うのを用いるみたいです。<br />
参考サイトでは引数を0にしていますが、今回用いたRasPi、Model.B(メモリが512MBのほう)では、引数を1にするとうまくいきました。<br />
<br />
<h3>
4.9軸センサを実際に接続してみる。</h3>
RasPiの外部端子と9軸センサを接続します。使うのは<u>3.3V,GND,SDA,SCL</u>のみです。<br />
RasPiの端子配列は(<a href="http://elinux.org/RPi_Low-level_peripherals">http://elinux.org/RPi_Low-level_peripherals</a>)を参考に。<br />
<br />
9軸センサの端子は、センサボードごとに調べてください。<br />
<br />
<u>I2Cなので、SDAとSCLにプルアップ抵抗は必要です。</u><br />
センサボードに搭載されてなければ、自分で抵抗を接続してください。<br />
<br />
<h3>
5.Pythonで通信するコードを書く。</h3>
<br />
<pre class="consl">import smbus
import time
class Mpu9150:
def write(self, register, data):
bus.write_byte_data(self.address, register, value)
return 0
def read(self, register):
data = bus.read_byte_data(self.address, register)
return data
def __init__(self):
self.bus = smbus.SMBus(1)
self.address = 0x68
#ここにセンサ初期化用の処理
if __name__ == '__main__':
mpu = Mpu9150()
while True:
#何らかの処理
</pre>
<br />
だいたいこんな感じです。<br />
センサのI2Cスレーブアドレスは用いるセンサのマニュアルを参照してください。<br />
<br />
<u>このプログラムには例外を組み込んでないので通信が失敗したらクラッシュします。注意。</u><br />
<br />
<br />
<br />
大体こんな感じでI2C通信ができました。<br />
Pythonだと楽ですね。<br />
<br />
今回はPythonのコードを書いてI2Cを行いましたが、シェル上からコマンドでI2Cすることも出来るようです。C言語でも同じようなコードが書けるようなので、知りたい方はグーグル先生へ。<br />
<br />
では。<br />
<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2783317718929647077.post-2506439556284847692014-06-04T19:01:00.001+09:002014-06-04T19:01:03.171+09:00ATMega328Pをアセンブラで動かしてみたタイトルまんまです。<br />
<br />
僕はわりと最近マイコンを触り始めた勢ということもあり、アセンブラを触ったことがありません。<br />
<br />
と、いうわけで書いた!<br />
<br />
<br />
<pre class="consl"> .include "m328Pdef.inc"
.def TEMP=R16
.org 0x0000
rjmp RESET
RESET:
ldi R16,LOW(RAMEND)
out SPL,R16
ldi TEMP,0xFF
out DDRB,TEMP
MAIN:
LED_ON:
ldi TEMP,0b00000001
out PORTB,TEMP
rcall wait05
LED_OFF:
ldi TEMP,0b00000000
out PORTB,TEMP
rcall wait05
rjmp MAIN
wait05:
ldi R18,5
wait052:
rcall wait01
dec R18
brne wait052
ret
wait01:
ldi R19,40
wait012:
rcall wait1m
dec R19
brne wait012
ret
wait1m:
ldi R20,250
wait1m2:
nop
dec R20
brne wait1m2
ret
</pre>
<br />
<span style="font-size: x-large;">Lチカ!!!!</span><br />
<span style="font-size: x-large;">楽しい!!!!!!</span><br />
<br />
<br />
アセンブラはめんどくさそうと思っていましたが、<u>全くその通り</u>でした。<br />
でも楽しかったので良しとします!<br />
<br />
次は条件分岐だ...Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2783317718929647077.post-21528602265727404902014-05-19T20:04:00.001+09:002014-05-19T20:04:45.460+09:00LEDが点滅するだけの記事<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJdy1zZ6iZkcRmAg3YuvjmPoslozNwG6iHi4i-urP2__PkL9LNyu0al-EBUQCbW4DtOVXPB4SkRFYmfHzLCPF87LKAAl-VFH2EIkfg4qK9SX0qhXgDAbeohjUOgLoYrREbJvmuFKExkWw/s1600/SN3J0302.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJdy1zZ6iZkcRmAg3YuvjmPoslozNwG6iHi4i-urP2__PkL9LNyu0al-EBUQCbW4DtOVXPB4SkRFYmfHzLCPF87LKAAl-VFH2EIkfg4qK9SX0qhXgDAbeohjUOgLoYrREbJvmuFKExkWw/s1600/SN3J0302.jpg" height="225" width="400" /></a></div>
<br />
<br />
みんな大好き、非安定マルチバイブレータ回路を作りました。<br />
比較的単純な回路で視覚的に動作がわかりやすいということもあり、電子工作の初心者におすすめな回路として有名ですね。<br />
<br />
<br />
せっかくなので基板を使わずに作ってみました。製作時間は15分ぐらい。<br />
ちゃんと点滅します。<br />
<a href="http://youtu.be/MpXq6GTwiSI">http://youtu.be/MpXq6GTwiSI</a><br />
<br />
<br />
何も考えずに作ったので、配線にムダがあったりします。<br />
たぶんもう少し小さく、ショートしにくく作れるはずです。誰か作って。Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2783317718929647077.post-36817294876469073132014-05-12T21:35:00.003+09:002014-05-12T21:35:44.641+09:00倒立振子っぽい?<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuzavV7mbAm25YF1fI1nfEyJPab4WCOrzIUAg8zI4QNk2vbLbN_KiMhyv0y-G_CsuKivLljjJ_Of1Ht_iEVgLGAcGjl1jk1_ljLhywgn33eFmk4AMU8jXwIfXXeTgIvP999uq5WK_d4zg/s1600/SN3J0290.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuzavV7mbAm25YF1fI1nfEyJPab4WCOrzIUAg8zI4QNk2vbLbN_KiMhyv0y-G_CsuKivLljjJ_Of1Ht_iEVgLGAcGjl1jk1_ljLhywgn33eFmk4AMU8jXwIfXXeTgIvP999uq5WK_d4zg/s1600/SN3J0290.jpg" height="225" width="400" /></a></div>
<br />
<br />
<br />
本体と回路だけ作りました。<br />
<br />
構成は、ArduinoUNOと3軸センサモジュール、TB6612FNGとかいうモータドライバです。<br />
電源は9V。(FA130モータの定格3Vだった気がするけど気のせいだよな)<br />
<br />
<br />
前にブレッドボードで同じのを作ったりしましたが、モータノイズでマイコンがやられてたので、コンデンサとか付け足して作り直しました。<br />
<br />
当初は6V(1.5V電池4本直列)で動かしてましたが、(恐らく)電池の内部抵抗による電圧降下でマイコンがリセットされてしまうため、増やしました。<br />
<br />
車輪にエンコーダが必要な気もしますが、つけていません。たぶん大丈夫です。<br />
<br />
<br />
まだプログラムとか作ってないので動作未確認です。<br />
<span style="font-size: x-small;">Arduinoのプログラミング楽すぎてAVRのプログラムを書くのが非常にだるくなってしまった。</span><br />
<br />
今週中に動かせたらいいなぁ。Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2783317718929647077.post-28647915253466460782014-05-05T21:11:00.000+09:002014-05-05T21:11:58.627+09:00ジャイロセンサで遊ぶジャイロセンサ(9 Degrees of Freedom センサスティック)を使っていろいろ実験。<br />
ゆくゆくはセグウェイもどきを作る予定。<br />
<br />
<h2>
実験方法</h2>
ジャイロセンサを地面に置いた状態を初期値とする。<br />
ジャイロセンサを傾けてみて、元に戻す。<br />
これを何回か繰り返す。<br />
<br />
CPU : Arduino UNO<br />
センサ : <a href="https://www.sparkfun.com/products/10724">9 Degrees of Freedom センサスティック</a><br />
<br />
<h2>
ジャイロセンサの設定</h2>
Sample rate :1000Hz<br />
Digital LPF :47Hz<br />
<br />
センサ値の取得は1軸のみ。<br />
<br />
<br />
<h2>
1.補正無し</h2>
ジャイロセンサから100ms間隔でデータ値を取る。このデータ値、つまり変化量は<span style="color: red;">赤線</span>で表す。<br />
取得したデータ値を変数に加算していって積分する。このデータは現在角度で<span style="color: lime;">緑線</span>で表す。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdXuojbI48G59nkHcIrMiwswBIHc-qhr_Ypz_pEIViwwbvYqzhtSy4Tk5dpLRK6jnIec1JXUKcSnEiN87yn7NYN0QO6tgDnfmxSSGORDl-qkJtpt0d_3wEPBAdHu99kv_GAD5qgUO181s/s1600/%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%AD%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC%E8%A3%9C%E6%AD%A3%E7%84%A1%E3%81%97.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdXuojbI48G59nkHcIrMiwswBIHc-qhr_Ypz_pEIViwwbvYqzhtSy4Tk5dpLRK6jnIec1JXUKcSnEiN87yn7NYN0QO6tgDnfmxSSGORDl-qkJtpt0d_3wEPBAdHu99kv_GAD5qgUO181s/s1600/%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%AD%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC%E8%A3%9C%E6%AD%A3%E7%84%A1%E3%81%97.png" height="241" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
だんだんと誤差が増えていっている模様。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<h2 style="clear: both; text-align: left;">
2.オフセット、平均補正を付加</h2>
<div class="separator" style="clear: both; text-align: left;">
起動時、センサの値を20ms間隔で5回取得し、この平均をオフセット値とする。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
センサ値を20msで5回取得した平均を取ったものを変化量とする。変化量は赤線。</div>
<div class="separator" style="clear: both; text-align: left;">
変化量を加算した(積分した)のが現在角度。角度は緑線。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEje3pfUgeghE9bUHTa8K-CGwz9frlzOViJvSQEK_F_C4WWB2S_vuiPZ6OD5fvDVNm38z-pjufmusdTo6gZozDVpF1qpo-hEvUqNL75k4D4v7RlQnCZIQqz0ZwTYd1e8LeZL_PMKTwZNiKc/s1600/%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%AD%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC%E8%A3%9C%E6%AD%A3%E6%9C%89%E3%82%8A.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEje3pfUgeghE9bUHTa8K-CGwz9frlzOViJvSQEK_F_C4WWB2S_vuiPZ6OD5fvDVNm38z-pjufmusdTo6gZozDVpF1qpo-hEvUqNL75k4D4v7RlQnCZIQqz0ZwTYd1e8LeZL_PMKTwZNiKc/s1600/%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%AD%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC%E8%A3%9C%E6%AD%A3%E6%9C%89%E3%82%8A.png" height="241" width="400" /></a></div>
<br />
補正よりはマシになった。何回か動かすだけならば問題ないみたい。<br />
<br />
<br />
<br />
<h2>
課題</h2>
オフセットと平均補正を取ったら改善はした。<br />
が、どうしても少しずつズレていっているみたい。<br />
これをどうにかする。Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2783317718929647077.post-9954081009059154552014-04-25T16:47:00.002+09:002014-04-25T16:47:44.654+09:00高専ロボコン2014開始ついに今年のルールが発表されましたね。<br />
<a href="http://www.official-robocon.com/jp/kosen/kosen2014/index.html">http://www.official-robocon.com/jp/kosen/kosen2014/index.html</a><br />
<br />
競技課題<br />
<br />
<span style="font-size: x-large;">「出前迅速」</span><br />
<br />
<br />
移動手段の制限が大幅緩和されたこともあり、さまざまなアイデアが見れそうで楽しみです。<br />
<br />
<span style="font-size: xx-small;">「オフシーズンにせっかく足の研究したのに!」という声が全国各地から聞こえてきそう...</span><br />
<br />
回路班の僕としては電子制御バリバリ使いたい気分ですね。<br />
卒研のテーマにでもするか...w<br />
<br />
<br />
ではでは ノシUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-2783317718929647077.post-75607535312338678822014-04-12T19:36:00.001+09:002014-04-12T19:36:31.331+09:00【メモ】BeagleBoneBlackで無線LANBeagleBoneBlackで無線LAN使うメモです。<br />
<br />
ほとんど参考にしたサイトの内容なのであしからず。<br />
<h2>
参考</h2>
<a href="http://www.fisproject.jp/2014/02/%E3%80%90debian%E3%80%91beagleboneblack%E3%81%ABusb-wifi%E3%82%92%E6%8E%A5%E7%B6%9A%E3%80%90wpa_supplicant%E3%80%91/">http://www.fisproject.jp/</a><br />
<a href="http://www.openrtm.org/openrtm/ja/content/beaglebone-black%E3%81%AE%E8%A8%AD%E5%AE%9A%EF%BC%88os%E9%9D%9E%E4%BE%9D%E5%AD%98%EF%BC%89">http://www.openrtm.org/</a><br />
<br />
<br />
<h2>
環境</h2>
ハード:BeagleBoneBlack A5C<br />
OS:Debian Wheezy<br />
無線LANアダプタ:BUFFALO WLI-UC-GN<br />
<br />
<br />
<h2>
1.LANアダプタの認識</h2>
無線LANアダプタをBeagleBoneBlackに挿します。<br />
Debianだと、電源を入れる前に挿しておかないと認識しないので注意。<br />
そして、<br />
<pre class="consl">$ lsusb</pre>
でデバイスが認識されているかを確認します。<br />
それっぽいものがあればOK。<br />
<br />
次に<br />
<pre class="consl">$ iwconfig</pre>
で、ネットワーク機器として認識されているかを確認します。<br />
wlan0みたいな項目にいろいろ情報が表示されていれば大丈夫です。<br />
<br />
ここで認識が上手くいってなければドライバが無いとか対応していないとかだと思います。<br />
その対策は良く知らないので略。<br />
<br />
<h2>
2.無線LANの設定</h2>
次にLinuxのネットワークの設定をします。<br />
<pre class="consl">$ vi /etc/network/interfaces
auto wlan0
iface wlan0 inet dhcp
wpa-ssid "SSID"
wpa-psk "PASSWORD"</pre>
/etc/network/interfacesを開き、wlanの項目に接続するSSIDとパスフレーズを書きます。<br />
<br />
<h2>
3.ネットワークの再起動</h2>
<pre class="consl">$ /etc/init.d/networking restart</pre>
<br />
これで無線LANが使えるようになるはずです。<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2783317718929647077.post-88599035212497780472014-02-09T00:13:00.001+09:002014-02-09T00:13:21.691+09:00【記事紹介】運動神経からの信号で、ラジコン操縦ぐぐる先生でネタを探していたら、これはすごいと思った記事があったので紹介。<br />
<br />
<a href="https://plus.google.com/u/0/101828427997295401901/posts/V9B8kjmmDpB">https://plus.google.com/u/0/101828427997295401901/posts/V9B8kjmmDpB</a><br />
<br />
URL先の記事訳です。<br />
<br />
「<span style="background-color: white; color: #404040; font-family: Roboto, arial, sans-serif; line-height: 18.200000762939453px;">ニューラルネットワークは、パターン認識又は機械学習を行うためのアルゴリズムを包含する。あなたは運動ニューロンの活動から学び、パターンを定義し、クアッドコプターの運動指令にこれらをマッピングするためにそれを使用することができます。</span>」(訳:google翻訳)<br />
<br />
<br />
つまり、腕に付けた電位センサから得た運動神経(?)の信号からパターンを学習して、そのパターンに応じてクアッドコプターに信号を送っている。ということでしょうか。<br />
<br />
腕を動かすときはある決まった信号が出るはずなので、そのパターンを学習すれば、体の動きを利用したコントローラーが出来る、と。<br />
<br />
画像を見た感じだと、割と高精度な操作が出来ているようですし、自由度は高いのかもしれません。<br />
<br />
<br />
ラジコンのようなコントローラよりも、自分の体を使ったコントローラーだとより直感的なインターフェースになると思います。<br />
パワードスーツなど、応用できる分野も多そうですね。Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2783317718929647077.post-88966892052359269822014-01-20T23:51:00.001+09:002014-02-08T00:09:13.552+09:00電ちゃんのLEDアクリルプレートつくった<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZiO8nEkfvHsvsYEt0fHjqZOcC-swFDvDjiF6s5vyhTia4jYseKM1RCSsPPx_H1EVO6LEk8UDvFcCcp3KvJq2y1EVspoTYWACYQ5HT2HDIKM-aqL67bWEOlyfuuq0wpfxq_9CQGVMlV9E/s1600/SN3J02380001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZiO8nEkfvHsvsYEt0fHjqZOcC-swFDvDjiF6s5vyhTia4jYseKM1RCSsPPx_H1EVO6LEk8UDvFcCcp3KvJq2y1EVspoTYWACYQ5HT2HDIKM-aqL67bWEOlyfuuq0wpfxq_9CQGVMlV9E/s1600/SN3J02380001.jpg" height="640" width="360" /></a></div>
<br />
<span style="font-size: large;">電ちゃんかわいい!!</span><br />
<br />
アクリルプレートにいつぞやに描いた電ちゃんをレーザーで焼いてもらいました。<br />
せっかく頂いたので、LEDアクリルプレートに改造。<br />
<br />
回路は簡単。<br />
単三電池4本に、抵抗と<span style="color: blue;"><b><u>青色LED</u></b></span>セット5つを接続した回路を作るだけ。<br />
<br />
プレート台は、パーティクルボード(5mm厚)を使用。<br />
特に設計もせずにけがいて切り出したので、若干バランスが悪いです。<br />
<br />
<br />
そしてアクリルプレートの上のほうに、接着面が銀色のテープを張ります。<br />
こうすると、より綺麗にくっきりと線が光ります。<br />
<br />
<br />
フルカラーLEDとかを使っても良かったんですが在庫がなかったのでとりあえず青色LEDを使いました。<br />
マイコン載せてグラデーション制御してもよさそうですね。Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2783317718929647077.post-72796163688431811252014-01-19T23:11:00.003+09:002014-01-19T23:11:48.831+09:00スタンフォードの自分を変える教室今回の記事は、週末に僕が買った本の紹介です。<br />
紹介するのは2冊買ったうちの1冊の方。「意志力」について書かれた本です。<br />
<br />
<br />
<br />
週末の土曜日、僕は編入試験向けの数学演習問題集を買いに出掛けました。<br />
自転車で20分。そこから徒歩5分か10分。<br />
<br />
僕は本屋に入ったら決まって、専門書やらが並んでる本棚の前に吸い込まれていきます。<br />
大抵、小説や雑誌コーナーにはたくさんの人が居ますが専門書コーナーとやらはほとんど人が居ないのも足が向く理由のひとつでしょう。<br />
<br />
数学関連の本棚でお目当ての本を見つけ、ちょっと時間があるので他のコーナーも回ってみることに。<br />
そこで、ひとつの本を見つけました。<br />
<br />
<br />
<br />
<a href="http://www.amazon.co.jp/%E3%82%B9%E3%82%BF%E3%83%B3%E3%83%95%E3%82%A9%E3%83%BC%E3%83%89%E3%81%AE%E8%87%AA%E5%88%86%E3%82%92%E5%A4%89%E3%81%88%E3%82%8B%E6%95%99%E5%AE%A4-%E3%82%B1%E3%83%AA%E3%83%BC%E3%83%BB%E3%83%9E%E3%82%AF%E3%82%B4%E3%83%8B%E3%82%AC%E3%83%AB/dp/4479793631"><b>「スタンフォードの自分を変える教室 ケリー・マクゴニガル」</b></a><br />
<u>1600円</u>也。<br />
自己啓発本コーナーに置かれていました。<br />
<br />
この本の存在は、このときに初めて知ったわけじゃありません。<br />
1、2年ぐらい前に、TwitterでRTされていたツイートを見て知りました。<br />
なので本を見たときに、「あぁ、こういう本あったなぁ」と思い手に取りました。<br />
<br />
<br />
結果、2600円もする数学参考書と一緒にこの本も購入しました。<br />
Introductionを見て、「意志力」に興味を持ったのが決め手です。<br />
<br />
<br />
自己啓発や行動改革の本はいろいろありますが、<u>「やらないといけない事がいつまでもできない」</u>人のための本があまり無いなぁと思ってました。<br />
が、これは、そういう人のための本です。(と、Introductionに書いてました。)<br />
<br />
思い返すと、やらないといけない事がいつまでもできないなんてしょっちゅうです。<br />
学校の課題、部屋の片付け、レポート、2週間後のTOEICの勉強などなど。<br />
そのくせTwitterやゲームはすぐやろうとするんですから不思議です。<br />
自分でも訳が分かりません。<br />
<br />
「意志力」とやらを知ることで、少しでも自分がコントロールできるなら。と、ちょっとだけ期待しながら、買ってみました。<br />
<br />
<br />
1回読んでみた僕の感想です。<br />
<u>今まで見えていなかった事、考えていなかった事に対して、視野を向けさせてくれる本</u>、という印象を持ちました。<br />
<br />
意志力に関するポイントに対して根拠(実験の結果など)が書かれているので、自分にとって効果的かどうかなどを考えているうちに、様々な視点から自分を見直す手助けをしてくれるというような感じです。<br />
<br />
自分を見直し、悪習慣を直すきっかけになる良い本だと思います。<br />
<br />
<br />
課題に手をつけられない、原稿がいつも〆切ギリギリになる、という人は1度読んでみてはどうでしょうか。<br />
<br />
<br />
では、これぐらいで。Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2783317718929647077.post-53952436385241871462014-01-06T19:21:00.002+09:002014-02-08T00:09:31.131+09:00TWE-Liteモジュール使ってみた秋月電子に半年前ぐらいに入荷してたTWE-LliteというZigBeeワイヤレスモジュールを使ってみました。<br />
<a href="http://akizukidenshi.com/catalog/g/gK-06759/">http://akizukidenshi.com/catalog/g/gK-06759/</a><br />
<br />
<br />
お値段は1つで1500円程度。<br />
XBeeの安いやつが秋月で1700円ぐらいだったので同じぐらいの値段ですね。<br />
<br />
大きさは28ピンDIP(600mil)と同じです。<br />
ピッチは2.54mm。XBeeは2mmピッチなので、こっちのほうが便利。<br />
<br />
<br />
で、なんとこのモジュールは初期状態で通信ができます。<br />
ディジタル信号を送信できたり、送信側のアナログ入力の電圧値からPWM波を出せたりします。<br />
<br />
便利そうだし、XBeeより安いからという理由で買ってもらいました。(部費で)<br />
が、結局使ってなかったので使ってみました。<br />
<br />
<br />
とりあえずLEDリモコン。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinlc8XEHXRTF0pYEWwOyR2CM3Tt0Zu7w8e1hHnOA-ISCFU8vmB31XDSbIxhj9ZRwawHrKkbSVRIjoOOZ7oU_pe4OAHMRORYRPa6iYEzRheptcX8ekJWPHIrfvuXG1YlMXXuXW0StJzHAA/s1600/SN3J02370001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinlc8XEHXRTF0pYEWwOyR2CM3Tt0Zu7w8e1hHnOA-ISCFU8vmB31XDSbIxhj9ZRwawHrKkbSVRIjoOOZ7oU_pe4OAHMRORYRPa6iYEzRheptcX8ekJWPHIrfvuXG1YlMXXuXW0StJzHAA/s1600/SN3J02370001.jpg" height="225" width="400" /></a></div>
<br />
ちゃんと通信できてるみたいです。<br />
これはディジタル信号通信を使ってます。(付属説明書に書いてました)<br />
<br />
<br />
調べてみると意外と高機能で、内部にマイコンがあって外部からプログラムを焼けるそうです。<br />
つまりこのモジュールにモータドライバをつければ簡単なラジコンが出来ますね。<br />
<br />
<br />
あと、モジュールの識別をどうやったらいいのか分からない等、色々分かってないので下級生の人たちに押し付けたいと思います。(<br />
<br />
ここ最近ロボコンではリモコンも使わないし、ロボット同士の通信は禁止だしで、無線モジュールの使いどころは減ってるので寂しいところ。<br />
イベント用などのロボットでは使ったりするので無用という訳ではないんですけどね。<br />
<br />
<br />
ちなみに、面実装型のモジュール(<a href="http://akizukidenshi.com/catalog/g/gM-06896/">http://akizukidenshi.com/catalog/g/gM-06896/</a>)や、書き込み器(<a href="http://akizukidenshi.com/catalog/g/gK-06893/">http://akizukidenshi.com/catalog/g/gK-06893/</a>)も秋月にあります。<br />
<br />
<br />
では、これぐらいで。Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2783317718929647077.post-61145906501383066092014-01-03T01:03:00.001+09:002014-01-03T01:03:52.294+09:00あけました明けましておめでとうございます。<br />
2014年です。早いですね。<br />
<br />
このブログも立ち上げてもうすぐ1年になりますね。早いもんだー。<br />
<br />
今年もよろしくお願いします。<br />
<br />
挨拶だけですが、これぐらいで。<br />
<br />Unknownnoreply@blogger.com0