рдХрд╛рд░ рдореЗрдВ Arduinoред рдбреИрд╢рдмреЛрд░реНрдб рд▓рдЧ рд░рд╣рд╛ рд╣реИ

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

рдпрд╣ рджреЗрд╡реВ рдиреЗрдХреНрд╕рд┐рдпрд╛ N150 рдкрд░ (рдЬрдореАрди рдкрд░) рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рдорд╢реАрди рдкрд░ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд╕реНрдкреАрдбреЛрдореАрдЯрд░ (рдЧрддрд┐ рд╕рдВрд╡реЗрджрдХ - 6 рджрд╛рд▓реЛрдВ рдкреНрд░рддрд┐ рдореАрдЯрд░, рдПрдХ рдорд╛рдирдХ рдХреА рддрд░рд╣) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рддрд╕реНрд╡реАрд░реЗрдВ рдереЛрдбрд╝реА рдореИрд▓рд╛ (рд╢реМрдХрд┐рдпрд╛) рд╣реИрдВ:

рдЫрд╡рд┐

рдЫрд╡рд┐

рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛:
1. рд╡рд┐рднрд┐рдиреНрди рдШрдЯрдирд╛рдУрдВ (рдШрдЯрдирд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд╣реИрдВ)

a) рдкреБрд░реБрд╖
b) рдорд╣рд┐рд▓рд╛

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

2. рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЯреАрд╡реА рд╕реЗ рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ (рдпрд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдмрдЯрдиреЛрдВ рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдХреЗ рд╕рд╛рде рдмрдирд╛рдИ рдЧрдИ рд╣реИрдВ, рдореИрдВ рдЕрддреНрдпрдзрд┐рдХ 0-10 рдмрдЯрди рдХреЗ рд╕рд╛рде рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ)ред рдмрджрд▓рд╛рд╡ рдХреЗ рд╕рдордп рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдпрд╛рдж рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

3. рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдХреА рд╡рд┐рдлрд▓рддрд╛ / рдиреБрдХрд╕рд╛рди рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдбрд┐рдЯреЗрдХреНрдЯрд░ рдХреЛ рддреБрд░рдВрдд "рдХреЛрдИ рдЖрд╡рд╛рдЬрд╝ рдирд╣реАрдВ" рдпрд╛ "рд╣реИрдВрдбрдмреНрд░реЗрдХ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдХреЛрдИ рдЖрд╡рд╛рдЬрд╝ рдирд╣реАрдВ" рдореЛрдб рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП, рдЖрдпрд╛рдореЛрдВ рдХреЗ рдЯреНрд░рд┐рдкрд▓ рд╕рдорд╛рд╡реЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рд╡рд┐рдЪрд╛рд░ рдХреБрдЫ рдбреАрдЖрд░рдПрд▓ рдЪрдордХ рд╕рдорд╛рдпреЛрдЬрди рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдорд┐рдЯрд╛ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдВрддреНрд░рдг рд╕рдВрдХреЗрдд рдХреЗ рд░реВрдк рдореЗрдВ рдмреНрд▓рд┐рдВрдХрд┐рдВрдЧ рдЖрдпрд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ)ред

рд▓рдЧрдиреЗ рд╡рд╛рд▓реА рдШрдЯрдирд╛рдПрдБ (рдореМрди)
- рд╣реИрдВрдбрдмреНрд░реЗрдХ (рдпрджрд┐ рд╡рд╛рд╣рди рдЪрд▓рд╛рддреЗ рд╕рдордп рдкрд╛рд░реНрдХрд┐рдВрдЧ рдмреНрд░реЗрдХ рд▓рд╛рдЗрдЯ рдЪрд╛рд▓реВ рд╣реИ)
- рдЙрдЪреНрдЪ рдмреАрдо рдЪрд╛рд▓реВ рд╣реИ (рдЙрдЪреНрдЪ рдмреАрдо рдЪрдордХрддреА рд╣реБрдИ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рджреА рдЬрд╛рддреА рд╣реИ, рдПрдХ рдмрд╛рд░ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЪреЗрддрд╛рд╡рдиреА рджреЗрддреА рд╣реИ, рдлрд┐рд░ рдпрд╛рдж рдирд╣реАрдВ рдХрд░рддреА рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдЙрдЪреНрдЪ рдмреАрдо рд╕реНрд╡рд┐рдЪ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛)
- рдЪрд╛рд▓реВ рд░реЛрд╢рдиреА рдЪрд╛рд▓реВ рдХрд░реЗрдВ (рдпрджрд┐ рдЖрдпрд╛рдо рдЪрд╛рд▓реВ рдХрд┐рдП рдмрд┐рдирд╛ рдЖрдВрджреЛрд▓рди рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдореЗрд░рд╛ рдбреАрдЖрд░рдПрд▓ рдФрд░ рдкрд╛рд╕ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдЖрдпрд╛рдо рдЪрд╛рд▓реВ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ)ред
- рд╡реЛрд▓реНрдЯреЗрдЬ рдСрди-рдмреЛрд░реНрдб рдиреЗрдЯрд╡рд░реНрдХ (рдПрдХ рд╡реЛрд▓реНрдЯ рдХреЗ рджрд╕рд╡реЗрдВ рддрдХ рд╕рдЯреАрдХрддрд╛)
- 40, 50, ... 120, 130 рдХрд┐рдореА / рдШрдВрдЯрд╛ рдХреА рдЧрддрд┐ рд╕реАрдорд╛ рд╕реЗ рдЕрдзрд┐рдХред
- 40, 50, ... 120, 130 рдХрд┐рдореА / рдШрдВрдЯрд╛ рдХреА рдЧрддрд┐ рд╕реАрдорд╛ рдХреЛ рдХрдо рдХрд░рдирд╛ред
- рд╡реЙрд▓реНрдпреВрдо рдмрджрд▓реЗрдВ, рдЖрд╡рд╛рдЬрд╝ рдХреЛ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВ, рдЖрд╡рд╛рдЬрд╝ рдХреА рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдирд╛рдУрдВ рдХреЛ рдмрдВрдж / рдЪрд╛рд▓реВ рдХрд░реЗрдВ (рд╡рд╛рд▓реНрдЯрдореАрдЯрд░ рдХреЛ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рд╕реЗ рдЖрд╡рд╛рдЬрд╝ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдзреНрд╡рдирд┐ рдХрд╛ рдХрд╛рд░рдг рдмрдирддреА рд╣реИ)ред

рд╡рд┐рд╕рдВрд╡рд╛рдж рдХреЗ рд╕рд╛рде рд╡реАрдбрд┐рдпреЛ:



рдПрдХ рдХрд╛рд░ рд╕реЗ рдХрдиреЗрдХреНрд╢рди
1. рд╕реНрдкреАрдбреЛрдореАрдЯрд░ рдХреЗ рд▓рд┐рдП - рдПрдХ рд╕рд╛рде рддреАрди рддрд╛рд░: рдкреГрдереНрд╡реА, +12 (рдпрд╣рд╛рдВ рд╕реЗ рд╣рдо рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдмрд┐рдЬрд▓реА рдФрд░ рд╡реЛрд▓реНрдЯрдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд▓реЗрддреЗ рд╣реИрдВ), рд╕реНрдкреАрдб рд╕реЗрдВрд╕рд░ рд╕реЗ рдПрдХ рд╕рд┐рдЧреНрдирд▓ред

2. рдмрд▓реНрдмреЛрдВ рдХреЗ рд▓рд┐рдП - рдкрд╛рд░реНрдХрд┐рдВрдЧ рдмреНрд░реЗрдХ, рдореБрдЦреНрдп рдмреАрдо, рд╕рд╛рдзрди рдкреНрд░рдХрд╛рд╢ (рдЖрдпрд╛рдо)ред

рд╕реНрддрд░реЛрдВ рдХрд╛ рд╕рдордиреНрд╡рдп рдХрд╛рдлреА рд╕рд░рд▓рддрд╛ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЖрдВрддрд░рд┐рдХ рдкреНрд░рддрд┐рд░реЛрдзрдХ рджреНрд╡рд╛рд░рд╛ "1" рддрдХ рдЖрд░реНрдЧреБрдЗрди рдХреЗ рдирд┐рд╖реНрдХрд░реНрд╖ рдХреЛ рдЦреАрдВрдЪ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдбреИрд╢рдмреЛрд░реНрдб рд╕реЗ 12V рд╕реНрддрд░ рдХреЗ рд╕рдВрдХреЗрдд рдбрд╛рдпреЛрдб рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реИрдВред рдЬрдм рдкреИрдирд▓ +12 рдкрд░ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдбрд╛рдпреЛрдб рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ - рдЖрд░реНрдбрд┐рдиреЛ "рд▓реЙрдЧ.1" рдкрд░ред рдЬрдм рдкреИрдирд▓ рд╕реЗ рд╕рд┐рдЧреНрдирд▓ рдЬрдореАрди рдкрд░ рдЬрд╛рддрд╛ рд╣реИ - рдбрд╛рдпреЛрдб рдЦреБрд▓рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЖрдВрддрд░рд┐рдХ рдкреБрд▓-рдЕрдк рдкреНрд░рддрд┐рд░реЛрдз рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрд░реНрдбрд┐рдиреЛ "log.0" рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ред

рдПрдХ рд╡рд╛рд▓реНрдЯрдореАрдЯрд░ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рдмрд╕ рдПрдХ рдкреНрд░рддрд┐рд░реЛрдзрдХ рд╡рд┐рднрдХреНрдд рд╣реИред рдЕрдиреБрдкрд╛рдд рд▓рдЧрднрдЧ 1:13 рд╣реИ, рдЗрд╕ рдЧрдгрдирд╛ рд╕реЗ рдХрд┐ 16 рд╡реА (рдЖрдкрд╛рддрдХрд╛рд▓реАрди рдореЛрдб) рдХреЗ рдСрди-рдмреЛрд░реНрдб рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдЕрдзрд┐рдХрддрдо рд╡реЛрд▓реНрдЯреЗрдЬ рдХреЗ рд╕рд╛рде, рдПрдбреАрд╕реА 1.2 рд╡реА рдХреЗ рд╕рдВрджрд░реНрдн рд╕рдВрдХреЗрдд рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рд╕реАрдорд╛ рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рдПрдЧрд╛ред

рдЙрдкрдХрд░рдг рдХреА рд╕рдВрд░рдЪрдирд╛
1. Arduino рдиреИрдиреЛ v3

рдЕрд▓реА рд╕реЗ рд▓рд┐рдВрдХ

2. рдПрдордкреА 3 рдореЙрдбреНрдпреВрд▓ - DFplayer рдорд┐рдиреА

рдЕрд▓реА рд╕реЗ рд▓рд┐рдВрдХ

рдЗрдВрдЯрд░рдиреЗрдЯ рд╕рд░реНрдХрд┐рдЯ рдореЗрдВ рдпрд╣ рдореЙрдбреНрдпреВрд▓ tx / rx рд╕рдВрдХреЗрддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдореИрдВрдиреЗ рдзреНрд╡рдирд┐ рдХреЛ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдХреНрд╖рдг рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реНрдпрд╕реНрдд рд╕рд┐рдЧреНрдирд▓ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЛ рдЬреЛрдбрд╝рд╛ рддрд╛рдХрд┐ рдПрдХ рдирдпрд╛ рдЕрд▓рд░реНрдЯ рд╡рд░реНрддрдорд╛рди рдХреЛ рдмрд╛рдзрд┐рдд рди рдХрд░реЗ, рд▓реЗрдХрд┐рди рдХрддрд╛рд░ рдореЗрдВ рд╣реЛ рдЬрд╛рдПред

3. PAM8403 рдПрдореНрдкрд▓реАрдлрд╛рдпрд░ (рд╡реИрдХрд▓реНрдкрд┐рдХ)

рдЕрд▓реА рд╕реЗ рд▓рд┐рдВрдХ

4. рд╡рд┐рдХрд╛рд╕ рдмреЛрд░реНрдб, 5 рдкреНрд░рддрд┐рд░реЛрдзреЛрдВ (рд╡рд╛рд▓реНрдЯрдореАрдЯрд░ рдХреЗ рдПрдбреАрд╕реА рдкрд░ 2, рдФрд░ рдбреАрдПрдлрдкреНрд▓реЗрдпрд░ рдкрд┐рди рдкрд░ 3), 4 рдбрд╛рдпреЛрдб (+12 рд╡реА рдХреЗ рд╕рд╛рде рдорд┐рд▓рд╛рди), рд╕рд╛рде рд╣реА рдХреИрдкреЗрд╕рд┐рдЯрд░ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдФрд░ + 5 рд╡реА рдкрд╛рд╡рд░ рд╕реНрдЯреЗрдмрд▓рд╛рдЗрдЬрд░ рдорд╛рдЗрдХреНрд░реЛрдмреНрд░рд┐рдЪ рдкреНрд░рдХрд╛рд░ LM7805 (рдореЗрд░реЗ рдкрд╛рд╕ AMSR DC / DC рдХрдирд╡рд░реНрдЯрд░ рд╣реИ) 7805, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд░рд┐рдЬрд╝рд░реНрд╡ рдореЗрдВ рдерд╛ рдФрд░ рдЧрд░реНрдо рдирд╣реАрдВ рд╣реЛрддрд╛ рдерд╛), рдкреАрдЬреЛ рдмрдЬрд░ (рд╕реНрдХреНрд╡реЗрдХреНрд╕ рдЬрдм рдПрдордкреА 3 рдлрд╝рд╛рдЗрд▓ рдХреА рдХрддрд╛рд░ рдкреВрд░реА рд╣реЛрддреА рд╣реИ, рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ), рдПрдХ IR рд╕реЗрдВрд╕рд░ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдиреЗрдХреНрдЯрд░реНрд╕ (рдЬреИрдХ 2.5 рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрд╕рдВрдмрджреНрдз рд╣реИ) рдФрд░ рд╕реНрдкреАрдХрд░ ( рдореИрдВрдиреЗ рдЖрд░рд╕реАрдП рд▓рд┐рдпрд╛), рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдФрд░ рдбреИрд╢рдмреЛрд░реНрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдиреЗрдХреНрдЯрд░ (рдореИрдВрдиреЗ рдЖрдИрдбреАрд╕реА 10 рд▓рд┐рдпрд╛, рдореЗрд░реЗ рдкрд┐рддрд╛рдЬреА рдкрд░ рд▓рд╛рдЪреЗрд╕ рдХреЗ рд╕рд╛рде - рдХрд╛рдлреА рд╣рд▓реНрдХреЗ рдФрд░ рдмрд╣реБ-рдкрд┐рди)

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

#include <Wire.h> //#include <LiquidCrystal_I2C.h> #include <IRremote.h> #include <EEPROM.h> #include <SoftwareSerial.h> #include <DFPlayer_Mini_Mp3.h> int RECV_PIN = 6; //  IR  IRrecv irrecv(RECV_PIN); decode_results results; byte cfg[16] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; byte mp3stek[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; byte mp3stekpos = 0; volatile byte busy = 1; //mp3 busy 0=play volatile byte softbusy = 0; volatile byte nomer_mp3 = 1; volatile unsigned long micros_sp = 0; volatile byte sz = 0; //  volatile unsigned int sp = 0; // volatile unsigned int sp20 = 0; //*10 volatile boolean st = false; // volatile byte ruka = 1; // volatile byte dsvet = 0; //. volatile byte gaba = 0; // volatile byte lastspeed = 0; //  volatile byte lastdsvet = 0; //   . volatile byte lastgaba = 0; //   DHO volatile byte lastgabaonoff = 0; //     volatile word gabaonofftimer = 0; //      volatile byte gabaonoffcounter = 0; //      volatile byte speed40 = 38; // 40 volatile byte speed60 = 58; // 60 volatile byte speed80 = 78; // 80 volatile byte speed110 = 108; // 110 volatile byte unspeed40 = 36; // no 40 volatile byte unspeed60 = 56; // no 60 volatile byte unspeed80 = 76; // no 80 volatile byte unspeed110 = 106; // no 110 volatile byte speed50 = 48; // 50 volatile byte unspeed50 = 46; // no 50 volatile byte speed70 = 68; // 70 volatile byte unspeed70 = 66; // no 70 volatile byte speed90 = 88; // 90 volatile byte unspeed90 = 86; // no 90 volatile byte speed100 = 98; // 100 volatile byte unspeed100 = 96; // no 100 volatile byte speed120 = 118; // 120 volatile byte unspeed120 = 116; // no 120 volatile byte speed130 = 128; // 130 volatile byte unspeed130 = 126; // no 130 volatile byte s40 = 0; volatile byte s50 = 0; volatile byte s60 = 0; volatile byte s70 = 0; volatile byte s80 = 0; volatile byte s90 = 0; volatile byte s100 = 0; volatile byte s110 = 0; volatile byte s120 = 0; volatile byte s130 = 0; //LiquidCrystal_I2C lcd(0x3F, 16, 2); float sensorValue = 0; //V float outputValue = 0; //V void setup() { Serial.begin(9600); Serial.println("start programm NEXIA 1.0"); //start IR reciver irrecv.enableIRIn(); // Start the receiver // initialize the LCD //lcd.begin(); // Turn on the blacklight and print a message. //lcd.backlight(); // lcd.print("Hello, world!"); //tone (17,3000); //    D3 pinMode(2, INPUT); //      speed digitalWrite(2, HIGH);//   pinMode(3, INPUT); //      digitalWrite(3, HIGH);//   pinMode(4, INPUT); //      digitalWrite(4, HIGH);//   pinMode(5, INPUT); //      digitalWrite(5, HIGH);//   // pinMode(13, OUTPUT); // lastgabaonoff = digitalRead(5); //gaba attachInterrupt(0,speedometr, RISING); cfg[0]=EEPROM.read(5); //0=all sound 1=no sound(ruka) 2=no sound all cfg[1]=EEPROM.read(6); //volume mp3 0..30 cfg[2]=EEPROM.read(7); //0 = dsvet sound? 1 = no dsvet sound cfg[3]=EEPROM.read(8); //0 = 40sound cfg[4]=EEPROM.read(9); //0 = 60sound cfg[5]=EEPROM.read(10);//0 = 80sound cfg[6]=EEPROM.read(11);//0 = 110 sound cfg[7]=EEPROM.read(12);//0 = Voltmetr sound cfg[8]=EEPROM.read(13);//0 = DHO sound cfg[9]=EEPROM.read(14);//0 = 50sound cfg[10]=EEPROM.read(15);//0 = 70sound cfg[11]=EEPROM.read(16);//0 = 90sound cfg[12]=EEPROM.read(17);//0 = 100sound cfg[13]=EEPROM.read(18);//0 = 120sound cfg[14]=EEPROM.read(19);//0 = 130sound cfg[15]=EEPROM.read(20);//0 = 0, 1=1 // 3 pinMode(7, INPUT); //busy mp3_set_serial (Serial); // mp3_set_volume (25); mp3setvol(); delay (100); add_mp3(32); //   //  analogReference (INTERNAL); // voltmeter(); if (cfg[7]==0){voltmetertest();} //  } void loop() { //   dsvet = digitalRead(3); //    : // if (dsvet==1) { lcd.setCursor(3, 0); lcd.print("DD ");} // else{lcd.setCursor(3, 0); lcd.print("_s ");}; ruka = digitalRead(4); //    : // if (ruka==1) { lcd.setCursor(0, 0); lcd.print("_r ");} // else{lcd.setCursor(0, 0); lcd.print("RR ");}; gaba = digitalRead(5); //    : // if (gaba==1) { lcd.setCursor(6, 0); lcd.print("GG");} // else{lcd.setCursor(6, 0); lcd.print("_g");}; //voltmetertest(); //  // digitalWrite(13, !digitalRead(2)); //  // lcd.setCursor(10, 0); // lcd.print(" "); // lcd.setCursor(10, 0); // lcd.print(sp); // lcd.setCursor(0, 1); // lcd.print(" "); // lcd.setCursor(0, 1); // lcd.print(sp20); if (sz != 0){sz--;}else{sp20=0;sp=0;}; delay(50); // sdisplay(); // gabamute(); //      if ((sp20>0)&(ruka==0)) {rukabeep();}//  else { // .        if (dsvet==1) { if ( lastdsvet<200){lastdsvet=lastdsvet+1;};} if (dsvet==1) { if ((lastdsvet>35)&(lastdsvet<38)){svetbeep();}; } if (dsvet==0) {lastdsvet=0;}; //  .  //   if ((gaba==0)&&(sp20>0)) { if ( lastgaba<150){lastgaba=lastgaba+1;};} if ((gaba==0)&&(sp20>0)) { if ((lastgaba>20)&(lastgaba<23)){DHO_beep();}; } if (gaba==1) {lastgaba=0;}; if (sp20==0) {lastgaba=0;}; //    40, 60, 80, 110 if ((lastspeed<speed40)&(sp>=speed40)) { if (s40<1) { svet1beep(); s40=1; }}; if ((lastspeed>=unspeed40)&(sp<unspeed40)) { if (s40>0) { nsvet1beep(); s40=0; }}; if ((lastspeed<speed50)&(sp>=speed50)) { if (s50<1) { svet50beep(); s50=1; }}; if ((lastspeed>=unspeed50)&(sp<unspeed50)) { if (s50>0) { nsvet50beep(); s50=0; }}; if ((lastspeed<speed60)&(sp>=speed60)) { if (s60<1) { svet2beep(); s60=1; }}; if ((lastspeed>=unspeed60)&(sp<unspeed60)) { if (s60>0) { nsvet2beep(); s60=0; }}; if ((lastspeed<speed70)&(sp>=speed70)) { if (s70<1) { svet70beep(); s70=1; }}; if ((lastspeed>=unspeed70)&(sp<unspeed70)) { if (s70>0) { nsvet70beep(); s70=0; }}; //.   66/    " 70" - .     . if ((lastspeed<speed80)&(sp>=speed80)) { if (s80<1) { svet3beep(); s80=1; }}; if ((lastspeed>=unspeed80)&(sp<unspeed80)) { if (s80>0) { nsvet3beep(); s80=0; }}; if ((lastspeed<speed90)&(sp>=speed90)) { if (s90<1) { svet90beep(); s90=1; }}; if ((lastspeed>=unspeed90)&(sp<unspeed90)) { if (s90>0) { nsvet90beep(); s90=0; }}; if ((lastspeed<speed100)&(sp>=speed100)) { if (s100<1) { svet100beep(); s100=1; }}; if ((lastspeed>=unspeed100)&(sp<unspeed100)) { if (s100>0) { nsvet100beep(); s100=0; }}; if ((lastspeed<speed110)&(sp>=speed110)) { if (s110<1) { svet4beep(); s110=1; }}; if ((lastspeed>=unspeed110)&(sp<unspeed110)) { if (s110>0) { nsvet4beep(); s110=0; }}; if ((lastspeed<speed120)&(sp>=speed120)) { if (s120<1) { svet120beep(); s120=1; }}; if ((lastspeed>=unspeed120)&(sp<unspeed120)) { if (s120>0) { nsvet120beep(); s120=0; }}; if ((lastspeed<speed130)&(sp>=speed130)) { if (s130<1) { svet130beep(); s130=1; }}; if ((lastspeed>=unspeed130)&(sp<unspeed130)) { if (s130>0) { nsvet130beep(); s130=0; }}; lastspeed=sp; delay(50); //    }//     // voltmeter(); //  3 if (mp3stekpos != 0) { busy = digitalRead(7); //    7: if (softbusy > 0) softbusy = softbusy-1;// , .. busy    if ((busy>0) && (softbusy ==0)) //   3 {mp3stekpos = mp3stekpos-1; nomer_mp3 = mp3stek[1]; if (cfg[15]==0) {mp3_play (mp3stek[1]);} else {mp3_play (mp3stek[1]+100);} //  softbusy = 25; delay(50); for (int i=1; i < 9; i++){mp3stek[i]=mp3stek[i+1]; } mp3stek[9]= 0; };} //   /**/ if (irrecv.decode(&results)) { Serial.println(results.value); // lcd.setCursor(6, 1); // lcd.print(results.value); //  //       0-2 if ((results.value==2255209021)|| (results.value==2255218711)) { cfg[0]=cfg[0]+1; if (cfg[0]>2) { cfg[0]=0; }; EEPROM.write(5,cfg[0]); if (cfg[0]==0) {add_mp3(5);}; //sound on if (cfg[0]==1) {add_mp3(3);}; //sound off krome ruka if (cfg[0]==2) {add_mp3(4);}; }//sound off all // V+ -   3 if ((results.value==2255188111)||(results.value==2155866645)) { cfg[1]=cfg[1]+1; if (cfg[1]>4) {cfg[1]=4;add_mp3(41);} if (cfg[1]==1) {add_mp3(38);} if (cfg[1]==2) {add_mp3(39);} if (cfg[1]==3) {add_mp3(40);} if (cfg[1]==4) {add_mp3(41);} mp3setvol(); EEPROM.write(6,cfg[1]); } // V- -   3 if ((results.value==2255210551)||(results.value==2155809015)) { if (cfg[1]<1) {add_mp3(37); } else {cfg[1]=cfg[1]-1;} if (cfg[1]==1) {add_mp3(38);} if (cfg[1]==2) {add_mp3(39);} if (cfg[1]==3) {add_mp3(40);} mp3setvol(); EEPROM.write(6,cfg[1]); } if (results.value==2255192191) // sourse -    +100 { if (cfg[15]==0){ cfg[15]=1;} else { cfg[15]=0;} add_mp3(42); EEPROM.write(20,cfg[15]); } if (results.value==2255222791) //  -  . { if (cfg[2]==0) { cfg[2]=1; add_mp3(18);} //no dsvet else { cfg[2]=0; add_mp3(19); }//dsvet on EEPROM.write(7,cfg[2]); } if (results.value==2255220751) // 4 -   40 { if (cfg[3]==0) { cfg[3]=1; add_mp3(36); }//40 off else { cfg[3]=0; add_mp3(35); }//40 on EEPROM.write(8,cfg[3]); } if (results.value==2255200351) // 5 -   50 { if (cfg[9]==0) { cfg[9]=1; add_mp3(65); } //50 off else { cfg[9]=0; add_mp3(66); }//50 on EEPROM.write(14,cfg[9]); } if (results.value==2255184031) // 6 -   60 { if (cfg[4]==0) { cfg[4]=1; add_mp3(12); }//60 off else { cfg[4]=0; add_mp3(13); }//60 on EEPROM.write(9,cfg[4]); } if (results.value==2255171791) // 7 -   70 { if (cfg[10]==0) {cfg[10]=1; add_mp3(45);} //70 off else { cfg[10]=0; add_mp3(46); }//70 on EEPROM.write(15,cfg[10]); } if (results.value==2255204431) // 8 -   80 { if (cfg[5]==0) { cfg[5]=1; add_mp3(14); }//80 off else { cfg[5]=0; add_mp3(15); }//80 on EEPROM.write(10,cfg[5]); } if (results.value==2255179951) // 9 -   90 { if (cfg[11]==0) {cfg[11]=1; add_mp3(49);} //90 off else { cfg[11]=0; add_mp3(50);} //90 on EEPROM.write(16,cfg[11]); } if (results.value==2255194231) // 0 -   100 { if (cfg[12]==0) {cfg[12]=1; add_mp3(53);} //100 off else { cfg[12]=0; add_mp3(54);} //100 on EEPROM.write(17,cfg[12]); } if (results.value==2255167711) // 1 -   110 { if (cfg[6]==0) { cfg[6]=1; add_mp3(16);} //110 off else { cfg[6]=0; add_mp3(17);} //110 on EEPROM.write(11,cfg[6]); } if (results.value==2255163631) // 2 -   120 { if (cfg[13]==0) { cfg[13]=1; add_mp3(57);} //120 off else { cfg[13]=0; add_mp3(58);} //120 on EEPROM.write(18,cfg[13]); } if (results.value==2255175871) // 3 -   130 { if (cfg[14]==0) { cfg[14]=1; add_mp3(61);} //130 off else { cfg[14]=0; add_mp3(62);} //130 on EEPROM.write(19,cfg[14]); } if ((results.value==2255206471)||(results.value==2155829925)) // ? -   { if (cfg[7]==0) { cfg[7]=1; add_mp3(27);} //no  else { cfg[7]=0; add_mp3(28); voltmetertest(); }// on EEPROM.write(12,cfg[7]); } if (results.value==2255190151) //  -  DHO { if (cfg[8]==0) { cfg[8]=1; add_mp3(31);} //no DHO else { cfg[8]=0; add_mp3(30);} //DHO on EEPROM.write(13,cfg[8]); } irrecv.resume(); // Receive the next value } } //      void sdisplay(){ if (ruka==1) { Serial.print("ruka=off ");} else{ Serial.print("RUKA=ON ");}; if (dsvet==1) { Serial.print("dsvet=off ");} else{ Serial.print("DSVET=ON ");}; if (gaba==1) { Serial.print("gaba=off ");} else{ Serial.print("GABA=ON ");}; Serial.println(" "); Serial.print(" speed="); Serial.println(sp); Serial.println("++++++++++++++++++ END ++++++"); } void speedometr(){ if (!st){micros_sp = micros();} else {sp20 = (12000000/(micros() - micros_sp));} sp=sp20/20; st = !st; sz=10;} void rukabeep() { if (cfg[2]!=2) {mp3_play (1);} delay(1000);} void svetbeep() { if ((cfg[2]==0)&&(cfg[0]==0)) {add_mp3(2);}} void DHO_beep() { if ((cfg[8]==0)&&(cfg[0]==0)) {add_mp3(29);}} void svet1beep() { if ((cfg[3]==0)&&(cfg[0]==0)) {add_mp3(33);}} //40 void nsvet1beep() { if ((cfg[3]==0)&&(cfg[0]==0)) {add_mp3(34);}} //n40 void svet50beep() { if ((cfg[9]==0)&&(cfg[0]==0)) {add_mp3(63);}} //50 void nsvet50beep() { if ((cfg[9]==0)&&(cfg[0]==0)) {add_mp3(64);}} //n50 void svet2beep() { if ((cfg[4]==0)&&(cfg[0]==0)) {add_mp3(6);}} //60 void nsvet2beep() { if ((cfg[4]==0)&&(cfg[0]==0)) {add_mp3(7);}} //n60 void svet70beep() { if ((cfg[10]==0)&&(cfg[0]==0)) {add_mp3(43);}} //70 void nsvet70beep() { if ((cfg[10]==0)&&(cfg[0]==0)) {add_mp3(44);}} //n70 void svet3beep() { if ((cfg[5]==0)&&(cfg[0]==0)) {add_mp3(8);}} //80 void nsvet3beep() { if ((cfg[5]==0)&&(cfg[0]==0)) {add_mp3(9);}} //n80 void svet90beep() { if ((cfg[11]==0)&&(cfg[0]==0)) {add_mp3(47);}} //90 void nsvet90beep() { if ((cfg[11]==0)&&(cfg[0]==0)) {add_mp3(48);}} //n90 void svet100beep() { if ((cfg[12]==0)&&(cfg[0]==0)) {add_mp3(51);}} //100 void nsvet100beep(){ if ((cfg[12]==0)&&(cfg[0]==0)) {add_mp3(52);}} //n100 void svet4beep() { if ((cfg[6]==0)&&(cfg[0]==0)) {add_mp3(10);}} //110 void nsvet4beep() { if ((cfg[6]==0)&&(cfg[0]==0)) {add_mp3(11);}} //n110 void svet120beep() { if ((cfg[13]==0)&&(cfg[0]==0)) {add_mp3(55);}} //120 void nsvet120beep(){ if ((cfg[13]==0)&&(cfg[0]==0)) {add_mp3(56);}} //n120 void svet130beep() { if ((cfg[14]==0)&&(cfg[0]==0)) {add_mp3(59);}} //130 void nsvet130beep(){ if ((cfg[14]==0)&&(cfg[0]==0)) {add_mp3(60);}} //n130 //void svet1unbeep(){ tone (17,1000); delay(200); noTone(17);} void add_mp3(byte nomermp3) { if ((mp3stekpos > 8)&&(cfg[0]<2))//     { if (cfg[0]==0) { tone (17,1000); delay(200); tone (17,1400); delay(200); noTone(17); }}//       else { mp3stekpos = mp3stekpos+1; mp3stek[mp3stekpos] = nomermp3; }} //    void mp3setvol() //    0-4  0-30 {if(cfg[1]==0){mp3_set_volume(10);}if(cfg[1]==1){mp3_set_volume(15);}if(cfg[1]==2){mp3_set_volume(20);}if(cfg[1]==3){mp3_set_volume(25);}if(cfg[1]>3){mp3_set_volume(30);}} void voltmetertest() { outputValue = 0; int u_x10 =0 ; int u_x1 =0 ; int u_x0 =0 ; for (int iii=0; iii <10 ; iii++) { outputValue =outputValue + float(analogRead(A0)); delay(100); }//   outputValue = outputValue/620;//     u_x10=round(outputValue*10); // 10 u_x1=floor(u_x10/10); //   add_mp3(70+u_x1); u_x0=u_x10-(10*u_x1); // = 10U-10U add_mp3(90+u_x0); } void gabamute() { if (lastgabaonoff==gaba) {//   gabaonofftimer=gabaonofftimer+1; if (gabaonofftimer>250 ) {//    -   gabaonofftimer=250; gabaonoffcounter=0; } } else {//  lastgabaonoff=gaba; if (gabaonoffcounter==0) {gabaonofftimer=0;} //  // Serial.println(gabaonofftimer); if (gabaonofftimer<25) {//   gabaonoffcounter=gabaonoffcounter+1; gabaonofftimer=0; if (gabaonoffcounter>5) {// -    gabaonoffcounter=0; cfg[0]=cfg[0]+1; if (cfg[0]>2) { cfg[0]=0; }; EEPROM.write(5,cfg[0]); if (cfg[0]==0) {add_mp3(5);}; //sound on if (cfg[0]==1) {add_mp3(3);}; //sound off krome ruka if (cfg[0]==2) {add_mp3(4);}; //sound off all } } else { gabaonoffcounter=0; gabaonofftimer=0; } }} 


рд╡рд┐рдХрд▓реНрдк рдмреЛрд░реНрдб рдлрд░реНрдорд╡реЗрдпрд░
рдбрд┐рдмрдЧрд┐рдВрдЧ, рдбрд┐рдмрдЧрд┐рдВрдЧ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП, рдПрдХ рдФрд░ arduino рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - arduino uno рдФрд░ рдПрдХ LCD- рдбрд┐рд╕реНрдкреНрд▓реЗ рдореЙрдбреНрдпреВрд▓ рдФрд░ рдмрдЯрдиред

рд╡рд╣ рдЬрд╛рдирддреА рд╣реИ рдХрд┐ рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рдХреИрд╕реЗ рджреЗрдирд╛ рд╣реИ - рдЖрдпрд╛рдо, рдореБрдЦреНрдп рдмреАрдо, рд╣реИрдВрдбрдмреНрд░реЗрдХ, рдФрд░ рдЧрддрд┐ рдХреЛ 0 рд╕реЗ 150 рддрдХ рдмрджрд▓рдирд╛ред рдХрдорд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ - рд╕рдВрдкрд░реНрдХреЛрдВ рдХреА рдЙрдЫрд╛рд▓ рдХрд╛ рдХреЛрдИ рджрдорди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреНрд╖рдг рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореБрдЭреЗ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

 #include <Wire.h> //    #include <LiquidCrystal.h> LiquidCrystal lcd(8, 9, 4, 5, 6, 7 ); const int rukaPin = 2; //  =  const int dsvetPin = 1; //  = . const int speedPin = 0; //  =   const int gabaPin = 11; // 6 =  int rukaState = 0; //    int dsvetState = 0; //    int speedState = 0; //    int gabaState = 0; //    int speedkm = 0; // / int lowdelay = 250; //     //   int button; const int BUTTON_NONE = 0; const int BUTTON_RIGHT = 1; const int BUTTON_UP = 2; const int BUTTON_DOWN = 3; const int BUTTON_LEFT = 4; const int BUTTON_SELECT = 5; int getPressedButton() { int buttonValue = analogRead(0); //     (A0) if (buttonValue < 60) { return BUTTON_RIGHT; } else if (buttonValue < 200) { return BUTTON_UP; } else if (buttonValue < 400){ return BUTTON_DOWN; } else if (buttonValue < 600){ return BUTTON_LEFT; } else if (buttonValue < 800){ return BUTTON_SELECT; } return BUTTON_NONE; } void setup() { pinMode(rukaPin, OUTPUT); //     pinMode(dsvetPin, OUTPUT); //     pinMode(speedPin, OUTPUT); //     pinMode(gabaPin, OUTPUT); //     lcd.begin(16, 2); lcd.print("starting..."); delay (500); lcd.clear(); lcd.setCursor(12, 0); if(gabaState == 1){lcd.print("G_ON");}else{lcd.print("GOFF");} digitalWrite(gabaPin,gabaState); lcd.setCursor(6, 0); if(dsvetState == 1){lcd.print("D__ON");}else{lcd.print("D_OFF");} digitalWrite(dsvetPin,dsvetState); lcd.setCursor(0, 0); if(rukaState == 0){lcd.print("R__ON");}else{lcd.print("R_OFF");} digitalWrite(rukaPin,rukaState); } void loop() { delay(50); if ((speedState<=36)&(speedState>0)) { lowdelay=500/speedState; digitalWrite(speedPin,1); delay(lowdelay); digitalWrite(speedPin,0); delay(lowdelay); lcd.setCursor(12, 1); lcd.print(lowdelay); lcd.print(" "); } button = getPressedButton(); switch (button) { case BUTTON_RIGHT: //       lcd.setCursor(12, 0); if (gabaState == 0) { gabaState = 1; lcd.print("G_ON "); } else { gabaState = 0; lcd.print("GOFF "); } digitalWrite(gabaPin,gabaState); break; case BUTTON_LEFT: lcd.setCursor(6, 0); if (dsvetState == 0) { dsvetState = 1; lcd.print("D__ON "); } else { dsvetState = 0; lcd.print("D_OFF "); } digitalWrite(dsvetPin,dsvetState); break; case BUTTON_UP: if (speedState<5){speedState=speedState+1;} else {if (speedState<250){speedState=speedState+5;};} lcd.setCursor(0, 1); lcd.print(speedState); speedkm=speedState*0.6; lcd.print(" "); lcd.print(speedkm); lcd.print("km/h "); if (speedState>35){ tone(speedPin,speedState);} else { noTone(speedPin); }; break; case BUTTON_DOWN: if ((speedState<10)&(speedState>0)){speedState=speedState-1;} else { if ((speedState<255)&(speedState>0)){speedState=speedState-5;} } ; lcd.setCursor(0, 1); lcd.print(speedState); speedkm=speedState*0.6; lcd.print(" "); lcd.print(speedkm); lcd.print("km/h "); // if (speedState==0){noTone(speedPin);} else {tone(speedPin,speedState);}; if (speedState>35){ tone(speedPin,speedState);} else { noTone(speedPin); }; break; case BUTTON_SELECT: // lcd.setCursor(0, 0); // lcd.print(" "); lcd.setCursor(0, 0); if (rukaState == 0) { rukaState = 1; lcd.print("R_OFF "); } else { rukaState = 0; lcd.print("R__ON "); } digitalWrite(rukaPin,rukaState); break; } } 

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


All Articles