рдЦрд░реЛрдВрдЪ рд╕реЗ рд╣реЗрдХреНрд╕рд╛рдкреЙрдб рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ (рднрд╛рдЧ 4) - рдЧрдгрд┐рдд рдкреНрд░рдХреНрд╖реЗрдкрд╡рдХреНрд░ рдФрд░ рдЕрдиреБрдХреНрд░рдо


рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░! рд╣реЗрдХреНрд╕рд╛рдкреЙрдб рд╡рд┐рдХрд╛рд╕ рдПрдХ рдХрджрдо рдЖрдЧреЗ рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдмрд╛рд░, рдЕрдВрдЧ рдЖрдВрджреЛрд▓рди рдХреЗ рдкреНрд░рдХреНрд╖реЗрдкрд╡рдХреНрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдЧрдП рд╣реИрдВ - рдЖрдВрджреЛрд▓рди рдХреЗ рдЧрдгрд┐рдд рдХрд╛ рдЕрдЧрд▓рд╛ рднрд╛рдЧред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЗрди рдкреНрд░рдХреНрд╖реЗрдк рдкрде рдФрд░ рдЖрдВрджреЛрд▓рди рдХреЗ рд▓рд┐рдП рдмреБрдирд┐рдпрд╛рджреА рдЕрдиреБрдХреНрд░рдореЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ред

рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЪрд░рдг:
рднрд╛рдЧ 1 - рдбрд┐рдЬрд╝рд╛рдЗрди
рднрд╛рдЧ 2 - рд╡рд┐рдзрд╛рдирд╕рднрд╛
рднрд╛рдЧ 3 - рдХрд┐рдиреЗрдореИрдЯрд┐рдХреНрд╕
рднрд╛рдЧ 4 - рдЧрдгрд┐рдд рдХреЗ рд╡рд┐рд╖рдп рдФрд░ рдХреНрд░рдо
рднрд╛рдЧ 5 - рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХреНрд╕
рднрд╛рдЧ 6 - 3 рдбреА рдкреНрд░рд┐рдВрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреНрд░рдордг
рднрд╛рдЧ 7 - рдирдП рдЖрд╡рд╛рд╕, рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдФрд░ рд╕рдВрдЪрд╛рд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓

рдЯреНрд░реЗрдЬреЗрдХрдЯреЛрд░реАрдЬрд╝


рдЗрд╕ рддрдВрддреНрд░ рдХрд╛ рд╕рд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рджреЛ рдмрд┐рдВрджреБ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдВрдЧ рдХреЗ рдкреНрд░рдХреНрд╖реЗрдкрд╡рдХреНрд░ рдХреЛ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдмрд┐рдВрджреБ рд╕реЗ рджреВрд╕рд░реЗ рдмрд┐рдВрджреБ рдкрд░ рдЬрд╛рдиреЗ рдкрд░, рдХреБрдЫ рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ рд╕рдореАрдХрд░рдгреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛ред рддрдВрддреНрд░ рдХрд╛рдлреА рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдирд┐рдХрд▓рд╛ рдФрд░ рдЖрдкрдХреЛ рдЖрдВрджреЛрд▓рди рдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рдШрдЯрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рдЯреА рдХреЗ рдЪрд░рдг рдХреЛ рдмрджрд▓рдХрд░ рдЖрдВрджреЛрд▓рдиреЛрдВ рдХреЛ рдЪреМрд░рд╕рд╛рдИ рдХрд░рдирд╛ рднреА рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ - рдЫреЛрдЯрд╛ рдХрджрдо, рдЕрдзрд┐рдХ рдордзреНрдпрд╡рд░реНрддреА рдмрд┐рдВрджреБ рд╣реЛрдВрдЧреЗ, рдЧрддрд┐ рдХрдо рдФрд░ рдЖрдВрджреЛрд▓рди рдХреА рдЪрд┐рдХрдирд╛рдИ рдЕрдзрд┐рдХ рд╣реЛрдЧреАред

рдХреБрдЫ рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдкреНрд░рдХреНрд╖реЗрдкрд╡рдХреНрд░ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдереЛрдбрд╝реА рд╕рдордЭ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИ рдФрд░ рдЖрдк рдЗрд╕рдореЗрдВ рднреНрд░рдорд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдХрдард┐рдирд╛рдИ рдЗрд╕ рддрдереНрдп рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИ рдХрд┐ рдкреНрд░рд╛рд░рдВрдн рдФрд░ рдЕрдВрдд рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╕реЗрдЯ рдХрд░рддреЗ рд╕рдордп, рдЕрдВрддрд░рд┐рдХреНрд╖ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╣рдореЗрд╢рд╛ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреНред рдХреБрдЫ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдкреНрд░рдХреНрд╖реЗрдкрд╡рдХреНрд░ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдореБрдЭреЗ рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рдЦрдирд╛ рдерд╛ рдЬреЛ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдорд╛рд░реНрдЧ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рд╛рде рд╣реА рдкрде рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рдВрджреБ рдХреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреА рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИред

рдбреНрд░рд╛рдЗрд╡рд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЧрддрд┐ рдкрдереЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ:

  1. XYZ_LINAR рд╕рднреА рдкреНрд░рдХреНрд╖реЗрдкрд╡рдХреНрд░реЛрдВ рдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╣реИред рдЖрдЧреЗ, рдкреАрдЫреЗ, рдКрдкрд░ рдФрд░ рдиреАрдЪреЗ рдЪрд▓рддреЗ рд╕рдордп рдкреНрд░рдХреНрд╖реЗрдкрд╡рдХреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рднреА рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд░реИрдЦрд┐рдХ рд░реВрдк рд╕реЗ рдмрджрд▓рддреЗ рд╣реИрдВ рдФрд░ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ:

    x = t * (x1 - x0) / 180.0f + x0; y = t * (y1 - y0) / 180.0f + y0; z = t * (z1 - z0) / 180.0f + z0; 

    рдпрд╣рд╛рдВ рд╣рдо рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╕рдорд╛рдВрддрд░ рдЪрддреБрд░реНрднреБрдЬ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╡реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗ рд╕рд╛рде рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВред рдЖрдВрджреЛрд▓рди рдмреЙрдХреНрд╕ рдХреЗ рд╡рд┐рдХрд░реНрдг рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИред

    рдкреНрд░рдХреНрд╖реЗрдкрд╡рдХреНрд░ рджреГрд╢реНрдп




  2. YZ_ARC_Y_LINEAR - рдпрд╣ рдкреНрд░рдХреНрд╖реЗрдкрд╡рдХреНрд░ рдЖрдкрдХреЛ рдПрдХ рдЖрд░реНрдХ рдХреЗ рд╕рд╛рде рдЖрдВрджреЛрд▓рди рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдореБрдбрд╝рдиреЗ рдкрд░ рдкреНрд░рдХреНрд╖реЗрдкрд╡рдХреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдм рдЖрдкрдХреЛ рдЬрдореАрди рдкрд░ рдПрдХ рдЕрдВрдЧ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреА рдЧрдгрдирд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХреА рдЬрд╛рддреА рд╣реИ:

     float R = sqrt(x0 * x0 + z0 * z0); float atan0 = RAD_TO_DEG(atan2(x0, z0)); float atan1 = RAD_TO_DEG(atan2(x1, z1)); float t_mapped_rad = DEG_TO_RAD(t * (atan1 - atan0) / 180.0f + atan0); x = R * sin(t_mapped_rad); // Circle Y y = t * (y1 - y0) / 180.0f + y0; z = R * cos(t_mapped_rad); // Circle X 

    рдпрд╣реАрдВ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ рдорд╕реНрддреАред рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдЪрд╛рдк рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд░рдгреЛрдВ рдХреА рджрд┐рд╢рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╡реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗ рд╕рд╛рде рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреЗ рд╣реИрдВред рдХрд┐рд░рдгреЗрдВ рдПрдХ рд╣реА рд╕рдорддрд▓ рдореЗрдВ рд╣реЛрддреА рд╣реИрдВ, рдЬрдмрдХрд┐ рд╡реГрддреНрдд рдХреА рддреНрд░рд┐рдЬреНрдпрд╛ рд╡реЗрдХреНрдЯрд░ рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдмрд┐рдВрджреБ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрддреА рд╣реИред

    рдкреНрд░рдХреНрд╖реЗрдкрд╡рдХреНрд░ рджреГрд╢реНрдп




  3. XZ_ARC_Y_SINUS - рдпрд╣ рдкреНрд░рдХреНрд╖реЗрдкрд╡рдХреНрд░ рдЖрдкрдХреЛ рдПрдХ рдЪрд╛рдк рдХреЗ рд╕рд╛рде рдЧрддрд┐ рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди YZ_ARC_Y_LINEAR рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИред рдкреНрд░рдХреНрд╖реЗрдкрд╡рдХреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдореЛрдбрд╝рддреЗ рд╕рдордп рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдм рдЖрдкрдХреЛ рд╣рд╡рд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдЕрдВрдЧ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреА рдЧрдгрдирд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХреА рдЬрд╛рддреА рд╣реИ:

     float R = sqrt(x0 * x0 + z0 * z0); float atan0 = RAD_TO_DEG(atan2(x0, z0)); float atan1 = RAD_TO_DEG(atan2(x1, z1)); float t_mapped_rad = DEG_TO_RAD(t * (atan1 - atan0) / 180.0f + atan0); x = R * sin(t_mapped_rad); // circle Y y = (y1 - y0) * sin(DEG_TO_RAD(t)) + y0; z = R * cos(t_mapped_rad); // circle X 

    рдорд╕реНрддреА рдЬрд╛рд░реА рд╣реИред рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рднреА рдЪрд╛рдк рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд░рдгреЛрдВ рдХреА рджрд┐рд╢рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗ рд╕рд╛рде рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреЗ рд╣реИрдВред рд▓рдХреНрд╖реНрдп рдмрд┐рдВрджреБ рдХрд╛ Y рд╕рдордиреНрд╡рдп рд╕рд╛рдЗрди рдХреА рдКрдВрдЪрд╛рдИ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред

    рдкреНрд░рдХреНрд╖реЗрдкрд╡рдХреНрд░ рджреГрд╢реНрдп


  4. XZ_ELLIPTICAL_Y_SINUS - рдпрд╣ рдкреНрд░рдХреНрд╖реЗрдкрд╡рдХреНрд░ рдЖрдкрдХреЛ рдПрдХ рджреАрд░реНрдШрд╡реГрддреНрдд рдХреЗ рд╕рд╛рде рдЧрддрд┐ рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЖрдЧреЗ рдФрд░ рдкреАрдЫреЗ рдмрдврд╝рдиреЗ рдкрд░ рдкреНрд░рдХреНрд╖реЗрдкрд╡рдХреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдм рдЖрдкрдХреЛ рд╣рд╡рд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдЕрдВрдЧ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣ рдкреНрд░рдХреНрд╖реЗрдкрд╡рдХреНрд░ XZ_ARC_Y_SINUS рдХреА рдЬрдЯрд┐рд▓рддрд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ XZ_ARC_Y_SINUS (рдкреИрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдиреЗрддреНрд░рд╣реАрди рдмрджрд╕реВрд░рдд рдЪрд╛рд▓ рдХреА рдЬрд░реВрд░рдд рдереАред рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреА рдЧрдгрдирд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХреА рдЬрд╛рддреА рд╣реИ:

     float a = (z1 - z0) / 2.0f; float b = (x1 - x0); float c = (y1 - y0); x = b * sin(DEG_TO_RAD(180.0f - t)) + x0; // circle Y y = c * sin(DEG_TO_RAD(t)) + y0; z = a * cos(DEG_TO_RAD(180.0f - t)) + z0 + a; 

    рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╕рдорд╛рдВрддрд░ рдХреЛрдг рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╡реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗ рд╕рд╛рде рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреЗ рд╣реИрдВред рдЖрдВрджреЛрд▓рди рдмреЙрдХреНрд╕ рдХреЗ рдирд┐рдЪрд▓реЗ рдХреЛрдиреЛрдВ рд╕реЗ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдЙрд╕реА рд╡рд┐рдорд╛рди рдореЗрдВ рд╕реНрдерд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдЙрд╕рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд╢реАрд░реНрд╖ рдХреЛ рдЫреВрддрд╛ рд╣реИред рд╕реНрдкреЙрдЗрд▓рд░ рдореЗрдВ рддрд╕реНрд╡реАрд░ рдХреЛ рджреЗрдЦрдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЗрд╕реЗ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдХреИрд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред

    рдкреНрд░рдХреНрд╖реЗрдкрд╡рдХреНрд░ рджреГрд╢реНрдп


рдпрд╣ рд╣реЗрдХреНрд╕рд╛рдкреЙрдб рдХреЗ рдЖрдВрджреЛрд▓рди рдХреЗ рдореВрд▓ рдЧрдгрд┐рдд рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИред рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рдЖрдВрджреЛрд▓рди рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдиреНрдпреВрдирддрдо рд╣реИред

рджреГрд╢реНрдпреЛрдВ


рд╕рд┐рджреНрдзрд╛рдВрдд рдХреА рдмрд┐рдЯ


рдЕрдиреБрдХреНрд░рдо рдкреНрд░рд╛рдердорд┐рдХ рдХреНрд░рд┐рдпрд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдЧреИрдЯ рдХреЛ рдмрдирд╛рддреА рд╣реИрдВред рд╡реЗ рдЪрдХреНрд░реАрдп рдФрд░ рдЧреИрд░-рдЪрдХреНрд░реАрдп рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИрдВред

  • рдЪрдХреНрд░реАрдп рдЕрдиреБрдХреНрд░рдореЛрдВ рдХреЛ рдХрдИ рдмрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдЪрдХреНрд░ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЕрдВрдЧреЛрдВ рдХреЛ рдЙрдирдХреА рдореВрд▓ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (рдЖрдВрджреЛрд▓рди рдФрд░ рд░реЛрдЯреЗрд╢рди);
  • рдЧреИрд░-рдЪрдХреНрд░реАрдп рдЕрдиреБрдХреНрд░рдо рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЪрдврд╝рд╛рдИ рдФрд░ рд╡рдВрд╢);

рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрдХреНрд░рдо рдореЗрдВ рддреАрди рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдмреНрд▓реЙрдХ рд╣реЛрддреЗ рд╣реИрдВ: рддреИрдпрд╛рд░реА рдмреНрд▓реЙрдХ, рдореБрдЦреНрдп рдмреНрд▓реЙрдХ, рдкреВрд░реНрдг рдмреНрд▓реЙрдХред

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

рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рдЖрдВрдХрдбрд╝рд╛ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХрд╛ рдХреНрд░рдо рджрд┐рдЦрд╛рддрд╛ рд╣реИред


  • рд▓рд╛рд▓ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрдВрдЧреЛрдВ рдХреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╕рдВрдХреЗрдд рдорд┐рд▓рддрд╛ рд╣реИ
  • рдиреАрд▓реА рд░реЗрдЦрд╛рдПрдВ рдЬрдореАрди рдкрд░ рдЕрдВрдЧ рдХреЗ рдкреНрд░рдХреНрд╖реЗрдкрд╡рдХреНрд░ рдХреЛ рджрд░реНрд╢рд╛рддреА рд╣реИрдВ
  • рдХрд╛рд▓реА рд░реЗрдЦрд╛рдПрдВ рд╣рд╡рд╛ рдореЗрдВ рдЕрдВрдЧ рдХреЗ рдкреНрд░рдХреНрд╖реЗрдкрд╡рдХреНрд░ рдХреЛ рджрд░реНрд╢рд╛рддреА рд╣реИрдВ
  • рдмрд╛рдг рдЕрдиреБрдХреНрд░рдо рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ

рдЖрд╡рд╛рд╕ рдХреЗ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдВрдХреЛрдВ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдЪреБрдиреЗ рдЬрд╛рддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рд▓реАрд╡рд░ рдХреА рд▓рдВрдмрд╛рдИ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХреЗ рд╢рд░реАрд░ рдХреЗ рдХрд░реАрдм рдХреЗ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдЪреБрдирд╛ред рдЕрдиреБрдХреНрд░рдо рдХреЗ рдПрдХ рдЪрдХреНрд░ рдореЗрдВ, рд╣реЗрдХреНрд╕рд╛рдкреЛрдб 18 рд╕реЗрдореА рдЪрд▓рддрд╛ рд╣реИ (1 рдЪрдХреНрд░ рдореЗрдВ 2 рдХрджрдо рдЙрдард╛рдП рдЬрд╛рддреЗ рд╣реИрдВ - 3 рдЕрдВрдЧреЛрдВ рдореЗрдВ 1 рдХрджрдо)ред рдпрджрд┐ рдЖрдк рджреВрд░реА рдЕрдзрд┐рдХ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЕрдВрдЧ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдЪрд┐рдкрдХрдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдВрдЧреЗред рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗрд╡рд▓ рдХреЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рд╣реИред


рдЕрдиреБрдХреНрд░рдо рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдЕрдВрдЧ рдХреЗ рд▓рд┐рдП рджреЛ рдмрд┐рдВрджреБрдУрдВ (1, 2) рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рджреЛ рд░рд╛рд╕реНрддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: XYZ_LINEAR (рдиреАрд▓реА рд░реЗрдЦрд╛рдПрдВ) рдФрд░ XZ_ELLIPTICAL_Y_SINUS (рдХрд╛рд▓реА рд░реЗрдЦрд╛рдПрдВ)ред рдмрд┐рдВрджреБ 1 рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд╛рдЗрди рдХреА рдКрдВрдЪрд╛рдИ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП XZ_ELLIPTICAL_Y_SINUS рдкреНрд░рдХреНрд╖реЗрдкрд╡рдХреНрд░ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░, рддрджрдиреБрд╕рд╛рд░, рд╡рд╣ рдКрдВрдЪрд╛рдИ рдЬрд┐рд╕ рдкрд░ рдкреИрд░ рдЙрдЧрддрд╛ рд╣реИред рдЕрдВрдХ 2 рдФрд░ 3 рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмрд┐рдВрджреБ рд╣реИрдВ рдЬреЛ рдЪрд▓рддреЗ рд╕рдордп рдПрдХ рдЕрдВрдЧ рддрдХ рдкрд╣реБрдВрдЪрддреЗ рд╣реИрдВред

рдЕрдВрдХреЛрдВ рдХрд╛ рд╕реНрдерд╛рди рдХреЗрд╡рд▓ рдЖрдкрдХреА рдХрд▓реНрдкрдирд╛ рдФрд░ рд╣реЗрдХреНрд╕рд╛рдкреЙрдб рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рд╢рд╛рдпрдж рдпрд╣ рд╕рдм рдереЛрдбрд╝рд╛ рдЬрдЯрд┐рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдПрдХ рд╕рд░рд▓ рд╡рд┐рдХрд▓реНрдк рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдореИрдВ рдЕрднреА рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрд╛ рд╣реВрдВред

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди


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

 typedef struct { point_3d_t point_list[SUPPORT_LIMB_COUNT]; path_type_t path_list[SUPPORT_LIMB_COUNT]; uint32_t smooth_point_count; } sequence_iteration_t; typedef struct { bool is_sequence_looped; uint32_t main_sequence_begin; uint32_t finalize_sequence_begin; uint32_t total_iteration_count; sequence_iteration_t iteration_list[15]; sequence_id_t available_sequences[SUPPORT_SEQUENCE_COUNT]; } sequence_info_t; 

рдХреНрд░рдо_рдХрд░рдг_рдд - рдЕрдиреБрдХреНрд░рдо рдХреЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕рдореНтАНрдорд┐рд▓рд┐рдд рд╣реИ:

  • рдмрд┐рдВрджреБ_рд╕реВрдЪреА - XYZ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЕрдВрдЧ рдХреЗ рд▓рд┐рдП рдмрд┐рдВрджреБрдУрдВ рдХреА рдПрдХ рд╕рд░рдгреА;
  • path_list - рдкреНрд░рддреНрдпреЗрдХ рдЕрдВрдЧ рдХреЗ рд▓рд┐рдП рдкреНрд░рдХреНрд╖реЗрдкрд╡рдХреНрд░ рдХреА рдПрдХ рд╕рд░рдгреА;
  • smooth_point_count - рдкрде рдмрд┐рдВрджреБрдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ (рдкреИрд░рд╛рдореАрдЯрд░ рдЪрд░рдг t);

рдЕрдиреБрдХреНрд░рдо_рдЗрдирдлреЛ_рдЯреА - рдореЗрдВ рд╕рдВрдкреВрд░реНрдг рдЕрдиреБрдХреНрд░рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╢рд╛рдорд┐рд▓ рд╣реИ:

  • is_fterence_looped - рдЕрдиреБрдХреНрд░рдо рдХрд╛ рдкреНрд░рдХрд╛рд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ: рдЪрдХреНрд░реАрдп рдпрд╛ рдирд╣реАрдВ;
  • main_fterence_begin - iteration_list рд╕рд░рдгреА рдореЗрдВ рдореБрдЦреНрдп рдмреНрд▓реЙрдХ рдХрд╛ рд╢реБрд░реБрдЖрддреА рд╕реВрдЪрдХрд╛рдВрдХ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ;
  • finalize_fterence_begin - iteration_list рд╕рд░рдгреА рдореЗрдВ рдкреВрд░реНрдг рдмреНрд▓реЙрдХ рдХреЗ рд╢реБрд░реБрдЖрддреА рд╕реВрдЪрдХрд╛рдВрдХ рдХреЛ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ;
  • Total_iteration_count - рдЕрдиреБрдХреНрд░рдо рдореЗрдВ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ;
  • iteration_list - рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА;
  • рдЙрдкрд▓рдмреНрдз_ рдкрд░рд┐рдгрд╛рдо - рд╡рд░реНрддрдорд╛рди рдПрдХ рд╕реЗ рд╕рдВрдХреНрд░рдордг рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдЕрдиреБрдХреНрд░рдореЛрдВ рдХреА рд╕реВрдЪреА рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдкрд╣рд▓реЗ рдордВрдЬрд┐рд▓ рд╕реЗ рдЙрдареЗ рдмрд┐рдирд╛ рдЪрд▓рдирд╛ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ);

рдиреЛрдЯ: рддреИрдпрд╛рд░реА рдмреНрд▓реЙрдХ рдХрд╛ рд╕реВрдЪрдХрд╛рдВрдХ рдЬрд╛рдирдмреВрдЭрдХрд░ рд╕рдВрдХреЗрдд рдирд╣реАрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ; рдпрд╣ рд╣рдореЗрд╢рд╛ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕рд░рдгреА рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╕реНрдерд┐рдд рд╣реЛрддрд╛ рд╣реИред

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореИрдВ рдпрд╣рд╛рдБ рдЕрдиреБрдХреНрд░рдо рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЛрдб рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрд╛рдлреА рдЪреМрдбрд╝рд╛ рд╣реИ рдФрд░ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдХреЗ рдмрд╛рдж рднрдпрд╛рдирдХ рд▓рдЧрддрд╛ рд╣реИред рдореИрдВ рдпрд╣рд╛рдБ рдкрд░рд┐рднрд╛рд╖рд╛ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд▓рд┐рдВрдХ рдЫреЛрдбрд╝рддрд╛ рд╣реВрдБред

рдореЛрд╢рди рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд╕реНрдХреАрдо


рдпрд╣ рдирд░рдХ рдХреЗ рд╕рднреА рд╣рд▓рдХреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рд░реНрдердХ рд╣реИ рдЬреЛ рдХреНрд░рдо рд░рдирдЯрд╛рдЗрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдпреЛрдЬрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:


  1. MOVEMENT рдЗрдВрдЬрди - рдЕрдиреБрдХреНрд░рдореЛрдВ рдХреЗ рдмреАрдЪ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рд╕реНрд╡рд┐рдЪрди рдХрд╛ рдЖрдпреЛрдЬрди рдХрд░рддрд╛ рд╣реИред рд╡рд╣рд╛рдВ рдХреЛрдИ рдЧрдгрдирд╛ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИред рдпрджрд┐ рд╕рд░рд▓реАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдореЙрдбреНрдпреВрд▓ рдореМрдЬреВрджрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж LIBMS DRIVER рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЕрдЧрд▓реЗ рдмрд┐рдВрджреБ рдХреЛ рдЦрд┐рд╕рдХрд╛ рджреЗрддрд╛ рд╣реИред
    рдореЙрдбреНрдпреВрд▓ рдЗрдирдкреБрдЯ: рд▓рдХреНрд╖реНрдп рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреА рд╕рд░рдгреАред
    рдореЙрдбреНрдпреВрд▓ рдЖрдЙрдЯрдкреБрдЯ: рдЕрдиреБрдХреНрд░рдо рдХреА рд╡рд░реНрддрдорд╛рди рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рд▓рд┐рдП рд▓рдХреНрд╖реНрдп рдмрд┐рдВрджреБред
  2. LIBMS DRIVER рд╕рднреА рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд╕рдмрд╕реЗ рдЬрдЯрд┐рд▓ рд╣реИред рдЖрдВрджреЛрд▓рди рдХреЗ рд╕рднреА рдЧрдгрд┐рдд рдпрд╣рд╛рдВ рд░рд╛рдЬ рдХрд░рддреЗ рд╣реИрдВ: рд╡реНрдпреБрддреНрдХреНрд░рдо рдЧрддрд┐рдЬ, рдкреНрд░рдХреНрд╖реЗрдкрд╡рдХреНрд░ рдЧрдгрдирд╛ рдФрд░ рдЖрдВрджреЛрд▓рдиреЛрдВ рдХреЛ рдЪреМрд░рд╕рд╛рдИ рдХрд░рдирд╛ред рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ PWM рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рд╕рдЦреНрдд рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рд╣реИред рдЧрдгрдирд╛ рдХреНрд░рдорд╢рдГ 150 рд╣рд░реНрдЯреНрдЬ рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдХреА рдЬрд╛рддреА рд╣реИ, рдбреНрд░рд╛рдЗрд╡ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдкрд▓реНрд╕ рдХреЛ 150Hz рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рднреА рдЖрдкреВрд░реНрддрд┐ рдХреА рдЬрд╛рддреА рд╣реИред
    рдореЙрдбреНрдпреВрд▓ рдЗрдирдкреБрдЯ: рд▓рдХреНрд╖реНрдп рдмрд┐рдВрджреБ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХред
    рдореЙрдбреНрдпреВрд▓ рдЖрдЙрдЯрдкреБрдЯ: рд╕рд░реНрд╡реЛ рд░реЛрдЯреЗрд╢рди рдХреЛрдгред
  3. рд╕рд░реНрд╡реЛ рдЪрд╛рд▓рдХ ред рдЗрд╕рдореЗрдВ рдХреБрдЫ рднреА рд╡рд┐рд╢реЗрд╖ рдирд╣реАрдВ рд╣реИ, рд╕рд┐рд╡рд╛рдп рдбреНрд░рд╛рдЗрд╡ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдФрд░ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ред
    рдореЙрдбреНрдпреВрд▓ рдЗрдирдкреБрдЯ: рд╕рд░реНрд╡реЛ рд░реЛрдЯреЗрд╢рди рдХреЛрдгред
    рдореЙрдбреНрдпреВрд▓ рдЖрдЙрдЯрдкреБрдЯ: рдкрд▓реНрд╕ рдЪреМрдбрд╝рд╛рдИ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
  4. PWM рдбреНрд░рд╛рдЗрд╡рд░ ред PWM рдбреНрд░рд╛рдЗрд╡рд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдбреНрд░рд╛рдЗрд╡ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдПред рдпрд╣рд╛рдВ рдкрд░ рд╕рд╣реА рд╕рдордп рдкрд░ рд╕рд┐рд░реНрдл рдЪрд┐рдХреЛрдЯреА рдХрд╛рдЯрддреЗ рд╣реИрдВред PWM рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬрд╝реЗрд╢рди рдЪрд░ рдХреЛ рд╣рд░ PWM рдЕрд╡рдзрд┐ рдореЗрдВ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
    рдореЙрдбреНрдпреВрд▓ рдЗрдирдкреБрдЯ: рдирд┐рдпрдВрддреНрд░рдг рдкрд▓реНрд╕ рдЪреМрдбрд╝рд╛рдИред
    рдореЙрдбреНрдпреВрд▓ рдЖрдЙрдЯрдкреБрдЯ: рдирд┐рдпрдВрддреНрд░рдг рдкрд┐рди рдкрд░ рджрд╛рд▓реЛрдВред

рдореИрдВрдиреЗ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдПрдХ-рджреВрд╕рд░реЗ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдореИрдВ рд╕рдлрд▓ рд░рд╣рд╛ред рдпрд╣ рдЖрдкрдХреЛ рдЗрд╕ рд╕рд░реНрдХрд┐рдЯ рдХреЛ рдХрд┐рд╕реА рднреА рдордзреНрдпрд╡рд░реНрддреА рдореЙрдбреНрдпреВрд▓ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рди рдореЙрдбреНрдпреВрд▓) рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдЯреВрдЯреЗрдЧрд╛, рдЬрдмрдХрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛрдб рдореЗрдВ рдиреНрдпреВрдирддрдо рдмрджрд▓рд╛рд╡ рдХреЗ рд╕рд╛рде рд╣реЛрдЧрд╛ред

рдирд╡реАрдирддрдо рд╕рдорд╛рдЪрд╛рд░ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреНрд░реЗрдлрд╝рд┐рд╢ рдорд┐рд▓реА


рдирд╡реАрдирддрдо рд╕рдорд╛рдЪрд╛рд░
  1. рдорд╛рдорд▓реЗ рдХрд╛ рдПрдХ рдирдпрд╛ рдкрд░реАрдХреНрд╖рдг рд╕рдВрд╕реНрдХрд░рдг рд╕рд╛рдордиреЗ рдЖрдпрд╛ (рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд╕рд╛рде рдЪрд┐рддреНрд░) рдФрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ред рдХреЗрдВрджреНрд░реАрдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдбреНрд░рд╛рдЗрд╡ рдирд▓рд┐рдХрд╛ рдХреЗ рд╕рд╛рде рд╣реЗрдХреНрд╕рд╛рдкреЛрдб рдХреА рдкреВрд░реА рд╡рд┐рдзрд╛рдирд╕рднрд╛ 7-8 рдШрдВрдЯреЗ рдХреА рдирд┐рд░рдВрддрд░ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд▓реЗрддреА рд╣реИ, рдФрд░ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣реА рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдХрд┐рдпрд╛ рд╣реИред

    рддрд╕реНрд╡реАрд░реЗрдВ







  2. рдореИрдВрдиреЗ рдХрд┐рд╕реА рддрд░рд╣ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкрд░ OLED рдбрд┐рд╕реНрдкреНрд▓реЗ рд▓рдЧрд╛ рджрд┐рдпрд╛, рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд┐рдХрд▓рд╛ред
    рддрд╕реНрд╡реАрд░реЗрдВ



  3. рд╡рд╛рдИрдлрд╝рд╛рдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрдЪрд╛рд░ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдЕрдм рдЗрд╕реЗ рдлреЛрди рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЯреВрд▓ рдХреЛ рдЦреБрдж рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛)
  4. рдмрд┐рдЬрд▓реА рдмреЛрд░реНрдб рдХреЗ рдУрд╡рд░рд╣реАрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг 12 рд╡реА рд╕реЗ 7 рд╡реА рддрдХ рдмрд┐рдЬрд▓реА рдХреА рдЖрдкреВрд░реНрддрд┐ рдореЗрдВ рдХрдореА
  5. рд╡рд┐рдХрд╛рд╕ рдХреЗ рднрд╛рдЧ 5 рдХреЗ рдЬрд╛рд░реА рд╣реЛрдиреЗ рддрдХ, рдореИрдВ рд╕реВрддреНрд░реЛрдВ рдХрд╛ рд▓рд┐рдВрдХ рдкреЛрд╕реНрдЯ рдХрд░реВрдВрдЧрд╛, рдЙрдиреНрд╣реЛрдВрдиреЗ рдЖрдЦрд┐рд░рдХрд╛рд░ рдПрдХ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рд╣рд╛рд╕рд┐рд▓ рдХрд░ рд▓реА рдЬрд┐рд╕рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рд▓реЛрдЧреЛрдВ рдХреЛ рджрд┐рдЦрд╛рдиреЗ рдореЗрдВ рдХреЛрдИ рд╢рд░реНрдо рдирд╣реАрдВ рд╣реИ


рдХреНрд░реЗрдлрд╝рд┐рд╢ рдорд┐рд▓реА
  1. рдХреЛрд░реНрдЯ-SR04ред рдореБрдЭреЗ рдкрддрд╛ рдерд╛ рдХрд┐ рдпрд╣ рд╕реЗрдВрд╕рд░ рдЦрд░рд╛рдм рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрд╛ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЖрдкрдХреЛ рдПрдХ рдЕрд▓рдЧ рд░реЗрдВрдЬрдореАрдЯрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ
  2. MG996R рдШреЛрд╖рд┐рдд рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЙрдиреНрд╣реЛрдВрдиреЗ 12 рдХрд┐рд▓реЛ \ рд╕реЗрдореА рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ - рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреАрдбрдмреНрд▓реВрдПрдо рдореЗрдВ 300 рд╣рд░реНрдЯреНрдЬ рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде 5 рдХрд┐рдЧреНрд░рд╛ рд╕реЗрдореА, 50 рд╣рд░реНрдЯреНрдЬ рдкрд░ рдпрд╣ рдФрд░ рднреА рдЦрд░рд╛рдм рдерд╛ рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╡реЗ рдПрдирд╛рд▓реЙрдЧ (рд╡реЗ рдПрдХ рдЖрдВрдХрдбрд╝реЗ рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛) рдереЗред рдХреЗрд╡рд▓ рдореЛрдбрд╝реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрддред рдореБрдЭреЗ 20 рдХрд┐рд▓реЛ / рд╕реЗрдореА рдкрд░ рдЕрдзрд┐рдХ рдорд╣рдВрдЧреА рдбрд┐рдЬрд┐рдЯрд▓ рдбреНрд░рд╛рдЗрд╡ DS3218 рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдкрдбрд╝рд╛ - рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ 23 рдХрд┐рд▓реЛ / рд╕реЗрдореА
  3. рдореИрдВрдиреЗ рд╣рд░ 10 рдбрд┐рдЧреНрд░реА рдкрд░ рдПрдХ рдХреЛрдг-рд╕рдВрд╡реЗрдЧ рддрд╛рд▓рд┐рдХрд╛ рд╕рдВрдХрд▓рд┐рдд рдХреА рдФрд░ рджреЗрдЦрд╛ рдХрд┐ MG996R рдХреЗ рд▓рд┐рдП рдирд┐рдпрдВрддреНрд░рдг рдкрд▓реНрд╕ рдХреА рдЪреМрдбрд╝рд╛рдИ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдЕрд▓рдЧ рджреВрд░реА рдкрд░ рд╣реИред рдореБрдЭреЗ рдкреНрд░рддреНрдпреЗрдХ рдбреНрд░рд╛рдЗрд╡ рдХреЗ рд▓рд┐рдП рдХреИрд▓рд┐рдмреНрд░реЗрд╢рди рдЯреЗрдмрд▓ рдмрдирд╛рдиреЗ рдФрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЖрд╡реЗрдЧ рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рдерд╛ред

    рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рдбреНрд░рд╛рдЗрд╡ рдХреЗ рд▓рд┐рдП рдкрд▓реНрд╕ рдкрд┐рдЪ рдЕрд▓рдЧ рд╣реИ, рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдЦреЛрдЬ рдереАред
  4. рдЖрд╡реЗрдЧреЛрдВ рдХрд╛ рдиреНрдпреВрдирддрдо, рдЕрдзрд┐рдХрддрдо рдФрд░ рдХреЗрдВрджреНрд░реАрдп рдорд╛рди рдбреНрд░рд╛рдЗрд╡ рдХреЗ рд▓рд┐рдП рдиреЛрдЬрд▓ рдХреЗ рдХрд╛рд░рдг рднрд┐рдиреНрди рд╣реЛрддрд╛ рд╣реИ (рдЬреЛ рднреА рдХрд╣ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рдЕрднреА рднреА рдЪрд┐рдХрдиреА рд╣реИ)ред рдЖрдХреГрддрд┐ рдЙрди рдбреНрд░рд╛рдЗрд╡реЛрдВ рдХреЛ рджрд┐рдЦрд╛рддреА рд╣реИ рдЬрд┐рди рдкрд░ 1500us рдкрд▓реНрд╕ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдиреЛрдЬрд▓ рдХреЗрдВрджреНрд░ рдореЗрдВ рдирд╣реАрдВ рд╣реИ рдФрд░ рддрджрдиреБрд╕рд╛рд░ рдкрд▓реНрд╕ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рддрд╛рдХрд┐ рд╕рднреА рдиреЛрдЬрд▓ рдПрдХ рд╣реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реЛрдВред


рд╡реИрд╕реЗ, рдореИрдВрдиреЗ рдЗрд╕ рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдВрд╢рд╛рдВрдХрди рдХрд┐рдпрд╛:

Source: https://habr.com/ru/post/hi444070/


All Articles