рдкрд╛рдиреА рдлреВрд▓ - рддреНрд╡рд░рд┐рдд рдФрд░ рдЖрд╕рд╛рди

рдЫрд╡рд┐

рд╣реИрд▓реЛ, рдкреНрд░рд┐рдп Habrozhitel!
рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдореЗрд░реЗ рдкрд┐рддрд╛ рдиреЗ рдореБрдЭреЗ рдлреЛрди рдХрд┐рдпрд╛ рдФрд░ рдореБрдЭреЗ рдмрддрд╛рдпрд╛ рдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рдПрдХ рдлреВрд▓ рд╣реИ рдЬрд┐рд╕реЗ рд╡рд╣ рд▓рдЧрд╛рддрд╛рд░ рдкрд╛рдиреА рдХреЗ рд▓рд┐рдП рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВ рдпрд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкрд╛рдиреА рдбрд╛рд▓рддреЗ рд╣реИрдВ, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╡рд╣ рд╕реВрдЦ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдЕрдзрд┐рдХ рдирдореА рд╕реЗ рдкреАрдбрд╝рд┐рдд рд╣реЛрддрд╛ рд╣реИред

рд╣рдо рдПрдХ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдФрд░ C # рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░реЗрдВрдЧреЗред



рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдкрд░рд╛рдорд░реНрд╢ рдХреЗ рдмрд╛рдж, рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ред рд╣рдордиреЗ рдЕрдкрдиреЗ рд▓рд┐рдП рдореВрд▓рднреВрдд рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреА рдкрд╣рдЪрд╛рди рдХреА рд╣реИ рдХрд┐ рд╣рдо рдХреНрдпрд╛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ:


рднрд╛рдЧ 1. рд╣рд╛рд░реНрдбрд╡реЗрдпрд░

рд╣реИрдмреЗ ( рдкреНрд░рд╢реНрди ) рдкрд░ рдПрдХ рдкреНрд░рд╢реНрди рдкреВрдЫрдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ Arduino рдФрд░ рдЕрдиреНрдп рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕реБрдЭрд╛рд╡ рдорд┐рд▓реЗ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ AVR-USB-MEGA16 (рдПрдВрдбреНрд░реА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╕рд▓рд╛рд╣ рдФрд░ рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП, рд╕рд╛рде рд╣реА рд╕рд╛рде рдбрд┐рд▓реАрд╡рд░реА рдХреА рдЧрддрд┐ рдХреЗ рд▓рд┐рдП) рдкрд░ рд░реЛрдХ рджрд┐рдпрд╛ред



рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдШрдЯрдХ рдЦрд░реАрджреЗ рдЧрдП:


рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рд╕рднреА рдЫреЛрдЯреА рдЪреАрдЬреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд▓рдЧрднрдЧ 2200 рд░реВрдмрд▓ рдирд┐рдХрд▓рд╛ред



рд╕рднреА рднрд╛рдЧреЛрдВ рдмрд╣реБрдд рдХреЙрдореНрдкреИрдХреНрдЯ рд╣реИрдВ, рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдкрдВрдк рд╣реИ:



рддреЛ, рд╕рдм рдХреБрдЫ рдЦрд░реАрджрд╛ рд╣реИ, рдпрд╣ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рд╕рдордп рд╣реИред @AlekseyNovikov рдиреЗ рд░рд┐рд▓реЗ рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рд╕рд░реНрдХрд┐рдЯ рдХреА рд╕рд▓рд╛рд╣ рджреА, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред рдпрд╣рд╛рдБ рдЪрд┐рддреНрд░ рд╣реИ:



рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬрд┐рд╕рдиреЗ рдбрд╛рдпреЛрдб рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рд╢рд╛рдо рдХреЛ рд╕реЛрд▓реНрдбрд░рд┐рдВрдЧ рдореЗрдВ рдмрд┐рддрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭрджрд╛рд░реА рдорд┐рд▓реА:



рдЕрдм рд╣рдо рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк - рдХрд╛рдо рдХреЗ рддрд░реНрдХ рдХреА рдУрд░ рдореБрдбрд╝рддреЗ рд╣реИрдВред

рднрд╛рдЧ 2. рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╣рд┐рд╕реНрд╕рд╛


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

рдмреЛрд░реНрдб рд╕реЗ рд╣рдореЗрдВ рдХреЗрд╡рд▓ рджреЛ рдЪреАрдЬреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:


рддреЛ, рдореИрдВрдиреЗ Kukhtetsky Sergey рдХреЗ рдлрд░реНрдорд╡реЗрдпрд░ рдХреЗ рд╕рд╛рде WPF рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ (рдЗрд╕ рдХрд╛рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ )ред
рдХрд╛рд░реНрдпрдХреНрд░рдо рдПрдХ рдЯреНрд░реЗ рдЖрдЗрдХрди рдФрд░ рдПрдХ рдЫреЛрдЯреА рд╡рд┐рдиреАрдд рдЦрд┐рдбрд╝рдХреА рд╣реИред



рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рд╕реЗрдЯрд┐рдВрдЧ рднреА рдпрдерд╛рд╕рдВрднрд╡ рд╕рд░рд▓ рд╣реИ:



рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЗ рдХрд╛рдо рдореЗрдВ рдореБрдЦреНрдп рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдорд╕реНрдпрд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
  1. рдкрдВрдк рдкрд░ рд╕рдВрдХреЗрддрд┐рдд рдкрдВрдк рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИ
  2. рдкрдВрдк рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдкрд╛рдиреА рдХреА рдКрдВрдЪрд╛рдИ рдкрд░ рдмрд╣реБрдд рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдЧрд░ рдкрдВрдк рдмрд╕ рдкрд╛рдиреА рдХреЛ рдирд╛рд▓рддрд╛ рд╣реИ, рддреЛ рдореЗрд░реЗ рдкрдВрдк рдХрд╛ рдкреНрд░рджрд░реНрд╢рди 350 рд▓реАрдЯрд░ рдкреНрд░рддрд┐ рдШрдВрдЯреЗ рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди 80 рд╕реЗрдореА рдХреА рдКрдБрдЪрд╛рдИ рдХреЗ рд╕рд╛рде рдпрд╣ рдореБрд╢реНрдХрд┐рд▓ рд╕реЗ 40 рд▓реАрдЯрд░ рдкреНрд░рддрд┐ рдШрдВрдЯреЗ рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рддрд╛ рд╣реИред
  3. рдХрдВрдЯреЗрдирд░ рдХреА рдХреНрд╖рдорддрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкрдВрдк рдЖрдВрдЦ рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
  4. рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдкрд╛рдиреА рдлреВрд▓ рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рдП, рдЙрд╕реЗ рдирд▓реА рддрдХ рдПрдХ рдХрдард┐рди рд░рд╛рд╕реНрддрд╛ рдкрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред


рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдорд╛рдкрди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рд╕рд░рд▓ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕рдм рдХреБрдЫ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдкрд╛рдиреА рдХреЛ рдЯреИрдВрдХ рдореЗрдВ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:


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

APC (рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЬрд▓ рдлреВрд▓) рдХрд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╕рд░рд▓ рд╣реИ:

рд╣рд░ рджрд╕ рдорд┐рдирдЯ рдореЗрдВ рдПрдХ рдмрд╛рд░, рд░реАрдбрд┐рдВрдЧ рдХреЛ рдорд┐рдЯреНрдЯреА рдХреА рдирдореА рд╕реЗрдВрд╕рд░ (рдорд╛рдк рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╣реЛрддреА рд╣реИ, рдЕрдВрдХрдЧрдгрд┐рдд рдорд╛рдзреНрдп рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдмреВрдд рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдорд┐рдЯреНрдЯреА рдХреЛ рд╕рд┐рдВрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрджрд┐ рдЖрджрд░реНрд╢ рд╕реЗ рд╡рд┐рдЪрд▓рди 5% рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рддреЛ рдкрд╛рдиреА рд╣реЛрддрд╛ рд╣реИред рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдбреЗрдЯрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрдирдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╕рд┐рдВрдЪрд╛рдИ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рдмрд╛рдж рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдПрдХ рдЕрдиреБрд╕реВрдЪреА рдФрд░ рд╕рд┐рдВрдЪрд╛рдИ рдХреА рдЖрд╡рд╢реНрдпрдХ рдорд╛рддреНрд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред рдбрд╛рд▓рд╛ рдЧрдпрд╛ рддрд░рд▓ рдХреА рдорд╛рддреНрд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рднреА рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЖрд░реНрджреНрд░рддрд╛ рдорд╛рдирдХ рд╣реИ, 74% рдХрд╣рддреЗ рд╣реИрдВ (рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдпрдВрддреНрд░ рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдПрдордПрд▓ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ), 100 рдорд┐рд▓реАрд▓реАрдЯрд░ рдХреА рдорд╛рддреНрд░рд╛ рд╡рд╛рд▓рд╛ рдкрд╣рд▓рд╛ рдкрд╛рдиреА рд╣реЛрддрд╛ рд╣реИ, 10 рдорд┐рдирдЯ рдХреЗ рдмрд╛рдж рдЕрдЧрд▓рд╛ рдЖрд░реНрджреНрд░рддрд╛ рдорд╛рдк рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╣рдо рд╕рдВрджрд░реНрдн рдЖрд░реНрджреНрд░рддрд╛ рдХреЗ рд╕реНрддрд░ рд╕реЗ рд╡рд┐рдЪрд▓рди рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рдЕрдЧрд░ рдЖрд░реНрджреНрд░рддрд╛ рдЖрд╡рд╢реНрдпрдХ рд╕реЗ рдХрдо рд╣реИ, рддреЛ рдЕрдЧрд▓реЗ рдкрд╛рдиреА рдХреЛ рд╡рд┐рдЪрд▓рди (100 рдорд┐рд▓реАрд▓реАрдЯрд░, 50 рдорд┐рд▓реАрд▓реАрдЯрд░, 10 рдорд┐рд▓реАрд▓реАрдЯрд░, 3 рдорд┐рд▓реАрд▓реАрдЯрд░) рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡реЗрддрди рд╡реГрджреНрдзрд┐ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдЧрд░ рдЖрд░реНрджреНрд░рддрд╛ рдХрд╛ рд╕реНрддрд░ + -5 рдпреВрдирд┐рдЯ рдирд╣реАрдВ рдмрджрд▓рд╛ рд╣реИ, рддреЛ рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЯреИрдВрдХ рдкрд╛рдиреА рд╕реЗ рдмрд╛рд╣рд░ рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реИ, рдПрд╕рдПрдордПрд╕ рднреЗрдЬреЗрдВред

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

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

рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдХреА рдпреЛрдЬрдирд╛рдПрдВ рд╕рднреА рдХрдорд┐рдпреЛрдВ рдХреЛ рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдПрдХ 3 рдбреА рдореЙрдбрд▓ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдмрд░реНрддрди рдореЗрдВ рд╕рдм рдХреБрдЫ рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧрд╛ - рдПрдХ рдЯреИрдВрдХ, рдкрдВрдк, рдкрд╛рдиреА рдХреЗ рдЪреИрдирд▓, рд╕реЗрдВрд╕рд░, рдПрд▓рд╕реАрдбреА рд╕реНрдХреНрд░реАрди, рдЖрджрд┐ред рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╕рдм рдХрдо рд╕реЗ рдХрдо рдЫрд╣ рдорд╣реАрдиреЗ рддрдХ рдмреИрдЯрд░реА рдкрд░ рдХрд╛рдо рдХрд░реЗред , рдпрд╣ рдкреЙрдЯ Arduin Pro Mini рдкрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рдлрд┐рд▓рд╣рд╛рд▓ рдореБрдЭреЗ рдмреНрд▓реЗрдВрдбрд░ рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рд╣реИ (рдореБрдЭреЗ 3 рдбреА рдореИрдХреНрд╕ рдореЗрдВ рдмрд╣реБрдд рдЕрдиреБрднрд╡ рд╣реИ), рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдкрд╛рдпрд░реЗрдЯреЗрдб рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЦрддреНрдо рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдореЙрдбрд▓ рдХреЛ 3 рдбреА рдкреНрд░рд┐рдВрдЯрд┐рдВрдЧ рдореЗрдВ рд╕реМрдВрдк рджреВрдВрдЧрд╛, рд╕рднреА рдХрдорд┐рдпреЛрдВ рдХреЛ рдЦрддреНрдо рдХрд░ рджреВрдВрдЧрд╛, рдПрдХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдЪрд▓рд╛рдКрдВрдЧрд╛ рдФрд░ рдЗрд╕ рд▓реЗрдЦ рдХреА рдирд┐рд░рдВрддрд░рддрд╛ рд▓рд┐рдЦреВрдВрдЧрд╛ред

UPD: рдореИрдВ рд╡рд░реНрддрдорд╛рди рдбрд┐рд╡рд╛рдЗрд╕ рдЖрд░реЗрдЦ рдХреЛ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ (рдмрд┐рдирд╛ рдбрд╛рдпреЛрдб рдХреЗ, рдмрд╛рдж рдореЗрдВ рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)


рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдмрд┐рдВрджреБрдУрдВ рдореЗрдВ рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рддреИрдпрд╛рд░реА рд╢рд╛рдорд┐рд▓ рд╣реИ:

public static bool Init() { dev = new ATMega16(vid, pid); //   dev  ATMega16. if (!dev.IsOpen()) //     USB { return false; } else //   ,    USB { dev.DDRD |= 0x80; //  7  D -   dev.PORTD &= 0x7F; //     dev.ADMUX = (3 << ATMega16.REFS0); //       //       200 .     //     128 ( ADPS0, ADPS1  ADPS2   1). ..  125 . //    (1/125000)*13 = 104 ,   - 9.6  //   ADEN  1    dev.ADCSRA = (1 << ATMega16.ADEN) | (1 << ATMega16.ADPS2) | (1 << ATMega16.ADPS1) | (1 << ATMega16.ADPS0); } return true; } 


рд╕реЗрдВрд╕рд░ рд░реАрдбрд┐рдВрдЧ:

  dev.ADMUX = (byte)((dev.ADMUX & 0xE0) | 0); //    - ADC0 dev.ADCSRA |= (1 << ATMega16.ADSC); //   //    ( 100 ).       while ((dev.ADCSRA & (1 << ATMega16.ADIF)) == 0) ; return (dev.ADCL + (((int)dev.ADCH) << 8)); //   


рд╕реЗрдВрд╕рд░ рд╕реЗ рд░реАрдбрд┐рдВрдЧ рдХреЛ% рдЖрд░реНрджреНрд░рддрд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛, рдФрд░ рдмрд╛рдж рдореЗрдВ рдПрдХ рд▓реЛрдЕрд░рдХреЗрд╕ рдорд╛рди рдореЗрдВ:

  var persantage = (int)(stateOfSoil / 8.4); if (persantage < 10) result = ""; else if (persantage < 20) result = " "; else if (persantage < 30) result = ""; else if (persantage < 40) result = ""; else if (persantage < 50) result = ""; else if (persantage < 60) result = ""; else if (persantage < 70) result = ""; else if (persantage < 80) result = ""; else if (persantage < 90) result = ""; else result = ""; return String.Format("{0} ({1}%)", result, persantage); 


рдкрдВрдк рдкрд░:
  dev.PORTD |= 0x80; 


рдкрдВрдк рдХреЛ рдЕрдХреНрд╖рдо рдХрд░реЗрдВ:
  dev.PORTD &= 0x7F; 

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


All Articles