Arduino рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдФрд░ рд╡рд┐рднрд┐рдиреНрди рддрд╛рддреНрдХрд╛рд▓рд┐рдХ рдЯреНрд░реИрд╢ (
Arduino ,
рддреАрди рдкрд╛рд╡рд░ Arduino рдореИрдирд┐рдкреБрд▓реЗрдЯрд░ рдХреЗ рд╕рд╛рде рдХреНрд╖рд┐рддрд┐рдЬ рдХреЛ рдкрдХрдбрд╝рдиреЗ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рддрдВрддреНрд░ рдореЙрдбрд▓рд┐рдВрдЧ рдкрд░ рд▓реЗрдЦреЛрдВ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реБрдП, рдЖрдЬ рд▓рд┐рдирдХреНрд╕ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдкрд╛рдпрдерди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдЫрд╣-рдкрд╛рд╡рд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИред
рдкрд┐рдЫрд▓реЗ рдкреЛрд╕реНрдЯреЛрдВ рдореЗрдВ, рдореИрдВрдиреЗ рдЫрд╣-рдбрд┐рдЧреНрд░реА рд╕реНрдЯреБрдЕрд░реНрдЯ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рдореЙрдХ-рдЕрдк рдмрдирд╛рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рдереАред рдФрд░ рдЗрд╕рд▓рд┐рдП рд╕рднреА рдШрдЯрдХ рджреВрд░ рдЪреАрди рд╕реЗ рдЖрдП, рдФрд░ рдЯреЗрдмрд▓ рдкрд░ рднреА рдЗрдХрдЯреНрдареЗ рд╣реБрдП, рдЖрдк рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ!

рдЙрдкрдХрд░рдг рдФрд░ рд╕рд╛рдордЧреНрд░реА
рдкрд┐рдЫрд▓реЗ рд▓реЗрдЖрдЙрдЯ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рд╡рд┐рдВрдбреЛрдЬ 7 рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдПрдХ рд▓реИрдкрдЯреЙрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2008 рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ Microsoft .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде C # рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЪреВрдБрдХрд┐ рд░реЛрдЬрд╝рдорд░реНрд░рд╛ рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдФрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдореБрдЦреНрдп рдорд╢реАрди рд╕реНрдерд╛рдкрд┐рдд рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдЙрдмрдВрдЯреВ рд▓рд┐рдирдХреНрд╕ 10.4 рдХреЗ рд╕рд╛рде рдПрдХ рдбреЗрд╕реНрдХрдЯреЙрдк рдХрдВрдкреНрдпреВрдЯрд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ Arduino рдХреЗ рд╕рд╛рде рдкрд╛рдпрдерди рдореЗрдВ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдореЗрдВ рдорд╛рд╕реНрдЯрд░ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ред рд╡рд┐рднрд┐рдиреНрди рд╡рд╛рддрд╛рд╡рд░рдг рд╕реЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рд╕рд╛рде рдЕрдиреБрднрд╡ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдЖрдк рдХреЛ рд╣рд╛рде рдХреНрдпреЛрдВ рдирд╣реАрдВ;)
рдХрд╛рдо рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрдкрдХрд░рдг рдФрд░ рд╕рд╛рдордЧреНрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
рдореЗрдЬрдмрд╛рди рдХрд╛ рдирд╛рдо | рд╕рдВрдЦреНрдпрд╛ |
рд▓рд┐рдирдХреНрд╕ рд╕реНрдерд╛рдкрдирд╛ | 1 рдкреАрд╕реА |
рдЫрд╣-рд╢рдХреНрддрд┐ рдордВрдЪ | 1 рдкреАрд╕реА |
рдЕрд░реБрдбрд┐рдиреЛ рдореЗрдЧрд╛ | 1 рдкреАрд╕реА |
рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдмреЛрд░реНрдб | 1 рдкреАрд╕реА |
рдЭрд░рдиреА | 6 рдкреАрд╕реА |
рдЗрдорджрд╛рджреА | 6 рдкреАрд╕реА |
рдХреЛрдиреЛрдВ | 6 рдкреАрд╕реА |
рдмреЙрд▓ рдмреЗрдпрд░рд┐рдВрдЧ | 12 рдкреАрд╕реА |
рд╣реАрд▓рд┐рдпрдо рдкреЗрди | 6 рдкреАрд╕реА |
рддрд╛рд░реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ | 20 рдкреАрд╕реАред |
рдкреЗрдВрдЧреБрдЗрди + рд╕реНрдХреЙрдЪ | 1 рдкреАрд╕реА |
рдЬреЛрд╕реНрдЯрд┐рдХ | 1 рдкреАрд╕реА |
рдЖрдкрдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕реЗ:
- рд▓рд┐рдирдХреНрд╕
- рдЕрд░реНрдбреБрдЗрдиреЛ 0022
- рдЕрдЬрдЧрд░
- IPython
- pygame
- PySerial
- PyQt4
рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЛ рдПрдХ рд╕рд╛рде рд░рдЦрд╛
рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдбрд┐рдЧреНрд░реА рдХреЗ рд╕рд╛рде рддрдВрддреНрд░ рдХрд╛ рджрд╛рдпрд░рд╛, рдЬреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдЧрддрд┐рдЬ рдХрдиреЗрдХреНрд╢рди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдмрд╣реБрдд рд╡рд┐рд╕реНрддреГрдд рд╣реИ:
- рдорд▓реНрдЯреА-рдПрдХреНрд╕рд┐рд╕ рдорд┐рд▓рд┐рдВрдЧ рдФрд░ рдбреНрд░рд┐рд▓рд┐рдВрдЧ рдорд╢реАрди
- рдЙрдбрд╝рд╛рди рд╕рд┐рдореБрд▓реЗрдЯрд░
- рдкреЛрдЬрд┐рд╢рдирд┐рдВрдЧ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдпреЛрдЬреНрдп рд╡реНрдпрдХреНрдд рдЯреНрд░рд╕
- рд░рд┐рдХрд╛рд░реНрдбрд░ рдЖрджрд┐ред
рдЗрд╕ рддрд░рд╣ рдХреЗ рддрдВрддреНрд░ рдХреА рдорд╛рдкрдиреАрдпрддрд╛ рд╕реЗ рдЙрдирдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрдЪреНрдЪ рдЧрддрд┐ рдХреЗ рд╕рд╛рде рдмрдбрд╝реЗ рдЖрдХрд╛рд░ рдХреА рдЗрдХрд╛рдЗрдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдФрджреНрдпреЛрдЧрд┐рдХ рд░реЛрдмреЛрдЯ рдпрд╛ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдбрд╝реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдПрдХреНрд╕реЗрд▓реЗрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рджреВрд░рдмреАрди, рд▓реЗрдЬрд░, рджреВрд░рд╕рдВрдЪрд╛рд░ рдПрдВрдЯреЗрдирд╛ рдпрд╛ рдЬреЗрдЯ рдЗрдВрдЬрдиред
рд╕рд░реНрд╡реЛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рдореЗрд░реЗ рд▓реЗрдЦ рдореЗрдВ
рддреАрди-рд╢рдХреНрддрд┐ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рддреАрди рдбреНрд░рд╛рдЗрд╡ рдХреЗ рдмрдЬрд╛рдп, рдЫрд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдЖрдЙрдЯ рд╕реНрдЯреБрдЕрд░реНрдЯ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред
рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдпрд╛ рдХрдиреЗрдХреНрдЯрд┐рдВрдЧ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЛрдб рдХреЗ рддрд╣рдд рдордВрдЪ рдХреЛ рддреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ, рдПрдХ рдХрд╛рдо рд╕рд╣рдпреЛрдЧреА (рдорд┐рдЦрд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж) рдиреЗ рд╣реАрд▓рд┐рдпрдо рдкреЗрди рд╕реЗ рд╕рд╛рдзрд╛рд░рдг рдЫрдбрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛, рдФрд░ рдПрдХ рд╣реЗрд▓реАрдХреЙрдкреНрдЯрд░ рд╕реЗ рдЧреЗрдВрдж рдХреЛ рдбреЙрдХрд┐рдВрдЧ рдиреЛрдбреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╣рди рдХрд┐рдпрд╛ред
рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЗ рдмрд╛рдж рдордВрдЪ рдХрд╛ рд╢реАрд░реНрд╖ рджреГрд╢реНрдп:

Arvino Mega рдХреЗ 2-7 рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рдХреНрд░рдорд╢рдГ PWM PWM рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ:

рдЕрдВрджрд░, рдордВрдЪ рдХреЗ рдиреАрдЪреЗ, рдмреНрд░реЗрдбрдмреЛрд░реНрдб рдкрд░ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рд╕рд░реНрд╡реЛ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ:

рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╣рдордиреЗ рддреАрди-рд╢рдХреНрддрд┐ рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдШрдЯрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рджреЛрдЧреБрдирд╛ рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдПрдХ рд╕реНрдерд┐рд░ рдбрд┐рдЬрд╛рдЗрди рдореЗрдВ рд░рдЦрд╛ рд╣реИред рдЧреЛрдВрдж рдХреЗ рд╕рд╛рде рдЫрдбрд╝ рдкрд░ рдмреЙрд▓ рдмреЗрдпрд░рд┐рдВрдЧ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрдИ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рджреМрд░рд╛рди, рдЬреЛрдбрд╝реЛрдВ рд╕реЗ рдмрд╛рд╣рд░ рдЙрдбрд╝рдирд╛ рдмрд╕ рдХрд╖реНрдЯрдкреНрд░рдж рд╣реИред
рдЫрд╣ рдбрд┐рдЧреНрд░реА
рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдХреА рдЫрд╣ рдбрд┐рдЧреНрд░реА рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИ:
рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдХреА рдЫрд╣ рдбрд┐рдЧреНрд░реА (рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдк рд╕реЗ 6DoF рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдХреНрд╕рд░ рдЕрдВрдЧреНрд░реЗрдЬреА рдХреА рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдХреЗ рдЫрд╣ рдбрд┐рдЧреНрд░реА рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) - рдЬреНрдпрд╛рдорд┐рддреАрдп рдЖрдХреГрддрд┐рдпреЛрдВ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ (рддреАрди рдЖрдпрд╛рдореА) рдЕрдВрддрд░рд┐рдХреНрд╖ рдореЗрдВ рдЬреНрдпрд╛рдорд┐рддреАрдп рдЖрдВрджреЛрд▓рдиреЛрдВ рдХреЛ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рдЕрд░реНрдерд╛рддреН: рдЖрдЧреЗ / рдкреАрдЫреЗ, рдКрдкрд░ / рдиреАрдЪреЗ, рдмрд╛рдПрдВ / рджрд╛рдПрдВ (рдХрд╛рд░реНрдЯреЗрд╕рд┐рдпрди рдореЗрдВ) рдЖрдЧреЗ рдмрдврд╝реЗрдВ рддреАрди-рдЖрдпрд╛рдореА рд╕рдордиреНрд╡рдп рдкреНрд░рдгрд╛рд▓реА), рддреАрди рдкрд░рд╕реНрдкрд░ рд▓рдВрдмрд╡рдд рдЕрдХреНрд╖реЛрдВ (рдпрд╡, рдкрд┐рдЪ, рд░реЛрд▓) рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдШреБрдорд╛рд╡ рд╕рд╣рд┐рддред рдпрд╣ рдЬреНрдЮрд╛рдд рд╣реИ рдХрд┐ рдЕрдВрддрд░рд┐рдХреНрд╖ рдореЗрдВ рдХрд┐рд╕реА рднреА рд╡реЗрдХреНрдЯрд░ рдХреЗ рд╕рд╛рде рд╡рд┐рд╕реНрдерд╛рдкрди рдХреЛ рддреАрди рдЕрдХреНрд╖реЛрдВ рдХреЗ рд╕рд╛рде рдореВрд▓ рдЕрдХреНрд╖ рдХреЗ рд╕рд╛рде рддреАрди рдкреНрд░рд╛рдердорд┐рдХ рд╡рд┐рд╕реНрдерд╛рдкрди рдХреЗ рдпреЛрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рд╛рдердорд┐рдХ рд╡рд┐рд╕реНрдерд╛рдкрди рдЕрдиреНрдп рджреЛ рд╕реЗ рд╡реНрдпреБрддреНрдкрдиреНрди рдирд╣реАрдВ рд╣реИред рдЕрдВрддрд░рд┐рдХреНрд╖ рдореЗрдВ рдлрд╛рд░реНрдо рдХрд╛ рдПрдХ рдордирдорд╛рдирд╛ рд░реЛрдЯреЗрд╢рди рднреА рдХреБрд▓реНрд╣рд╛рдбрд╝рд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдШреБрдорд╛рд╡ рдХреЗ рдЕрдиреБрдХреНрд░рдо рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдпреВрд▓рд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░)ред рдЗрд╕рд▓рд┐рдП рд╕рдВрдЦреНрдпрд╛ 6 (рдЫрд╣)ред
рдЖрд▓реЗрдЦреАрдп рд░реВрдк рд╕реЗ, рдЗрд╕ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (
рд╕реНрд░реЛрдд )

рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдХреА рдЫрд╣ рдбрд┐рдЧреНрд░реА рд╣реИ:
- рдПрдХреНрд╕ рдЕрдХреНрд╖ рд░реИрдЦрд┐рдХ рд╡рд┐рд╕реНрдерд╛рдкрди
- Y рдЕрдХреНрд╖ рд░реИрдЦрд┐рдХ рдСрдлрд╕реЗрдЯ
- Z рдЕрдХреНрд╖ рд░реИрдЦрд┐рдХ рд╡рд┐рд╕реНрдерд╛рдкрди
- рдПрдХреНрд╕ рдЕрдХреНрд╖ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рд░реЛрдЯреЗрд╢рди ( рд░реЛрд▓ - рд░реЛрд▓)
- Y- рдЕрдХреНрд╖ (рдкрд┐рдЪ) рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдШреБрдорд╛рдПрдБ
- Y- рдЕрдХреНрд╖ ( yaw - yaw) рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдШреБрдорд╛рдПрдБ
рдЬрд╣рд╛рдЬ рдХреЗ
рд░реЛрд▓ рдХреЗ X- рдЕрдХреНрд╖
рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдШреВрдордиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг (
рд╕реНрд░реЛрдд ):

Y рдЕрдХреНрд╖ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдШреВрдордиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг - рдкреЛрдд рдХреА
рдкрд┐рдЪ (
рд╕реНрд░реЛрдд ):

Z рдЕрдХреНрд╖ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдШреВрдордиреЗ рдХрд╛ рдЙрджрд╛рд╣рд░рдг -
рдПрдХ рдЬрд╣рд╛рдЬ
рдХрд╛ yaw (
рд╕реНрд░реЛрдд ):

рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдХреБрд▓реНрд╣рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рд░реЛрдЯреЗрд╢рди рдХреА рдбрд┐рдЧреНрд░реА рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рдХрдИ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ, рдпрд╣рд╛рдВ
рдЙрдирдореЗрдВ рд╕реЗ
рдПрдХ рд╣реИ ред
рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ
рд▓реЗрдЖрдЙрдЯ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╕рд╛рде рд╣реА рддреАрди рд╕рд░реНрд╡реЛ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдВрддреНрд░рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдпрдВрддреНрд░рдг рдХрдорд╛рдВрдб рдХрд╛ рдкреНрд░рд╛рд░реВрдк рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:

рдирд┐рдпрдВрддреНрд░рдг рдХрдорд╛рдВрдб рдореЗрдВ рдХрдорд╛рдВрдб рдЙрдкрд╕рд░реНрдЧ рдХреЗ 1 рдмрд╛рдЗрдЯ рд╣реЛрддреЗ рд╣реИрдВ, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдкреНрд░рддреАрдХ 'рдПрд╕' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдбреНрд░рд╛рдЗрд╡ рдХреЗ рдЫрд╣ рдкрджреЛрдВ, рджреЛ рдмрд╛рдЗрдЯреНрд╕ рдкреНрд░рддреНрдпреЗрдХред рд╕реА рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рддрд░рд╣ рдХреА рдХрдорд╛рдВрдб рдХреИрд╕реЗ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ рдпрд╣ рддреБрд░рдВрдд рд╕реНрдкрд╖реНрдЯ рд╣реИ: рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рд╛рд░реВрдк рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░реЗрдВред рдкрд╛рдпрдерди рдореЗрдВ, "рдмреИрдЯрд░реА рдкреИрдХ" рдореЗрдВ рдЦреЗрддреЛрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рд╕реЗ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрджреНрднреБрдд
рд╕рдВрд░рдЪрдирд╛ рдореЙрдбреНрдпреВрд▓ рд╣реИред
рд╕рдВрд░рдЪрдирд╛ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдКрдкрд░ рдкреНрд░рд╕реНрддреБрдд рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдирд┐рдореНрди рд░реВрдк рд╣реИ:
рдЖрдпрд╛рдд рд╕рдВрд░рдЪрдирд╛
рд╕рдВрд░рдЪрдирд╛ ред рдкреИрдХ ( '<chhhhhh' , 'S' , pos1, pos2, pos3, pos4, pos5, pos6 )
рдореЙрдбреНрдпреВрд▓ рдкреНрд░рд▓реЗрдЦрди рдХреЗ рдЕрдиреБрд╕рд╛рд░:
- <- рдЪрд░ рдХреЗ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рдмрд╛рдж рдирд┐рдореНрди рд╕реЗ рдЙрдЪреНрдЪ рддрдХ рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рдХреНрд░рдо рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ
- рд╕реА - рд╕реА рднрд╛рд╖рд╛ рдХреЗ рдкреНрд░рдХрд╛рд░ рдЪрд╛рд░ (1 рдмрд╛рдЗрдЯ) рдХреЗ рдПрдХ рдЪрд░ рдХреЗ 1 рдЪрд░рд┐рддреНрд░ рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рд╕рд╛рде рдПрдХ рдкрд╛рдпрдерди рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ
- рдПрдЪ - рд╕реА рднрд╛рд╖рд╛ рдХреЗ рдЫреЛрдЯреЗ рдЪрд░ (2 рдмрд╛рдЗрдЯреНрд╕) рдХреЗ рд▓рд┐рдП рдкрд╛рдпрдерди рдкреВрд░реНрдгрд╛рдВрдХ рдорд╛рди рдХреЛ рдореИрдк рдХрд░рддрд╛ рд╣реИ
рд╕рднреА рдкреНрд░рд╛рдердорд┐рдХ рдкрд░реАрдХреНрд╖рдг рдкрд╛рдпрдерди рднрд╛рд╖рд╛ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЖрдИрдкреАрдереЙрди рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рд╕реАрд░рд┐рдпрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдордВрдЪ рдХрд╛ рдХрдиреЗрдХреНрд╢рди рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
рдЖрдпрд╛рдд рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ
рд╕реАрд░рд┐рдпрд▓рдкреЙрд░реНрдЯ = рд╕реАрд░рд┐рдпрд▓ред рд╕реАрд░рд┐рдпрд▓ ( '/ рджреЗрд╡ / ttyUSB0' , 115200 )
serialportред рдЦреБрд▓рд╛ ( )
рдПрдХ рд╕рдлрд▓ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдмрд╛рдж рдбреЗрдЯрд╛ рднреЗрдЬрдирд╛ рдФрд░ рдкреЛрд░реНрдЯ рдЦреЛрд▓рдирд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
serialportред рд▓рд┐рдЦреЛ ( рд╕рдВрд░рдЪрдирд╛ ред рдкреИрдХ
рдпрд╣ рдХреЛрдб рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкреНрд░рдмрдВрдзрди рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ рдмрдиреЗрдЧрд╛ред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд░рд▓ рдкрд╛рдпрдерди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдХреА рд╕рднреА рдбрд┐рдЧреНрд░реА рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
- рдЖрдпрд╛рдд рд╕рдВрд░рдЪрдирд╛
- рдЖрдпрд╛рдд рдХрд╛ рд╕рдордп
- рдЖрдпрд╛рдд рдЧрдгрд┐рдд
- def send_data ( рдХреНрд░рдо, x, y, z, рд░реЛрд▓, рдкрд┐рдЪ, yaw ) :
- рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХред рд▓рд┐рдЦреЛ ( рд╕рдВрд░рдЪрдирд╛ ред рдкреИрдХ
- def complex_test ( рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ, lenght = 200 , рдЧреБрдгрд╛ = 1000 , рдбреЗрд▓реНрдЯрд╛ = 0.05 , рдард╣рд░рд╛рд╡ = 0.7 ) :
- test_linear ( рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ, рд▓рдореНрдмреА, рд╕рдордп, рдбреЗрд▓реНрдЯрд╛ )
- рд╕рдордп ред рдиреАрдВрдж ( рд╡рд┐рд░рд╛рдо )
- test_yaw ( рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ, рдЬреАрд╡рдВрдд, рд╕рдордп, рдбреЗрд▓реНрдЯрд╛ )
- рд╕рдордп ред рдиреАрдВрдж ( рд╡рд┐рд░рд╛рдо )
- test_angles ( рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ, рд▓рдореНрдмреА, рд╕рдордп, рдбреЗрд▓реНрдЯрд╛ )
- рд╕рдордп ред рдиреАрдВрдж ( рд╡рд┐рд░рд╛рдо )
- def test_linear ( рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ, рд▓рдВрдм = реирежреж рдмрд╛рд░, резрежрежреж , рдбреЗрд▓реНрдЯрд╛ = реж.режрел ) :
- рдХреЛрдг рдореЗрдВ рдХреЛрдг рдХреЗ рд▓рд┐рдП ( 1 , рдмрд╛рд░, 5 ) :
- рдП = рдХреЛрдг * рдЧрдгрд┐рдд ред рдкреА / рез / реж
- send_data ( рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ, int ( lenght * math ред cos ) ( a ) ) , int ( lenght * math ред sin ( a ) ) , 0 , 0 , 0 , 0 )
- рд╕рдордп ред рдиреАрдВрдж ( рдбреЗрд▓реНрдЯрд╛ )
- send_data ( рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ, 0 , 0 , 0 , 0 , 0 , 0 )
- def test_angles ( рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ, lenght = 200 , рдЧреБрдирд╛ = 1000 , рдбреЗрд▓реНрдЯрд╛ = 0.05 ) :
- рдХреЛрдг рдореЗрдВ рдХреЛрдг рдХреЗ рд▓рд┐рдП ( 1 , рдмрд╛рд░, 5 ) :
- рдП = рдХреЛрдг * рдЧрдгрд┐рдд ред рдкреА / рез / реж
- send_data ( 0 , 0 , 0 , 0 , int ( 30 * рдЧрдгрд┐рдд ред cos ) ( a ) , int ( 30 * рдЧрдгрд┐рдд ред sin -a ) )ред
- рд╕рдордп ред рдиреАрдВрдж ( рдбреЗрд▓реНрдЯрд╛ )
- send_data ( рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ, 0 , 0 , 0 , 0 , 0 , 0 )
- def test_yaw ( рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ, рд▓рдВрдм = реирежреж рдмрд╛рд░, резрежрежреж , рдбреЗрд▓реНрдЯрд╛ = реж.режрел ) :
- рдХреЛрдг рдореЗрдВ рдХреЛрдг рдХреЗ рд▓рд┐рдП ( 1 , рдмрд╛рд░, 5 ) :
- рдП = рдХреЛрдг * рдЧрдгрд┐рдд ред рдкреА / рез / реж
- send_data ( рдХреНрд░рдо, int ( lenght * math ред cos ) ( a ) ) , 0 , 0 , int ( 30 * рдЧрдгрд┐рдд ред sin ( a ) ) , 0 , 0
- рд╕рдордп ред рдиреАрдВрдж ( рдбреЗрд▓реНрдЯрд╛ )
- send_data ( рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ, 0 , 0 , 0 , 0 , 0 , 0 )
рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдирд┐рдпрдВрддреНрд░рдг
рдПрдХ "рдЦреБрд╢реА рдХреА рдЫрдбрд╝реА" рд╕реЗ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ PyGame рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдпрд╣ рдореЙрдбреНрдпреВрд▓ SDL рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдкрд╛рдпрдерди рдореЗрдВ рдЦрд┐рд▓реМрдиреЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрдкрдХрд░рдг рд╣реИрдВ, рдФрд░ рдЗрд╕рдореЗрдВ рдЧреЗрдо рдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

рдЬреЙрдпрд╕реНрдЯрд┐рдХ рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг:
рдЖрдпрд╛рдд pygame
# рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдкреИрдорд╛рдирд╛
SCALE = 1000
# Pygame рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди, рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдлрдВрдХреНрд╢рди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
pygameред init ( )
# рдЙрдкрд▓рдмреНрдз рдЙрдкрдХрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
рд░реЗрдВрдЬ рдореЗрдВ jid рдХреЗ рд▓рд┐рдП ( pygameред рдЬреЙрдпрд╕реНрдЯрд┐рдХ ред get_count ( ) ) :
рд╕реНрд╡ ред joysticksComboBox ред addItem ( u '% d% s' % ( jid, pygameред рдЬреЙрдпрд╕реНрдЯрд┐рдХ ред рдЬреЙрдпрд╕реНрдЯрд┐рдХ ( jid ) ред get_name ( ) ) )
# рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯ
self ._joystick = pygameред рдЬреЙрдпрд╕реНрдЯрд┐рдХ ред рдЬреЙрдпрд╕реНрдЯрд┐рдХ ( рд╕реНрд╡ ред рдЬреЙрдпрд╕реНрдЯрд┐рдХреНрд╕рдХреЙрдореНрдм рдмреЙрдХреНрд╕ ред рдХрд░рдВрдЯрдЗрдВрдбреЗрдХреНрд╕ ( ) )
# Pygame рдореЗрдВ рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЕрджреНрдпрддрди рдХрд░реЗрдВ
pygameред рдШрдЯрдирд╛ ред рдкрдВрдк ( )
# рджрд┐рдП рдЧрдП рдЕрдХреНрд╖ рдкрд░ рдЬреЙрдпрд╕реНрдЯрд┐рдХ рд╕реЗ рд╕реНрдерд┐рддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдХреНрд╖ X = 0)
# рдорд╛рди рдХреЛ рдлреНрд▓реЛрдЯ рдХреЗ рд░реВрдк рдореЗрдВ -1 рд╕реЗ 1 рддрдХ рд▓реМрдЯрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ рд╕реНрдХреЗрд▓ рдХрд░рддреЗ рд╣реИрдВ
рд╕реНрд╡ ред get_axis ( 0 ) * SCALE
рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкреНрд░рдмрдВрдзрди рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ PyQt4 рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд▓рд┐рдП рдПрдХ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкрд╣рд▓реЗ рдЗрд╕реЗ рд╢рд╛рдк рдкрд░ рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдмрд▓ рдЗрдЪреНрдЫрд╛ рдереА (рдЬреЛ рд▓рдЧрднрдЧ рд▓рд╛рдЧреВ рд╣реЛ рдЧрдИ рдереА)ред рдЬрдм рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ рдФрд░ рдмреЛрд░реНрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЛрд░реНрдЯ рдЦреБрд▓рд╛ рд╣реИ, рддреЛ рдЯрд╛рдЗрдорд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░, 33 рдПрдордПрд╕ рдХреЗ рдЕрдВрддрд░рд╛рд▓ рдХреЗ рдмрд╛рдж рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдЧреЗрдо рдХрдВрдЯреНрд░реЛрд▓рд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдмреЛрд░реНрдб рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдкреНрд░рдмрдВрдзрди рдХрд╛рд░реНрдпрдХреНрд░рдо рдЗрдВрдЯрд░рдлрд╝реЗрд╕:
рдиреЛрдЯ: рдореИрдВ рддреБрд░рдВрдд рдПрдХ рдЖрд░рдХреНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЬреЙрдпрд╕реНрдЯрд┐рдХ рд╕рд╕реНрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдореЗрдВ рдХрдИ рдореГрдд рдХреНрд╖реЗрддреНрд░ рдФрд░ рдШреГрдгрд┐рдд рд╕рдВрд╡реЗрджрдирд╢реАрд▓рддрд╛ рд╣реИ, рдФрд░ рдордВрдЪ "рддреЗрдЬ" рд╕рд░реНрд╡рд░ рдкрд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдЬрд╛рдо рддреБрд░рдВрдд рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВред
рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдирд┐рдореНрди рд╡реАрдбрд┐рдпреЛ рд╕рд╛рдордиреЗ рдЖрдпрд╛:
рдирд┐рд╖реНрдХрд░реНрд╖
рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдордиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд┐рдПред
- рд╣рдордиреЗ рд▓рд┐рдирдХреНрд╕ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ Arduino рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХреА, рдЬреЛ рдореБрдЭреЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкрд╕рдВрдж рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдЕрднрд╛рд╡ рдерд╛, рдФрд░ рдмреЛрд░реНрдб рдХреЛ рдХрд░реНрдиреЗрд▓ рджреНрд╡рд╛рд░рд╛ рддреБрд░рдВрдд рдЙрдард╛рдпрд╛ рдЧрдпрд╛ рдерд╛ (рд╡рд┐рдВрдбреЛрдЬ рдХреЛ рдПрдХ рдПрдлрдбреАрдбреАрдЖрдИ рдбреНрд░рд╛рдЗрд╡рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)ред
- рд╣рдордиреЗ рд╕реАрдЦрд╛ рдХрд┐ рдкрд╛рдпрдерди рднрд╛рд╖рд╛ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП RS232 рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рдПред рдпрд╣ рдЕрдиреБрднрд╡ рдЖрдкрдХреЛ рдмреЛрд░реНрдб рдХреЗ рд╕рд╛рде рдПрдХреНрд╕рдЪреЗрдВрдЬ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд┐рдирд╛ рдХрд┐рд╕реА рдХрдард┐рдирд╛рдИ рдХреЗ рдмрд┐рдирд╛ рдХрдВрд╕реЛрд▓ рд╕реЗ рдмрд╕ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХреЛрдб рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЖрдк рдЗрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ RS232 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рддреИрдпрд╛рд░ рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред
- рд╣рдордиреЗ рд╕реАрдЦрд╛ рдХрд┐ PyGame рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рдП, рдпрд╣ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╢реБрд░реБрдЖрддреА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рднрд╡рд┐рд╖реНрдп рдХреА рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛рдПрдВ, рдЬрд┐рдирдХреЗ рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгреА рдЕрдХреНрд╕рд░ рдорджрдж рдХрд░ рд╕рдХрддреА рд╣реИ:
- рдореИрдВ рд╕рд░реНрд╡реЛ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рдЖрдВрджреЛрд▓рдиреЛрдВ рдХреЗ рд░реИрдЦрд┐рдХ рд╡рд┐рд░реВрдкрдг рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░реЛрдЯреЗрд╢рди рдХреЗ рд╕рдЯреАрдХ рдХреЛрдг рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рд░реИрдЦрд┐рдХ рдПрдХреНрдЯреНрдпреВрдПрдЯрд░реНрд╕ (рдПрдХреНрдЯреНрдпреВрдПрдЯрд░реНрд╕) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдореМрдЬреВрджрд╛ рд▓реЛрдЧреЛрдВ рдореЗрдВ рд╕реЗ, рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдлреНрд░рд┐рдЧреЗрд▓реА рдПрд▓ 12 рдкрд╛рдпрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рдзреАрдорд╛ рд╣реИ, рдПрдХ рдФрд░ рд╡рд┐рдХрд▓реНрдк рдмреЙрд▓реНрд╕ рдХреНрд░реВрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рдкрд╛рдпрд╛ред
- рдмрд┐рдЬрд▓реА рдЗрдХрд╛рдИ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдХрд┐рд╕реА рдХреЛ рдирдП рдмреЙрд▓ рдмреЗрдпрд░рд┐рдВрдЧ рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреА рд╣реЛрдЧреА, рдЬреЛ рдЕрдм рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рд╡реЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЕрд▓рдЧ рдкреИрдорд╛рдиреЗ рдкрд░ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХрдо рд╣реЛрдВрдЧреЗред
- рдПрдХреНрдЯреНрдпреВрдПрдЯрд░реНрд╕ рд╕реЗ рдлреАрдбрдмреИрдХ рдХреЗ рддрд░реАрдХреЗ, рдФрджреНрдпреЛрдЧрд┐рдХ рд╕реНрд╡рдЪрд╛рд▓рди рдореЗрдВ, рдпрд╣ PID рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕реЗрдВрд╕рд░ рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЫреЛрдЯреЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдмрди рдЧрдпрд╛ред
рдкреБрдирд╢реНрдЪ: рдореИрдВ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдПрдХ рдкреНрд░рд░реНрд╡рддрдХ рдирд╣реАрдВ рд╣реВрдВ, рдореИрдВ рдХрд┐рд╕реА рднреА рд╕реБрдЭрд╛рд╡ рдФрд░ рдЖрд▓реЛрдЪрдирд╛ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рдХрд░рддрд╛ рд╣реВрдВред
рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!