рдореИрдВ рдПрдХ Arduino рдордЫрд▓реАрдШрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдРрд╕реА рдЪреАрдЬрд╝ рдмрдирд╛рдиреЗ рдореЗрдВ рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рдЕрдиреБрднрд╡ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдХреБрд▓ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛, рдФрд░, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреИрд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА, рдореИрдВрдиреЗ рдЕрдкрдирд╛ рд╣рд╛рде рдЖрдЬрдорд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдФрд░ рдкрд░рд┐рдгрд╛рдо рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред
рдПрдХ рдордЫрд▓реАрдШрд░ рдмрдирд╛рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ
рдпрд╣ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рд╣реБрдЖ рдХрд┐ рдореИрдВ .NET рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╢рд╛рдорд┐рд▓ рдерд╛ рдФрд░ C ++ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдирд╛ рд╕реАрдЦрд╛ред рд╢рд╛рдпрдж рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВ рдХрднреА рднреА рдорд╛рдЗрдХреНрд░реЛрдХреНрд░реЗрдХреНрдЯреНрд░реА рдФрд░ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рд╕реЗ рдирд╣реАрдВ рдорд┐рд▓рд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЬрд╛рдирдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рд▓рдЧрднрдЧ рд╣рд░ рд╕рд╛рд▓ рдмрдврд╝рддреА рдЧрдИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдкрд┐рдЫрд▓реЗ рд╡рд░реНрд╖реЛрдВ рдЬрдм рдореБрдЭреЗ рдЕрд░реНрдбреБрдЗрдиреЛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдЪрд▓рд╛ред рд▓реЗрдХрд┐рди рдЙрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд╕рд╛рде рдЖрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рдФрд░ рдпрд╣ рдореБрджреНрджрд╛ рдЬрд▓реНрджреА рд╕реБрд▓рдЭ рдЧрдпрд╛ рдерд╛редрд╣рдорд╛рд░реЗ рдХрдорд░реЗ рдореЗрдВ рдПрдХ рдордЫрд▓реАрдШрд░ рд╣реИ, рдФрд░ рд╣рд░ рджрд┐рди рд╣рдореЗрдВ рдореЗрдЬ рдХреЗ рдиреАрдЪреЗ рдЪрдврд╝рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рдХрд╛рд╢ рдХреЛ рдордЫрд▓реА рдХреА рдУрд░ рдореЛрдбрд╝рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╕реБрдмрд╣ рдЗрд╕реЗ рдЪрд╛рд▓реВ рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдордЫрд▓реА рдХреЛ рдардВрдбрд╛ рд╣реЛрдиреЗ рдкрд░ рд╣реАрдЯрд░ рдЪрд╛рд▓реВ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рдерд╛, рдФрд░ рдЧрд░реНрдо рд╣реЛрдиреЗ рдкрд░ рдЙрдиреНрд╣реЗрдВ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рдерд╛ред рдХрднреА-рдХрднреА рдореЗрд░реА рднреВрд▓рдиреЗ рдХреА рдмреАрдорд╛рд░реА рдиреЗ рдПрдХреНрд╡реЗрд░рд┐рдпрдо рдореЗрдВ рдордЫрд▓рд┐рдпреЛрдВ рдХреА рдореМрдд рдХрд╛ рдХрд╛рд░рдг рдмрдирд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдирдП рдЦрд░реАрджрдирд╛ рдкрдбрд╝рд╛ред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдордЫрд▓реА рдХреЛ рд╕рдордп-рд╕рдордп рдкрд░ 2/3 рдкрд╛рдиреА рдмрджрд▓рдирд╛ рдкрдбрд╝рддрд╛ рдерд╛ред рдФрд░ рд╣рдорд╛рд░реЗ рдордЫрд▓реАрдШрд░ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрд╣реБрдд рд▓рдВрдмреА рдФрд░ рдЕрдкреНрд░рд┐рдп рдереАредрд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдПрдХреНрд╡реИрд░рд┐рдпрдо рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЛ рджреЗрдЦрд╛ред рдРрд╕реЗ рдмрд╣реБрдд рд╕реЗ рд╣реИрдВред рдпреЗ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдпреВрдЯреНрдпреВрдм рдкрд░ рд╡реАрдбрд┐рдпреЛ рд╣реИрдВред Geektimes рдкрд░ рдХрд╛рдлреА рджрд┐рд▓рдЪрд╕реНрдк рд▓реЗрдЦ рднреА рд╣реИрдВред рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП - рдорд╛рдЗрдХреНрд░реЛрдХреНрд░рд┐рдХреБрдЗрдЯреНрд░реА рдХреА рджреБрдирд┐рдпрд╛ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдирд╛ рдФрд░ рдЬрд╛рдирдирд╛ - рдпрд╣ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рдерд╛, рдФрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ "рдЦрд░реЛрдВрдЪ рд╕реЗ" рдПрдХ рд╡рд┐рд╕реНрддреГрдд рдЧрд╛рдЗрдб рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдПрдХ рдПрдХреНрд╡реИрд░рд┐рдпрдо рдирд┐рдпрдВрддреНрд░рдХ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЛ рддрдм рддрдХ рд╕реНрдердЧрд┐рдд рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдЬрдм рддрдХ рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рдЦреБрдж рдХрд╛ рдЕрдзреНрдпрдпрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛редрдорд╛рдЗрдХреНрд░реЛрдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдХреЗ рд╕рд╛рде рдкрд░рд┐рдЪрд┐рдд
рдореИрдВрдиреЗ Arduino рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд┐рдЯ рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рдпрд╛рддреНрд░рд╛ рд╢реБрд░реВ рдХреАред рд╕рдВрднрд╡рддрдГ, рд╕рднреА рдиреЗ рдХреБрдЫ рдЗрд╕реА рддрд░рд╣ рдХрд╛ рд╕рдВрдЧреНрд░рд╣ рдХрд┐рдпрд╛ рдЬрдм рд╡рд╣ рдЗрд╕ рдордВрдЪ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реБрдЖ: рдПрдХ
рд╕рд╛рдзрд╛рд░рдг рдкреНрд░рдХрд╛рд╢ рдмрд▓реНрдм (рдПрд▓рдИрдбреА), рдПрдХ 220 рдУрдо рдЕрд╡рд░реЛрдзрдХред Arduino C ++ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд▓реНрдм рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рддреБрд░рдВрдд рдПрдХ рдЖрд░рдХреНрд╖рдг рдХрд░реЗрдВ рдЬреЛ рдХрд┐рд╕реА рднреА рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП Arduino рдпрд╛ рдЗрд╕рдХреЗ рдПрдирд╛рд▓реЙрдЧ рдХреЗ рд╕реЗрдЯ рдХреЛ рдЦрд░реАрджреЗ, рдпрд╣ рдЕрдзрд┐рдХ рдпрд╛ рдХрдо рдЙрдкрдпреЛрдЧреА рдЪреАрдЬ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред рдЦреИрд░, рдЯреНрд╡реАрдЯрд░ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдпрд╛ рдХрд╣реЗрдВ, рдПрдХ рдШрд░ рдерд░реНрдорд╛рдореАрдЯрд░ред рдкрд╛рда рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реА рдордВрдЪ рд╕реАрдЦрдирд╛ рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдм рдФрд░ рдирд╣реАрдВред рдЙрдкрдпреЛрдЧреА рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рд╕реЛрд▓реНрдбрд░рд┐рдВрдЧ, рдкреНрд░рд┐рдВрдЯреЗрдб рд╕рд░реНрдХрд┐рдЯ рдмреЛрд░реНрдбреНрд╕, рдкреНрд░рд┐рдВрдЯреЗрдб рд╕рд░реНрдХрд┐рдЯ рдмреЛрд░реНрдбреНрд╕ рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдФрд░ рдЕрдиреНрдп рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдбрд┐рд▓рд╛рдЗрдЯреНрд╕ рд╕реАрдЦрдиреЗ рдкрдбрд╝реЗредрдЕрдкрдиреЗ рдкрд╣рд▓реЗ рдПрдХреНрд╡реЗрд░рд┐рдпрдо рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ
рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рдЕрдкрдиреЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдПрдХреНрд╡реЗрд░рд┐рдпрдо рдХреЗ рд╕рд╛рде рдЗрд╕ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП рдХрд╛рдЧрдЬреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛редрдордЫрд▓реАрдШрд░ рдЪрд╛рд╣рд┐рдП:- , , ;
- , , ( ) ;
- ( ) ;
- , , ;
- ┬л ┬╗
- ;
- . , 9:00 AM;
- , ;
- .
- рдЬрдм рдЖрдк рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдкрд░ рдмрдЯрди рджрдмрд╛рддреЗ рд╣реИрдВ рддреЛ рддрд╛рд░реАрдЦ рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд░реАрди рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ 5 рд╕реЗрдХрдВрдб рдХреЗ рднреАрддрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдмрд╛рд╣рд░ рдЬрд╛рдПрдВред
рдореИрдВрдиреЗ LCD рдФрд░ Arduino рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рдЦреЛрдЬ рдХрд░рдХреЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛редрдореБрдЦреНрдп рдореЗрдиреВ рдмрдирд╛рдПрдБред рдПрд▓рд╕реАрдбреА рдСрдкрд░реЗрд╢рди
рдПрд▓рд╕реАрдбреА рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд▓рд┐рдХреНрд╡рд┐рдб рдХреНрд░рд┐рд╕реНрдЯрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рд╕рдВрдпреЛрдЧ рд╕реЗ, Arduino рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореЗрд░реЗ рдкрд╛рд╕ рдореЗрд░реА рдХрд┐рдЯ рдореЗрдВ рдПрдХ рдПрд▓рд╕реАрдбреА рд╕реНрдХреНрд░реАрди рднреА рдереАред рд╡рд╣ рдкрд╛рда, рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░ рд╕рдХрддрд╛ рдерд╛ред рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рдерд╛, рдФрд░ рдореИрдВрдиреЗ рдЗрд╕ рд╕реНрдХреНрд░реАрди рдХреЗ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ Arduinoред рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рд╕реЗ рдореВрд▓ рдХрдиреЗрдХреНрд╢рди рдХреА рдЬрд╛рдирдХрд╛рд░реА рд▓реА ред "рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб" рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЗ рдЙрджрд╛рд╣рд░рдг рднреА рд╣реИрдВредрд╕реНрдХреНрд░реАрди рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рд╕рд╛ рд╕реМрджрд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдирд┐рдпрдВрддреНрд░рдХ рдХрд╛ рдореБрдЦреНрдп рдореЗрдиреВ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдореЗрдиреВ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрдЗрдЯрдо рд╢рд╛рдорд┐рд▓ рдереЗ:- рдореВрд▓рднреВрдд рдЬрд╛рдирдХрд╛рд░реА;
- рд╕рдордп рд╕реЗрдЯрд┐рдВрдЧ;
- рджрд┐рдирд╛рдВрдХ рд╕реЗрдЯрд┐рдВрдЧ;
- рддрд╛рдкрдорд╛рди;
- рдЬрд▓рд╡рд╛рдпреБ;
- рдмреИрдХрд▓рд╛рдЗрдЯ
- рдЙрдкрдХрд░рдг
рдкреНрд░рддреНрдпреЗрдХ рдЖрдЗрдЯрдо рдПрд▓рд╕реАрдбреА рдЯреЗрдХреНрд╕реНрдЯ рд╕реНрдХреНрд░реАрди рдкрд░ рд╕реВрдЪрдирд╛ рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореЛрдб рд╣реИред рдореИрдВ рдПрдХ рдмрд╣реБ-рд╕реНрддрд░реАрдп рдореЗрдиреВ рдмрдирд╛рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рдЙрдк-рд╕реНрддрд░ рдХрд╛ рд╕реНрдХреНрд░реАрди рдкрд░ рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рдЕрдкрдирд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реЛрдЧрд╛редрджрд░рдЕрд╕рд▓, рдмреЗрд╕ рдХреНрд▓рд╛рд╕ C ++ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдЕрдиреНрдп рд╕рднреА рд╕рдмрдореЗрдирд╕ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реЗрдВрдЧреЗред class qQuariumMode
{
protected:
LiquidCrystal* LcdLink;
public:
bool isLcdUpdated = false;
void exit();
virtual void loop();
virtual void OkClick();
virtual void CancelClick();
virtual void LeftClick();
virtual void RightClick();
};
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдбрд┐рд╡рд╛рдЗрд╕" рдореЗрдиреВ рдХреЗ рд▓рд┐рдП, qQuariumMode рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:#include "qQuariumMode.h"
class qQuariumDevicesMode :
public qQuariumMode
{
private:
int deviceCategoryLastIndex = 4;
enum DeviceCategory
{
MainLight,
Aeration,
Compressor,
Vulcanius,
Pump
};
DeviceCategory CurrentDeviceCategory = MainLight;
char* headerDeviceCategoryText = NULL;
BaseOnOfDeviceHelper* GetDeviceHelper();
public:
void loop();
void OkClick();
void CancelClick();
void LeftClick();
void RightClick();
};
рдпрд╣рд╛рдБ рдореЗрдиреВ рдХреЗ рдкрд╣рд▓реЗ рд╕реНрддрд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИ:рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╣рд┐рд╕реНрд╕рд╛ред рдХрдиреЗрдХреНрдЯрд┐рдВрдЧ рдШрдЯрдХреЛрдВ рдХреА рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ
рдореИрдВ рдордЫрд▓реАрдШрд░ рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрдж рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдЦрд░реАрджрдирд╛ рдкрдбрд╝рд╛:- 1 рдПрдХреНрд╕ рдЕрд░реНрдбреБрдЗрдиреЛ рдКрдиреЛ / рдореЗрдЧрд╛ред рдмрд╛рдж рдореЗрдВ рдЙрдиреНрд╣реЛрдВрдиреЗ рдореЗрдЧреЛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛;
- 1 рдПрдХреНрд╕ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреА рдШрдбрд╝реА, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП DS1307;
- 2 x RTD14005, , .. 220 ;
- 1 x ;
- 1 x ;
- 5 x IRF-530 MOSFET N . (3 RGB , 1 , 1 );
- 1 x RGB . , . ;
- 1 x White ;
- 1 x LCD ;
- 1 x . DS18B20;
- 1 x . DHT11;
рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдХрд╛ рдЕрдкрдирд╛ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдХрдиреЗрдХреНрд╢рди рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЙрд╕рдХреЗ рдЪрд╛рд▓рдХ рд╣реЛрддреЗ рд╣реИрдВред рдореИрдВ рд╕рднреА рдШрдЯрдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдирд┐рд░реНрдорд╛рддрд╛ рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдпрд╛ рдордВрдЪреЛрдВ рдкрд░ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдореЗрд░реЗ рд╕рдорд╛рди рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдмрджрд▓рдирд╛ рдирд╣реАрдВ рдкрдбрд╝реЗрдЧрд╛редрдШрдЯрдХреЛрдВ рдХрд╛ рдиреБрдХрд╕рд╛рди
рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗред рдкрд╣рд▓реЗ рдкреНрд▓рдЧ-рдЗрди рдШрдЯрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред рдЗрд╕реЗ рдареАрдХ рдЙрд╕реА рд╡реЛрд▓реНрдЯреЗрдЬ рд░реЗрдВрдЬ рдореЗрдВ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдирд┐рд░реНрдорд╛рддрд╛ рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рдореИрдВ рдордЫрд▓реАрдШрд░ рдирд┐рдпрдВрддреНрд░рдХ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣рд╛ рдерд╛, рдореИрдВрдиреЗ 2 рд╕реАрд▓ рддрд╛рдкрдорд╛рди рд╕реЗрдВрд╕рд░ рдФрд░ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдШрдбрд╝реА рдХреЛ рдирд╖реНрдЯ рдХрд░ рджрд┐рдпрд╛ред рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╕реЗрдВрд╕рд░ рд╡рд┐рдлрд▓ рд╣реЛ рдЧрдП рдХрд┐ рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ 12 рд╡реА рд╕реЗ рдЬреЛрдбрд╝рд╛, рдФрд░ рдпрд╣ 5 рд╡реА рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рдореЗрд░реА рдЧрд▓рддреА рдХреЗ рдХрд╛рд░рдг рд╕рд░реНрдХрд┐рдЯ рдореЗрдВ "рдпрд╛рджреГрдЪреНрдЫрд┐рдХ" рд╢реЙрд░реНрдЯ рд╕рд░реНрдХрд┐рдЯ рдХреЗ рдХрд╛рд░рдг рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреА рдШрдбрд╝реА рдорд░ рдЧрдИредрдЖрд░рдЬреАрдмреА рдПрд▓рдИрдбреА рдкрдЯреНрдЯреА
рдПрд▓рдИрдбреА рд╕реНрдЯреНрд░рд┐рдкреНрд╕ рдХреЗ рд╕рд╛рде рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдпреЛрдЬрдирд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА:
Arduino рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╕рдордп, рдореИрдВрдиреЗ PWM (рдкрд▓реНрд╕ рдЪреМрдбрд╝рд╛рдИ рдореЙрдбреБрд▓рди) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкрд┐рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдПрдХ рд╕рд╛рде рд╕рднреА 3 рдкрд┐рдиреЛрдВ рдХреЗ рдЕрдзрд┐рдХрддрдо рд╡реЛрд▓реНрдЯреЗрдЬ рдХреЛ рдЪрд╛рд▓реВ рдХрд░рддреЗ рд╕рдордп, рдореЗрд░рд╛ рдЯреЗрдк рдмрд╣реБрдд рдЧрд░реНрдо рдерд╛ред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдПрдХ рдпрд╛ рджреЛ рдШрдВрдЯреЗ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдХреБрдЫ рдПрд▓ рдИ рдбреА рдЪрдордХрдирд╛ рдмрдВрдж рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рдХреБрдЫ рдкреНрд░рддрд┐рд░реЛрдзреЛрдВ рдХреА рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдХрд╛рд░рдг рдерд╛ред рдЗрд╕ рдпреЛрдЬрдирд╛ рдХрд╛ рдПрдХ рдФрд░ рдиреБрдХрд╕рд╛рди рдкреНрд░рддреНрдпреЗрдХ рд░рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрд▓рдИрдбреА рдкрдЯреНрдЯреА рдХреА рдЕрд▓рдЧ рдЪрдордХ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдореИрдВ рдЯреЗрдк рдХреЗ рд▓рд╛рд▓ рдШрдЯрдХ рдкрд░ рдЕрдзрд┐рдХрддрдо рд╡реЛрд▓реНрдЯреЗрдЬ рдбрд╛рд▓рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ 255 рдЗрдХрд╛рдЗрдпреЛрдВ рдореЗрдВ рд▓рд╛рд▓ рдЯреЗрдк рдХреА рд╕рд╢рд░реНрдд рдЪрдордХ рдорд┐рд▓рддреА рд╣реИред рдпрджрд┐ рдореИрдВ рдЕрдзрд┐рдХрддрдо рд╡реЛрд▓реНрдЯреЗрдЬ рдкрд░ рд▓рд╛рд▓ рдФрд░ рдиреАрд▓реЗ рджреЛрдиреЛрдВ рдШрдЯрдХреЛрдВ рдХреЛ рдЪрд╛рд▓реВ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдЪрдордХ 255 + 255 = 510 рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдЧреА, рдФрд░ рд░рдВрдЧ рдмреИрдВрдЧрдиреА рд╣реЛрдЧрд╛ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рд╕рдорд╛рдзрд╛рди рдореБрдЭреЗ рд╕реВрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛редрдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:void LedRgbHelper::Show(RGBColorHelper colorToShow)
{
int sumColorParts = colorToShow.RedPart + colorToShow.GreenPart + colorToShow.BluePart;
float rK = 0;
float gK = 0;
float bK = 0;
if (sumColorParts != 0)
{
float redPartAsFloat = (float)colorToShow.RedPart;
float greenPartAsFloat = (float)colorToShow.GreenPart;
float bluePartAsFloat = (float)colorToShow.BluePart;
float sumColorPartsAsFloat = (float)sumColorParts;
int brightness = colorToShow.Brightness;
rK = redPartAsFloat / sumColorPartsAsFloat;
gK = greenPartAsFloat / sumColorPartsAsFloat;
bK = bluePartAsFloat / sumColorPartsAsFloat;
rK = rK*brightness;
gK = gK*brightness;
bK = bK*brightness;
}
uint8_t totalCParts = (uint8_t)rK + (uint8_t)gK + (uint8_t)bK;
if (totalCParts <= 255){
analogWrite(RedPinNum, (uint8_t)rK);
analogWrite(GreenPinNum, (uint8_t)gK);
analogWrite(BluePinNum, (uint8_t)bK);
}
}
рдЗрд╕ рдЕрд╡рддрд╛рд░ рдореЗрдВ, рд▓рд╛рд▓ рд░рдВрдЧ рдФрд░ рдмреИрдВрдЧрдиреА рд░рдВрдЧ рдореЗрдВ рд╕рдорд╛рди рдЪрдордХ рдереАред рдЙрдиред рдкрд╣рд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд▓рд╛рд▓ рдПрд▓ рдИ рдбреА 255 рдЗрдХрд╛рдЗрдпреЛрдВ рдХреА рдЪрдордХ рдХреЗ рд╕рд╛рде рдЪрдордХрддрд╛ рдерд╛, рдФрд░ рдмреИрдВрдЧрдиреА рдХреЗ рд╕рд╛рде, рд▓рд╛рд▓ 127 рдЗрдХрд╛рдЗрдпреЛрдВ рдХреА рдЪрдордХ рдХреЗ рд╕рд╛рде рдерд╛ рдФрд░ 127 рдЗрдХрд╛рдЗрдпреЛрдВ рдХреА рдЪрдордХ рдХреЗ рд╕рд╛рде рдиреАрд▓рд╛, рдЬреЛ рдЕрдВрдд рдореЗрдВ рд▓рдЧрднрдЧ 255 рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЗ рдмрд░рд╛рдмрд░ рдерд╛:рдПрд▓рдИрдбреА рдкрдЯреНрдЯреА рд╕рдлреЗрдж
рдПрд▓рдИрдбреА рдкрдЯреНрдЯреА рдХреЗ рд╕рд╛рде, рдпрд╣ рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рдерд╛ред рдПрдХрдорд╛рддреНрд░ рдореБрд╢реНрдХрд┐рд▓ рдХреНрд╖рдг рджрд┐рди рдХреЗ рд╕рдордп рдХреЛ рдмрджрд▓рддреЗ рд╕рдордп рдЪрдордХ рдореЗрдВ рдПрдХ рд╕рд╣рдЬ рдкрд░рд┐рд╡рд░реНрддрди рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реИредрдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рд╕рдлреЗрдж рдПрд▓рдИрдбреА рдкрдЯреНрдЯреА рдХреА рдЪрдордХ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реИрдЦрд┐рдХ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд▓рд╛рдЧреВ рдХрд┐рдпрд╛редvoid MainLightHelper::HandleState()
{
if (!IsFadeWasComplete)
{
unsigned long currentMillis = millis();
if (currentMillis - previousMillis > 50) {
previousMillis = currentMillis;
switch (CurrentLevel)
{
case MainLightHelper::Off:
{
if (currentBright != 0)
{
if (currentBright > 0)
{
currentBright--;
}
else
{
currentBright++;
}
}
else
{
currentBright = 0;
IsFadeWasComplete = true;
}
break;
}
case MainLightHelper::Low:
case MainLightHelper::Medium:
case MainLightHelper::High:
{
if (currentBright != CurrentLevel)
{
if (currentBright > CurrentLevel)
{
currentBright--;
}
else
{
currentBright++;
}
}
else
{
currentBright = CurrentLevel;
IsFadeWasComplete = true;
}
}
break;
}
analogWrite(PinNum, currentBright);
}
}
}
рд▓рд╣рд░ "рдЬреНрд╡рд╛рд▓рд╛рдореБрдЦреА"
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдореБрдЭреЗ рд╕рдВрдпреЛрдЧ рд╕реЗ рдЖрдпрд╛ред рдореИрдВ рдЯреНрд░рд╛рдВрдЬрд┐рд╕реНрдЯрд░ рдХреЛ рдХрдо рд╡реЛрд▓реНрдЯреЗрдЬ рдФрд░ рдЙрдЪреНрдЪ рд╡реЛрд▓реНрдЯреЗрдЬ рд▓рд╛рдЧреВ рдХрд░рдХреЗ рд╕рдЬрд╛рд╡рдЯреА рдЬреНрд╡рд╛рд▓рд╛рдореБрдЦреА рдХреЛ рдЪрд╛рд▓реВ рдФрд░ рдмрдВрдж рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдордЫрд▓реА рдХреА рджреБрдХрд╛рди рдореЗрдВ, рдореИрдВрдиреЗ рдХрдВрдкреНрд░реЗрд╕рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓реАрдб-рдЖрдЙрдЯ рдЯреНрдпреВрдм рдФрд░ рдкрд╛рдиреА рд╕реЗ рдкреГрдердХ рдПрдХ рдПрд▓рдИрдбреА рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдЪреНрдЫреЗ рдЬреНрд╡рд╛рд▓рд╛рдореБрдЦреА рдХреА рджреЗрдЦрднрд╛рд▓ рдХреАред
рдпрд╣ рдПрдХ рдПрдбрд╛рдкреНрдЯрд░ рдХреЗ рд╕рд╛рде рдЖрдпрд╛ рдерд╛, рдЬрд┐рд╕рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ 12V рдбреАрд╕реА рд╣реИ, рдФрд░ рдЗрдирдкреБрдЯ 220V рдПрд╕реА рд╣реИред рдореБрдЭреЗ рдПрдХ рдПрдбреЗрдкреНрдЯрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереА, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ Arduino рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреНрд╡рд╛рд▓рд╛рдореБрдЦреА рдХреА рд╢рдХреНрддрд┐ рдФрд░ рдЪрдордХ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдерд╛редрдЬреНрд╡рд╛рд▓рд╛рдореБрдЦреА рдХрд╛ рд╕реНрдкрдВрджрди рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛:long time = 0;
int periode = 10000;
void VulcanusHelper::HandleState()
{
if (IsActive){
// time - cos .
// -
time = millis();
int value = 160 + 95 * cos(2 * PI / periode*time);
analogWrite(PinNum, value);
}
else
{
analogWrite(PinNum, 0);
}
}
рдЬреНрд╡рд╛рд▓рд╛рдореБрдЦреА рд╢рд╛рдо рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдордЫрд▓реАрдШрд░ рдХреЛ рд░реЛрд╢рди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд▓рд╣рд░ рдЦреБрдж рдХреЛ рдмрд╣реБрдд рд╕реБрдВрджрд░ рд▓рдЧрддреА рд╣реИ:
рдкрд╛рдиреА рдХрд╛ рдкрдВрдкред рдордЫрд▓реАрдШрд░ рдкрд╛рдиреА рдХреА рдЬрдЧрд╣
рдПрдХ рдкрд╛рдиреА рдкрдВрдк рдордЫрд▓реАрдШрд░ рдореЗрдВ рдкрд╛рдиреА рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдмрджрд▓рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдПрдХ рдкрдВрдк рдЦрд░реАрджрд╛ рдЬреЛ рдбреАрд╕реА 12 рд╡реА рдкрд░ рдЪрд▓рддрд╛ рд╣реИред рдкрдВрдк рдХреЛ рдПрдХ рдХреНрд╖реЗрддреНрд░ рдкреНрд░рднрд╛рд╡ рдЯреНрд░рд╛рдВрдЬрд┐рд╕реНрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡рд░ рдЦреБрдж рджреЛ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ: рдкрдВрдк рдЪрд╛рд▓реВ рдХрд░реЗрдВ, рдкрдВрдк рдмрдВрдж рдХрд░реЗрдВред рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп, рдореБрдЭреЗ рдмрд╕ рдмреЗрд╕ рдХреНрд▓рд╛рд╕рдСрдирдСрдлрдбреЗрд╡рд┐рд╕ рд╣реЗрд▓реНрдкрд░ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рдерд╛ рдФрд░ рдбреНрд░рд╛рдЗрд╡рд░ рдореЗрдВ рдХреБрдЫ рдФрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ред рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рд╕рдВрдкреВрд░реНрдг рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддрд╛ рд╣реИредрдореИрдВрдиреЗ рд╕реНрдЯреИрдВрдб рдкрд░ рдкрдВрдк рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛:рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкрдВрдк рдиреЗ рдареАрдХ рдХрд╛рдо рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдПрдХ рдмрд╛рдд рдирд╛рдЧрд╡рд╛рд░ рд▓рдЧреАред рдпрджрд┐ рдЖрдк рдкрд╛рдиреА рдХреЛ рджреВрд╕рд░реЗ рдЯреИрдВрдХ рдореЗрдВ рдкрдВрдк рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЬрд╣рд╛рдЬреЛрдВ рдХреЛ рд╕рдВрдЪрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рдиреВрди рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред рдирддреАрдЬрддрди, рдореИрдВ рдХрдорд░реЗ рдореЗрдВ рдмрд╛рдврд╝ рдХрд╛ рдЕрдкрд░рд╛рдзреА рдмрди рдЧрдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЕрдЧрд░ рдЖрдк рдкрдВрдк рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдкрд╛рдиреА рдЕрднреА рднреА рджреВрд╕рд░реЗ рдЯреИрдВрдХ рдореЗрдВ рдЬрд╛рдПрдЧрд╛, рдЕрдЧрд░ рдордЫрд▓реАрдШрд░ рдореЗрдВ рдЗрд╕рдХрд╛ рдЬрд▓ рд╕реНрддрд░ рдкрд╛рдиреА рдХреЗ рд╕реНрддрд░ рд╕реЗ рдиреАрдЪреЗ рд╣реИред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рд╣реА рдерд╛редрдЗрдиреНрдлреНрд░рд╛рд░реЗрдб рдкреЛрд░реНрдЯ рдФрд░ рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛
рдореИрдВрдиреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдмрд╛рдж рдЕрд╡рд░рдХреНрдд рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдордЫрд▓реАрдШрд░ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд┐рдпрд╛ред рдЙрджрд╛рд╣рд░рдг рдХрд╛ рд╕рд╛рд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ: рдЬрдм рдореИрдВ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рдЪрд╛рд▓реВ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рдмрд╛рдПрдВ, рджрд╛рдПрдВ, рдКрдкрд░, рдиреАрдЪреЗ, рдареАрдХ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреВрдЫрддрд╛рдЫ рдХрд░рддрд╛ рд╣реВрдВред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЪреБрдирддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдмрдЯрди рд╡рд╣ рдкреНрд░рддреНрдпреЗрдХ рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрдмрджреНрдз рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рд▓рд╛рдн рдХрд┐рд╕реА рднреА рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдХреЛ рдмрд╛рдВрдзрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИредрдордЫрд▓реАрдШрд░ рдХреЛ рд╕реАрдЦреЗрдВ рд╡рд┐рдзрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рд╕рд╛рд░ рдиреАрдЪреЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:void ButtonHandler::Learn(IRrecv* irrecvLink, LiquidCrystal* lcdLink)
{
irrecvLink->enableIRIn();
decode_results irDecodeResults;
...
...
while (true) {
if (irrecvLink->decode(&irDecodeResults)) {
irrecvLink->resume();
if (irDecodeResults.bits >= 16 &&
irDecodeResults.value != 0xC53A9966
) {
lcdLink->setCursor(0, 1);
lcdLink->print(irDecodeResults.value, HEX);
irRemoteButtonId = irDecodeResults.value;
...
...
рдмрд╛рдж рдореЗрдВ рдореИрдВ рдЗрд╕ рдирддреАрдЬреЗ рдкрд░ рдкрд╣реБрдВрдЪрд╛ рдХрд┐ рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреА рд╣реИ рдФрд░ рдпрд╣ рдШрд░ рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЙрдкрдХрд░рдг рд╣реИред рдореЛрдмрд╛рдЗрд▓ рдлреЛрди рдпрд╛ рдЯреИрдмрд▓реЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рдпрдВрддреНрд░рдг рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкреАрдЖрдИ рдорд╛рдЗрдХреНрд░реЛ рдХрдВрдкреНрдпреВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдерд╛, рдореЛрдиреЛ рдФрд░ рдиреИрдиреНрд╕реАрдПрдлрдПрдХреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрд╕ рдкрд░ ASP.NET MVC 5 рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдПред рдЗрд╕рдХреЗ рдмрд╛рдж, рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП jquery рдореЛрдмрд╛рдЗрд▓ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рд░рд╛рд╕реНрдкрдмреЗрд░реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рд╡рд╛рдИрдлрд╛рдИ рдпрд╛ рд▓реИрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ Arduino рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░реЗрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рдПрд▓рд╕реАрдбреА рд╕реНрдХреНрд░реАрди рдХреЛ рдЫреЛрдбрд╝ рднреА рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдпрд╛ рдЯреИрдмрд▓реЗрдЯ рдкрд░ рджреЗрдЦреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗрд╡рд▓ рдореЗрд░реЗ рд╕рд┐рд░ рдореЗрдВ рд╣реИредрдореБрджреНрд░рд┐рдд рд╕рд░реНрдХрд┐рдЯ рдмреЛрд░реНрдб рдФрд░ рдЗрд╕рдХреЗ рдирд┐рд░реНрдорд╛рдг
рдПрдХ рддрд░рд╣ рд╕реЗ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп, рдореИрдВ рдЗрд╕ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪрд╛ рдерд╛ рдХрд┐ рд╣рдореЗрдВ рдПрдХ рдореБрджреНрд░рд┐рдд рд╕рд░реНрдХрд┐рдЯ рдмреЛрд░реНрдб рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореЗрд░реЗ рд╕реНрдЯреИрдВрдб рдкрд░ рдЗрддрдиреЗ рд╕рд╛рд░реЗ рддрд╛рд░ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рдХреЗ рдмрд╛рдж рдРрд╕рд╛ рд╣реБрдЖ рдХрд┐ рддреИрдпрд╛рд░ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдЕрд╕реЗрдВрдмрд▓ рдХрд░рддреЗ рд╕рдордп, рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдЕрдиреНрдп рддрд╛рд░реЛрдВ рдХреЗ рдЖрдХрд╕реНрдорд┐рдХ рджрдмрд╛рд╡ рд╕реЗ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рд▓рдЧреЗред рдпрд╣ рдЖрдВрдЦреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрджреГрд╢реНрдп рд░реВрдк рд╕реЗ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдкрд░рд┐рдгрд╛рдорд╣реАрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдЙрдкрдХрд░рдг рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ рдЫреЛрдбрд╝ рджрд┐рдпрд╛редрдЕрд╕реЗрдВрдмрд▓реА рдСрди рд╕рд░реНрдХрд┐рдЯ рдмреЛрд░реНрдб (Arduino Uno рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ):
рдореИрдВрдиреЗ рдлреНрд░рд┐рдЯрд┐рдВрдЧ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдПрдХрд▓-рдкрд░рдд рдкреАрд╕реАрдмреА рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ред рдпрд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рдХрд▓рд╛ (Arduino рдореЗрдЧрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ):
рд╕рд░реНрдХрд┐рдЯ рдмреЛрд░реНрдб рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдмрд╕реЗ рдмреБрд░рд╛ рдХрд╛рдо рдбреНрд░рд┐рд▓рд┐рдВрдЧ рдерд╛ред рдЦрд╛рд╕рдХрд░ рдЬрдм рдореИрдВрдиреЗ рдПрдХ рд╢реАрд▓реНрдб рдЯрд╛рдЗрдк рд╕рд░реНрдХрд┐рдЯ рдмреЛрд░реНрдб рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдпрд╛рдиреАред рд╡рд╣ рдПрдХ рдЖрд░реНрдбрд┐рдиреЛ рдкрд░ рдбреНрд░реЗрд╕рд┐рдВрдЧ рдХрд░ рд░рд╣реА рдереАред рдПрдХ рдкрддрд▓реА рдбреНрд░рд┐рд▓ рдХреЗ рд╕рд╛рде 50 рд╕реЗ рдЕрдзрд┐рдХ рдЫреЗрджреЛрдВ рдХреЛ рдбреНрд░рд┐рд▓ рдХрд░рдирд╛ рдПрдХ рдердХрд╛рдК рдХрд╛рдо рд╣реИред рдФрд░ рд╕рдмрд╕реЗ рдореБрд╢реНрдХрд┐рд▓ рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╡рд╣ рдЕрдкрдиреА рдкрддреНрдиреА рд╕реЗ рдЕрдкрдирд╛ рдирдпрд╛ рд▓реЛрд╣рд╛ рд▓реЗрдЧрд╛ рдФрд░ рдЙрд╕реЗ рд▓реЗрдЬрд░ рдкреНрд░рд┐рдВрдЯрд░ рдЦрд░реАрджрдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╛рдЬреА рдХрд░реЗрдЧрд╛редрд╡реИрд╕реЗ, рдЕрдЧрд░ рдХреЛрдИ рд▓реЗрдЬрд░-рдЗрд╕реНрддреНрд░реА рддрдХрдиреАрдХ рд╕реЗ рдбрд░рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рддреБрд░рдВрдд рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред рдореИрдВрдиреЗ рдЗрд╕реЗ рдкрд╣рд▓реА рдмрд╛рд░ рдХрд┐рдпрд╛:
рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдЦреБрдж рднреА рд╕рд░рд▓ рдереА - рдмреЛрд░реНрдб рдХреЛ рдореБрдЦреНрдп рдШрдЯрдХреЛрдВ рдХреЛ рдорд┐рд▓рд╛рдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдерд╛:
рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдкрд╣рд▓реА рдмрд╛рд░ рдФрд░ рдЖрдЦрд┐рд░реА рдмрд╛рд░ рдореИрдВрдиреЗ рдШрд░ рдкрд░ рдПрдХ рдореБрджреНрд░рд┐рдд рд╕рд░реНрдХрд┐рдЯ рдмреЛрд░реНрдб рдмрдирд╛рдпрд╛ред рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдореИрдВ рдХреЗрд╡рд▓ рдХрд╛рд░рдЦрд╛рдиреЗ рдореЗрдВ рдЖрджреЗрд╢ рджреВрдВрдЧрд╛ред рдФрд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдлреНрд░рд┐рдЯреНрдЬрд╝рд┐рдВрдЧ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХреБрдЫ рдХрдард┐рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛редрдирд┐рд╖реНрдХрд░реНрд╖
рдПрдХреНрд╡реЗрд░рд┐рдпрдо рдлрд░реНрдорд╡реЗрдпрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ GitHub рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ ред Arduino рдореЗрдЧрд╛ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рддред рдКрдиреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдХреБрдЫ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдирд╛ рд╣реЛрдЧрд╛ред рд╕рднреА рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╕ рдкрд░реНрдпрд╛рдкреНрдд рдореЗрдореЛрд░реА, рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдореБрдлреНрдд рдкрд┐рди рдирд╣реАрдВ рд╣реИред