このプログラムを元にLT(Lightning Talk)で使えるサーボモータでドラを鳴らすドロイド君のロボット(仮称:ドラドロイド)を作ってみたいと思います。
画面下・手前のサーボモータにドロイド人形を取り付ける予定! |
- ServoControlというAndroidプロジェクト
- DemoというArduinoスケッチ
勉強会で行われるLT(Lightning Talk)などで5分間タイマーを使いますが、それにサーボモータでドラを鳴らすギミックを追加したら「便利でかつウケそう!」と思い、その原型を作ってみました。
試作したAndroidプロジェクト&Arduinoスケッチを以下のURLに置きました。
興味のある方は以下のzipファイルをダウンロードして動かしてみてください。
Androidアプリの画面は以下のようになります。IS/01を使いました!
5分間タイマーですがサンプルのzipファイルではテストしやすいように25秒にしています |
"Chronometerクラスを使って簡単にタイマー処理を行う « Tech Booster": http://bit.ly/pBVKg1
ChronometerクラスのsetOnChronometerTickListenerリスナーを使ってストップウォッチがカウントするたびにタイマー時間をチェックしています。
public void onChronometerTick(Chronometer arg0) { //EditTextからの入力フィールドのString取り出し SpannableStringBuilder sb = (SpannableStringBuilder)editText1.getText(); String strEditText1 = sb.toString(); //chronometerの時計のString取り出し String strMChronometer = (String) mChronometer.getText(); //EditTextとChronometerの文字列が一致していたらタイムアップ! if(strEditText1.equals(strMChronometer)){ try{ //2つのサーボモータに180度回転するようデータを出力 int x=180; int y=180; server.send(new byte[] { (byte)x, (byte)y }); } catch (IOException e){ Log.e("microbridge", "problem sending TCP message", e); } } }ChronometerインスタンスmChronometerのストップウォッチ文字列"05:00"とEditTextインスタンスeditText1の文字列"05:00"が一致すればサーボモータを動かすという処理にしてみました。
あまりいいコードではないよーな…(-_-;;
昨日30分くらいでばばばっと書き加えて、動かしてみたものです。
このサンプルを元に、アイデアを出してAndroid側アプリを楽しいLTタイマーにしていきたいと思います。
アイデア&実装についてみなさんのお知恵をお貸しください!!
0 件のコメント:
コメントを投稿