Arduino рдХреЗ рд╕рд╛рде рдкреНрд░рдХрд╛рд╢ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВ

рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдХрд╛рд░рдг рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рджреЛ рд╣реИрдВред рдПрдХ рджрд╛рд▓рд╛рди рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд░реВрдк рд╕реЗ рдЯрд┐рдордЯрд┐рдорд╛рддрд╛ рд╣реБрдЖ рджреАрдкрдХ рд╣реИред рджреВрд╕рд░рд╛ рдСрдЯреЛрдореИрдЯрд┐рдХ рд╕рд┐рд╕реНрдЯрдо рд╣реИ рдЬреЛ рдФрджреНрдпреЛрдЧрд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдмрд▓ рдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ (AOV, AHS, ASDU рд╕рд┐рд╕реНрдЯрдо рдЗрддреНрдпрд╛рджрд┐ рдХреЛ рдбрд┐рдЬрд╛рдЗрди рдХрд░рддрд╛ рд╣реИ) рдФрд░ рдЗрд╕ рдЬреНрдЮрд╛рди рдХреЛ рдЕрдкрдиреЗ рдШрд░реЛрдВ рдХреЗ рд▓рд╛рдн рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред

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

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рдлрд┐рд░ рдЗрд╕рдореЗрдВ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рджреЗрдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред

рддрд╛рд░реЛрдВ рдХрд╛ рдЖрд░реЗрдЦ


рд╕рд╛рде рд╣реА, рдлреНрд▓реЛрд░ рдкреНрд▓рд╛рди рд╡рд┐рдЬреБрдЕрд▓ рд╣реЛрдЧрд╛ред

рджрд╛рд▓рд╛рди рдХреА рдпреЛрдЬрдирд╛
image

рддреЛ рджрд╛рд▓рд╛рди рдореЗрдВ 2 рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЫрдд рдкрд░ рдПрд▓рдИрдбреА рдкрдЯреНрдЯреА рдХреЗ рд╕рд╛рде рджрд┐рди рдХреЗ рдЙрдЬрд╛рд▓реЗ рдФрд░ рд░рд╛рдд рдХреЛ рдлрд░реНрд╢ рдкрд░ рдПрд▓рдИрдбреА рдкрдЯреНрдЯреА рдХреЗ рд╕рд╛рдеред рджреЛрдиреЛрдВ рдореЛрдб рджрд░рд╡рд╛рдЬреЗ рдХреЗ рдКрдкрд░ рдФрд░ рджрд░реНрдкрдг рдХреЗ рдмрдЧрд▓ рдореЗрдВ рд╕реНрдерд┐рдд рджреЛ рдореЛрд╢рди рд╕реЗрдВрд╕рд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдпреЛрдЬрдирд╛ рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рджрд░рд╡рд╛рдЬреЗ рдХреЗ рдКрдкрд░ рдХреЗрд╡рд▓ рдПрдХ рдореЛрд╢рди рд╕реЗрдВрд╕рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдЖрд╢реНрдЪрд░реНрдп рдХреЗ рд▓рд┐рдП, рд╕рдордп-рд╕рдордп рдкрд░ рдкреНрд░рдХрд╛рд╢ рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬрдм рдХрдорд░реЗ рдореЗрдВ рд▓реЛрдЧ рдереЗред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╕реЗрдВрд╕рд░ рджрд░реНрдкрдг рдореЗрдВ рдХрд┐рдП рдЧрдП рдЫреЛрдЯреЗ рдЬреЛрдбрд╝рддреЛрдбрд╝реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЕрдЧрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдЗрд╕рдХреЗ рдкреАрдЫреЗ рдХреЗ рд╕рд╛рде рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рдордиреЗ рдПрдХ рдЕрдВрдзрд╛ рдХреНрд╖реЗрддреНрд░ рдмрдирд╛рддрд╛ рд╣реИред рдореЗрд░реЗ рд▓рд┐рдП рджреВрд╕рд░реА рдЦреЛрдЬ рдпрд╣ рдереА рдХрд┐ рдХреБрдЫ рд▓реЛрдЧ рджрд░реНрдкрдг рдореЗрдВ 1-2 рдорд┐рдирдЯ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рдмрд┐рддрд╛ рд╕рдХрддреЗ рд╣реИрдВ (рдореЗрд░реЗ рдкрд╛рд╕ рдЖрдорддреМрд░ рдкрд░ рд▓рдЧрднрдЧ 15 рд╕реЗрдХрдВрдб рд╣реИрдВ)ред рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрдпрд╛ рдкрд╣рд▓рд╛ рд╕рдорд╛рдзрд╛рди Esylux + relay рдЬреИрд╕реЗ рдЕрдзрд┐рдХ рдЙрдиреНрдирдд рдСрдХреНрдпреВрдкреЗрдВрд╕реА рд╕реЗрдВрд╕рд░ рд▓рдЧрд╛рдирд╛ рдерд╛,рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рдХреЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреА рд▓рд╛рдЧрдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдмрд╛рдХреА рд╣рд┐рд╕реНрд╕реЛрдВ рдХреА рд▓рд╛рдЧрдд рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдЧреА, рдЗрд╕рд▓рд┐рдП "рдЕрдВрдзрд╛ рдзрдмреНрдмреЗ" рдХреЗ рд▓рд┐рдП рджреВрд╕рд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╕реЗрдВрд╕рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рд╡рд┐рдХрд▓реНрдк рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ред

рдореЛрд╢рди рд╕реЗрдВрд╕рд░ рдХреЛ HC-SR501 рдореЙрдбреНрдпреВрд▓ + рдЬрдВрдХреНрд╢рди рдмреЙрдХреНрд╕ рд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдореЛрд╢рди рд╕реЗрдВрд╕рд░
image
image

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

рдЫрдд рдХреЗ рд▓рд┐рдП, рдПрдХ рдПрд╕рдПрдордбреА 5050 рдЯреЗрдк, 300 рдПрд▓рдИрдбреА рдкреНрд░рддрд┐ 5 рдореАрдЯрд░ (12 рд╡реА 72 рдбрдмреНрд▓реНрдпреВ) рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ред рдПрдХ рдЧрд░реНрдо рдкреАрд▓реЗ рд░рдВрдЧ рдХреА рдЯрд┐рдВрдЯ рдХреЗ рд╕рд╛рде рд╕рд╛рджрд╛ред рдЯреЗрдк рдХреЛ рд░рд┐рд▓реЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд░рд╛рдд рдХреА рд░реЛрд╢рдиреА рдХреЗ рд▓рд┐рдП, рдПрдХ рдПрд╕рдПрдордбреА 5050 рдЖрд░рдЬреАрдмреА рдЯреЗрдк рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдкреНрд░рддрд┐ 5 рдореАрдЯрд░ рдореЗрдВ 150 рдПрд▓рдИрдбреАред рдХреЗрд╡рд▓ рдиреАрд▓рд╛ рд░рдВрдЧ рд╢рд╛рдорд┐рд▓ рд╣реИ (рдХрдо рддрд╛рд░) L298N рдЯреНрд░рд╛рдВрдЬрд┐рд╕реНрдЯрд░ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рдпрдВрддреНрд░рдг (рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рд╕рд┐рдЧреНрдирд▓ рдХреЗ рд╡реНрдпреБрддреНрдХреНрд░рдо рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ, рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ 255 рдХрд╛ рдорд╛рди рдПрд▓ рдИ рдбреА рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧрд╛)ред рдЯреЗрдк рдХреА рдЪрдордХ рдиреНрдпреВрдирддрдо рдкрд░ рд╕реЗрдЯ рдХреА рдЧрдИ рд╣реИ рддрд╛рдХрд┐ рдЖрдкрдХреА рдЖрдВрдЦреЛрдВ рдХреЛ рдЕрдВрдзрд╛ рди рдХрд░реЗрдВред

рдПрд▓рдИрдбреА рдЯреЗрдк
image
image

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

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

рдирд┐рдпрдВрддреНрд░рдХ
image
image

рдиреАрдЪреЗ, Arduino рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдбред

рдХреЛрдб
#include "IRremote.h"
int calibrationTime = 10; 
byte CellingLed = 9; /*   */ 
byte ledB = 6;  //  
byte pirDoor = 5; //  
byte pirMirror = 4; //   
IRrecv irrecv(2); //  IR  
byte dayNight = 7; //  ,  - / 
decode_results results;
byte irSignal = 0;
byte buttonstate; 
long unsigned int moveTime; //       
long unsigned int pause = 30000; // ,     
boolean movementDetected = true; // true -  
boolean moveFlag; //        
void setup ()
{
  irrecv.enableIRIn();
  Serial.begin(9600);
  pinMode(CellingLed,OUTPUT);
  pinMode(ledB,OUTPUT);
  digitalWrite(dayNight, HIGH); //      7
  pinMode(pirDoor,INPUT);
  pinMode(pirMirror,INPUT);
  digitalWrite(pirDoor, LOW);
  digitalWrite(pirMirror, LOW);
//   
  Serial.print("Calibrating");
  for(int i = 0; i < calibrationTime; i++)
    {
    Serial.print(".");
    delay(1000);
  }
  Serial.println(" done");
  Serial.println("SENSOR ACTIVE");
  delay(50);
}

void loop()
{
if ( irrecv.decode( &results)){
  delay(300);
  if (results.value == 0xFF3AC5) {irSignal = 0;}  /*       */
  if (results.value == 0xFFBA45) {irSignal = 1;}

  irrecv.resume();  
}
//    (/, IR /)
  byte DayNightSwitch = !digitalRead(dayNight);
  byte a;
  byte b;
    if (DayNightSwitch == LOW) {a=1;} else {a=0;}
    if (irSignal == 1)         {b=1;} else {b=0;}
    if (a==b) {buttonstate = 1;} 
    else      {buttonstate = 0;}
  byte pirstate;
    if (digitalRead(pirDoor) == HIGH || digitalRead(pirMirror) == HIGH)
        { pirstate = HIGH;}
    if (digitalRead(pirDoor) == LOW && digitalRead(pirMirror) == LOW)
        { pirstate = LOW;}


//  
if(pirstate == HIGH && buttonstate == 0 )
{
 if(movementDetected)
 {
  movementDetected = false;
  Serial.println("Motion detected");
  delay(50); 
  }
  moveFlag = true;
  analogWrite(ledB,240);//   
  digitalWrite(CellingLed, LOW);
}
if(pirstate == LOW & buttonstate == 0 )
{
  if(moveFlag)
  {
    moveTime = millis();
    moveFlag = false;
    }
  if(!movementDetected && millis() - moveTime > pause )
  {
    movementDetected = true;
    Serial.println("Motion finished");
    delay(50);    
    analogWrite(ledB,255);
    }  
}
//   
if (pirstate == HIGH && buttonstate == 1 )
{
 
 if(movementDetected)
 {
   movementDetected = false;
   Serial.println("Motion detected");
   delay(50); 
  }
  moveFlag = true;
  digitalWrite(CellingLed,HIGH);
  analogWrite(ledB,255);
}
if (pirstate == LOW && buttonstate == 1 )
{
  if(moveFlag)
  {
    moveTime = millis();
    moveFlag = false;
    }
  if(!movementDetected && millis() - moveTime > pause )
  {
    movementDetected = true;
    Serial.println("Motion finished");
    delay(50);    
    digitalWrite(CellingLed,LOW);
    } 
}

}


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

рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕
image

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


All Articles