DIY рдзреНрд╡рдирд┐рдХ рдЙрддреНрддреЛрд▓рди


рдЖрдЬ рдореИрдВ рдмрддрд╛рдКрдВрдЧрд╛ рдФрд░ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рдШрд░ рдкрд░ рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рдЕрд▓реНрдЯреНрд░рд╛рд╕реЛрдирд┐рдХ рдЙрддреНрддреЛрд▓рди рдХреЗ рдкреНрд░рднрд╛рд╡ рдХреЛ рдХреИрд╕реЗ рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рдПред

рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦреЛрдВ рдореЗрдВ, рдПрдХ , рджреЛ ред рдореИрдВрдиреЗ рдЫрджреНрдо рдЙрддреНрддреЛрд▓рди рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ред рдЗрд╕ рд╕рдордп рдпрд╣ рд╕рдм рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реИред рдореИрдВ рд╕рд┐рджреНрдзрд╛рдВрдд рд╕реЗ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдБред

рдзреНрд╡рдирд┐ рдХрдВрдкрди


рдЙрддреНрддреЛрд▓рди рдкреНрд░рднрд╛рд╡ рдХреЗ рдкреВрд░реЗ рд╕рд╛рд░ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдзреНрд╡рдирд┐ рддрд░рдВрдЧ рдФрд░ рдЦрдбрд╝реА рд▓рд╣рд░ рдХреНрдпрд╛ рд╣реИрдВред

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

рдЫрд╡рд┐

рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ: рд╕реНрдкреАрдХрд░ рдбрд┐рдлреНрдпреВрдЬрд╝рд░ рдмрд╛рд╣рд░ рдХреА рдУрд░ рдмрдврд╝рдиреЗ рдкрд░ рд╕рдВрдкреАрдбрд╝рди рдмрдирд╛рддрд╛ рд╣реИ, рдФрд░ рдЬрдм рдЕрдВрджрд░ рдХреА рдУрд░ рдмрдврд╝рддрд╛ рд╣реИ рддреЛ рд╡рд┐рдШрдЯрд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЫрд╡рд┐ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЫрд╡рд┐

рдЕрдзрд┐рдХрддрдо рддрд░рдВрдЧ рд╢рдХреНрддрд┐ рдЧрддрд┐рд╢реАрд▓ рд╣реЗрдб рдбрд┐рдлреНрдпреВрдЬрд╝рд░ рдХреЗ рдкрд╛рд╕ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ рдФрд░, рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдПрдорд┐рдЯрд░ рд╕реЗ рджреВрд░ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдзреАрд░реЗ-рдзреАрд░реЗ рдЕрдкрдиреА рд╢рдХреНрддрд┐ рдЦреЛ рджреЗрддрд╛ рд╣реИ, рд╕реНрдкреАрдХрд░ рд╕реЗ рджреВрд░ рдпрд╣ рдХрдордЬреЛрд░ рд╣реИред

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

рдЫрд╡рд┐

рддрд░рдВрдЧ рджреИрд░реНрдзреНрдп рджреЛрд▓рдиреЛрдВ рдХреА рдЖрд╡реГрддреНрддрд┐ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдзреНрд╡рдирд┐ рдХреА рдЧрддрд┐ рд╣реИред 20 рдбрд┐рдЧреНрд░реА рд╕реЗрд▓реНрд╕рд┐рдпрд╕ рдХреЗ рддрд╛рдкрдорд╛рди рдФрд░ 50% рдХреА рдЖрд░реНрджреНрд░рддрд╛ рдкрд░, рдзреНрд╡рдирд┐ 340 рдПрдо / рдПрд╕ рдХреА рдЧрддрд┐ рд╕реЗ рдРрд╕реЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдлреИрд▓рддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдкреАрдЬреЛрдЗрд▓реЗрдХреНрдЯреНрд░рд┐рдХ рдПрдорд┐рдЯрд░ рдХреА рдЧреБрдВрдЬрдпрдорд╛рди рдЖрд╡реГрддреНрддрд┐ рд▓рдЧрднрдЧ 40,000 рд╣рд░реНрдЯреНрдЬ рд╣реИред рдирддреАрдЬрддрди, рд╣рдо 340,000 рдорд┐рдореА / 40,000 рд╣рд░реНрдЯреНрдЬ = 8.5 рдорд┐рдореА рдХреА рддрд░рдВрдЧ рджреИрд░реНрдзреНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдЦрдбрд╝реА рддрд░рдВрдЧ рджреИрд░реНрдзреНрдп рд╕рдорд╛рди 8.5 рдорд┐рдореА рд╣реЛрдЧреАред

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

рдХрдиреЗрдХреНрд╢рди рдЖрд░реЗрдЦ - рдореИрдВрдиреЗ Arduino рдиреИрдиреЛ рдФрд░ MX1508 рдореЛрдЯрд░ рдЪрд╛рд▓рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ , рдореИрдВ NE555 рдЬрдирд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рдХрд░ рд╕рдХрддрд╛ рдерд╛, рдФрд░ рдПрдорд┐рдЯрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдореНрдкрд▓реАрдлрд╛рдпрд░ рдХреЗ рд░реВрдк рдореЗрдВ, HC2-SR04 рд░реЗрдВрдЬрдлрд╛рдЗрдВрдбрд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд MAX232 рдЪрд┐рдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рд░рд╛рд╕реНрддрд╛ рдЪреБрдирд╛ рдЬрд┐рд╕рдиреЗ рдореБрдЭреЗ рд╕рдордп рдмрдЪрд╛рдпрд╛ред рдЪреВрдВрдХрд┐ рдореБрдЭреЗ рдзреНрд╡рдирд┐рдХ рд▓реЗрд╡рд┐рдЯреНрд░реЙрди рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдореЗрдВ 5 рдорд┐рдирдЯ рд╕реЗ рдЕрдзрд┐рдХ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд▓рдЧрд╛ред рдореИрдВрдиреЗ рдбреБрдкреЙрдиреНрдЯ рд╡рд╛рдпрд░ рдХрд┐рдЯ рдХреЗ рд╕рд╛рде рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рдпрд╛ред

рдЫрд╡рд┐

рд╕реНрдХреЗрдЪ Arduino рдХрд╛ рд╡рд░реНрдгрди


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

OCR1A рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд╛ рдореВрд▓реНрдп, рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреА рдЧрдгрдирд╛ рдирд┐рдореНрди рдкреНрд░рдХрд╛рд░ рд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИ: рдЪреВрдВрдХрд┐ TCCR1B рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рд╡рд┐рднрдХреНрдд рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рдо 16,000,000 рд╣рд░реНрдЯреНрдЬ рдХреА рдШрдбрд╝реА рдЖрд╡реГрддреНрддрд┐ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рд╡рд╛рдВрдЫрд┐рдд рдмрд╛рдзрд╛ рдЖрд╡реГрддреНрддрд┐ 80,000 рд╣рд░реНрдЯреНрдЬ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╣рдореЗрдВ 200 рдирдВрдмрд░ рдорд┐рд▓рддрд╛ рд╣реИ, рдпрд╣ рд╣рдорд╛рд░рд╛ рдореВрд▓реНрдп рд╣реЛрдЧрд╛ рд░рдЬрд┐рд╕реНрдЯрд░ OCR1A рдХреЗ рд▓рд┐рдПред

рдХреНрдпреЛрдВ 80 kHz, 40 kHz рдирд╣реАрдВ, рдЖрдк рдкреВрдЫреЗрдВ? рдХреНрдпреЛрдВрдХрд┐ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рдЕрд╡рдзрд┐ рджреЛ рд╡реНрдпрд╡рдзрд╛рди рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдмрдирддреА рд╣реИред рдкрд╣рд▓реЗ рдСрдкрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди, рдЖрдЙрдЯрдкреБрдЯ рдбреА 3 = 0 рдФрд░ рдбреА 4 = 1 рдФрд░ рджреВрд╕рд░реЗ рдореЗрдВ рдбреА 3 = 1 рдФрд░ рдбреА 4 = 0 рдмрдирд╛рддреЗ рд╣реИрдВред

Arduino рдХреЗ рд▓рд┐рдП рдХреЛрдб


volatile uint8_t portD3_D4 = 8; //   D3    D4 void setup() { pinMode(3, OUTPUT); pinMode(4, OUTPUT); //  Timer1 TCNT1 = 0; TCCR1A = 0; TCCR1B = 0; OCR1A = 199; //    16  / 80  = 200 TCCR1B = (1 << WGM12)|(1 << CS10); //  CTC,   TIMSK1 |= (1 << OCIE1A); //    } void loop () {} ISR (TIMER1_COMPA_vect) //     { PORTD = portD3_D4; //     portD3_D4 = 255-portD3_D4;//        } 

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


All Articles