数日前、ロボットを愛しエンコードするオタクのための面白いおもちゃに出会いました。 最後の2晩は、このおもちゃを研究し、Windows 8開発の経験をそのおもちゃに応用しました。 レッスンは非常に魅力的であることが判明したので、私はあなたとそれを共有することを急いでいます。
あなたの注意がに招待されています...
Sphero(
www.gosphero.com )は、Orbotix製の小さなボールロボットです。
キットには、充電器、取扱説明書、およびボール自体が付属しています。
Spheroは、プログラミングロボットの基本を理解するための優れたプラットフォームのように見えますが、オタク、その友人、子供、ペットにとっては楽しいおもちゃです。
Spheroは、水泳を含むほぼすべての表面を所定の方向に移動でき、さまざまな色で点灯します。
製造業者は、次のシナリオでロボットを使用することをお勧めします。
想像力とSDKを使用して、独自のゲームを作成したり、既製のアプリケーションを使用したりできます。
開発者向けの既製のSpheroおよびSDK管理アプリケーションは、多くの一般的なプラットフォームで利用できます。
発行価格
ロシアでは、4,000から7,000ルーブルまで、このような喜びがあります。
Yandex.Marketで 。 海外では、80〜130ドルで購入できます。 はい、これは最も安いおもちゃではありません。
理論のビット
ロボットにジャイロスコープと電球だけでなく、加速度計も組み込まれています。 Spheroが動くためには、Spheroがその前にあり、その裏側がどこにあり、座標系がどのようになっているかを理解する必要があります。 座標系を次の図に示します。
Y軸は、前後に移動します(正の値-前方、負の-後方)。
X軸-横方向の動き。
Z軸-上下に移動します。
Spheroは調整可能です。 同じロバをシャッフルし、行く先の前で。 ロボットの背面は、ロボットが移動しているときに燃える青色の光で識別できます。
開発
最後に、最も興味深いことに到達しました。 このことをプログラムで管理する前に。 例として、小規模企業向けのシンプルなリアクションゲームを作成します。 それを
Sphero Party Gameと呼びましょう。
ゲームのルール
アプリケーションのボタンをクリックすると、ゲームが開始されます。 Spheroはその軸の周りを回転し、ランダムに異なる色で燃えます。 プレイヤーはSpheroが緑に変わり、それをつかむのを待つ必要があります。 つかむ人は誰でも勝ちました。
ツール
開発には、次のものを使用します。
仕事を始める
1.最初に行う必要があるのは、
Sphero SDKのダウンロードです。 これは、プロジェクトに接続して使用するアセンブリです。
2.
Sphero SDKは
Bluetooth RFCOMMを使用してデバイスを操作します。 プログラムでデバイスを操作できるようにするには、Bluetoothをオンにして、デバイスとの接続を確立する必要があります。
3.次に、
Visual Studio 2013を開き、ファイル/新規/プロジェクト/空のアプリプロジェクトを作成します。
4.
RobotKit.dll SDKからアセンブリを接続します
5.アプリケーションにBluetooth RFCOMMサポートを追加します。
Package.appxmanifestをコード編集モードで開き、以下のコードを
機能セクションに追加します。
アプリケーションのBluetooth RFCOMMサポート<wb:DeviceCapability Name="bluetooth.rfcomm"> <wb:Device Id="any"> <wb:Function Type="serviceId:00001101-0000-1000-8000-00805F9B34FB" /> </wb:Device> </wb:DeviceCapability>
6.アプリケーションのメイン画面で、次を入力します。
- ロボットステータススイッチ(接続済み\未接続);
- ステータスを表示するテキストフィールド。
- 「開始」ボタンでゲームを開始します。
MainPage.xamlファイルを開き、そこにすべて追加します。
アプリケーションのメイン画面 <Grid Background="#0094D0"> <TextBlock x:Name="SpheroName" HorizontalAlignment="Left" Margin="82,97,0,0" TextWrapping="Wrap" Text="No Sphero Connected" VerticalAlignment="Top" FontSize="24"/> <ToggleSwitch x:Name="ConnectionToggle" HorizontalAlignment="Left" Margin="76,122,0,0" VerticalAlignment="Top" Toggled="ConnectionToggle_Toggled" /> <Grid HorizontalAlignment="Center" Height="512" Margin="0,0,0,0" VerticalAlignment="Center" Width="512"> <Button Name="startGameBtn" Click="startGameBtn_Click" Content="Start" Height="113" Width="334" /> </Grid> </Grid>
7.
MainPage.xaml.csに移動して、ゲームのロジックを説明します。 Spheroと通信するには、SDKが提供するオブジェクトモデルを使用します。
ゲームロジック public sealed partial class MainPage : Page { private Sphero m_robot = null; private long m_lastCommandSentTimeMs; private bool m_gameIsStarted = false; private const string c_noSpheroConnected = "No Sphero Connected"; private const string c_connectingToSphero = "Connecting to {0}"; private const string c_spheroConnected = "Connected to {0}"; public MainPage() { this.InitializeComponent(); }
8.アプリケーションを起動します。 私のアプリケーションは次のとおりです。
Bluetoothを介してアプリケーションをロボットに接続する許可に関する質問は、プログラムの必須部分です。インストールされたアプリケーションを最初に開くと、全員が表示されます。
9. [
スタート ]ボタンをクリックして、実際にゲームを確認します。
ここからソースをダウンロードできます:
http :
//1drv.ms/MXwR6wおわりに
今日は以上です。 誰かがそのようなデバイスに興味があるか、持っている場合、楽しいゲーム、アプリケーション、ユースケース、発見を共有してください。 この一連の記事を継続する予定です。しばらくしてから、SpheroとそのAPIの使用に関する別の記事をお送りします。
便利なリンク
Sphero公式ウェブサイトSphero開発者センターWindows 8.1 Sphero SDKWindows 8.1用のSphero SDKの例Sphero YouTube開発者チャンネルVisual Studio 2013をダウンロードするVisual Studio Onlineの詳細をご覧ください。Visual Studio Onlineにサインアップする