рд╣рдо рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд▓реЗрдЦ рдХреЗ рд╕рд╛рде рдЖрдП рдФрд░ рдЗрд╕реЗ рдЖрдкрдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛редрдЬрдм рдореИрдВ рдПрдХ рдмрдЪреНрдЪрд╛ рдерд╛, рдореЗрд░реЗ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдиреЗ рдореБрдЭреЗ рдПрдХ рд▓рдХрдбрд╝реА рдХрд╛ рднреВрд▓рднреБрд▓реИрдпрд╛ рдЦреЗрд▓ рджрд┐рдпрд╛ред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрд╕реЗ рдкрд╕рдВрдж рдХрд░рддрд╛ рдерд╛ред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рднреВрд▓рднреБрд▓реИрдпрд╛ рдиреЗ рдореБрдЭреЗ рдХрднреА рдЪрд┐рдВрддрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЭреБрдХрд╛рд╡ рддрдВрддреНрд░ рдкреЗрдЪреАрджрд╛ рдФрд░ рдмрд╣реБрдд рд╕рд░рд▓ рдерд╛ред
рдмрд╛рдж рдореЗрдВ рдореИрдВрдиреЗ рдЗрд╕ рдЦреЗрд▓ рдХреЛ рдпрд╛рдж рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕ рдЦреЗрд▓ рдХреЛ рдСрдирд▓рд╛рдЗрди рдФрд░ рдкреИрдВрдЯреНрд░реА рдореЗрдВ рдореЗрд░реЗ рдкреБрд░рд╛рдиреЗ рднреВрд▓рднреБрд▓реИрдпрд╛ рдХреЛ рдЦреЛрдЬрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рдЕрдм рдлреЛрди рдХреЗ рдПрдХреНрд╕реЗрд▓реЗрд░реЛрдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рдорд╛рди рдЧреЗрдо рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдХреЗ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдЦрд░рд╛рдм рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдПрдХ рдлреЛрдЯреЛрд░рд┐рдЕрд▓рд┐рд╕реНрдЯрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг ;-)
рд▓рдХреНрд╖реНрдп рдПрдХ рднреВрд▓рднреБрд▓реИрдпрд╛ рдмрдирд╛рдирд╛ рдерд╛ рдЬреЛ рдкреБрд░рд╛рдиреЗ-рд╕реНрдХреВрд▓ рдФрд░ рдЦреЗрд▓ рдХреЗ рдЖрдзреБрдирд┐рдХ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреА рд╣реИред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдиреЗрдЯреБрдбрд┐рдиреЛ рдХреЗ рд╕рд╛рде рдмреНрд▓реВрдЯреВрде рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреМрддрд┐рдХ рднреВрд▓рднреБрд▓реИрдпрд╛ рдХреЗ рдЭреБрдХрд╛рд╡ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлреЛрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рднреВрд▓рднреБрд▓реИрдпрд╛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдореЙрдбрд▓ рд╣реИ рдЬреЛ рдПрдХ 3 рдбреА рдкреНрд░рд┐рдВрдЯрд░ рдкрд░ рдореБрджреНрд░рд┐рдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рджреЛ рд╕рд░реНрд╡реЛ рджреНрд╡рд╛рд░рд╛ рдЭреБрдХрд╛ рд╣реБрдЖ рд╣реЛрддрд╛ рд╣реИред рдЕрдВрдд рдореЗрдВ рдПрдХ рд╕реНрд╡рд┐рдЪ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдмреЛрдирд╕ рдлреЛрди рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдереА, рдЬрд┐рд╕рд╕реЗ рдЖрдкрдХреЛ рдЧреЗрдо рдХреЗ рдЕрдВрдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИред
рд╣рдореЗрдВ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП:
тАв 2 рдХрд╛рдлреА рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╕рд░реНрд╡ред рдореИрдВрдиреЗ рд╣реЙрдмреАрдХрд┐рдВрдЧ рд╕реЗ рдЯрд░реНрдирдЬреА рдЯреАрдЬреАрд╡рд╛рдИ -9018 рдПрдордЬреА рдореЗрдЯрд▓ рдЧрд┐рдпрд░ рд╕рд░реНрд╡реЛ рдХрд╛
рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛тАв рдмреНрд▓реВрдЯреВрде рдореЙрдбреНрдпреВрд▓
тАв рдиреЗрдЯреБрдбрд┐рдиреЛ
тАв рдПрдХ рдЫреЛрдЯрд╛ рд╡рд░реНрдЧ рднреВрд▓рднреБрд▓реИрдпрд╛
тАв 10 kor рд░реЛрдХрдиреЗрд╡рд╛рд▓рд╛
тАв рдкреНрд░рд╡рд╛рд╣рдХреАрдп рд╕рд╛рдордЧреНрд░реА рд╕реЗ рдмрдиреА рдЧреЗрдВрдж
рддрдВрддреНрд░:
рддрдХрдиреАрдХреА рд╡рд┐рд╡рд░рдг рдореЗрдВ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдЭреБрдХрд╛рд╡ рддрдВрддреНрд░ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд╡рд┐рд╡рд░рдг рднреНрд░рд╛рдордХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдордЭрд╛рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЕрдЧрд░ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рднреНрд░рдорд┐рдд рд╣реИрдВ, рддреЛ рдиреАрдЪреЗ рджреА рдЧрдИ рддрд╕реНрд╡реАрд░реЛрдВ рдХреЛ рджреЗрдЦреЗрдВ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рджреЛ рджрд┐рд╢рд╛рдУрдВ рдореЗрдВ рдЭреБрдХрд╛рд╡ рд▓рдХрдбрд╝реА рдХреЗ рдЦреЗрд▓ рдХреЗ рд╕рд╛рде рд╕рд╛рджреГрд╢реНрдп рджреНрд╡рд╛рд░рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рд╕рд░реНрд╡реЛ рдЦрд┐рд▓реМрдиреЗ рдХреЗ рдЕрдВрджрд░ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИ, рдлрд┐рд░ рдПрдХ рджреВрд╕рд░рд╛ рд╕рд░реНрд╡реЛ рдмрд╛рд╣рд░реА рдЖрд╡рд░рдг рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд▓рдХрдбрд╝реА рдХреЗ рднреВрд▓рднреБрд▓реИрдпрд╛ рдореЗрдВ, рдЬрд┐рддрдиреЗ рддреАрди рдмрдХреНрд╕реЗ рдПрдХ рджреВрд╕рд░реЗ рдкрд░ рд░рдЦреЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдЙрддрдиреЗ рд╣реА рдкреЛрд╕реНрдЯ рдХреА рдкрд╣рд▓реА рддрд╕реНрд╡реАрд░ рдореЗрдВ рджреЗрдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдЙрд╕реА рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдХреБрдЫ рд╣рдж рддрдХ рд╕рд░рд▓ рдХрд┐рдпрд╛ред рджреЛрдиреЛрдВ рдХреБрд▓реНрд╣рд╛рдбрд╝рд┐рдпреЛрдВ рдХрд╛ рдирд┐рдЪрд▓рд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрд╖реИрддрд┐рдЬ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рднреВрд▓рднреБрд▓реИрдпрд╛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдПрдХ рд╕рд╢рд░реНрдд рдЖрдВрддрд░рд┐рдХ рдХреЛрд░ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдШреВрдореЗрдЧрд╛ред
рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмрд╕ рджреЛ рд╕рд░реНрд╡реЛрд╕ рд╣реИрдВ рдЬреЛ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ 90 рдбрд┐рдЧреНрд░реА рдХреЗ рдХреЛрдг рдкрд░ рд╕реНрдерд┐рдд рд╣реИрдВред рдкрд╣рд▓рд╛ рджреВрд╕рд░рд╛ рдШреБрдорд╛рдПрдЧрд╛ред рдФрд░ рджреВрд╕рд░рд╛, рдмрджрд▓реЗ рдореЗрдВ, рднреВрд▓рднреБрд▓реИрдпрд╛ рд╕реЗ рдЬреБрдбрд╝реЗ рд╕реНрдЯреИрдВрдб рдХреЛ рдШреБрдорд╛рдПрдЧрд╛ред рдиреАрдЪреЗ рджреЛ рдЪрд┐рддреНрд░ рдКрдкрд░ рджрд┐рдП рдЧрдП рд╣реИрдВред
рдФрд░ рдЗрд╕реЗ рдФрд░ рднреА рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ рджрд┐рдЦрддрд╛ рд╣реИ:
рдбреНрд░рд╛рдЗрд╡ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдмрд╕ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд▓реЛрдЪрджрд╛рд░ рдмреИрдВрдб рдХреЗ рд╕рд╛рде рдХрд╕рдХрд░ рдЦреАрдВрдЪ рд▓рд┐рдпрд╛ред рдореИрдВрдиреЗ рдирд┐рдЪрд▓реЗ рд╕рд░реНрд╡реЛ рдХреЛ рдкреБрд░рд╛рдиреЗ рдбреНрд░рд╛рдЗрд╡ рдорд╛рдЙрдВрдЯ рд╕реЗ рдЪрд┐рдкрдХрд╛ рджрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рдПрдХ рд╕рдкрд╛рдЯ рдЖрдзрд╛рд░ рдкрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрд░ рджрд┐рдпрд╛ред
рднреВрд▓рднреБрд▓реИрдпрд╛:
рдореБрдЭреЗ рднреВрд▓рднреБрд▓реИрдпрд╛ рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рдиреБрдХрд╕рд╛рди рдЙрдард╛рдирд╛ рдкрдбрд╝рд╛, рд▓реЗрдХрд┐рди, рд╡реИрд╕реЗ рднреА, рдкреЛрд╕реНрдЯ рдХреЗ рдЕрдВрдд рдореЗрдВ рдореЙрдбрд▓ рдХрд╛рдлреА рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЖрдк рдЪрд╛рд╣реЗрдВ рддреЛ рдЗрд╕реЗ рдЕрдкрдиреЗ рдкреНрд░рд┐рдВрдЯрд░ рдкрд░ рдкреНрд░рд┐рдВрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдЗрд╕реЗ 9 рд╕реЗ 9 рд╕реЗрдореА рдХреЗ рдЖрдХрд╛рд░ рдореЗрдВ рдореБрджреНрд░рд┐рдд рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдЖрдХрд╛рд░ рд╣реИ рдЬреЛ рдореЗрд░рд╛ рдореЗрдХрд░рдмреЗрдЯ рдерд┐рдВрдЧ-рдУ-рдореИрдЯрд┐рдХ рдкреНрд░рд┐рдВрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдореЙрдбрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдкрд╣рд▓реА рдмрд╛рд░
www.mazegenerator.net рдкрд░ рдЧрдпрд╛ рдФрд░ рд╡рд╣рд╛рдВ 9x9 рднреВрд▓рднреБрд▓реИрдпрд╛ рдмрдирд╛рдИред рдлрд┐рд░ рдореИрдВрдиреЗ рд╕реНрдХреЗрдЪрдЕрдк рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдЖрдпрд╛рдд рдХрд┐рдпрд╛, рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд┐рдпрд╛ рдФрд░ рджреАрд╡рд╛рд░реЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рджреАрд╡рд╛рд░реЛрдВ рдХреЛ рдЗрддрдирд╛ рдКрдВрдЪрд╛ рдХрд░ рджрд┐рдпрд╛ рдХрд┐ рдЧреЗрдВрдж рднреВрд▓рднреБрд▓реИрдпрд╛ рд╕реЗ рдмрд╛рд╣рд░ рди рдЧрд┐рд░реЗ, рд▓реЗрдХрд┐рди рднреА рдирд╣реАрдВ рдлрдВрд╕реЗред
Netduino:
рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд╣рд┐рд╕реНрд╕рд╛ рдЗрддрдирд╛ рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИред
рдиреЛрдЯ: рдЖрдо рддрд╛рд░реЛрдВ рдХреЛ рдЕрдзрд┐рдХ рджреГрд╢реНрдпрдорд╛рди рд╣реЛрдиреЗ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХреА рдЬрд╛рддреА рд╣реИред
рдмреНрд▓реВрдЯреВрде рдореЙрдбреНрдпреВрд▓:
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡рд╣ рдореЗрд░реА рдкрд┐рдЫрд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИред рдХреЛрдб рдмрд┐рд▓реНрдХреБрд▓ рд╡реИрд╕рд╛ рд╣реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡рд┐рд╡рд░рдг рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
blog.roguecode.co.za/Post/ControllingaNetduinooverBluetoothwithWP8blog.roguecode.co.za/Post/MoreNetduino%2bWP8%2bBluetoothfun-3Dreconstructionblog.roguecode.co.za/Post/Netduino%2bSonar%2bWP8%2bBluetooth-ControllingsoundwithyourmindрдбреНрд░рд╛рдЗрд╡:
рдореИрдВрдиреЗ рдЗрд╕ рдзрд╛рд░рд╛ рдХреЛ рд╕реАрдзреЗ рдиреЗрдЯреБрдбрд┐рдиреЛ рдкрд╛рд╡рд░ рдХрдиреЗрдХреНрдЯрд░ рд╕реЗ рд╕рд░реНрд╡реЛ рдХреЛ рдЬреЛрдбрд╝рдХрд░ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдЕрдиреБрд╢рдВрд╕рд┐рдд рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рд╕реЗ рдКрд░реНрдЬрд╛ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╡реНрдпрдп рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рдмрд┐рдЬрд▓реА рдХреА рдЦрдкрдд рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рдПрдВ рднреА рдереАрдВ - рдЬреИрд╕реЗ рд╣реА рд╕рд░реНрд╡реЛ рд╢реБрд░реВ рд╣реБрдИ, рдмреНрд▓реВрдЯреВрде рдореЙрдбреНрдпреВрд▓ рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ред рдпрд╣ рд╢реЛрд░ / рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХреЗ рдХрд╛рд░рдг рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рдЖрдпрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдЕрдиреНрдп рдШрдЯрдХ рдХреЛ рдЗрддрдиреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ 4.8V рдмреИрдЯрд░реА рдкреИрдХ рд╕реЗ рдЬреЛрдбрд╝рд╛ред рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдмреИрдЯрд░реА рдХреА рдЬрдореАрди рдХреЛ рдиреЗрдЯреБрдбрд┐рдиреЛ рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рд╕рд┐рдЧреНрдирд▓ рддрд╛рд░ PWM рд╕рдВрдкрд░реНрдХреЛрдВ рдХреЗ рдкрд╛рд╕ рдЬрд╛рддреЗ рд╣реИрдВред
рднреВрд▓рднреБрд▓реИрдпрд╛ рдХрд╛ рдЕрдВрддрд┐рдо рдмрд┐рдВрджреБ:
рднреВрд▓рднреБрд▓реИрдпрд╛ рдХреЗ рдЕрдВрдд рдмрд┐рдВрджреБ рдХреЗ рд╕рдВрдкрд░реНрдХреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рджреЛ рдзрд╛рддреБ рд╕реНрдЯреНрд░рд┐рдкреНрд╕ рдХрд╛рдЯ рджрд┐рдпрд╛ рдФрд░ рдПрдХ рдХреЛ рдХреНрд╖реИрддрд┐рдЬ рд░реВрдк рд╕реЗ рдЕрдВрдд рдмрд┐рдВрджреБ рдкрд░ рд░рдЦрд╛, рдФрд░ рджреВрд╕рд░рд╛ рд▓рдВрдмрд╡рдд, рдкрд╣рд▓реЗ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдПрдХ рдЫреЛрдЯреЗ рдЕрдВрддрд░ рдХреЗ рд╕рд╛рдеред рдЬрдм рдЧреЗрдВрдж рднреВрд▓рднреБрд▓реИрдпрд╛ рдХреЗ рдЕрдВрдд рддрдХ рдкрд╣реБрдБрдЪрддреА рд╣реИ, рддреЛ рдпрд╣ рджреЛ рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдкрд░реНрдХ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддреА рд╣реИ рдФрд░ рд╕реНрд╡рд┐рдЪ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рддреА рд╣реИред
рдХреЛрдб:
рдмреНрд▓реВрдЯреВрде рдХреЛрдб (рдКрдкрд░ рд▓рд┐рдВрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдмрд╛рдХреА рдХрд╛рдлреА рд╕рд░рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
static SerialPort bt; static string buffer = ""; static Servo servoX; static Servo servoY; static InterruptPort endStopPort; static bool isRunning = false; public static void Main() { servoX = new Servo(Pins.GPIO<em>PIN</em>D5); servoY = new Servo(Pins.GPIO<em>PIN</em>D9); bt = new SerialPort(SerialPorts.COM1, 9600, Parity.None, 8, StopBits.One); bt.Open(); endStopPort = new InterruptPort(Pins.GPIO<em>PIN</em>D10, false, Port.ResistorMode.Disabled, Port.InterruptMode.InterruptEdgeLevelHigh); endStopPort.OnInterrupt += new NativeEventHandler(endStopPort<em>OnInterrupt); bt.DataReceived += new SerialDataReceivedEventHandler(bt</em>DataReceived); servoX.Degree = 90; servoY.Degree = 105; while (true) {
рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рднреВрд▓рднреБрд▓реИрдпрд╛ рдХреЗ рдЕрдВрдд рдореЗрдВ рджреЛрдиреЛрдВ рд╕рд░реНрд╡реЛ, рдмреНрд▓реВрдЯреВрде рдФрд░ рдкреИрдб рдкрд░ рдПрдХ рд╕реНрд╡рд┐рдЪ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдиреЗрдЯрдбреВрдЗрдиреЛ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХреИрд╕реЗ рдФрд░ рдХреНрдпреЛрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ
рд▓рд┐рдП рд▓рд┐рдВрдХ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░реЗрдВ ред рдлрд┐рд░ рд╕рд░реНрд╡реЛрд╕ рдХреЛ рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░реЗрдВ рддрд╛рдХрд┐ рднреВрд▓рднреБрд▓реИрдпрд╛ рдХреНрд╖реИрддрд┐рдЬ рд╣реЛред
рдПрдХ рдЖрджрд░реНрд╢ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЬрд┐рд╕рдореЗрдВ рд╡реЗ рд░рдмрд░ рдмреИрдВрдб рдкрд░ рдкрдХрдбрд╝ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВ, рджреЛрдиреЛрдВ рдорд╛рди 90 рдбрд┐рдЧреНрд░реА рд╣реЛрдВрдЧреЗред рдбреНрд░рд╛рдЗрд╡ рдХрд╛ рд╡рд░реНрдЧ
рдпрд╣рд╛рдВ рд▓рд┐рдпрд╛ рдЧрдпрд╛
рд╣реИ ред
рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХрд╛ рдХреЛрдб рдЧреЗрдВрдж рдХреЛ рд╕рдВрдкрд░реНрдХреЛрдВ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдиреЗрдЧрд╛ред рд▓реЗрдХрд┐рди, рдЬрдм рд╕реЗ рд╣рдо рдмрд╛рд░-рдмрд╛рд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВрдЧреЗ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдЦреЗрд▓ рдЪрд▓ рд░рд╣рд╛ рд╣реИ (isRunning рдмреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)ред
рдХреЛрдб рдХреЗ рдЕрдВрддрд┐рдо рднрд╛рдЧ рдореЗрдВ, рдиреЗрдЯрдбреНрдпреВрдиреЛ рдлреЛрди рд╕реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИред
private static void DoSomething(string buffer) { if (buffer == "start") { isRunning = true; } else { string[] split = buffer.Split(new char[] { ',' }); if (split.Length == 2) { int x = int.Parse(split[0]); int y = int.Parse(split[1]); servoX.Degree = x + 3; servoY.Degree = y + 12; Debug.Print(x + " " + y); } } }
рдЬрдм рдХреЛрдИ рдЦрд┐рд▓рд╛рдбрд╝реА рдлрд╝реЛрди рдкрд░ GO рдмрдЯрди рджрдмрд╛рддрд╛ рд╣реИ, рддреЛ "рд╕реНрдЯрд╛рд░реНрдЯ" рдХрдорд╛рдВрдб рдмреНрд▓реВрдЯреВрде рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдпрд╣ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЦреЗрд▓ рд╢реБрд░реВ рд╣реЛ рдЪреБрдХрд╛ рд╣реИ, рдмреВрд▓ рдХреЛ рд╕рдЪ рдХрд░ рджрд┐рдпрд╛ред
рдпрджрд┐ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рд░рдВрдн рд╕рдВрджреЗрд╢ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпреЗ рдПрдХреНрд╕реЗрд▓реЗрд░реЛрдореАрдЯрд░ рдорд╛рди рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдХреЛрдб рдХреЗ рдЯреЗрд▓реАрдлреЛрди рднрд╛рдЧ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдЧрд╛, рд╣рдо рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рдПрдХреНрд╕, рд╡рд╛рдИ рдХреБрд▓реНрд╣рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдорд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рднреЗрдЬрддреЗ рд╣реИрдВред рдХреЛрдб рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ рдХрд░рддрд╛ рд╣реИ, рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдЕрдВрддрд░ рдореВрд▓реНрдпреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рд░реНрд╡реЛ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореИрдВ рдереЛрдбрд╝рд╛ рдкреВрд░реНрд╡рд╛рдЧреНрд░рд╣ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдбреНрд░рд╛рдЗрд╡ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрддрд░ рдореЗрдВ рдХреИрд▓рд┐рдмреНрд░реЗрдЯ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред
WP8:
рдлреЛрди рдХреЛрдб рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд░рд▓ рд╣реИред рдпрд╣рд╛рдБ рдореВрд▓ рдХрд╛рд░реНрдп рд╣реИрдВ рдЬреЛ рдпрд╣ рдХрд░рддрд╛ рд╣реИ:
- рдЬрдм рдЬрд╛рдУ рдмрдЯрди рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ "рдкреНрд░рд╛рд░рдВрдн" рднреЗрдЬреЗрдВ
- рдЯрд╛рдЗрдорд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ
- рдПрдХреНрд╕ рдФрд░ рд╡рд╛рдИ рдХреБрд▓реНрд╣рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рддреНрд╡рд░рдХрдорд╛рдкреА рдорд╛рди рднреЗрдЬреЗрдВ
- "рдХрд┐рдпрд╛" рдХреА рдкреНрд░рд╛рдкреНрддрд┐ рдкрд░ рдЕрдВрддрд┐рдо рдЦреЗрд▓ рд╕рдордп рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ
рдФрд░ рдпрд╣рд╛рдБ рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╣реИ:
рдЬрдм GO рдмрдЯрди рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЯрд╛рдЗрдорд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ "рд╕реНрдЯрд╛рд░реНрдЯ" рднреЗрдЬреЗрдВ private void goBtn<em>Click</em>1(object sender, RoutedEventArgs e) { Write("start"); secTxt.Text = ""; msText.Text = ""; <em>startedDT = DateTime.Now; TimeSpan timeTaken; _timer = new DispatcherTimer { Interval = new TimeSpan(0, 0, 0, 0, 51) }; _timer.Tick += (s, ev) => { timeTaken = DateTime.Now.Subtract(</em>startedDT); secTxt.Text = timeTaken.Seconds.ToString(); msText.Text = timeTaken.Milliseconds.ToString(); }; _timer.Start(); goBtn.Visibility = System.Windows.Visibility.Collapsed; stopBtn.Visibility = System.Windows.Visibility.Visible; timerDisplayContainer.Visibility = System.Windows.Visibility.Visible; }
рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЗрддрдиреА рдЙрдЪреНрдЪ рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдбрд┐рд╕реНрдкреИрдЪрд░рдЯрд╛рдЗрдорд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИред рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реЛред
рдПрдХреНрд╕ рдФрд░ рд╡рд╛рдИ рдХреБрд▓реНрд╣рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рддреНрд╡рд░рдХрдорд╛рдкреА рдорд╛рди рднреЗрдЬреЗрдВ void <em>acc</em>ReadingChanged(Accelerometer sender, AccelerometerReadingChangedEventArgs args) { Write(Convert(args.Reading.AccelerationX) + "," + Convert(-args.Reading.AccelerationY) + "|"); Dispatcher.BeginInvoke(() => { xRight.Opacity = args.Reading.AccelerationX * 2; xLeft.Opacity = -args.Reading.AccelerationX * 2; yTop.Opacity = args.Reading.AccelerationY * 2; yBottom.Opacity = -args.Reading.AccelerationY * 2; }); } private string Convert(double val) { return ((int)((Clamp((val * 2d), -1, 1) * 10) + 90)).ToString();
рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ XNA рдореЗрдВ MathHelper.Clamp рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕реАрдЦрдиреА рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдмрд╕ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╕реАрдорд╛ рд╕реЗ рдЕрдзрд┐рдХ рдпрд╛ рдШрдЯрдиреЗ рд╕реЗ рдореВрд▓реНрдп рдХреЛ рд░реЛрдХрддрд╛ рд╣реИред рдбрд┐рд╕реНрдкреИрдЪрд░ рдХреЗ рдЕрдВрджрд░ рдХрд╛ рдХреЛрдб UI рдореЗрдВ рдХреЛрдг рдХреЛ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рджреГрд╢реНрдп рдХрджрдо рдЙрдард╛рддрд╛ рд╣реИред
"рдХрд┐рдпрд╛" рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЕрдВрддрд┐рдо рд╕рдордп рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВред private void DoSomethingWithReceivedString(string <em>receivedBuffer) { if (</em>receivedBuffer == "done") { <em>timer.Stop(); stopBtn.Visibility = System.Windows.Visibility.Collapsed; goBtn.Visibility = System.Windows.Visibility.Visible; TimeSpan timeTaken = DateTime.Now.Subtract(</em>startedDT); MessageBox.Show(string.Format("You took {0}:{1}", timeTaken.Seconds, timeTaken.Milliseconds), "Done!", MessageBoxButton.OK); } }
рдпрд╣ рд╕рдм рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рд╣реИред рдмреАрдЯреА рдФрд░ рдпреВрдЖрдИ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рджреЗрдЦреЗрдВред
рдбрд╛рдЙрдирд▓реЛрдб:
рдЬрд╝рд┐рдк рдлрд╝рд╛рдЗрд▓ рдореЗрдВ Netduino рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдзрд╛рди, WP8 рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдзрд╛рди рдФрд░ рдореБрджреНрд░рдг рдХреЗ рд▓рд┐рдП STL рдореЙрдбрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
WP8 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ!