
рд╣рдо
Sphero рдФрд░ рдЗрд╕рдХреЗ
SDK рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред
рдПрдЬреЗрдВрдбрд╛ рдЯреИрдмрд▓реЗрдЯ рдХреЗ рдПрдХреНрд╕реЗрд▓реЗрд░реЛрдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд░реЛрдмреЛрдЯ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдмрд╛рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЯрдХрд░рд╛рд╡ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реИред
рд╕рд┐рджреНрдзрд╛рдВрдд рдХреА рдмрд┐рдЯ
рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рдЬрд╛рдВрдЪ рдХреА рдХрд┐
рд╕реНрдлреАрд░реЛ рдХреМрди
рд╣реИ рдФрд░
рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2013 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдВрдбреЛрдЬ 8.1 рдкрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдХреИрд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рдПред
рдЕрдм рд╣рдо рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЪреАрдЬреЛрдВ рд╕реЗ рдирд┐рдкрдЯреЗрдВрдЧреЗред рд╣рдо рдЯреИрдмрд▓реЗрдЯ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рджрд┐рд╢рд╛рдУрдВ рдореЗрдВ рдЭреБрдХрд╛рдХрд░ "рд╕реНрдЯреАрдпрд░" рдХрд░рдирд╛ рд╕реАрдЦреЗрдВрдЧреЗ рдФрд░ рдПрдХ рдмрд╛рдзрд╛ рдХреЗ рд╕рд╛рде рдЯрдХрд░рд╛рд╡ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВрдЧреЗред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрдкрдиреЗ рдЯреЗрдмрд▓реЗрдЯ рдХреЗ рдПрдХреНрд╕реЗрд▓реЗрд░реЛрдореАрдЯрд░ рдФрд░ рдмрд╛рд╣рд░реА рджреБрдирд┐рдпрд╛ рдХреЗ рд╕рд╛рде рд░реЛрдмреЛрдЯ рдХреЗ рдЯрдХрд░рд╛рд╡ рд╕реЗрдВрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
accelerometer
рд╡рд┐рдВрдбреЛрдЬ 8.1 рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдФрд░ WinRT рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбрд▓ рд╕рдорд░реНрдерди рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реЗрдВрд╕рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдбрд┐рд╡рд╛рдЗрд╕ рдЙрдирдХреЗ рдкрд╛рд╕ рд╣реИ:
- accelerometer;
- рдХрдореНрдкрд╛рд╕;
- gyrometer;
- рдкреНрд░рдХрд╛рд╢ рд╕рдВрд╡реЗрджрдХ;
- рдХреЛрдг рдирд╛рдкрдиреЗ рдХрд╛ рдпрдВрддреНрд░;
- рдЬрд┐рдпреЛрд▓реЛрдХреЗрд╢рдиред
рдПрдХреНрд╕реЗрд▓реЗрд░реЛрдореАрдЯрд░ рдПрдХ рдРрд╕рд╛ рдореЙрдбреНрдпреВрд▓ рд╣реИ рдЬреЛ рддреАрди рджрд┐рд╢рд╛рдУрдВ рдореЗрдВ рдЧрддрд┐ рдХреЛ рдорд╛рдкрддрд╛ рд╣реИред рдпрд╣ рдореЙрдбреНрдпреВрд▓ рдХрдИ рдЖрдзреБрдирд┐рдХ рдЙрдкрдХрд░рдгреЛрдВ рд╕реЗ рд▓реИрд╕ рд╣реИред рдПрдХреНрд╕реЗрд▓реЗрд░реЛрдореАрдЯрд░ рдбреЗрдЯрд╛ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ
рдПрдХреНрд╕реЗрд▓реЗрд░реЛрдореАрдЯрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЧреБрдгреЛрдВ рдХреЗ рд╕рд╛рде
рдПрдХреНрд╕реЗрд▓реЗрд░реЛрдореАрдЯрд░ рд░реАрдбрд┐рдВрдЧ рдСрдмреНрдЬреЗрдХреНрдЯ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:
- рддреНрд╡рд░рдг: рдПрдХреНрд╕ рдЕрдХреНрд╖ рдХреЗ рд╕рд╛рде рддреНрд╡рд░рдг рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ;
- рддреНрд╡рд░рдг: Y рдЕрдХреНрд╖ рдХреЗ рд╕рд╛рде рддреНрд╡рд░рдг рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ;
- рддреНрд╡рд░рдг: Z рдЕрдХреНрд╖ рдХреЗ рд╕рд╛рде рддреНрд╡рд░рдг рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ;
- рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк: рдбреЗрдЯрд╛ рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдП рдЧрдП рд╕рдордп рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдЬрдм рдПрдХреНрд╕реЗрд▓реЗрд░реЛрдореАрдЯрд░ рд░реАрдбрд┐рдВрдЧ рдмрджрд▓ рдЬрд╛рддреА рд╣реИ рддреЛ рд╣рдо рдЙрд╕ рдШрдЯрдирд╛ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВрдЧреЗ рдФрд░ рд░реАрдбрд┐рдВрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╣рдо рд░реЛрдмреЛрдЯ рдХреЛ рдЧрддрд┐ рджреЗрдВрдЧреЗ, рдЧрддрд┐ рдмрдврд╝рд╛рдПрдВрдЧреЗ, рдзреАрдорд╛ рдХрд░реЗрдВрдЧреЗ рдпрд╛ рдЗрд╕реЗ рдШреБрдорд╛рдПрдВрдЧреЗред

рдЖрдк рдПрдХреНрд╕реЗрд▓реЗрд░реЛрдореАрдЯрд░ рд░реАрдбрд┐рдВрдЧ рдИрд╡реЗрдВрдЯ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред
рдПрдХреНрд╕реЗрд▓реЗрд░реЛрдореАрдЯрд░ рдЗрд╡реЗрдВрдЯ рд╕рдмреНрд╕рдХреНрд░рд┐рдкреНрд╢рдиprotected override void OnNavigatedTo(NavigationEventArgs e) { тАж Accelerometer _accelerometer = Accelerometer.GetDefault(); _accelerometer.ReadingChanged += new TypedEventHandler<Accelerometer, AccelerometerReadingChangedEventArgs>(ReadingChanged); тАж } async private void ReadingChanged(object sender, AccelerometerReadingChangedEventArgs e) { тАж }
рд╡рд┐рд╕реНрдерд╛рдкрди
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдореЗрдВ рдЯреИрдмрд▓реЗрдЯ рд╕реЗ рдПрдХреНрд╕реАрд▓реЗрд░реЛрдореАрдЯрд░ рдбреЗрдЯрд╛ рдорд┐рд▓рд╛ рд╣реИред рдЕрдм рд╣рдореЗрдВ рдЕрдВрддрд░рд┐рдХреНрд╖ рдореЗрдВ рд╕реНрдлреЗрд░реЛ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
Windows 8.1 рдХреЗ рд▓рд┐рдП Sphero SDK рдореЗрдВ рдПрдХ
рд░реЛрд▓ рд╡рд┐рдзрд┐ рд╣реИ рдЬреЛ Sphero рдХреЗ рдЖрдВрджреЛрд▓рди рдХреЛ рд╕рдВрднрд╛рд▓рддреА рд╣реИ рдФрд░ рджреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреА рд╣реИ:
- рд╣реЗрдбрд┐рдВрдЧ - рдЖрдВрджреЛрд▓рди рдХреЗ рдХреЛрдгред
рдЗрд╕рдХреА рдЧрдгрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рддреА рд╣реИ:

рдпрд╣ 0 рд╕реЗ 359 рддрдХ рдХреА рд╕реАрдорд╛ рдореЗрдВ рдорд╛рди рд▓реЗрддрд╛ рд╣реИред - рдЧрддрд┐ - рдЧрддрд┐ рдХреА рдЧрддрд┐ред
0 - рдирд╣реАрдВ рдЪрд▓рддреА рд╣реИред
255 - рдЕрдзрд┐рдХрддрдо рдЧрддрд┐ред
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, Sphero рдЕрдкрдиреЗ рдХрд╛рдо рдХреА рд╢реБрд░реБрдЖрдд рд╕рдВрдХреЗрддрдХ x = 0, y = 0, рд╣реЗрдбрд┐рдВрдЧ = 0, рдЧрддрд┐ = 0 рд╕реЗ рдХрд░рддрд╛ рд╣реИред
рдЯрдХреНрдХрд░ рдбрд┐рдЯреЗрдХреНрдЯрд░
рдХреЛрд▓рд┐рдпрд░
рдбрд┐рдЯреЗрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдлреЗрд░реЛ рдРрд╕реА рдордЬрд╝реЗрджрд╛рд░ рдЪреАрдЬрд╝ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗ рдЕрдВрддрд░ рдкрд░ рдмрд╣реБрдд
рдЖрджрд┐рдо рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
Windows 8.1 рдХреЗ рд▓рд┐рдП Sphero SDK рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛
CollisionDetectedEvent рдЗрд╡реЗрдВрдЯ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЖрдк рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдЯрдХрд░рд╛рд╡ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдШрдЯрдирд╛ рдХрд╛ рд╡рд┐рд╡рд░рдг private void OnRobotConnected(object sender, Robot robot) { тАж robot.CollisionControl.StartDetectionForWallCollisions(); robot.CollisionControl.CollisionDetectedEvent += OnCollisionDetectedEvent; тАж }
рдпрджрд┐ рдЖрдк рдкрд╣рд▓реА рдмрд╛рд░ рдЯрдХрд░рд╛рд╡ рд╕реЗрдВрд╕рд░ рдЪрд╛рд▓реВ рдХрд░рдирд╛ рдпрд╛рдж рд░рдЦреЗрдВрдЧреЗ рддреЛ рдпрд╣ рдШрдЯрдирд╛ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧреА:
robot.CollisionControl.StartDetectionForWallCollisions();
рдЬрдм рдЖрдкрдХреЛ рд╕реЗрдВрд╕рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕реЗ рдмрдВрдж рдХрд░реЗрдВ:
robot.CollisionControl.StopDetection();
рд╕реНрдлреЗрд░реЛ рдПрд╕рдбреАрдХреЗ рдХреА рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ
рд░реЛрдмреЛрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ Windows 8.1 рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд Sphero SDK рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
SetBackLED (рддреАрд╡реНрд░рддрд╛) - рд░реЛрдмреЛрдЯ рдХреА рдмреИрдХрд▓рд╛рдЗрдЯ рдЪрд╛рд▓реВ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЖрдк рд╕рдордЭ рд╕рдХреЗрдВ рдХрд┐ рдпрд╣ рдХрд╣рд╛рдВ рдЬрд╛рдПрдЧрд╛ред рдорд╛рди:
1.0f - рдкреВрд░реА рд╢рдХреНрддрд┐ рд╕реЗ рдЪрд╛рд▓реВ рд╣реЛрддрд╛ рд╣реИред
0.0f - рдЕрдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИред
SetHeading (рд╢реАрд░реНрд╖рдХ) - рд░реЛрдмреЛрдЯ рдХреЛ рдШреБрдорд╛рдПрдВред рдпрд╣ 0 рд╕реЗ 359 рддрдХ рдорд╛рди рд▓реЗрддрд╛ рд╣реИред
SetRGBLED (рд▓рд╛рд▓, рд╣рд░рд╛, рдиреАрд▓рд╛) - рдЧреЗрдВрдж рдХрд╛ рд░рдВрдЧ рд╕реЗрдЯ рдХрд░реЗрдВред
рд░реЛрд▓ (рд╢реАрд░реНрд╖рдХ, рдЧрддрд┐) - рдЖрдВрджреЛрд▓рди рдХреА рдЧрддрд┐ рдФрд░ рдЧрддрд┐ рдХреА рджрд┐рд╢рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВ:
рд╢реАрд░реНрд╖рд╛рд╕рди - рдЖрдВрджреЛрд▓рди рдХреЗ рдХреЛрдгред рдпрд╣ 0 рд╕реЗ 359 рддрдХ рдХреА рд╕реАрдорд╛ рдореЗрдВ рдорд╛рди рд▓реЗрддрд╛ рд╣реИред
рдЧрддрд┐ - рдЧрддрд┐ рдХреА рдЧрддрд┐ред 0 - рдирд╣реАрдВ рдЪрд▓рддреА рд╣реИред 255 - рдЕрдзрд┐рдХрддрдо рдЧрддрд┐ред
рдиреАрдВрдж () - рд░реЛрдмреЛрдЯ рдХреЛ рд╕реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд░рдЦреЛред
Pazrabotka
рдХрд╛рд░реНрдп
рдПрдХреНрд╕реЗрд▓реЗрд░реЛрдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд░реЛрдмреЛрдЯ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВред рдпрджрд┐ рдЖрдк рдПрдХ рдмрд╛рдзрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд░реЛрдмреЛрдЯ рдХреЛ рд▓рд╛рд▓ рд░рдВрдЧ рд╕реЗ рдкреЗрдВрдЯ рдХрд░реЗрдВред
рдЙрдкрдХрд░рдг
рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ
1. рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2013 рдЦреЛрд▓реЗрдВ рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ / рдирдпрд╛ / рдкреНрд░реЛрдЬреЗрдХреНрдЯ /
рдЦрд╛рд▓реА рдРрдк ред

2. рд╣рдо рд╡рд┐рдВрдбреЛрдЬ 8.1 рдХреЗ рд▓рд┐рдП
Sphero SDK рд╕реЗ рдЕрд╕реЗрдВрдмрд▓реА
RobotKit.dll рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ

3. рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдмреНрд▓реВрдЯреВрде RFCOMM рд╕рдорд░реНрдерди рдЬреЛрдбрд╝реЗрдВред рдХреЛрдб рд╕рдВрдкрд╛рджрди рдореЛрдб рдореЗрдВ
Package.appxmanifest рдЦреЛрд▓реЗрдВ рдФрд░
рдХреНрд╖рдорддрд╛ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдирд┐рдореНрди рдХреЛрдб рдЬреЛрдбрд╝реЗрдВред
рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдмреНрд▓реВрдЯреВрде RFCOMM рд╕рдорд░реНрдерди <wb:DeviceCapability Name="bluetooth.rfcomm"> <wb:Device Id="any"> <wb:Function Type="serviceId:00001101-0000-1000-8000-00805F9B34FB" /> </wb:Device> </wb:DeviceCapability>
4. рдЖрд╡реЗрджрди рдХреА рдореБрдЦреНрдп рд╕реНрдХреНрд░реАрди рдкрд░:
- рд░реЛрдмреЛрдЯ рд╕реНрдерд┐рддрд┐ рд╕реНрд╡рд┐рдЪ (рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рдЬреБрдбрд╝рд╛);
- рд╕реНрдерд┐рддрд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рда рдлрд╝реАрд▓реНрдб;
- рдЧреЗрдо рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдмрдЯрди рдХреЛ рд╕реНрдЯрд╛рд░реНрдЯ рдФрд░ рд╕реНрдЯреЙрдк рдХрд░реЗрдВред
MainPage.xaml рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рдЗрд╕реЗ рд╡рд╣рд╛рдВ рдЬреЛрдбрд╝реЗрдВред
рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореБрдЦреНрдп рд╕реНрдХреНрд░реАрди <Page x:Class="SpheroRace.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:SpheroRace" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" > <Grid Margin="100" > <Grid.RowDefinitions > <RowDefinition Height="60"/> <RowDefinition Height="60"/> <RowDefinition/> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition/> </Grid.ColumnDefinitions> <TextBlock x:Name="SpheroName" Grid.Row="0" Grid.Column="0" Text="No Sphero Connected" FontSize="24"/> <ToggleSwitch x:Name="ConnectionToggle" Grid.Row="1" Grid.Column="0" Toggled="ConnectionToggle_Toggled" /> <Button Name="StartBtn" Click="StartBtn_Click" Grid.Row="2" Grid.Column="0" Content="Start" VerticalAlignment="Bottom" HorizontalAlignment="Left" Padding="100" ></Button> <Button Name="StopBtn" Click="StopBtn_Click" Grid.Row="2" Grid.Column="1" Content="Stop" VerticalAlignment="Bottom" HorizontalAlignment="Right" Padding="100" IsEnabled="False" ></Button> </Grid> </Page>
5.
MainPage.xaml.cs рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдЧреЗрдо рдХреЗ рддрд░реНрдХ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВред рд╕реНрдлреЗрд░реЛ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрд╕рдбреАрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдЦреЗрд▓ рддрд░реНрдХ public sealed partial class MainPage : Page { private Sphero m_robot = null; private long m_lastTimeMs; private double m_currentX = 0; private double m_currentY = 0; private bool m_isStarted = 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(); }
6. рдмреНрд▓реВрдЯреВрде рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ Sphero рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ

7. рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░реЗрдВред

8. рд╕реНрдЯрд╛рд░реНрдЯ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдЦреЗрд▓ рдХреЛ рдЕрднреНрдпрд╛рд╕ рдореЗрдВ рджреЗрдЦреЗрдВред

рдкрд░рд┐рдгрд╛рдо
рд╣рдореЗрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЦрд┐рд▓реМрдирд╛ рдорд┐рд▓рд╛ред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдорд▓реНрдЯреАрдкреНрд▓реЗрдпрд░ рд░реЛрдмреЛрдЯ рджреМрдбрд╝ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░рдХреЗ, рдпрд╛ рдкрд╛рд▓рддреВ рдЬрд╛рдирд╡рд░ рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдХрд╛рд░реНрдп рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╕реВрддреНрд░ рдпрд╣рд╛рдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ:
github.com/MissUFO/SpheroRaceрдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ
рд╣рдо рд╡рд┐рдВрдбреЛрдЬ 8. рд░реЛрдмреЛ рдореИрдЬрд┐рдХ рдмреЙрд▓ рдкрд░ рд░реЛрдмреЛрдЯ рдХрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рддреЗ рд╣реИрдВSphero рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯрд╕реНрдлреЗрд░реЛ рдбреЗрд╡рд▓рдкрд░ рд╕реЗрдВрдЯрд░рд╡рд┐рдВрдбреЛрдЬ 8.1 рдХреЗ рд▓рд┐рдП рд╕реНрдлреЗрд░реЛ рдПрд╕рдбреАрдХреЗрд╡рд┐рдВрдбреЛрдЬ 8.1 рдХреЗ рд▓рд┐рдП рд╕реНрдлреЗрд░реЛ рдПрд╕рдбреАрдХреЗ рдЙрджрд╛рд╣рд░рдгрд╡рд┐рдВрдбреЛрдЬ 8.1 рдореЗрдВ рдПрдХреНрд╕реЗрд▓реЗрд░реЛрдореАрдЯрд░ рдХрд╛ рдЙрджрд╛рд╣рд░рдгSphero youtube рдбреЗрд╡рд▓рдкрд░ рдЪреИрдирд▓рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2013 рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВVisual Studio рдСрдирд▓рд╛рдЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдиреЗрдВредVisual Studio рдСрдирд▓рд╛рдЗрди рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрди рдЕрдк рдХрд░реЗрдВ