рд╣реЕрд▓реЛ, рд╣реЕрдмреНрд░! рдЖрдореНрд╣реА рдЖрдзреАрдЪ LEGO MINDSTORMS Education EV3 рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рдмрджреНрджрд▓. рдпрд╛ рд╡реНрдпрд╛рд╕рдкреАрдард╛рдЪреА рдореБрдЦреНрдп рдЙрджреНрджрд┐рд╖реНрдЯреЗ рдореНрд╣рдгрдЬреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдгрд╛рдВрджреНрд╡рд╛рд░реЗ рд╢рд┐рдХрдгреЗ, рд╕реНрдЯреАрдо рдХреМрд╢рд▓реНрдпреЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреЗ рдЖрдгрд┐ рдЕрднрд┐рдпрд╛рдВрддреНрд░рд┐рдХреА рдорд╛рдирд╕рд┐рдХрддрд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреЗ. рдореЗрдХреЕрдирд┐рдХреНрд╕ рдЖрдгрд┐ рдбрд╛рдпрдиреЕрдорд┐рдХреНрд╕рдЪрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рдпреЛрдЧрд╢рд╛рд│реЗрдЪреНрдпрд╛ рдХрд╛рдорд╛рд╕рд╛рдареА рдпрд╛рдЪрд╛ рд╡рд╛рдкрд░ рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ. LEGO рд╡рд┐рдЯрд╛рдВрдкрд╛рд╕реВрди рдмрдирд╡рд┐рд▓реЗрд▓реЗ рдкреНрд░рдпреЛрдЧрд╢рд╛рд│реЗрдЪреЗ рдмреЗрдВрдЪ рдЖрдгрд┐ рдбреЗрдЯрд╛ рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧ рдЖрдгрд┐ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧрд╕рд╛рдареА рдЙрдкрдпреБрдХреНрддрддрд╛ рдкреНрд░рдпреЛрдЧрд╛рдВрдирд╛ рдЕрдзрд┐рдХ рдордиреЛрд░рдВрдЬрдХ рдЖрдгрд┐ рджреГрд╢реНрдпрдорд╛рди рдмрдирд╡рддрд╛рдд рдЖрдгрд┐ рдореБрд▓рд╛рдВрдирд╛ рднреМрддрд┐рдХрд╢рд╛рд╕реНрддреНрд░ рдЕрдзрд┐рдХ рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕ рдорджрдд рдХрд░рддрд╛рдд. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╡рд┐рджреНрдпрд╛рд░реНрдереА рдореЗрд▓реНрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдбреЗрдЯрд╛ рд╕рдВрдХрд▓рд┐рдд рдХрд░реВ рд╢рдХрддрд╛рдд рдЖрдгрд┐ рддреЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕреЕрдк рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛рдд рдЖрдгрд┐ рдЖрд▓реЗрдЦрд╛рдордзреНрдпреЗ рд╕рд╛рджрд░ рдХрд░реВ рд╢рдХрддрд╛рдд. рдкрдг рд╣реА рдлрдХреНрдд рд╕реБрд░реБрд╡рд╛рдд рдЖрд╣реЗ: рдЖрдЬ рдЖрдореНрд╣реА рддреБрдореНрд╣рд╛рд▓рд╛ рдпрд╛ рд╕рдВрдЪрд╛рд▓рд╛ рдорд╛рдпрдХреНрд░реЛрдкрд╛рдпрдереЙрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдд рдкреВрд░рдХ рдХрд╕реЗ рдмрдирд╡рд╛рдпрдЪреЗ рдЖрдгрд┐ рд░реЛрдмреЛрдЯрд┐рдХреНрд╕ рд╢рд┐рдХрд╡рдгреНрдпрд╛рд╕рд╛рдареА рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рдпрдЪреЗ рддреЗ рд╕рд╛рдВрдЧреВ.

EV3 рд╡рд╛рдкрд░реВрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╢рд┐рдХрд╛
рдЖрдзреБрдирд┐рдХ рд╢рд╛рд│рдХрд░реА рдореБрд▓реЗ рд░рдВрдЧреАрдд рдкрд░рд┐рдгрд╛рдо рдкрд╛рд╣реВ рдЗрдЪреНрдЫрд┐рддрд╛рдд. рд╣реЛрдп, рдЬрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдордиреЗ рдХрдиреНрд╕реЛрд▓рд╡рд░ рдЕрдВрдХ рдореБрджреНрд░рд┐рдд рдХреЗрд▓реЗ рддрд░ рддреЗ рдХрдВрдЯрд╛рд│рд▓реЗ рдЖрд╣реЗрдд, рдЖрдгрд┐ рддреНрдпрд╛рдВрдирд╛ рд░рдВрдЧ рдЖрд▓реЗрдЦ, рдЖрдХреГрддреНрдпрд╛ рдкрд╣рд╛рдпрдЪреЗ рдЖрд╣реЗрдд рдЖрдгрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд░реЛрдмреЛрдЯ рддрдпрд╛рд░ рдХрд░рд╛рдпрдЪреЗ рдЖрд╣реЗрдд рдЬреЗ рд╣рд▓рд╡рддрд╛рдд рдЖрдгрд┐ рдЖрджреЗрд╢рд╛рдВрдЪреЗ рдкрд╛рд▓рди рдХрд░рддрд╛рдд. рдореБрд▓рд╛рдВрд╕рд╛рдареА рдирд┐рдпрдорд┐рдд рдХреЛрдб рджреЗрдЦреАрд▓ рдЦреВрдк рдХреНрд▓рд┐рд╖реНрдЯ рд╡рд╛рдЯрддреЛ, рддреНрдпрд╛рдореБрд│реЗ рдХрд╛рд╣реАрддрд░реА рд╕реЛрдкреЗ рдХрд░реВрди рд╢рд┐рдХрдгреЗ рд╕реБрд░реВ рдХрд░рдгреЗ рдЪрд╛рдВрдЧрд▓реЗ.
рдореВрд▓рднреВрдд EV3 рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╡рд╛рддрд╛рд╡рд░рдг LabVIEW рдЧреНрд░рд╛рдлрд┐рдХрд▓ рднрд╛рд╖реЗрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗ рдЖрдгрд┐ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рджреГрд╖реНрдпрджреГрд╖реНрдЯреНрдпрд╛ рд░реЛрдмреЛрдЯрд╕рд╛рдареА рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ: рдЖрджреЗрд╢ рдмреНрд▓реЙрдХреНрд╕рдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рд╕рд╛рджрд░ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд рдЬреЗ рдбреНрд░реЕрдЧ рдЖрдгрд┐ рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд.

рдЬреЗрд╡реНрд╣рд╛ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╕реЗ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд рд╣реЗ рджрд░реНрд╢рд╡рд┐рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рддреЗ рддреЗрд╡реНрд╣рд╛ рд╣реА рдкрджреНрдзрдд рдЪрд╛рдВрдЧрд▓реА рдХрд╛рд░реНрдп рдХрд░рддреЗ, рдкрд░рдВрддреБ рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ рдмреНрд▓реЙрдХ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд╕рд╛рдареА рддреА рдпреЛрдЧреНрдп рдирд╛рд╣реА. рдкрд░рд┐рд╕реНрдерд┐рддреА рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛрдд рдЕрд╕рддрд╛рдирд╛, рдХреЛрдбрд╕рд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧрдХрдбреЗ рдЬрд╛рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдкрд░рдВрддреБ рдореБрд▓рд╛рдВрд╕рд╛рдареА рд╣реЗ рдкрд╛рдКрд▓ рдЙрдЪрд▓рдгреЗ рдХрдареАрдг рдЖрд╣реЗ.
рдпреЗрдереЗ рдХрд╛рд╣реА рдпреБрдХреНрддреНрдпрд╛ рдЖрд╣реЗрдд, рддреНрдпрд╛рдкреИрдХреА рдПрдХ рдореНрд╣рдгрдЬреЗ рдХреЛрдб рдмреНрд▓реЙрдХреНрд╕ рдкреНрд░рдорд╛рдгреЗрдЪ рдХрд╛рд░реНрдп рдХрд░рддреЛ рд╣реЗ рджрд╛рдЦрд╡рдгреЗ. EV3 рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдд, рд╣реЗ рдорд╛рдпрдХреНрд░реЛрдкрд╛рдпрдереЙрди рдЗрдВрдЯрд┐рдЧреНрд░реЗрд╢рдирджреНрд╡рд╛рд░реЗ рд╢рдХреНрдп рдЖрд╣реЗ, рддреНрдпрд╛рдореБрд│реЗ рдореБрд▓реЗ рдорд╛рдпрдХреНрд░реЛрд╕реЙрдлреНрдЯрдЪреНрдпрд╛ рд╡реНрд╣рд┐рдЬреНрдпреБрдЕрд▓ рд╕реНрдЯреБрдбрд┐рдУ рдХреЛрдбрдордзреАрд▓ рдореВрд▓рднреВрдд рдмреНрд▓реЙрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╡рд╛рддрд╛рд╡рд░рдг рдЖрдгрд┐ рдкрд╛рдпрдерди рдпрд╛ рджреЛрдиреНрд╣реАрдордзреНрдпреЗ рд╕рдорд╛рди рдкреНрд░реЛрдЧреНрд░рд╛рдо рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛рдд. рддреЗ рдкрд╛рд╣рддрд╛рдд рдХреА рджреЛрдиреНрд╣реА рдкрджреНрдзрддреА рд╕рдорд╛рди рдХрд╛рд░реНрдп рдХрд░рддрд╛рдд, рдкрд░рдВрддреБ рдХреЛрдб рд╡рд╛рдкрд░реВрди рдЬрдЯрд┐рд▓ рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рдгреЗ рдЕрдзрд┐рдХ рд╕реЛрдпреАрдЪреЗ рдЖрд╣реЗ.
MicroPython рд╡рд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдд рдЖрд╣реЗ
EV3 рд╡рд╛рддрд╛рд╡рд░рдг ARM9 рдкреНрд░реЛрд╕реЗрд╕рд░рд╡рд░ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдиреА рдЬрд╛рдгреВрдирдмреБрдЬреВрди рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдЙрдШрдбреЗ рдареЗрд╡рд▓реЗ рдЖрд╣реЗ. рдпрд╛ рд╕реЛрд▓реНрдпреВрд╢рдирдореБрд│реЗ рдкрд░реНрдпрд╛рдпреА рдлрд░реНрдорд╡реЗрдЕрд░ рд░реЛрд▓ рдЖрдЙрдЯ рдХрд░рдгреЗ рд╢рдХреНрдп рдЭрд╛рд▓реЗ, рдЬреНрдпрд╛рдкреИрдХреА рдПрдХ рдорд╛рдпрдХреНрд░реЛрдкрд╛рдпрдереЙрдирд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рддрд┐рдорд╛ рд╣реЛрддреА. рд╣реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рддреБрдордЪреЗ EV3 рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкрд╛рдпрдерди рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ, рдХрд┐рдЯрд▓рд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рдирд╛рддреАрд▓ рдХрд╛рд░реНрдпрд╛рдВрдЪреНрдпрд╛ рдЕрдЧрджреА рдЬрд╡рд│ рдЖрдгрддреЗ.
рдкреНрд░рд╛рд░рдВрдн рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдХреЛрдгрддреНрдпрд╛рд╣реА рдорд╛рдпрдХреНрд░реЛрдПрд╕рдбреА рдХрд╛рд░реНрдбрд╡рд░, рддреЗ EV3 рдорд╛рдпрдХреНрд░реЛрдХреЙрдореНрдкреНрдпреБрдЯрд░рдордзреНрдпреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛ рдЖрдгрд┐ рддреЗ рдЪрд╛рд▓реВ рдХрд░рд╛. рдордЧ рдЖрдкрдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рд╡реНрд╣рд┐рдЬреНрдпреБрдЕрд▓ рд╕реНрдЯреБрдбрд┐рдУрд╕рд╛рдареА. рдЖрдгрд┐ рдЖрдкрдг рдХрд╛рдо рд╕реБрд░реВ рдХрд░реВ рд╢рдХрддрд╛.
MycroPython рдордзреНрдпреЗ рдкрд╣рд┐рд▓рд╛ рд░реЛрдмреЛрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ

рдЖрдордЪреНрдпрд╛ рд╡рд░ рд░реЛрдмреЛрдЯрд┐рдХреНрд╕рдЪреНрдпрд╛ рдореВрд▓рднреВрдд рд╕рдВрдХрд▓реНрдкрдирд╛рдВрд╡рд░ рдкреНрд░рднреБрддреНрд╡ рдорд┐рд│рд╡рдгреНрдпрд╛рд╕рд╛рдареА рдЕрдиреЗрдХ рдзрдбреЗ рдЖрд╣реЗрдд. EV3 рдореЙрдбреЗрд▓реНрд╕ рдореБрд▓рд╛рдВрдирд╛ рдореВрд▓рднреВрдд рдЧреЛрд╖реНрдЯреАрдВрдЪреА рдУрд│рдЦ рдХрд░реВрди рджреЗрддрд╛рдд рдЬреА рд╕реНрд╡-рдбреНрд░рд╛рдпрд╡реНрд╣рд┐рдВрдЧ рдХрд╛рд░, рдлреЕрдХреНрдЯрд░реА рдЕрд╕реЗрдВрдмрд▓реА рд░реЛрдмреЛрдЯреНрд╕ рдЖрдгрд┐ CNC рдорд╢реАрдирдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддрд╛рдд.
рдЖрдореНрд╣реА рдбреНрд░реЙрдИрдВрдЧ рдорд╢реАрдирдЪреЗ рдЙрджрд╛рд╣рд░рдг рдШреЗрдК, рдЬреНрдпрд╛рд▓рд╛ рдирдореБрдиреЗ рдЖрдгрд┐ рднреМрдорд┐рддрд┐рдХ рдЖрдХрд╛рд░ рдХрд╛рдврдгреНрдпрд╛рд╕ рд╢рд┐рдХрд╡рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. рд╣реЗ рдкреНрд░рдХрд░рдг рдкреНрд░реМрдв рд╡реЗрд▓реНрдбрд┐рдВрдЧ рдХрд┐рдВрд╡рд╛ рдорд┐рд▓рд┐рдВрдЧ рд░реЛрдмреЛрдЯреНрд╕рдЪреА рдПрдХ рд╕рд░рд▓реАрдХреГрдд рдЖрд╡реГрддреНрддреА рдЖрд╣реЗ рдЖрдгрд┐ рд╢рд╛рд│рдХрд░реА рдореБрд▓рд╛рдВрдирд╛ рд╢рд┐рдХрд╡рдгреНрдпрд╛рд╕рд╛рдареА рдорд╛рдпрдХреНрд░реЛрдкрд╛рдпрдереЙрдирдЪреНрдпрд╛ рд╕рдВрдпреЛрдЧрд╛рдиреЗ EV3 рдХрд╕реЗ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ рд╣реЗ рджрд░реНрд╢рд╡рд┐рддреЗ. рдЖрдгрд┐ рдбреНрд░реЙрдЗрдВрдЧ рдорд╢реАрди рд╡рдбрд┐рд▓рд╛рдВрд╕рд╛рдареА рдореБрджреНрд░рд┐рдд рд╕рд░реНрдХрд┐рдЯ рдмреЛрд░реНрдбрдордзреНрдпреЗ рдЫрд┐рджреНрд░реЗ рдЪрд┐рдиреНрд╣рд╛рдВрдХрд┐рдд рдХрд░реВ рд╢рдХрддреЗ, рдкрд░рдВрддреБ рд╣реЗ рдЖрдгрдЦреА рдПрдХ рд╕реНрддрд░ рдЖрд╣реЗ рдЬреНрдпрд╛рд╕рд╛рдареА рдЧрдгрд┐рдд рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
рдХрд╛рдорд╛рд╕рд╛рдареА рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ:
- LEGO MINDSTORMS Education EV3 рдХреЛрд░ рд╕реЗрдЯ;
- рдЪреЗрдХрд░реНрдб рдкреЗрдкрд░рдЪреА рдореЛрдареА рд╢реАрдЯ;
- рд░рдВрдЧреАрдд рдорд╛рд░реНрдХрд░.
рд░реЛрдмреЛрдЯрдЪреА рдЕрд╕реЗрдВрдмреНрд▓реА рд╕реНрд╡рддрдГрдордзреНрдпреЗ рдЖрд╣реЗ , рдЖрдгрд┐ рдЖрдкрдг рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЙрджрд╛рд╣рд░рдг рдкрд╛рд╣реВ.
рдкреНрд░рдердо рдЖрдореНрд╣реА EV3 рдореЙрдбреНрдпреВрд▓ рд▓рд╛рдпрдмреНрд░рд░реА рд╕реБрд░реВ рдХрд░рддреЛ:
#!/usr/bin/env pybricks-micropython
from pybricks import ev3brick as brick
from pybricks.ev3devices import (Motor, TouchSensor, ColorSensor, GyroSensor)
from pybricks.parameters import Port, Stop, Direction, Color, ImageFile
from pybricks.tools import wait
рдЖрдореНрд╣реА рдПрдХ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рд╕реЗрдЯ рдХрд░рддреЛ рдЬреЛ рдкреЛрд░реНрдЯ рдмреА рдордзреНрдпреЗ рдореЛрдЯрд░рдкреНрд░рдорд╛рдгреЗ рд╣рдБрдбрд▓ рдлрд┐рд░рд╡рддреЛ. рдЖрдореНрд╣реА рджреЛрди-рд╕реНрдЯреЗрдЬ рдЧрд┐рдпрд░ рдЯреНрд░реЗрдирдЪрд╛ рдЧреАрдЕрд░ рд░реЗрд╢реЛ рдЕрдиреБрдХреНрд░рдореЗ 20-12-28 рджрд╛рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕реЗрдЯ рдХрд░рддреЛ.
turntable_motor = Motor(Port.B, Direction.CLOCKWISE, [20, 12, 28])
рдЖрдореНрд╣реА рдкреЛрд░реНрдЯ рд╕реА рдордзреАрд▓ рдореЛрдЯрд░ рдореНрд╣рдгреВрди рд╣рдБрдбрд▓рд╕рд╛рдареА рдЙрдЪрд▓рдгреНрдпрд╛рдЪреА рдпрдВрддреНрд░рдгрд╛ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рддреЛ:
seesaw_motor = Motor(Port.C)
рдЖрдореНрд╣реА рдкреЛрд░реНрдЯ 2 рдордзреНрдпреЗ рд╣рдБрдбрд▓рдЪреНрдпрд╛ рдЭреБрдХрд╛рд╡рдЪреНрдпрд╛ рдХреЛрдирд╛рдЪреЗ рдореЛрдЬрдорд╛рдк рдХрд░рдгрд╛рд░рд╛ рдЬрд╛рдпрд░реЛрд╕реНрдХреЛрдк рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рддреЛ:
gyro_sensor = GyroSensor(Port.S2)
рдЖрдореНрд╣реА рдкреЛрд░реНрдЯ 3 рдордзреНрдпреЗ рдХрд▓рд░ рд╕реЗрдиреНрд╕рд░ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рддреЛ. рдбреНрд░реЙрдИрдВрдЧ рдорд╢реАрдирдЪреНрдпрд╛ рдЦрд╛рд▓реА рдкрд╛рдВрдврд░рд╛ рдХрд╛рдЧрдж рд╢реЛрдзрдгреНрдпрд╛рд╕рд╛рдареА рд╕реЗрдиреНрд╕рд░рдЪрд╛ рд╡рд╛рдкрд░ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ:
color_sensor = ColorSensor(Port.S3)
рдЖрдореНрд╣реА рдкреЛрд░реНрдЯ 4 рдордзреНрдпреЗ рдЯрдЪ рд╕реЗрдиреНрд╕рд░ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рддреЛ. рдЬреЗрд╡реНрд╣рд╛ рд╕реЗрдиреНрд╕рд░ рджрд╛рдмрд▓рд╛ рдЬрд╛рддреЛ рддреЗрд╡реНрд╣рд╛ рд░реЛрдмреЛрдЯ рд░реЗрдЦрд╛рдВрдХрди рд╕реБрд░реВ рдХрд░рддреЛ:
touch_sensor = TouchSensor(Port.S4)
рдЖрдореНрд╣реА рд╣рдБрдбрд▓ рд╡рд╛рдврд╡рдгрд╛рд░реА рдЖрдгрд┐ рдХрдореА рдХрд░рдгрд╛рд░реА рдлрдВрдХреНрд╢рдиреНрд╕ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЛ:
def pen_holder_raise():
seesaw_motor.run_target(50, 25, Stop.HOLD)
wait(1000)
def pen_holder_lower():
seesaw_motor.run_target(50, 0, Stop.HOLD)
wait(1000)
рд╣рдБрдбрд▓рд▓рд╛ рджрд┐рд▓реЗрд▓реНрдпрд╛ рдХреЛрдирд╛рдд рдХрд┐рдВрд╡рд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЛрдирд╛рдд рдлрд┐рд░рд╡рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА рдлрдВрдХреНрд╢рди рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЛ:
def pen_holder_turn_to(target_angle):
if target_angle > gyro_sensor.angle():
рд▓рдХреНрд╖реНрдп рдХреЛрди рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ рдЧрд╛рдпрд░реЛ рд╕реЗрдиреНрд╕рд░ рдХреЛрдирд╛рдкреЗрдХреНрд╖рд╛ рдореЛрдард╛ рдЕрд╕рд▓реНрдпрд╛рд╕, рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╡реЗрдЧрд╛рдиреЗ рдШрдбреНрдпрд╛рд│рд╛рдЪреНрдпрд╛ рджрд┐рд╢реЗрдиреЗ рд╕реБрд░реВ рдареЗрд╡рд╛:
turntable_motor.run(70)
while gyro_sensor.angle() < target_angle:
pass
elif target_angle < gyro_sensor.angle():
рд▓рдХреНрд╖реНрдп рдХреЛрди рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ рдЧрд╛рдпрд░реЛ рд╕реЗрдиреНрд╕рд░рдкреЗрдХреНрд╖рд╛ рдХрдореА рдЕрд╕рд▓реНрдпрд╛рд╕, рдШрдбреНрдпрд╛рд│рд╛рдЪреНрдпрд╛ рдЙрд▓рдЯ рджрд┐рд╢реЗрдиреЗ рд╣рд▓рд╡рд╛:
turntable_motor.run(-70)
while gyro_sensor.angle() > target_angle:
pass
рд▓рдХреНрд╖реНрдп рдХреЛрди рдЧрд╛рдард▓реНрдпрд╛рд╡рд░ рдлрд┐рд░рдгрд╛рд░рд╛ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рдерд╛рдВрдмрд╡рд╛:
turntable_motor.stop(Stop.BRAKE)
рд╡рд░рдЪреНрдпрд╛ рд╕реНрдерд┐рддреАрдд рд╣рдБрдбрд▓рдЪреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддреА рд╕реЗрдЯ рдХрд░рд╛:
pen_holder_raise()
рдЖрддрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдордЪрд╛ рдореБрдЦреНрдп рднрд╛рдЧ рдпреЗрддреЛ - рдПрдХ рдЕрдВрддрд╣реАрди рд▓реВрдк. EV3 рдкреНрд░рдердо рдкрд╛рдВрдврд░рд╛ рдХрд╛рдЧрдж рдХрд┐рдВрд╡рд╛ рдирд┐рд│рд╛ рд╕реНрдЯрд╛рд░реНрдЯ рд╕реНрдХреНрд╡реЗрдЕрд░ рд╢реЛрдзрдгреНрдпрд╛рд╕рд╛рдареА рдХрд▓рд░ рд╕реЗрдиреНрд╕рд░рдЪреА рдЖрдгрд┐ рдЯрдЪ рд╕реЗрдиреНрд╕рд░ рджрд╛рдмрдгреНрдпрд╛рдЪреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ. рдордЧ рддреЛ рдПрдХ рдирдореБрдирд╛ рдХрд╛рдврддреЛ, рд╕реБрд░реБрд╡рд╛рддреАрдЪреНрдпрд╛ рд╕реНрдерд┐рддреАрдХрдбреЗ рдкрд░рдд рдпреЗрддреЛ рдЖрдгрд┐ рд╕рд░реНрд╡рдХрд╛рд╣реА рдкреБрдиреНрд╣рд╛ рдХрд░рддреЛ.
рдЬреЗрд╡реНрд╣рд╛ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рддрдпрд╛рд░ рдирд╕рддреЗ, рддреЗрд╡реНрд╣рд╛ рдХрдВрдЯреНрд░реЛрд▓рд░рд╡рд░реАрд▓ рдПрд▓рдИрдбреА рд▓рд╛рд▓ рд╣реЛрддрд╛рдд рдЖрдгрд┐ рдПрд▓рд╕реАрдбреА рд╕реНрдХреНрд░реАрдирд╡рд░ "рдердВрдмреНрд╕ рдбрд╛рдЙрди" рдкреНрд░рддрд┐рдорд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреЗ:
while True:
brick.light(Color.RED)
brick.display.image(ImageFile.THUMBS_DOWN)
рдЖрдореНрд╣реА рдХрд▓рд░ рд╕реЗрдиреНрд╕рд░ рдирд┐рд│рд╛ рдХрд┐рдВрд╡рд╛ рдкрд╛рдВрдврд░рд╛ рдореЛрдЬреЗрдкрд░реНрдпрдВрдд рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЛ, рдПрд▓рдИрдбреА рд░рдВрдЧ рд╣рд┐рд░рд╡рд╛ рд╕реЗрдЯ рдХрд░рддреЛ, рдПрд▓рд╕реАрдбреА рд╕реНрдХреНрд░реАрдирд╡рд░ тАЬрдердореНрдмреНрд╕ рдЕрдктАЭ рдкреНрд░рддрд┐рдорд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЛ рдЖрдгрд┐ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рд╡рд╛рдкрд░рд╛рд╕рд╛рдареА рддрдпрд╛рд░ рдЕрд╕рд▓реНрдпрд╛рдЪреА рддрдХреНрд░рд╛рд░ рдХрд░рддреЛ:
while color_sensor.color() not in (Color.BLUE, Color.WHITE):
wait(10)
brick.light(Color.GREEN)
brick.display.image(ImageFile.THUMBS_UP)
рдЖрдореНрд╣реА рдЯрдЪ рд╕реЗрдиреНрд╕рд░ рджрд╛рдмрдгреНрдпрд╛рдЪреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЛ, рдХреЛрди рдореВрд▓реНрдп 0 рдЬрд╛рдпрд░реЛрд╕реНрдХреЛрдкрд┐рдХ рд╕реЗрдиреНрд╕рд░рд▓рд╛ рдирд┐рдпреБрдХреНрдд рдХрд░рддреЛ рдЖрдгрд┐ рд░реЗрдЦрд╛рдВрдХрди рд╕реБрд░реВ рдХрд░рддреЛ:
while not touch_sensor.pressed():
wait(10)
gyro_sensor.reset_angle(0)
pen_holder_turn_to(15)
pen_holder_lower()
pen_holder_turn_to(30)
pen_holder_raise()
pen_holder_turn_to(45)
pen_holder_lower()
pen_holder_turn_to(60)
рдкреЗрди рд╣реЛрд▓реНрдбрд░ рд╡рд░ рдХрд░рд╛ рдЖрдгрд┐ рддреНрдпрд╛рд╕ рддреНрдпрд╛рдЪреНрдпрд╛ рдореВрд│ рд╕реНрдерд┐рддреАрдд рдкрд░рдд рдХрд░рд╛:
pen_holder_raise()
pen_holder_turn_to(0)</i>
рд╣рд╛ рдЖрдореНрд╣реА рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓рд╛ рд╕рд╛рдзрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЖрд╣реЗ. рдЖрдгрд┐ рдЖрддрд╛ рдЖрдореНрд╣реА рддреЗ рд▓рд╛рдБрдЪ рдХрд░рддреЛ рдЖрдгрд┐ рдорд╕реБрджрд╛ рддрдпрд╛рд░ рдХрд░рдгрд╛рд░рд╛ рд░реЛрдмреЛрдЯ рдХреГрддреАрдд рдкрд╛рд╣реВ.
рдЕрд╢реА рдЙрджрд╛рд╣рд░рдгреЗ рдХрд╛рдп рджреЗрддрд╛рдд?

EV3 рд╣реЗ STEM рдХрд░рд┐рдЕрд░рд╕рд╛рдареА рдХрд░рд┐рдЕрд░ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рд╕рд╛рдзрди рдЖрд╣реЗ рдЖрдгрд┐ рдЕрднрд┐рдпрд╛рдВрддреНрд░рд┐рдХреА рдХрд░рд┐рдЕрд░рдордзреАрд▓ рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреВ рдЖрд╣реЗ. рдпрд╛рдЪрд╛ рдЙрдкрдпреЛрдЧ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рдгреНрдпрд╛рд╕рд╛рдареА рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ, рдореБрд▓реЗ рддрд╛рдВрддреНрд░рд┐рдХ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдФрджреНрдпреЛрдЧрд┐рдХ рд░реЛрдмреЛрдЯ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдЕрдиреБрднрд╡ рдШреЗрддрд╛рдд, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рд╕реНрдерд┐рддреАрдЪреЗ рдЕрдиреБрдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕ рд╢рд┐рдХрддрд╛рдд, рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕рдордЬреВрди рдШреЗрддрд╛рдд рдЖрдгрд┐ рдЕрд▓реНрдЧреЛрд░рд┐рджрдордЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛рдд рдЖрдгрд┐ рдореВрд▓рднреВрдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд░рдЪрдирд╛рдВрдордзреНрдпреЗ рдорд╛рд╕реНрдЯрд░ рдХрд░рддрд╛рдд.
MicroPython рд╕рдорд░реНрдерди EV3 рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд▓рд╛ рд╣рд╛рдпрд╕реНрдХреВрд▓ рд╢рд┐рдХрд╡рдгреНрдпрд╛рд╕рд╛рдареА рдпреЛрдЧреНрдп рдмрдирд╡рддреЗ. рд╡рд┐рджреНрдпрд╛рд░реНрдереА рд╕рд░реНрд╡рд╛рдд рд▓реЛрдХрдкреНрд░рд┐рдп рдЖрдзреБрдирд┐рдХ рднрд╛рд╖реЗрддреАрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдореНрд╣рдгреВрди рд╕реНрд╡рддрдГрдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реВ рд╢рдХрддрд╛рдд рдЖрдгрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЖрдгрд┐ рдЕрднрд┐рдпрд╛рдВрддреНрд░рд┐рдХреА рдбрд┐рдЭрд╛рдЗрдирд╢реА рд╕рдВрдмрдВрдзрд┐рдд рд╡реНрдпрд╡рд╕рд╛рдпрд╛рдВрд╢реА рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдК рд╢рдХрддрд╛рдд. EV3 рдХрд┐рдЯ рджрд╛рдЦрд╡рддрд╛рдд рдХреА рдХреЛрдбреАрдВрдЧ рднрдпрд╛рд╡рд╣ рдирд╛рд╣реА, рддреБрдореНрд╣рд╛рд▓рд╛ рдЧрдВрднреАрд░ рдЕрднрд┐рдпрд╛рдВрддреНрд░рд┐рдХреА рдЖрд╡реНрд╣рд╛рдирд╛рдВрд╕рд╛рдареА рддрдпрд╛рд░ рдХрд░рддрд╛рдд рдЖрдгрд┐ рддрд╛рдВрддреНрд░рд┐рдХ рдХреМрд╢рд▓реНрдпрд╛рдВрдордзреНрдпреЗ рдкреНрд░рд╛рд╡рд┐рдгреНрдп рдорд┐рд│рд╡рдгреНрдпрд╛рдЪреНрдпрд╛ рджрд┐рд╢реЗрдиреЗ рдкрд╣рд┐рд▓реЗ рдкрд╛рдКрд▓ рдЙрдЪрд▓рдгреНрдпрд╛рдд рдорджрдд рдХрд░рддрд╛рдд. рдЖрдгрд┐ рдЬреЗ рд╢рд╛рд│рд╛рдВрдордзреНрдпреЗ рдХрд╛рдо рдХрд░рддрд╛рдд рдЖрдгрд┐ рд╢рд┐рдХреНрд╖рдгрд╛рд╢реА рдирд┐рдЧрдбреАрдд рдЖрд╣реЗрдд рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА рддрдпрд╛рд░реА рдХреЗрд▓реА рдЖрд╣реЗ рдЖрдгрд┐ рд╢реИрдХреНрд╖рдгрд┐рдХ рд╕рд╛рд╣рд┐рддреНрдп. рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпреЗ рдХрд░рддрд╛рдирд╛ рдХреЛрдгрддреА рдХреМрд╢рд▓реНрдпреЗ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реА рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рдкреНрд░рд╛рдкреНрдд рдХреЗрд▓реЗрд▓реА рдХреМрд╢рд▓реНрдпреЗ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдорд╛рдирдХрд╛рдВрд╢реА рдХрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЖрд╣реЗрдд рд╣реЗ рддреЗ рддрдкрд╢реАрд▓рд╡рд╛рд░ рд╡рд░реНрдгрди рдХрд░рддрд╛рдд.
рд╕реНрддреНрд░реЛрдд: www.habr.com
