"рд░реЗрдбрд┐рдпреЛ-рдирд┐рдпрдВрддреНрд░рд┐рдд" рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдХреБрдЫ рдмрдбрд╝реЗ рдкреЛрд╕реНрдЯ рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрд╛рдж, рдХреБрдЫ рдРрд╕реЗ рдереЗ рдЬреЛ рдПрдХ рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ рдЬреЛ рдЗрд╕ рд╡рд┐рд╖рдп рд╕реЗ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред
рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдореИрдВ рдХреЛрдб рдХреЗ рдЕрдкрдиреЗ рдореВрд▓ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдирд╣реАрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ - рдореИрдВрдиреЗ рдПрдХ "рд▓рд╛рдЗрдЯ" рд╕рдВрд╕реНрдХрд░рдг рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬреЛ рдЖрдкрдХреЗ рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░реЗрдЧрд╛ред

рдкреЛрд╕реНрдЯ рдХреЛ рд╕рдмрд╕реЗ рд╢рд╛рдирджрд╛рд░ рдФрд░ рдЙрдкрдпреЛрдЧреА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЬ рд╣рдо рдПрдХ рд╣реЛрдо рдорд┐рдиреА-рд╕рд┐рд╕реНрдЯрдо (рдШрдбрд╝реА, рдХреИрд▓реЗрдВрдбрд░, рдореМрд╕рдо, рд╕реЗрдВрд╕рд░ рдореЗрдВ рдмреИрдЯрд░реА рд╕реНрддрд░ рдХреА рдирд┐рдЧрд░рд╛рдиреА, тАЛтАЛрдЖрджрд┐) рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ "рдореБрдЦреНрдп" рдореЙрдбреНрдпреВрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИ (рдПрдХ рдмрдбрд╝реЗ рдПрд▓рдИрдбреА рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде) рдПрдХ рд╕рдВрдХреЗрддрдХ рдХреЗ рд░реВрдк рдореЗрдВ), рджреЛ рд╕реНрдЯреИрдВрдб-рдЕрд▓реЛрди рд╕реЗрдВрд╕рд░ (рддрд╛рдкрдорд╛рди рдХреЛ рдорд╛рдкреЗрдВрдЧреЗ) рдФрд░ NTP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд╕рдордп рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдореЙрдбреНрдпреВрд▓ред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдШрдЯрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛:

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

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдмреЛрд░реНрдб рдореЗрдВ рд╣реИ:
- рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдШрдбрд╝реА рдореЙрдбреНрдпреВрд▓ (рдЖрд░рдЯреАрд╕реА) - рдПрдХ рдмреИрдХрдЕрдк рдмреИрдЯрд░реА (CR1220 рдпрд╛ CR1226) рдХреЗ рд╕рд╛рде DS1307 рдкрд░ рдЖрдзрд╛рд░рд┐рдд
- рдЖрд░рдПрдл рдореЙрдбреНрдпреВрд▓ nRF24L01 + рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдлрд╝реЗрд╕
- рдШрдбрд╝реА рдмрдЯрди (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрд▓рд╛рд░реНрдо рдХреЛ рдореНрдпреВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)
- 38kHz IR рд░рд┐рд╕реАрд╡рд░ (рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдХреЗ рд▓рд┐рдП)
- рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдХреИрдереЛрдб рдпрд╛ рдПрдиреЛрдб рдХреЗ рд╕рд╛рде рдПрдХ рдЖрд░рдЬреАрдмреА рдПрд▓рдИрдбреА рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рддрд╛рд░реЛрдВ (рдЬрдореНрдкрд░ рджреНрд╡рд╛рд░рд╛ рдЪрдпрди)
- рд▓рд╛рдЗрдЯ рд╕реЗрдВрд╕рд░ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЪрдордХ рдирд┐рдпрдВрддреНрд░рдг)
- рдкреАрдЬреЛ рдПрдорд┐рдЯрд░ "рдЯреНрд╡реАрдЯрд░"
- I2C рдЗрдВрдЯрд░рдлрд╝реЗрд╕
- xBee рдЗрдВрдЯрд░рдлрд╝реЗрд╕
- Arduino рдврд╛рд▓ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдлрд╝реЗрд╕ред

рдореЙрдбреНрдпреВрд▓ "рдХреНрдпрд╛ рдерд╛" рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рд╕рд░рд▓ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдкреНрд░рджрд░реНрд╢рди рдЗрдХрд╛рдИ рдкреНрд░рд╕рд┐рджреНрдз рд╢рд┐рдлреНрдЯ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ (74HD595D - рдирд┐рдпрдВрддреНрд░рдг рдПрд▓ рдИ рдбреА "рдХреЙрд▓рдо рдореЗрдВ") рдФрд░ рдбреАрдореБрд▓реНрдЯрд┐рдкреНрд▓реЗрдХреНрд╕рд░ (74HD138D - рдирд┐рдпрдВрддреНрд░рдг "рдкрдВрдХреНрддрд┐рдпреЛрдВ") рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдЧрддрд┐рд╢реАрд▓ рд╕рдВрдХреЗрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рднреА рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ
рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдореВрд▓ рдЖрджрд┐рдо ("рдкреНрд░рд┐рдВрдЯ рдП рд▓рд╛рдЗрди", "рдХреНрд░реАрдкрд┐рдВрдЧ рд▓рд╛рдЗрди", рдмреНрд░рд╛рдЗрдЯрдиреЗрд╕ рдХрдВрдЯреНрд░реЛрд▓, рдХрдИ рдкреНрд░рднрд╛рд╡ рд╣реЛрддреЗ рд╣реИрдВ) рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред

рд╢реАрд▓реНрдб рдореЗрдВ рд╕реНрд╡рдпрдВ рдПрдордХреЗ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИ, рдЖрдкрдХреЛ "рдЕрд░реБрдбрд┐рдиреЛ рдореЗрдЧрд╛" рдпрд╛ рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдХреНрд▓реЛрди (рдореБрдЭреЗ
рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛
рдЧрдпрд╛ ) рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╢реАрд▓реНрдб Marix рдореИрдЯреНрд░рд┐рдХреНрд╕ рдпреЛрдЬрдирд╛рдмрджреНрдз
рдпрд╣рд╛рдБ рдЙрдкрд▓рдмреНрдз
рд╣реИ ред
рд╕реЗрдВрд╕рд░ рдиреЛрдб
рдпрд╣ Atmega328 рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ Arduino- рд╕рдВрдЧрдд рдореЙрдбреНрдпреВрд▓ рд╣реИ, рдЬреЛ рдПрдХ рдПрдХрд▓ CR2032 рд▓рд┐рдерд┐рдпрдо рдмреИрдЯрд░реА рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рддрд╛рдкрдорд╛рди рд╕реЗрдВрд╕рд░ "рдСрди рдмреЛрд░реНрдб" (MCP9700), рдПрдХ рдмрдЯрди, рдПрдХ рдПрд▓рдИрдбреА рдФрд░ рддреАрди рдХрдиреЗрдХреНрдЯрд░реНрд╕ рдЬреЛ рд╕рдВрднрд╡ "рдПрдХреНрд╕рдЯреЗрдВрд╢рди" (рд╕реЗрдВрд╕рд░, рдЖрджрд┐) рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИред

рд╕реЗрдВрд╕рд░ рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдореЗрдВ:
- рдмреЛрд░реНрдб рдХрд╛ рдЖрдХрд╛рд░ - 3x4 рд╕реЗрдореАред
- рджреЛ рдкрд╛рд╡рд░ рд╡рд┐рдХрд▓реНрдк nRF24L01 +: рдореЙрдбреНрдпреВрд▓ рдХреЛ рдкрд╛рд╡рд░ рд▓рдЧрд╛рддрд╛рд░ рдЖрдкреВрд░реНрддрд┐ рдХреА рдЬрд╛рддреА рд╣реИ рдпрд╛ рдбрд┐рдЬрд┐рдЯрд▓ рдкрд┐рдВрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдкрд╕рдВрдж рдПрдХ рдЬрдореНрдкрд░ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред
- Arduino рд╕реЗ ISP рдпрд╛ FT232- рдЖрдзрд╛рд░рд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ (рдпрд╛ рд╕рдорд╛рди) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ ред
- рдПрдХ рд╡реЛрд▓реНрдЯреЗрдЬ рд╡рд┐рднрдХреНрдд рд╣реИ (рдЖрдкреВрд░реНрддрд┐ рд╡реЛрд▓реНрдЯреЗрдЬ рдХреЛ рдорд╛рдкрдиреЗ рдХреЗ рд▓рд┐рдП)
- рджреЛ рдбрд┐рдЬрд┐рдЯрд▓ рдкрд┐рди "рдбрд┐рдЬрд┐рдЯрд▓" рдХрдиреЗрдХреНрдЯрд░ рдХреЗ рд▓рд┐рдП рдЖрдЙрдЯрдкреБрдЯ рд╣реИрдВ (рдкрд╛рд╡рд░ рдХрдиреЗрдХреНрдЯрд░ рдореЗрдВ рднреА рдореМрдЬреВрдж рд╣реИ)ред
- рджреЛ рдПрдирд╛рд▓реЙрдЧ рдкрд┐рди - "рдПрдирд╛рд▓реЙрдЧ" рдХрдиреЗрдХреНрдЯрд░ рдореЗрдВ (рд╢рдХреНрддрд┐ рднреА рд╣реИ)ред
- I2C рдмрд╕ рдПрдХ рдЕрд▓рдЧ рд╕рдВрдЧрдд рдХрдиреЗрдХреНрдЯрд░ (рднреА рд╕рдВрдЪрд╛рд▓рд┐рдд) рд╣реИред
- рдПрдордХреЗ рдХреНрд▓реЙрдХрд┐рдВрдЧ рджреЛрдиреЛрдВ 16 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдХреНрд╡рд╛рд░реНрдЯреНрдЬ рд░реЗрдЬрд╝реЛрдиреЗрдЯрд░ рдХреА рдорджрдж рд╕реЗ рдмреЛрд░реНрдб рдкрд░ рд▓рдЧрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдмрд┐рд▓реНрдЯ-рдЗрди рдСрд╕рд┐рд▓реЗрдЯрд░ рдХреА рдорджрдж рд╕реЗ рд╕рдВрднрд╡ рд╣реИ (рдпрд╣, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореЙрдбреНрдпреВрд▓ рдХрд╛ "рдЪрд┐рдк" рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╕ tomega328 рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╣реИ)ред

рдкрд╛рдардХреЛрдВ рдХреЗ рдмреАрдЪ рд░реБрдЪрд┐ рд╣реЛрдиреЗ рдкрд░, рдореИрдВ рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦреВрдВрдЧрд╛ред
рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдмреИрдЯрд░реА рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо 8 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдХреА рдЖрд╡реГрддреНрддрд┐ рдкрд░ рдЖрдВрддрд░рд┐рдХ рдерд░рдерд░рд╛рдирд╡рд╛рд▓рд╛ рд╕реЗ рдПрдордХреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдПрдордХреЗ рдХреЛ рдХрдо рд╡реЛрд▓реНрдЯреЗрдЬ (1.8 рд╡реА рд╕реЗ) рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдВрдЧреЗред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмреЛрд░реНрдбреЛрдВ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реЗрдВред Txt рдлрд╝рд╛рдЗрд▓:
s328o8.name=Sensor328 (int8MHz, 1.8V)
s328o8.upload.protocol=arduino
s328o8.upload.maximum_size=30720
s328o8.upload.speed=19200
s328o8.bootloader.low_fuses=0xe2
s328o8.bootloader.high_fuses=0xda
s328o8.bootloader.extended_fuses=0x06
s328o8.bootloader.path=atmega
s328o8.bootloader.file=ATmegaBOOT_168_atmega328_pro_8MHz.hex
s328o8.bootloader.unlock_bits=0x3F
s328o8.bootloader.lock_bits=0x0F
s328o8.build.mcu=atmega328p
s328o8.build.f_cpu=8000000L
s328o8.build.core=arduino
s328o8.build.variant=standard
UPD: 2.4. 1.8 1. :
s328o1.name=Sensor328p (int1MHz, 1.8V)
s328o1.upload.protocol=arduino
s328o1.upload.maximum_size=30720
s328o1.upload.speed=19200
s328o1.bootloader.low_fuses=0x62
s328o1.bootloader.high_fuses=0xda
s328o1.bootloader.extended_fuses=0x06
s328o1.bootloader.path=atmega
s328o1.bootloader.file=ATmegaBOOT_168_atmega328_pro_8MHz.hex
s328o1.bootloader.unlock_bits=0x3F
s328o1.bootloader.lock_bits=0x0F
s328o1.build.mcu=atmega328p
s328o1.build.f_cpu=1000000L
s328o1.build.core=arduino
s328o1.build.variant=standard
тАФ , . , Arduino . avrdude ( avrdude GUI тАФ ).
, ┬л Sensor Node (SN) ┬╗ тАФ .
:
- ┬л┬╗ ,
- 8
- SN ┬л┬╗ 1 8 , , ( тАФ , ┬л┬╗)
( 20 ) 2.83.

, , , , 4 ,
, , , .
.
iBoard
. : 328, LAN Wiznet W5100, nrf24l01+, SD, .
( ) тАФ .
nRF24l01+
RF-, 2.4. .
RF24 (
iBoardRF24).
, :
- , , .
- ( ┬л┬╗ ┬л ┬╗).
- .
- ( ).
- NTP- / .
( ), - , , .
:
- Shield MaTrix: (iBoard тАФ ┬л /┬╗), , , ( ), ┬л┬╗ .
- Sensor Node: , . , ( ┬л┬╗ ).
- iBoard: DHCP, NTP-, , / .
, , .
.
nRF24l01+ тАФ , ( )
.
, ┬л ┬╗ 32 .
тАФ , ┬л┬╗ .
:
typedef struct{
int SensorID;
int ParamID;
float ParamValue;
char Comment[16];
}
Message;
, 32 .
(SensorID): Shield MaTrix тАФ 100, Sensor Node 1 (SN1 тАФ ┬л┬╗) тАФ 200, SN2 (┬л┬╗) тАФ 300, iBoard тАФ 900.
, тАФ , .
, ┬л┬╗ , ( , ┬л┬╗ 2 тАФ ( тАФ )).
, ┬л┬╗ :
typedef struct{
float Value;
char Note[16];
}
Parameter;
(Value) float ( , ( , ) тАФ ).
Note ┬л ┬╗ ( ┬лTempIN, C┬╗ тАФ ).
, (Parameter) ┬л┬╗ (Message).
.
SN1 SN2. :
- setup() тАФ
- loop():
( 8 ), ( ) 8 тАФ , , 8- . 4 , , , 30 , .
тАФ RF- ( powerDown() ).
, тАж
, ┬л┬╗ :
Parameter MySensors[NumSensors+1] = { // ( )
NumSensors, "SN1 (in)", // ""
0, "TempIN, C", //
0, "VCC, V", // ( )
0, "BATT" // , (0 - "", 1 - "")
};
Message sensor;
┬л┬╗:
Parameter MySensors[NumSensors+1] = {
NumSensors, "SN1 (in&out)",
0, "TempIN, C",
0, "VCC, V",
0, "BATT",
0, "TempOUT, C"
};
Message sensor;
┬л┬╗ (TempIN), (TempOUT), .
┬л┬╗ ┬л┬╗ . ┬л┬╗ () MCP9700 ( ┬л ┬╗ тАФ , .
тАФ , MCP9700 . ( тАФ , , ). . ( ) ┬лAnalog┬╗).

.
, MCP9700 , , .
, ( SN , 328).
( , ,
).
:
long readVcc() {
#if defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
ADMUX = _BV(REFS0) | _BV(MUX4) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
#elif defined (__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__)
ADMUX = _BV(MUX5) | _BV(MUX0);
#elif defined (__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__)
ADMUX = _BV(MUX3) | _BV(MUX2);
#else
ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
#endif
delay(75);
ADCSRA |= _BV(ADSC);
while (bit_is_set(ADCSRA,ADSC));
uint8_t low = ADCL;
uint8_t high = ADCH;
long result = (high<<8) | low;
result = 1125300L / result;
return result;
}
.
, SN1 тАФ 200:
void calculateValue(){
MySensors[2].Value = ((float) readVcc())/1000.0;
MySensors[1].Value = (((float)analogRead(A3) * MySensors[2].Value / 1024.0) - 0.5)/0.01;
MySensors[3].Value = (MySensors[2].Value > 2.4) ? 1 : 0;
return;
}
SN2 (┬л┬╗ тАФ 300):
void calculateValue(){
MySensors[2].Value = ((float) readVcc())/1000.0;
MySensors[1].Value = (((float)analogRead(A3) * MySensors[2].Value / 1024.0) - 0.5)/0.01;
MySensors[3].Value = (MySensors[2].Value > 2.4) ? 1 : 0;
MySensors[4].Value = (((float)analogRead(A1) * MySensors[2].Value / 1024.0) - 0.5)/0.01;
return;
}
, , ┬л┬╗ .
- , ( 4 ) тАФ ┬л┬╗ (mode = 1) ┬л┬╗ (mode = 2).
┬л┬╗ , 8 .
┬л┬╗ , 4 ( ).
┬л┬╗ 10 (.. 10 ┬л┬╗ тАФ ). , , .
, ┬л┬╗ .
- ┬л /┬╗ ( iBoard).
/ тАФ
.
, .
┬л┬╗ - / float.
: ┬лyymm.dd┬╗, тАФ ┬лhhmm.ss┬╗. float.
, , ┬л /┬╗:
Parameter MySensors[NumSensors+1] = {
NumSensors, "iBoard NTP",
0, "Date (yymm.dd)",
0, "Time (hhmm.ss)"
};
Message sensor;
/ , (, , , тАФ , 10 , ( )).
тАФ , ( ):
#define TimeOffset 4
, iBoard SN, тАФ RF24 (iBoard ┬л┬╗ ).
, , тАФ (┬л тАФ тАФ тАФ ┬╗), ┬л┬╗ тАФ Shield MaTrix тАФ , .
┬л┬╗: , ┬л┬╗ ( ┬л┬╗ ), , , Shield MaTrix.

: , , тАФ ┬л┬╗. [0,┬л┬╗] тАФ map(...), ┬л┬╗ ( 20 255, ).
┬л┬╗ :
- ( digit6x8future, )
- ( font6x8, )
- ( font6x8, (+)
- ( , ). .
- ( , ).
- , ┬л ┬╗ ( ) тАФ тАФ ( , ), : ┬л (CR2032) !┬╗ , .
, :
?
- ┬л┬╗ ( , MaTrix ┬л ┬╗).
- SN (, ..).
- SN ( ┬л┬╗ ).
- ┬л┬╗ ┬л┬╗ , ┬л ┬╗ .
- ( , iBoard: , ┬л┬╗ SD- (, iBoard microSD) - , " " - , ).
- (, MaTrix (300 -> 100) - - ).
, .
:
P.S. , , ( тАФ ).