рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЖрд░ рд╕реА рдПрдпрд░реЛ рдирд╛рд╡ рдмрдирд╛рдирд╛

рдХрднреА-рдХрднреА рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдореБрдЭреЗ рдЙрди рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рдкреНрд░рд╢реНрди рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ рдЬреЛ рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рдХреНрд╡рд╛рдбрд░реЛрдХреЙрдкреНрдЯрд░ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдлрд░реНрдорд╡реЗрдпрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдореИрдВ рдЦреБрдж рдРрд╕рд╛ рд╣реВрдВ рдФрд░ рдЖрд░рд╕реА рдореЙрдбрд▓ рдмрдирд╛рдиреЗ рдХрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдХреБрдЫ рд╕рд░рд▓ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИред



рд╕рдмрд╕реЗ рдЫреЛрдЯреЗ рдХреЗ рд▓рд┐рдП рд▓реЗрдЦ рдореЗрдВ рдЙрдиреНрд╣реЛрдВрдиреЗ рдирд╛рд╡ рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо, рдирд┐рдпрдВрддреНрд░рдг рдХрдХреНрд╖ рдФрд░ рдШрдЯрдХреЛрдВ рдХреА рдкрд╕рдВрдж рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ред

рд╣рд╡рд╛рдИ рдирд╛рд╡ рдХреНрдпреЛрдВ?


  1. рдмрд╕;
  2. рд╕рд╕реНрддреЗ;
  3. ;
  4. , -.

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

рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо



( рдпрд╣рд╛рдВ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рд╡рд░реНрдгрди рд╣реИ)ред

рд╡реЗ рдХреЗрд╡рд▓ рд╕рд╛рде рдЪрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдПрдХ рдХреГрддреНрд░рд┐рдо рдЪрд┐рдХрдиреА рд╕рддрд╣, рдФрд░ рдЙрдирдХрд╛ рдирд┐рдпрдВрддреНрд░рдг рдмрд╣реБрдд рдЕрд▓рдЧ рд╣реИред

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

рдПрдХ рд╡рд╛рдпреБ рдкреНрд░рдгреЛрджрди рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдЕрдзрд┐рдХ рд▓рд╛рдн:
  1. рдпрд╣ рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдПрдХ рдирд╛рд╡, рд╕реНрд▓реЗрдЬ, рдлреЛрдо рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ ...
  2. рдпрд╣ рдиреАрдЪреЗ рдпрд╛ рд╢реИрд╡рд╛рд▓ рдкрд░ рдирд╣реАрдВ рдкрдХрдбрд╝рддрд╛ рд╣реИред

рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдбрд┐рд╡рд╛рдЗрд╕ рдШреВрдо рд╕рдХрддрд╛ рд╣реИред 3 рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:
  1. рдШреБрдорд╛рд╡ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░реВ + рд╕реНрдЯреАрдпрд░рд┐рдВрдЧ рд╡реНрд╣реАрд▓ ;
  2. рдПрдХ рдкреЗрдВрдЪ + рдЗрд╕рдХреА рдореЛрдбрд╝ рдкреНрд░рдгрд╛рд▓реА ;
  3. рджреЛ рддрдп рд╢рд┐рдХрдВрдЬрд╛ рдЙрдирдХреЗ cravings рдХреЛ рдмрджрд▓рдХрд░ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИред рдЙрд╕рдиреЗ рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ред


рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓


рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд


1 рдЬреЙрдпрд╕реНрдЯрд┐рдХ + рдХрдИ рд╕реНрд╡рд┐рдЪред рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдХрд╛ рдХрд╛рдо рдЬреЙрдпрд╕реНрдЯрд┐рдХ рд╣реИрдВрдбрд▓ рдХреА рд╕реНрдерд┐рддрд┐ рдкрд░ рдбреЗрдЯрд╛ рднреЗрдЬрдирд╛ рдФрд░ рдПрдХ рд╕реЗрдХрдВрдб рдореЗрдВ рдХрдИ рдмрд╛рд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рд╣реИред

рдХреНрдпрд╛ рдХрд░реЗрдВ?


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдПрдХ рд░реЗрдбрд┐рдпреЛ рдЯреНрд░рд╛рдВрд╕рдореАрдЯрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕рдмрд╕реЗ рд╕рд╕реНрддрд╛ рд╡рд┐рдХрд▓реНрдк NRF24L01 + рд╣реИ, рдЗрд╕рдХреА рд▓рд╛рдЧрдд $ 0.85 рд╣реИ ред

рджреВрд╕рд░реЗ, рдЖрдкрдХреЛ рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдПрдХ рдФрд░ $ 1 ред

рдХрдИ рд╕реНрд╡рд┐рдЪ - $ 0.12 ред

рдЦреИрд░, рдпрд╣ рд╕рдм $ 0.13 рдХреЗ рд▓рд┐рдП рдкреАрд╕реАрдмреА рдХреЗ рдПрдХ рдЯреБрдХрдбрд╝реЗ рдкрд░ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ред

рдкрд╣рд▓реЗ рд╕реЗ рд╣реА $ 2.1 рдЧрд┐рдирд╛ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рдЕрднреА рднреА рдПрдордХреЗ рдФрд░ рднреЛрдЬрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред

рдЖрдЧреЗ рджреЗрдЦрддреЗ рд╣реБрдП, рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ ATmega8 рдпрд╛ STM8S103F3P6 рдХрд╛рдлреА рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рд╕реЗ рдореИрдВрдиреЗ рдЗрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рд╢реБрд░реВ рдХрд┐рдпрд╛ рдерд╛ рдФрд░ рдмрд╣реБрдд рдХрдо рдЕрдиреБрднрд╡ рдерд╛, рдореИрдВрдиреЗ рдЗрд╕реЗ Arduino Pro рдорд┐рдиреА рдХрдВрдЯреНрд░реЛрд▓ рдкреИрдирд▓, рдФрд░ Arduino рдиреИрдиреЛ рдмреЛрдЯ (ATmega32P) рдореЗрдВ рд╣рд░ рдЬрдЧрд╣ рдкрдЯрдХ рджрд┐рдпрд╛ред

рдЕрднреА рднреА рджреВрд░рд╕реНрде рдореЗрдВ:
  1. рдкреЙрд╡рд░ рдХрдиреНрд╡рд░реНрдЯрд░ 0.9 - 5 V -> 5 V $ Ar35 рдХреЗ рд▓рд┐рдП рдкреЙрд╡рд░ рдХреЗ рд▓рд┐рдП (USB рдХрдиреЗрдХреНрдЯрд░, рдмреЛрд░реНрдб рдХреЗ рдПрдХ рдЯреБрдХрдбрд╝реЗ рдХреЗ рд╕рд╛рде, рдХреЙрдореНрдкреИрдХреНрдЯрдиреЗрд╕ рдХреЗ рд▓рд┐рдП рддреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ);
  2. 3.3V рд╕реНрдЯреЗрдмрд▓рд╛рдЗрдЬрд╝рд░ AMS1117-3-3 рд░реЗрдбрд┐рдпреЛ рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╢рдХреНрддрд┐ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдирдХреА рд▓рд╛рдЧрдд рдкреНрд░рддрд┐ рдпреВрдирд┐рдЯ $ 0.03 рд╣реИ ;
  3. $ 0.15 рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдВрдЧрд▓реА рдХреА рдмреИрдЯрд░реА рдХреЗ рд▓рд┐рдП рдмреИрдЯрд░реА рдбрд┐рдмреНрдмреЗ ;

рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ $ 0.53ред рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреИрдкреЗрд╕рд┐рдЯрд░ рдФрд░ рддрд╛рд░реЛрдВ рдХреА рдПрдХ рдЬреЛрдбрд╝реА, рдХрдВрд╕реЛрд▓ рдХреЗ рдШрдЯрдХреЛрдВ рдХреА рд▓рд╛рдЧрдд $ 2.63 рд╣реИред

рдЖрд░рд╕реА рдореЙрдбрд▓ рдлрд┐рд▓рд┐рдВрдЧ


рдШрдЯрдХреЛрдВ


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

рдореИрдВрдиреЗ рдЗрди рдЗрдВрдЬрдиреЛрдВ рдХреЛ рдкреНрд░реЛрдкреЗрд▓рд░


рдХреЗ рд╕рд╛рде $ 2.88 рдкреНрд░рддрд┐ рдЬреЛрдбрд╝реА рдХреЗ рд▓рд┐рдП рдЦрд░реАрджрд╛ рдерд╛ ред

рдЙрдиреНрд╣реЛрдВрдиреЗ L293D рдХреЛ рдореЛрдЯрд░ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдпрд╛ - рдПрдХ рдФрд░ $ 0.35 ред
рдФрд░ рдлрд┐рд░ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ
L293D . , .

рдкрд╛рд╡рд░ред рд╣рдореЗрдВ рддреАрди рдЖрдкреВрд░реНрддрд┐ рд╡реЛрд▓реНрдЯреЗрдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:
  1. рд░реЗрдбрд┐рдпреЛ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП 5 рд╡реА;
  2. рд░реЗрдбрд┐рдпреЛ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП 3.3 рд╡реА;
  3. рдЬрд┐рддрдиреА рдЬрд░реВрд░рдд рд╣реЛ рдЙрддрдиреА рдореЛрдЯрд░реЛрдВ рдХреЗ рд▓рд┐рдП (рдореЗрд░рд╛ 4.2 V)ред

1 рдФрд░ 2 рд╣рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдг рдХрдХреНрд╖ рдореЗрдВ рд╕рдорд╛рди рдорд┐рд▓рддреЗ рд╣реИрдВ, рдФрд░ рдореЛрдЯрд░реНрд╕ рдХреЗ рд▓рд┐рдП рд╣рдордиреЗ MT3608 рдХреЛ $ 0.86 рдореЗрдВ рдбрд╛рд▓ рджрд┐рдпрд╛ ред

рдЕрдм рдордЬрд╝реЗрджрд╛рд░ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд▓рд┐рдП: рдЬрд╛рдпрд░реЛрд╕реНрдХреЛрдкред MPU-6050 рдореЙрдбреНрдпреВрд▓ рдХреА рд▓рд╛рдЧрдд $ 1.53 рд╣реИ ред рдПрдХреНрд╕реЗрд▓реЗрд░реЛрдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рднреА рдЗрдЪреНрдЫрд╛ рдереА, рддрд╛рдХрд┐ рдЬрдм рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдЫрдбрд╝реА рдкрдХреНрд╖ рдореЗрдВ рдЬрд╛рдП, рддреЛ рдЬрд╣рд╛рдЬ рдЬрдЧрд╣ рдореЗрдВ рд╕рд╛рдордиреЗ рдЖрдПред рд▓реЗрдХрд┐рди рдЕрдВрдд рдореЗрдВ, рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛: рдПрдХ рдорд╛рдореВрд▓реА рдкрд┐рдЪ рдврд▓рд╛рди, рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдЧреЗ рдпрд╛ рдкреАрдЫреЗ рддреЗрдЬреА рд▓рд╛ рд░рд╣рд╛ рд╣реИред рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдХреЗ рд╕рд╛рде рдлреЙрд░рд╡рд░реНрдб / рдмреИрдХрд╡рд░реНрдб рдореВрд╡рдореЗрдВрдЯ рдХреА рднрд░рдкрд╛рдИ рдХрд░рдХреЗ рдЬрд╣рд╛рдЬ рдХреЛ рдореЛрдбрд╝рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЧрдпрд╛ред

2 рдП.рдП. рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдмреИрдЯрд░реА рдбрд┐рдмреНрдмреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ $ 0.4 рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ рдФрд░ рддрд╛рд░реЛрдВ рдХреЗ рдмрд┐рдирд╛ $ 6.4 рдШрдЯрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред

рдХрд╛рд░реНрдпрдХреНрд░рдо


рдФрд░ рдлрд┐рд░, рдЪрд▓реЛ рдЗрдВрдЬрди рд╕реЗ рдЪрд▓рддреЗ рд╣реИрдВред L293D рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд рджреЛ рдЗрдВрдЬрдиреЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдЦреБрджрд╛рдИ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ :
  1. рдЖрдЧреЗ рд╕реНрдкрд┐рди;
  2. рд╡рд╛рдкрд╕ рд╕реНрдкрд┐рди;
  3. рдорд░реЛрдбрд╝рдирд╛ рдорддред

рдХреЛрдб рдХреЛ рдкрдврд╝рдиреЗ, рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП
6 рдХрд╛рд░реНрдп
inline void motLeftStop(){
  PORTD &= ~(1 << MOT_LEFT_PLUS);
  PORTD &= ~(1 << MOT_LEFT_MINUS);
}

inline void motLeftForward(){    
  PORTD |= 1 << MOT_LEFT_PLUS;
  PORTD &= ~(1 << MOT_LEFT_MINUS);
}

inline void motLeftBackward(){
  PORTD &= ~(1 << MOT_LEFT_PLUS);
  PORTD |= 1 << MOT_LEFT_MINUS;
}

inline void motRightStop(){
  PORTD &= ~(1 << MOT_RIGHT_PLUS);
  PORTD &= ~(1 << MOT_RIGHT_MINUS);
}

inline void motRightForward(){
  PORTD |= 1 << MOT_RIGHT_PLUS;
  PORTD &= ~(1 << MOT_RIGHT_MINUS);
}

inline void motRightBackward(){
  PORTD &= ~(1 << MOT_RIGHT_PLUS);
  PORTD |= 1 << MOT_RIGHT_MINUS;
}


рдЕрдм рд╣рдо рд╢рд┐рдХрдВрдЬрд╛ рдХреЗ рд░реЛрдЯреЗрд╢рди рдХреА рдЧрддрд┐ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдмреЗрд╢рдХ, рд╣рдо рдкреАрдбрдмреНрд▓реВрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░реЗрдВрдЧреЗред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдореЗрдВ рдРрд╕рд╛ PWM рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ ... рдореИрдВрдиреЗ рдЗрд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдмрд╛рдзрд┐рдд рдХрд┐рдпрд╛ рд╣реИред рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдХреА рдШреЛрд╖рдгрд╛ рдХрд░реЗрдВ
int8_t motLeft = 0, motRight = 0; // -127..+127

рдЗрди рдЪрд░ рдХреЗ рдорд╛рдиреЛрдВ рдХреЛ <0 рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдкреАрдЫреЗ рдХреА рдУрд░ рдореБрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдорд╛рди> 0 - рдЖрдЧреЗ, рдФрд░ рдпрджрд┐ рд╡реЗ 0 рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдореБрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рд╣рдо рдЯрд╛рдЗрдорд░ рдЗрдВрдЯрд░рдкреНрдЯ рд╣реИрдВрдбрд▓рд░ рд▓рд┐рдЦреЗрдВрдЧреЗ
ISR(TIMER2_OVF_vect)
{
  if(motLeft > 0)
    motLeftForward();
  else if(motLeft < 0)
    motLeftBackward();
  if(motRight > 0)
    motRightForward();
  else if(motRight < 0)
    motRightBackward();
}

ISR(TIMER2_COMPA_vect)
{
  motLeftStop();
}

ISR(TIMER2_COMPB_vect)
{
  motRightStop();
}


рдЕрдм, рдкреНрд░реЛрдкреЗрд▓рд░ рдХреЗ рд░реЛрдЯреЗрд╢рди рдХреА рдЧрддрд┐ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ 2 рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
  1. MotLeft / motRight (рдореЙрдбреНрдпреВрд▓ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ) рдореЗрдВ рдПрдХ рд╕рдХрд╛рд░рд╛рддреНрдордХ, рдирдХрд╛рд░рд╛рддреНрдордХ рдпрд╛ рд╢реВрдиреНрдп рдорд╛рди рд▓рд┐рдЦреЗрдВ;
  2. OCR2A / OCR2B рдореЗрдВ "рд░реЛрдЯреЗрд╢рди рдХреА рдЧрддрд┐" рд░рд┐рдХреЙрд░реНрдб рдХрд░реЗрдВред

рдЖрдЗрдП рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦреЗрдВ
void setMotLeft(int8_t v){ // -127..+127
  if(abs(v) < 5) v = 0;
  motLeft = v;  
  OCR2A = abs(v) * 2;
}

void setMotRight(int8_t v){ // -127..+127
  if(abs(v) < 5) v = 0;
  motRight = v;
  OCR2B = abs(v) * 2;
}


if(abs(v) < 5) v = 0;

OCR2x 5 ( ).

рдЕрдм рдпрд╣ рдПрдордХреЗ рдкрд┐рди рдФрд░ рдЯрд╛рдЗрдорд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИ
void motInit(){
  DDRD |= (1 << MOT_LEFT_PLUS) | (1 << MOT_LEFT_MINUS) | (1 << MOT_RIGHT_PLUS) | (1 << MOT_RIGHT_MINUS);
  //TCCR2B |= (1 << CS22)|(1 << CS21)|(1 << CS20); // set up timer with prescaler = 1024.   16 
  //TCCR2B |= (1 << CS22)|(0 << CS21)|(0 << CS20); // set up timer with prescaler = 64.   1 
  TCCR2B |= (0 << CS22)|(1 << CS21)|(0 << CS20); // set up timer with prescaler = 8.  128 
  //TCCR2B |= (0 << CS22)|(0 << CS21)|(1 << CS20); // set up timer with prescaler = 1.  16 
  TIMSK2 |= (1 << TOIE2)|(1 << OCIE2A)|(1 << OCIE2B); // enable overflow interrupt
  TCCR2A &= ~(3); // set WGM20 = 0, WGM21 = 0
  TCCR2B &= ~(1 << 3); // set WGM22 = 0
  setMotLeft(0);
  setMotRight(0);
  sei();
}


рдФрд░ рдЖрдк рдХреЗрд╡рд▓ рдлрд╝рдВрдХреНрд╢рди рд╕реЗрдЯрдореЛрдЯрд▓рдлрд╝реНрдЯ (int8_t v) рдФрд░ setMotRight (int8_t v) рдХреЙрд▓ рдХрд░рдХреЗ рдореЛрдЯрд░реНрд╕ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд▓реЗрдХрд┐рди рд╣рдо рдирд╛рд╡ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ! рд╣рдо "рдлреЙрд░рд╡рд░реНрдб / рдмреИрдХрд╡рд░реНрдб" рдФрд░ "рд░рд╛рдЗрдЯ / рд▓реЗрдлреНрдЯ" рдЬреИрд╕реА рдХрдорд╛рдВрдб рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ! рдФрд░ рдЙрд╕реЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рджреЗрдВ рдХрд┐ рдЙрд╕реЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛ рджреЗрдирд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдирд╛рд╡ рд╣реА рд╣рд╡рд╛, рдзрд╛рд░рд╛рдУрдВ рдФрд░ ... рдХреБрдЯрд┐рд▓ рдкреНрд░рдгреЛрджрдХреЛрдВ рдХреЗ рдореЛрдбрд╝ рдкреНрд░рднрд╛рд╡ рдХреА рднрд░рдкрд╛рдИ рдХрд░реЗ!

рдЖрдЗрдП рдЕрдм рджреВрд╕рд░реА рддрд░рдл рд╕реЗ рдЪрд▓реЗрдВред рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рд╕реЗред рд╕рдмрд╕реЗ рд╕рд░рд▓ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрд╕рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:
  1. рдмрд┐рдЬрд▓реА рдЪрд╛рд▓реВ рдХрд░рддреЗ рд╕рдордп, рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдХреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐ рдХреЛ рдпрд╛рдж рд░рдЦреЗрдВ;
  2. рдЪрдХреНрд░ рдореЗрдВ, рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдкрдврд╝реЗрдВ, рдЙрд╕рд╕реЗ рд╢реВрдиреНрдп рд╕реНрдерд┐рддрд┐ рдХреЛ рдШрдЯрд╛рдПрдВ рдФрд░ рдирд╛рд╡ рдХреЛ рдбреЗрдЯрд╛ рднреЗрдЬреЗрдВред

рд╣рдорд╛рд░рд╛ рд░реЗрдбрд┐рдпреЛ рдореЙрдбреНрдпреВрд▓ 32 рдмрд╛рдЗрдЯ рддрдХ рдХреЗ рдкреИрдХреЗрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рд╡рд┐рд╕реНрдерд╛рдкрди рдХреЛ рдпрд╛рдж рдирд╣реАрдВ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд░рд┐рдХреЙрд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ
struct ControlStatus{
  int16_t x,y;
}  controlStatus;

рдЗрд╕ рдкреНрд░рдХрд╛рд░
    uint8_t packet[MAX_BUFF]; 
    memset(packet, 0, MAX_BUFF);    
    controlStatus.x = (int16_t)analogRead(1) - x0;
    controlStatus.y = (int16_t)analogRead(0) - y0;
    memcpy(packet, &controlStatus, sizeof(controlStatus));
    Mirf.send(packet);
    while(Mirf.isSending()){;};


рд░рд┐рд╕реАрд╡рд░ рдХреА рддрд░рдл, рд╣рдо рдмрд┐рд▓реНрдХреБрд▓ рдЙрд╕реА рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдШреЛрд╖рд┐рдд рдХрд░реЗрдВрдЧреЗ рдФрд░
рд╣рдо рдЗрд╕реЗ рднрд░ рджреЗрдВрдЧреЗ
  while (Mirf.dataReady()) { 
    uint8_t data[MAX_BUFF];
    Mirf.getData(data);
    memcpy(&controlStatus, data, sizeof(controlStatus));
    setMotRot(-controlStatus.x);
    setMotForward(controlStatus.y); 
  }


рдлрд╝рдВрдХреНрд╢рдВрд╕ рдореЗрдВ setMotRot рдФрд░ setMotForward
рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ motRot рдФрд░ motForward рдХреЗ рдорд╛рди рд▓рд┐рдЦреЗрдВ
void setMotRot(int16_t v){
  if(abs(v)<10) v = 0;
  motRot = (int32_t)v;
}
void setMotForward(int16_t v){
  if(abs(v)<10) v = 0;
  motForward = (int32_t)v;
}


рдФрд░ рдЪрд▓реЛ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "5 рдбрд┐рдЧреНрд░реА рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдХреА рдЧрддрд┐ рд╕реЗ рдмрд╛рдПрдВ рдореБрдбрд╝реЗрдВ рдФрд░ рдереЛрдбрд╝рд╛ рдЖрдЧреЗ рдмрдврд╝реЗрдВ!" "рдмрд╛рдПрдВ рдЗрдВрдЬрди 10% рдкреАрдЫреЗ, рджрд╛рдпрд╛рдВ 20% рдЖрдЧреЗ!"ред рдкреАрдЖрдИрдбреА тАЛтАЛрдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ

рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдореИрдВрдиреЗ рд░реЛрдЯреЗрд╢рди рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рджреЛ рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛:
  1. рдЖрдиреБрдкрд╛рддрд┐рдХ;
  2. рдПрдХреАрдХреГрддред

рдФрд░ рдЖрдЧреЗ рдФрд░ рдкреАрдЫреЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдпрд╛рдордХ рдиреЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ред

рдПрдХ рдЙрджрд╛рд╣рд░рдг рд▓реЗрддреЗ рд╣реИрдВ:
int32_t iDeltaRot = 0;
void motTick(){
  int32_t rot = getRotAvg(); //     
  int32_t deltaRot = rot - motRot * rotMaxSpeed / 512;
  iDeltaRot += deltaRot;
  int32_t motRight = (int32_t)motForward * forwardMult - deltaRot * rotMult - iDeltaRot * iDeltaRotMult, 
          motLeft  = (int32_t)motForward * forwardMult + deltaRot * rotMult + iDeltaRot * iDeltaRotMult;  

  int32_t motMax = max(abs(motRight), abs(motLeft));
  if(motMax > 127){
    motRight = (int32_t)motRight * 127 / motMax;
    motLeft  = (int32_t)motLeft  * 127 / motMax;
  }
  
  setMotRight(motRight);
  setMotLeft(motLeft);
}

рдорд╣рддреНрд╡рдкреВрд░реНрдг рднрд╛рдЧреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдкреВрд░реНрдг рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрдЧрд╛ред

рд╣рдо рдпрд╣рд╛рдВ рдХреНрдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?
  1. рд╣рдо рдирд╛рд╡ рдХреЗ рд░реЛрдЯреЗрд╢рди рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЧрддрд┐ (рд╕рдбрд╝рд╛рдВрдз) рдФрд░ рд╡рд╛рдВрдЫрд┐рдд (motRot * rotMaxSpeed) рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ;
  2. рд╣рдо motRight рдФрд░ motLeft рд╢рд┐рдХрдВрдЬрд╛ рдХреА рд╡рд╛рдВрдЫрд┐рдд рдШреВрд░реНрдгреА рдЧрддрд┐ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ;
  3. рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рд░реЛрдЯреЗрд╢рди рдХреА рдЧрддрд┐ рдЕрдзрд┐рдХрддрдо рд╕рдВрднрд╡ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рддреЛ рд╣рдо рдЙрдирдХреЗ рдмреАрдЪ рдХреЗ рдЕрдиреБрдкрд╛рдд рдХреЛ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реБрдП рдЙрдиреНрд╣реЗрдВ рдХрдо рдХрд░рддреЗ рд╣реИрдВ;
  4. рд╣рдо setMotRight / setMotLeft рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рдореЗрдВ рдкрд░рд┐рдЪрд┐рдд рдХрд╣рддреЗ рд╣реИрдВред

рд╡рд╣ рд╕рдм рд╣реИ!

рдпрд╣ рдкреВрд░реА рдирд╛рд╡ рдирд┐рдпрдВрддреНрд░рдг рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╣реИ!

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

рд╡рд░реНрдгрд┐рдд рд╕рдорд╛рд░реЛрд╣ рдореЗрдВ 4 рдЧреБрдгрд╛рдВрдХ рд╣реИрдВ:
  1. рдлреЙрд░рд╡рд░реНрдбрдореВрд▓ - рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдлреЙрд░рд╡рд░реНрдб / рдмреИрдХрд╡рд░реНрдб рдХреЗ рдЖрдВрджреЛрд▓рди рдХреА рд╕рдВрд╡реЗрджрдирд╢реАрд▓рддрд╛;
  2. рд░реЛрдЯрдореИрдХреНрд╕рд╕реНрдкреАрдб - рджрд╛рдПрдВ / рдмрд╛рдПрдВ рд╕рднреА рддрд░рд╣ рд╕реЗ рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдХреЛ рдЭреБрдХрд╛рддреЗ рд╕рдордп рд╡рд╛рдВрдЫрд┐рдд рд░реЛрдЯреЗрд╢рди рдХреА рдЧрддрд┐;
  3. RotMult - рдЖрдиреБрдкрд╛рддрд┐рдХ рдШрдЯрдХ рдХрд╛ рдЧреБрдгрд╛рдВрдХ (рд╡рд╛рдВрдЫрд┐рдд рд╕реЗ рд╡рд░реНрддрдорд╛рди рд░реЛрдЯреЗрд╢рди рдХреА рдЧрддрд┐ рдХрд╛ рд╡рд┐рдЪрд▓рди рд░реЛрдЯреЗрд╢рди рдХреЛ рдХрд┐рддрдирд╛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ);
  4. iDeltaRotMult - рдЕрднрд┐рдиреНрди рдШрдЯрдХ рдХрд╛ рдЧреБрдгрд╛рдВрдХ (рд╡рд╛рдВрдЫрд┐рдд рд╕реЗ рдЪрд╛рд▓реВ рдореЛрдбрд╝ рдХрд╛ рд╡рд┐рдЪрд▓рди рдХрд┐рддрдирд╛ рд░реЛрдЯреЗрд╢рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ)ред

рдЗрди рдЧреБрдгрд╛рдВрдХреЛрдВ рдХреЛ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдЯреНрдпреВрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдФрд░ рдмрд╛рд╣рд░реА рдкреНрд░рднрд╛рд╡ рдХреЛ рдирд╛рд╡ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЙрди рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░реЗрдЧреАред

рд╕реНрдерд┐рддрд┐ рд╕рдВрдХреЗрдд


рдбрд┐рдмрдЧрд┐рдВрдЧ / рдЯреНрдпреВрдирд┐рдВрдЧ рдХрд░рддреЗ рд╕рдордп, рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕реЗ рднреНрд░рдо рд╣реЛрдЧрд╛ "рдирд╛рд╡ рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреНрдпреЛрдВ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдореИрдВ рдЗрд╕реЗ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛?"ред рдкреАрд╕реА рдкрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдХреЗ рдХреБрдЫ рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдмрд╣рд╕ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдордЭрдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ рдХрд┐ рдореМрдХреЗ рдкрд░ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ 2 рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛:
  1. рд▓реИрдкрдЯреЙрдк;
  2. рдПрд▓рд╕реАрдбреА рдиреЛрдХрд┐рдпрд╛ 5110


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

рдореИрдВрдиреЗ рдЙрдирдХреЗ рдмреАрдЪ рдПрдХ рдХреНрд░реЙрд╕ рд▓рд┐рдпрд╛: рдиреЗрдХреНрд╕реНрдЯрд┐рдпрди рдПрдирд╣рд╛рдВрд╕реНрдб рдПрдирдПрдХреНрд╕ 4827 рдХреЗ043 - рдЬреЗрдиреЗрд░рд┐рдХ 4.3 '' рдПрдЪрдПрдордЖрдИ рдЯрдЪ рдбрд┐рд╕реНрдкреНрд▓реЗ ред рдЯрдЪ рд╕реНрдХреНрд░реАрди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЖрдк рдЬрд╛рдиреЗ рдкрд░ рдирд╛рд╡ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЬрд▓реНрджреА рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдХрдВрдкреНрдпреВрдЯрд░ рд╣реИ:
  1. рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ GD32F103R8T6;
  2. рдПрд╕рдбреАрдЖрд░рдПрдПрдо рд╡рд┐рдирдмреЙрдиреНрдб W9864G6KH-6 (8 рдПрдордмреА);
  3. Winbond W25Q256FVFG рдлреНрд▓реИрд╢ рдореЗрдореЛрд░реА (32 рдПрдордмреА, 100,000 рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдЪрдХреНрд░, рдЬреЛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ);
  4. FPGA Altera MAX II EPM570T144C5N

рдЕрд╕реЗрдВрдмрд▓реА рдореЗрдВ рд╕рдм рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ (рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдпреЛрдЧреНрдп): рдпрд╣ рдХрдВрдкреНрдпреВрдЯрд░ / рдбрд┐рд╕реНрдкреНрд▓реЗ рдПрдХ рдмреНрд▓реИрдХ рдмреЙрдХреНрд╕ рд╣реИ рдФрд░ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдореМрдЬреВрджрд╛ GPIO рдХреЛ рдмрдЯрди рдФрд░ рд╕рдВрдХреЗрддрдХ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рддреЗрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЙрдирдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдмреЛрд░реНрдб рдЗрд╕рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИред рддреЛ рдирд╛рд╡ рдХреЗ рд▓рд┐рдП рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдирд┐рдпрдВрддреНрд░рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ (рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рд░реЗрдбрд┐рдпреЛ рдореЙрдбреНрдпреВрд▓ NRF24L01 + рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░рдирд╛) рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП UART рдФрд░ ... рдпрд╣ рд╕рдм рд╣реИред рдЗрд╕ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреИрд╕реЗ рдФрд░ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдореЗрдВ Youtube рдкрд░ + рдХреЗ рд╡реАрдбрд┐рдпреЛ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рджреЗрдЦреЗрдВ





- рд╡рд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдпрд╣ рдкреНрд░рджрд░реНрд╢рди рдирд╛рд╡ рдХреЗ рд╕рднреА рдЕрдиреНрдп рдШрдЯрдХреЛрдВ рдФрд░ рд╕рдВрдпреБрдХреНрдд рдХрдВрд╕реЛрд▓ рд╕реЗ рдЕрдзрд┐рдХ рдорд╣рдВрдЧрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдореЗрд░реЗ рдЫрд╛рдкреЛрдВ рдХрд╛ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред рд╢рд╛рдпрдж рдпрд╣ рдХрд┐рд╕реА рдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдЙрд╕рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИ рдпрд╛ рдХреНрдпрд╛ рдиреЛрдХрд┐рдпрд╛ 5110 рд▓реИрдкрдЯреЙрдк / рдбрд┐рд╕реНрдкреНрд▓реЗ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ред рдЕрдЧрд▓рд╛ рдмрдврд╝рд╛рдпрд╛ NX4827K043 рдХреЗ рд▓рд╛рдн:
  1. рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рдпреВрдЯреНрдпреВрдм рдкрд░ рд╕рд░рд▓ рдкреНрд░рд▓реЗрдЦрди, рдЙрджрд╛рд╣рд░рдг, рд╡реАрдбрд┐рдпреЛ рд╣реИрдВ ... рдХреБрдЫ рдШрдВрдЯреЛрдВ рдореЗрдВ рдЖрдк рдЗрд╕реЗ рдЦрд░реЛрдВрдЪ рд╕реЗ рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВред рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рд▓рдЧрднрдЧ рд╕рднреА рдЪреАрдЬрд╝реЛрдВ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ: рд╡рд┐рдХреА рдкреЗрдЬ рдФрд░ рдЗрдВрд╕реНрдЯреНрд░рдХреНрд╢рди рд╕реЗрдЯ
  2. рдмрд╣реБрдд рддреЗрдЬ рд╡рд┐рдХрд╛рд╕ред рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдЬреИрд╕рд╛ рд╡рд┐рдЬреБрдЕрд▓ рдПрдбрд┐рдЯрд░ (рдХреЗрд╡рд▓ рдЖрд╕рд╛рди)ред рдореИрдВрдиреЗ рдШрдЯрдХреЛрдВ рдХреЛ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдФрд░ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
  3. рдЙрдЪреНрдЪ рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ рдШрдЯрдХред 100k рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдлреНрд▓реИрд╢ рдореЗрдореЛрд░реАред
  4. рдПрдХ рдбреАрдмрдЧрд░ рдЬреЛ рдкреАрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдбрд┐рд╕реНрдкреНрд▓реЗ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдПрдХ COM рдкреЛрд░реНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдиреЗ рдПрдордХреЗ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЖрдкрдХреЛ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ, рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдЦрд░реАрджрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рддрднреА рдЬрдм рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
    рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЙрд╕рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ
    . . , , .
  5. рдкреНрд░рддрд┐рд░реЛрдзрдХ рд╕реЗрдВрд╕рд░ рдЖрдк рдХрд╛рдлреА рдЫреЛрдЯреЗ рдирд┐рдпрдВрддреНрд░рдг рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рдирд╛рдЦреВрдиреЛрдВ рдпрд╛ рдХрд┐рд╕реА рд╕реНрдЯрд╛рдЗрд▓рд╕ рдХреЗ рд╕рд╛рде рдкреНрд░рд╣рд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдиреБрдХрд╕рд╛рди:
  1. рдореВрд▓реНрдпред $ 50 рдЕрднреА рднреА 4.3 '' рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ рд╣реИред
  2. рдХреБрдЫ рдореМрдЬреВрджрд╛ рдШрдЯрдХ рд╣реИрдВ, рдХреБрдЫ рдШрдЯрдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕, рдХреИрд╕реЗ рдЕрдкрдиреА рдЦреБрдж рдХреА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдЖрд░реЗрдЦрдг (рд░реЗрдЦрд╛рдПрдБ, рдЖрдпрддрд╛рдХрд╛рд░, рдордВрдбрд▓рд┐рдпрд╛рдБ, ...) рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдСрдлрд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИред
  3. рдЙрдиреНрдирдд рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдорд╛рдирдХ рдЧреЗрдЬ рдШрдЯрдХ рдЯрд┐рдордЯрд┐рдорд╛рддрд╛ рд╣реИред
  4. рдирд╣реАрдВ (рдХрдо рд╕реЗ рдХрдо рдореБрдЭреЗ рдирд╣реАрдВ рдорд┐рд▓рд╛) рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ред
  5. рдмрд┐рдЬрд▓реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ: 4.75-7 рд╡реА рдФрд░ рдФрд╕рдд рд╡рд░реНрддрдорд╛рди 250 рдПрдордПред рдЬрдм рд╡реЛрд▓реНрдЯреЗрдЬ рдЧрд┐рд░рддрд╛ рд╣реИ, рддреЛ рдбрд┐рд╕реНрдкреНрд▓реЗ рдЪрдордХрдиреЗ рд▓рдЧрддрд╛ рд╣реИред
  6. рдХреЗрд╡рд▓ UART SPI рдФрд░ I┬▓C рдкрд░ рдЙрд╕рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
  7. GPIO рдЖрдЙрдЯрдкреБрдЯ рдХреЗрд╡рд▓ рдПрдХ рд▓реВрдк (рдХреЛрдИ рдХрдВрдШреА 2.54 рдорд┐рдореА) рдХреЗ рд▓рд┐рдП, рдХреЛрдИ ADC рдирд╣реАрдВред


рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдбрд┐рд╕реНрдкреНрд▓реЗ рдмрд╣реБрдд рдЙрдЪреНрдЪ-рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ рдЙрддреНрдкрд╛рдж рдХрд╛ рдЖрднрд╛рд╕ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЖрд╕рд╛рди рдФрд░ рд╕реБрдЦрдж рд╣реИред

рдкреНрд░рджрд░реНрд╢рди рдПрдХ рд╕рд╛рде рджреЛ рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддрд╛ рд╣реИ:
  1. рд╕реНрдерд┐рддрд┐ рд╕рдВрдХреЗрддред рдореБрдЭреЗ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ:
    • рд╢рд┐рдХрдВрдЬрд╛ рдХреА "рдШреВрд░реНрдгреА рдЧрддрд┐";
    • IDeltaRot рдЪрд░ рдХрд╛ рдорд╛рди рд╡рд╛рдВрдЫрд┐рдд рд╡рд╛рдВрдЫрд┐рдд рдХреЛрдг рдХрд┐рддрдирд╛ рднрд┐рдиреНрди рд╣реЛрддрд╛ рд╣реИ;
    • рдирд╛рд╡ рд░реЛрдЯреЗрд╢рди рдХреА рдЧрддрд┐;
    • рдирд╛рд╡ рдХреЗ рд░реЛрдЯреЗрд╢рди рдХрд╛ рдХреЛрдг;
    • рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рд╕реЗ рдкреИрдХреЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡реГрддреНрддрд┐;
    • рдкреНрд░реЗрд░рдХ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХреА рдЖрд╡реГрддреНрддрд┐ред

  2. рдкреИрд░рд╛рдореАрдЯрд░реНрд╕ рд╕реЗрдЯ рдХрд░рдирд╛, рдЕрд░реНрдерд╛рддреН рдлреЙрд░рд╡рд░реНрдбрдореВрд▓, рд░реЙрдЯрдореИрдХреНрд╕рд╕реНрдкреАрдб, рд░реЙрдЯрдорд▓реНрдЯ, рдЖрдИрдбреЗрд▓рд░реЙрдЯрдореВрд▓реНрдЯред


рдмрдиреЗ 2 рдкреГрд╖реНрда (рдЧреБрдгрд╡рддреНрддрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рд▓рд┐рдП рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдпреЛрдЧреНрдп):
  1. рд╕рдВрдХреЗрдд:


  2. рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕: рдкрд╣рд▓реЗ 4 рдХреЙрд▓рдо рдмрд╛рдПрдВ рд╕реЗ рджрд╛рдПрдВ: рдлреЙрд░рд╡рд░реНрдбрдореВрд▓, рд░реЛрдЯрдореЙрд▓реНрдЯ, рдЖрдИрдбреЗрд▓рд░реЙрдЯрдореЙрд▓реНрдЯ, рд░реЛрдЯрдореИрдХреНрд╕рд╕реНрдкреАрдбред






рдлрд░реНрд╢ рдкрд░ рд╡реАрдбрд┐рдпреЛ рдкрд░реАрдХреНрд╖рдг рдирд╛рд╡:



рд╡рд┐рднрд┐рдиреНрди iDeltaRotMult (рдЕрднрд┐рдиреНрди рдЧреБрдгрд╛рдВрдХ) рдкрд░ рдмрд╛рд╣рд░реА рдмрд╛рд╣рд░реА рдкреНрд░рднрд╛рд╡ рдХреЗ рд▓рд┐рдП рдирд╛рд╡ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛:



рдкрд╛рдиреА рдкрд░ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдкреНрд░рднрд╛рд╡ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди:



рдЦреБрд▓реЗ рдкрд╛рдиреА рдореЗрдВ рд╡реАрдбрд┐рдпреЛ рдХреИрдкреНрдЪрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрд╛ред рдЖрдк рдЗрд╕реЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдкрд░ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЙрд╕рдХреА рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдЕрдЪреНрдЫреА рд╣реИ, рдФрд░ рдЕрдзрд┐рдХрддрдо рдЧрддрд┐ рдмрд╣реБрдд рдирд╣реАрдВ рд╣реИред

рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ


  • рд░реЙрдб 9 рдЬреА;
  • рд╡рдЬрди 115 рдЧреНрд░рд╛рдо, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдмреИрдЯрд░реА 52 рдЬреА рд╡рдЬрди;
  • рдЕрдзрд┐рдХрддрдо рддреНрд╡рд░рдг 0.77 m / s ^ 2 рд╣реИред рдорд╛рдирд╡ рдХреЗ рд▓рд┐рдП 5 рдХрд┐рдореА / рдШрдВрдЯрд╛, рдЕрдЧрд░ рдХреЛрдИ рдкрд╛рдиреА рдкреНрд░рддрд┐рд░реЛрдз рдирд╣реАрдВ рдерд╛, рддреЛ рдирд╛рд╡ 1.8 рдПрд╕ рдореЗрдВ рддреЗрдЬреА рд▓рд╛рдПрдЧреА;
  • рдпрджрд┐ рдЖрдк рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдФрд░ рдирд╛рд╡ (рдбрд┐рд╕реНрдкреНрд▓реЗ рдФрд░ рдмреИрдЯрд░реА рдХреЗ рдмрд┐рдирд╛) рджреЛрдиреЛрдВ рдореЗрдВ рдЕрд░реБрдбрд┐рдиреЛ рдиреИрдиреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдШрдЯрдХреЛрдВ рдХреА рд▓рд╛рдЧрдд рд▓рдЧрднрдЧ $ 15 рд╣реИред


рдирд┐рд╖реНрдХрд░реНрд╖


рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдХреБрдЫ рд░реЗрдбрд┐рдпреЛ-рдирд┐рдпрдВрддреНрд░рд┐рдд рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рд░рдЦрддреЗ рд╣реИрдВ, рдореИрдВ рджреЛ рдлрд┐рдХреНрд╕реНрдб рдкреНрд░реЛрдкреЗрд▓рд░ рдХреЗ рд╕рд╛рде рдПрдХ рдкреЛрдд рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдпрд╣ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдХрд╛рдо рд╣реИ рдЬреЛ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдкреБрд░рд╛рд▓реЗрдЦ

рдФрд░ рдЕрдВрдд рдореЗрдВ, рддрд╛рдХрд┐ рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ рдПрдХ рдЕрджреНрднреБрдд рдЙрдкрдХрд░рдг рдХрд╛ рдПрдХ рд╡реАрдбрд┐рдпреЛ рд╣реИ:

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


All Articles