FC2ブログ

ポインタ変数の参照渡し

ポインタはややこしい
"func(int *&p)" って何だよ?

分かったのでメモします。

★基本
まず、関数の引数の渡し方には2種類ある。ここ重要。
・値渡し・・・変数の中身をコピーして渡す
・参照渡し・・・変数そのものを渡す


★C言語
C言語の関数では値渡ししか出来ない。
ただし、変数のアドレスやポインタ変数を引数にしてポインタ変数で受け取れば、参照渡しと同じ効果が得られる
main側:func(&x);
関数側:func(int *p){...}
もしくは
main側:func(*p);
関数側:func(int *p){...}


★C++
C++も値渡しについては同様であるが、参照渡しも可能
"変数"を引数にして、"&変数"で受け取れば、参照渡しになる
main側:func(x);
関数側:func(int &x){...}

故に、C++では以下のようなことが可能となり混乱する
ポインタ変数の参照渡し
main側ではfunc(*p);
関数側ではfunc(int *&p){...}


以上

組み込みボーカロイド eVY1(NSX-1) #1

YAMAHAのeVOCALOID音源LSI"NSX-1"搭載のArduino用シールド"eVY1"を早速試しました!



"かえるの歌"の1フレーズの歌詞をずっと繰り返すだけですが、
タクトスイッチを1つだけ付けて、押下に応じて音階をランダムに鳴らしています。
途中から、鳴っているドラム音は別の機器から鳴らしています。
多分、eVY1からも鳴らすことは可能だと思います。

音はなかなか良い感じ。"さしすせそ"など一部発音に違和感のあるところもありますが、それも1つの味です。
あと、ちょっと遅延があるかな~って感じです。
でも使い方次第で、色々楽しめそうです!

kinectを利用した追跡ロボット #2

Maker Faire Tokyo2013お疲れさまでした!

今回は2年ぶりの出展。
日本科学未来館とタイム24ビルの2つの建物での開催で、出展者数も倍増、コンテンツも年々スゴイものが多くなっている気がします。

エレクトリックバカの出展の様子です。
真上から撮影しました。

動画には映っていませんが、Kinectで斜め上からこのロボットとターゲットの映像を取り込みPCで処理しています。ロボットとターゲットそれぞれに赤外線LEDが搭載されていて、それをKinectにセンスさせ、OpenCVで認識し距離を計算。距離が縮まる方向に動くようにロボットへBluetoothで指令しています。ちなみに周りの黒い枠はロボットが机から落ちないようにフォトセンサで認識したら逆方向へ走らせるようにするためです。

ロボットの直進性が悪く、ターゲットを倒すまでに結構時間がかかることがありました。
でもロボット自体の動きがシッポを振って足をジタバタ一生懸命なので、可愛らしいという意見をたくさんもらいました。

何といっても、ずっと動かしていたので、電池の消費が激し過ぎました。
131104_MFT2013_cell.jpg
二日間で約80本消費しました...


今回、他のブースを見学した際に、スイッチサイエンスにてYAMAHAのボーカロイドが入った音源IC"NSX-1"を搭載したArduinoシールドが売られていて、1万円弱の値段でしたが、即購入しましたw
まだまだ秋の夜長が続きそうです。


最後に、お隣の方々、懇親会で出会った方々、見に来て下さった方々、スタッフの方々、ありがとうございました!
お疲れさまでした。また来年もよろしくお願いします!

kinectを利用した追跡ロボット #1

いよいよ、明日11/3~4 Maker Faire Tokyo2013 が開催されます。
前回エントリーした内容から色々と改良しました!

131102_ChaserRobot.jpg

・小型化
ロボットはタミヤのロボクラフトを利用していることは変わりありませんが、"インセクト"(2モーター)から"メカドッグ"(1モーター)に変えてロボット自体を小さくしました。
電気回路について、今までArduinoとブレッドボードの組み合わせでしたが、ユニバーサル基板を使ってコンパクトにしました。

・追跡アルゴリズムの改良
主な変更として、今までkinectカメラ座標そのままで距離計算していましたが、鳥瞰した座標に一旦変換してから距離計算するように修正しました。

・追加機能
フォトリフレクタを搭載して、机の端を検出して落ちないようにしました。
また、1モーターだと旋回できないため、サーボモーターを付けて無理矢理旋回できるようにしました。


電池の減りが激しいため、事前に電池を大量購入してMaker Faireに臨みたいと思いますw
エレクトリックバカは、日本未来科学館横にあるタイム24ビルの1階 HALL1 で出展していますので、ぜひお立ち寄りください。

<日時>
2013年11月3日(日)12:00~17:00
2013年11月4日(祝)10:00~17:00

<場所>
タイム24ビル

よろしく!

Maker Faire Tokyo 2013

kinectを利用した追跡ロボット #0

お久しぶりです。
Maker Faire Tokyo2013へ向けて、密かに工作していました。
おうどうギターなどの音モノ系から心機一転、今回は動くモノ!
ということで、ロボットです。
130826_ChaserRobot1.jpg


ロボットの近くに標的を置くと、ひたむきに追いかけます。
追いかけ方が、ちょっとおバカですが、とにかく最大限に近づくまで頑張って歩行します



ロボット自体はタミヤのおもちゃを改造し、Arduinoでモーターを制御、
BlueToothを使って遠隔制御します。
位置検出には、赤外線をKinectで取り込み、OpenCVを使って画像処理・認識しました。
完全な自動制御システムです。
130826_ChaserRobot2.jpg


出展までに機能、デザイン、追跡アルゴリズムなどを改良したいと思います。
技術的な詳細は後日ブログにアップ予定です。 
09 | 2019/10 | 11
Su Mo Tu We Th Fr Sa
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
プロフィール

エレクトリックバカ

Author:エレクトリックバカ

ポケコンでプログラミングに目覚め、PICマイコンで電子工作に希望を抱き、来たるべきUGDの時代を夢見て眠る。
そんな うだつが上がらないサラリーメン。
先生、電子工作はおやつに入りますか?




Electric Baka

最新記事
カテゴリ
月別アーカイブ
最新コメント
最新トラックバック
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード