Arduino рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдирдкреБрдЯ рд╡рд┐рдзрд┐ рдЬреЛрдбрд╝рдирд╛

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


рднрд╛рдЧ рдПрдХ - рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ


рдПрдХ рдХреАрдмреЛрд░реНрдб рдХреЛ рдПрдХ Arduino рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ:

рдмрдЯрди рдХреА рдЫреЛрдЯреА рд╕рдВрдЦреНрдпрд╛ рдпрд╛ рдмрдбрд╝реЗ рдЖрдХрд╛рд░ рдХреЗ рдХрд╛рд░рдг рдЗрди рд╕рднреА рддрд░реАрдХреЛрдВ рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реБрдП, рдореБрдЭреЗ рдпрд╛рдж рдЖрдпрд╛ рдХрд┐ рдореИрдВ рджрд╕ рд╕рд╛рд▓ рд╕реЗ рдПрдВрдЯреАрд╕реЛрд▓реНрд╕ рдкрд░ рдПрдХ рд╕реЗрд▓ рдлреЛрди рдХреЗ рд▓рд┐рдП рд▓рдШреБ рдХреАрдмреЛрд░реНрдб рдкрд░ рдкрдбрд╝рд╛ рд╣реБрдЖ рдерд╛ - рдПрд░рд┐рдХреНрд╕рди рдЪреИрдЯрдмреЛрд░реНрдб:
рдЫрд╡рд┐
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдпрд╣ рдореЙрдбрд▓ CHA-01 5 рд╡реЛрд▓реНрдЯ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдПрдХ рдЯреЗрд▓реАрдлреЛрди ... рдПрдХ рдореЙрдбреЗрдо рд▓рдЧрддрд╛ рд╣реИ!
рд╕реАрдПрдЪрдП -10 рдореЙрдбрд▓ рднреА рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирдП (рдпрджрд┐ рдореИрдВ рдкрд╛рдВрдЪ рд╕реЗ рд╕рд╛рдд рд╕рд╛рд▓ рдкреБрд░рд╛рдиреЗ рдлреЛрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ) рдЯреЗрд▓реАрдлреЛрди рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ 3.3 рд╡реЛрд▓реНрдЯ рдкрд░ рдЪрд▓рддрд╛ рд╣реИред рдбрд┐рд▓реАрд╡рд░реА рдХреЗ рд╕рд╛рде рджреЛрдиреЛрдВ рдореЙрдбрд▓ рдИрдмреЗ рдкрд░ $ 12 рдХреЗ рд▓рд┐рдП рдЦрд░реАрджрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред

рдЖрдк рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдХреАрдмреЛрд░реНрдб рдХреЗ рдЕрдирдореЙрдбрд┐рдлрд╛рдЗрдб рд╡рд░реНрдЬрди рддрдХ рд╕реАрдорд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрд░рд╛рдиреЗ рдлреЛрди рд╕реЗ рдХрдиреЗрдХреНрдЯрд░ рджреЗрдЦреЗрдВред рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдЬреЛ рдХреАрдмреЛрд░реНрдб рдЗрдирдкреБрдЯ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░реЗрдЧрд╛, рдФрд░ рдЬреАрд╡рди рдХрд╛ рдЖрдирдВрдж рд▓реЗрдЧрд╛ред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЖрдирдиреНрджрд┐рдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ - рдПрдХ рдмрдбрд╝рд╛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдУрд╡рд░рд╣реЗрдб (0 рдкреНрд░рдореБрдЦ рдХрд╛рд░рдгреЛрдВ рдХреЛ рджрдмрд╛рдХрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 'рдПрдЯреА * рдИрдХреЗрдПрд╕рдИ = 0', рдФрд░ www - 'рдПрдЯреА * рдИрдПрдкреАрдкреА = 0.5, "рдбрдмреНрд▓реНрдпреВрдбрдмреНрд▓реНрдпреВрдбрдмреНрд▓реНрдпреВ:", "рдбрдмреНрд▓реНрдпреВрдбрдмреНрд▓реНрдпреВрдбрдмреНрд▓реНрдпреВ") рдФрд░ рдЗрдирдкреБрдЯ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ред рдХреЗрд╡рд▓ рдПрд╕рдПрдордПрд╕ рдмрдЯрди рджрдмрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рдиреА рди рджреЗрдВред

рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЗрд╕ рдХреАрдмреЛрд░реНрдб рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреБрдЫ рдХрд░рдирд╛ рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рднрд╛рдЧ рджреЛ - рдкреНрд░реИрдХреНрдЯрд┐рдХрд▓


рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдПрдХ рдЦреЛрдЬ рд╕реЗ рдЕрдЧрд▓реЗ рдкреГрд╖реНрда рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ред рд╡рд╣рд╛рдВ рд╕реЗ рд╕рдмрд╕реЗ рдореВрд▓реНрдпрд╡рд╛рди рдЬрд╛рдирдХрд╛рд░реА рдпрд╣ рдереА рдХрд┐ рдХреАрдмреЛрд░реНрдб рдореЗрдВ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдФрд░ Atmel рдореЗрдЧрд╛162 рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВ рдФрд░ рдмрд╛рдж рд╡рд╛рд▓реЗ рдХреЛ рдмрд┐рд▓реНрдЯ-рдЗрди рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЫрд╡рд┐
рдЕрдВрджрд░, рдХреАрдмреЛрд░реНрдб рдПрдХ рдорд╛рдирдХ 7x7 рдореИрдЯреНрд░рд┐рдХреНрд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╣реИ рдФрд░ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ 14 рдкрд┐рдиреЛрдВ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд▓реЗрддрд╛ рд╣реИред UART рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд╛рд╣рд░реА рд╕реВрдЪрдирд╛ рдЬрд╛рд░реА рдХреА рдЬрд╛рддреА рд╣реИред

рдЙрдкрд░реЛрдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдо рдПрдХ рдкрд░рд┐рд╡рд░реНрддрди рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ:
- рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЛ рдореЗрдЧрд╛162 (рдмрд╛рдЬрд╛рд░ рдореЗрдВ $ 3) рд╕реЗ рдмрджрд▓реЗрдВ
- рдХрдиреЗрдХреНрдЯрд░ рдХреЛ "рд╕рд╛рдорд╛рдиреНрдп" рд╕реЗ рдмрджрд▓реЗрдВ
- рдЬрдм рдЪрд╛рд╣реЗрдВ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реЗрдВ (рд▓рд╛рдн рдмреВрдЯрд▓реЛрдбрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)
AVR / Arduino рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп IDE рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ (C ++ / рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдпрд╣рд╛рдВ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИрдВ)
- рд╕реНрд╡рд╛рд╕реНрдереНрдп рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд▓рд┐рдЦреЗрдВ (IDR рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдФрд░ AVR рдХреЗ рд▓рд┐рдП C рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░реЗрдВ)

рдЯрд╛рдВрдХрд╛ рд╕реНрдЯреЗрд╢рди рдХреЗ рд╕рд╛рде рд╕рд╢рд╕реНрддреНрд░, рдЕрдирд╛рд╡рд╢реНрдпрдХ рдШрдЯрдХреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ:
рдЫрд╡рд┐

CHA-01 рдХреЗ рд▓рд┐рдП рдореВрд▓ рдХрдиреЗрдХреНрдЯрд░ рдХрд╛ рдкрд┐рдирдЖрдЙрдЯ рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ :
рдЫрд╡рд┐

1, 5 - Vcc +5 рд╡реЛрд▓реНрдЯ
2 - рдЪреИрдЯрдмреЛрд░реНрдб рд╕реАрд░рд┐рдпрд▓
3 - рдЬреАрдПрдирдбреА
4 - рдЪреИрдЯрдмреЛрд░реНрдб рд╕реАрд░рд┐рдпрд▓ рдореЗрдВ

рд╣рдорд╛рд░реЗ рднрд╛рдЧреЛрдВ рдХреЛ рдорд┐рд▓рд╛рдПрдВ:
рдЫрд╡рд┐

рдЙрдкрд░реЛрдХреНрдд рд▓реЗрдЦ рдХреЗ рд▓реЗрдЦрдХ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдореИрдВрдиреЗ рдПрдХ рдХрдиреЗрдХреНрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирдХ рдкреАрдмреАрдПрд╕ -08 рд▓рд╛рдЗрди рдХреЛ рдЪреБрдирд╛ - рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрд┐рдирд╛ рдорд╛рдорд▓реЗ рдореЗрдВ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдмреЛрд░реНрдб рдкрд░ рд╕рд╣реА рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рд░рд╣рддрд╛ рд╣реИред рдФрд░ рдЙрд╕рдиреЗ рдмрд╛рд╣рд░реА рдЕрдиреБрдирд╛рдж рдкрд░ рд╕реНрд╡рд┐рдЪ рди рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
RX, TX, GND, Vcc, MOSI, MISO, SCK рдФрд░ RST рдХрдиреЗрдХреНрдЯрд░ рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдереЗред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдорд╛рдорд▓реЗ рд╕реЗ рд╣рдЯрд╛рдП рдмрд┐рдирд╛ рдЖрдЧреЗ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рддреИрдпрд╛рд░ рд╣реИ рдФрд░ рдЗрд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдореИрдВрдиреЗ USBASP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдЕрдиреНрдп AVR - ArduinoISP рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП arduino рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)
рдЫрд╡рд┐
рд▓реЗрдХрд┐рди рдПрдЕрд░рдбреНрдпреВрдб рдиреЗ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЛ рджреЗрдЦрдиреЗ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЗрдВрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдореБрдЭреЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдмрджрд▓рд╛рд╡реЛрдВ рдХрд╛ рдХреЛрдИ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рдерд╛ - рдореБрдЭреЗ рдирд┐рджрд╛рди рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЕрдиреБрднрд╡реА рдХрд╛рдорд░реЗрдб рдХреА рдУрд░ рдореБрдбрд╝рдирд╛ рдкрдбрд╝рд╛ред рдПрдХ рдЖрд╕реНрдЯрд╕реАрд▓рд╕реНрдХрдк рдФрд░ рдПрдХ рдЬрдирд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рднрд╛рд░реА рддреЛрдкрдЦрд╛рдиреЗ рдиреЗ рд▓реЗ рд▓рд┐рдпрд╛ред рдПрдХ рдЫреЛрдЯреА рд▓рдбрд╝рд╛рдИ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рднреЗрдЬрд╛ рдЧрдпрд╛ ... RTFMред
рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ USBASP рддреЗрдЬ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ (4 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рд╕реЗ рдЕрдзрд┐рдХ) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдореЗрдЧрд╛ 162 рдореЗрдВ "8 рд╕реЗ рд╡рд┐рднрдХреНрдд" рдФрд░ 1 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдХреА рдЖрд╡реГрддреНрддрд┐ рдкрд░ рдПрдХ рдЖрдВрддрд░рд┐рдХ рдЬрдирд░реЗрдЯрд░ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рдХреАрдмреЛрд░реНрдб рдХреЗ рд▓рд┐рдП 1 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдХреА рдЖрд╡реГрддреНрддрд┐ рдкрд░реНрдпрд╛рдкреНрдд рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ (рдФрд░ рдЦрдкрдд рдХрдо рд╣реИ), рдореИрдВрдиреЗ рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдмрд▓реНрдХрд┐ рд╕реНрдерд┐рддрд┐ рд╕реЗ рдмрд╛рд╣рд░ рдХреЗ рддрд░реАрдХреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рд╕рдорд╛рдзрд╛рди рдмрд╣реБрдд рдЬрд▓реНрджреА рдорд┐рд▓ рдЧрдпрд╛ рдерд╛ - рдпреВрдПрд╕рдмреАрдПрдПрд╕рдкреА рдореЗрдВ рдПрдХ рдЬрдореНрдкрд░ рд╣реИ рдЬреЛ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд╕рд╛рде "рд╕рдВрдЪрд╛рд░ рдЖрд╡реГрддреНрддрд┐" рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ (рдпрд╛ рдПрд╡рд░реВрдб рдХреЗ рдкрд╛рд╕ -B рд╡рд┐рдХрд▓реНрдк рд╣реИ, рдЬреЛ рдпрд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдХрд░рддрд╛ рд╣реИ, -B 3 рдиреЗ рдореЗрд░реА рдорджрдж рдХреА)ред

рдЕрдм рдЬрдм рдПрд╡реНрд░реАрдб рдХреНрд░рд┐рд╕реНрдЯрд▓ рдХреЛ рджреЗрдЦрддрд╛ рд╣реИ, рддреЛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рднреВрд▓ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП :) рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдЖрд░рдЯреАрдПрдлрдПрдо рдХреЗ рдЕрдиреБрднрд╡ рдиреЗ рдореБрдЭреЗ рдереЛрдбрд╝рд╛ рдардВрдбрд╛ рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдПрдореБрд▓реЗрдЯрд░ рдкрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ (рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡реНрдпрд░реНрде рдирд╣реАрдВ рдирд┐рдХрд▓рд╛)ред рдЗрд╕рдХреЗ рд▓рд┐рдП, рдЕрдиреБрднрд╡реА рд╕рд╛рдерд┐рдпреЛрдВ рдХреЗ рдкреНрд░реЛрдЯреАрди рдкрд░, рдПрдХ рдХреАрдмреЛрд░реНрдб рд╕рд░реНрдХрд┐рдЯ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдФрд░ рдлрд░реНрдорд╡реЗрдпрд░ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдХреАрдмреЛрд░реНрдб рдХреЛ рдкреЛрд▓ рдХрд┐рдпрд╛ рдФрд░ UART рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдЪрд░рд┐рддреНрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ред рдФрд░ рдЗрд╕рд▓рд┐рдП, рд╕рдм рдХреБрдЫ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдореБрд▓реЗрдЯрд░ рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд░реНрдЪреБрдЕрд▓ рдЯрд░реНрдорд┐рдирд▓ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ 9600.8n1 рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЯрд░реНрдорд┐рдирд▓ рдПрдХ рдХреБрдВрдЬреА рджрдмрд╛рдП рдЬрд╛рдиреЗ рдкрд░ рдХрдЪрд░рд╛ рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдПрдореБрд▓реЗрдЯрд░ рдореЗрдВ рдбреАрдмрдЧ рдпреВрдПрд╕рдПрдЖрд░рдЯреА рдореЛрдб рдиреЗ рджрд┐рдЦрд╛рдпрд╛ рдХрд┐ рд╡рд┐рдирд┐рдордп рджрд░ 10200 рдкрд░ рд╕реЗрдЯ рд╣реИ рдФрд░ 9600 рдкрд░ рдирд╣реАрдВ ... рдлрд┐рд░ рд╕реЗ, рдЖрд░рдЯреАрдПрдлрдПрдо - рдмреЙрдб рджрд░ рдХреНрд░рд┐рд╕реНрдЯрд▓ рдЖрд╡реГрддреНрддрд┐ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ рдФрд░ 1 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдкрд░ рдорд╛рдирдХ рд╕реЗрдЯрд┐рдВрдЧ рдЖрдкрдХреЛ 4800 (0.2% рдХреА рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде) рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рдЬрдмрдХрд┐ 9600 рдкрд░ рддреНрд░реБрдЯрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИред 7%! рдбреЗрдЯрд╛рд╢реАрдЯ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдмреЙрдбреНрд░реЗрдЯ / рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдХреЗ рд▓рд┐рдП рдПрдХ рддреНрд░реБрдЯрд┐ рддрд╛рд▓рд┐рдХрд╛ рднреА рд╣реИ - рдЬрд╣рд╛рдБ рд╕реЗ рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ 1 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдХреА рдЖрд╡реГрддреНрддрд┐ рдкрд░ рдЖрдк рдХреЗрд╡рд▓ рдбрдмрд▓-рд░реЗрдЯ USART рд╕реЗрдЯ рдХрд░рдХреЗ рдХреЗрд╡рд▓ 0.2% рдХреА рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕реА рдореЗрдВ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
#define F_CPU 1000000UL #define BAUD_RATE 9600UL // Init serial UBRR0L = (uint8_t)(F_CPU/(BAUD_RATE*8L)-1); UBRR0H = ((F_CPU/(BAUD_RATE*8L)-1) >> 8); UCSR0A = _BV(U2X0); // Set double-speed, for low freq cpu UCSR0B = _BV(TXEN0)|_BV(RXEN0); // Enable TX, Enable RX UCSR0C = _BV(URSEL0)|_BV(UCSZ00)|_BV(UCSZ01); // 8n1 async 

рд╣реБрд░реНрд░реЗ, рд╣рдорд╛рд░рд╛ рдХреЛрдб рдПрдореБрд▓реЗрдЯрд░ рдореЗрдВ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ - рдпрд╣ рд╕рднреА рдХреНрд▓рд┐рдХреНрд╕ рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рд╢рд┐рдлреНрдЯ рджрдмрд╛рдХрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд╣рдо рдХреАрдмреЛрд░реНрдб рдореЗрдВ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЛ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдбрд╝рддреЗ рд╣реИрдВред рдмреВрдЯрд▓реЛрдбрд░ рдиреЗ рдкрд╣рд▓реЗ рд▓рд┐рдВрдХ ( stk500boot.zip ) рд╕реЗ рд▓рд┐рдпрд╛ред рдЪреВрдБрдХрд┐ рдпрд╣ USART рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдиреЗ рд╕реВрддреНрд░реЛрдВ рдореЗрдВ рдЖрд░рдВрднреАрдХрд░рдг рдФрд░ рдЧрддрд┐ рдХреЛ 9600 рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ред
рдмреВрдЯрд▓реЛрдбрд░ рдХреЛ USBASP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдбрд╛рд▓рд╛ рдЧрдпрд╛ рд╣реИ:
avrdude -c usbasp -p m162 -B 3 -U flash:w:stk500boot.hex:i -U hfuse:w:0x98:m

рд░реАрд╕реЗрдЯ-рд╡реЗрдХреНрдЯрд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП hfuse рдХреЛ рдмрджрд▓рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ - рддрд╛рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдмреВрдЯрд▓реЛрдбрд░ рд╕реЗ рд▓реЛрдб рд╣реЛрдиреЗ рд▓рдЧреЗред
рдХреАрдмреЛрд░реНрдб рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рд╕рдВрдЪрд╛рд░ UART рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╣рдореЗрдВ USBASP рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдореИрдВрдиреЗ FTDI рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ USB-UART (рд╕реАрд░рд┐рдпрд▓) рдХрдиреНрд╡рд░реНрдЯрд░ рдЪреБрдирд╛ - рдЪреВрдВрдХрд┐ arduina рдЦреБрдж рдПрдХ рд╣реА рдЪрд┐рдк рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдбреНрд░рд╛рдЗрд╡рд░ рд╣реИрдВред

рдПрдХ рд╕рдВрдпреЛрдЧ рд╕реЗ, рдХрдирд╡рд░реНрдЯрд░ рдХрд╛ рдХрдиреЗрдХреНрдЯрд░ рдФрд░ рдореЗрд░рд╛ рдХреАрдмреЛрд░реНрдб рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХ рд╕рд╛рде рдлрд┐рдЯ рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕реАрдзреЗ рдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛:
рдЫрд╡рд┐

рдЗрд╕ рдХрдерди рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдпрд╣ STK500 рдмреВрдЯрд▓реЛрдбрд░ рд╕рдВрдЧрдд рд╣реИ - avrdude рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ stk500v1 рдкреНрд░рдХрд╛рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ - рдпрд╣ рдХрд╕рдо рдЦрд╛рдИ рдереА рдХрд┐ рдбрд┐рд╡рд╛рдЗрд╕ рдЖрдИрдбреА рдЧрд▓рдд рдереАред рд╕реНрд░реЛрдд рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдерд╛ рдХрд┐ рдмреВрдЯрд▓реЛрдбрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдЖрдИрдбреА рдХреЛ рдкрдврд╝ рдФрд░ рджреЗ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЦреЛрдЬ рдХрд░рдХреЗ, рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдпрджрд┐ рдЖрдк arduino рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
UART рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд░реНрдорд╡реЗрдпрд░ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреА рдХрдорд╛рди:
avrdude -c arduino -p m162 -b 9600 -P /dev/tty.usbserial-00001004 -U flash:w:chatboard.hex:i


рдЯрд░реНрдорд┐рдирд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдкрд░ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╕рднреА рдмрдЯрди рджрдмрд╛рдП рдирд╣реАрдВ рдЧрдП рд╣реИрдВ, рдФрд░ рдмреВрдЯрд▓реЛрдбрд░ рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛, рд╣рд╛рдБ рдмрдЯрди рджрдмрд╛рдХрд░ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдЕрдкрдбреЗрдЯ рдореЛрдб рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред UART рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреАрдмреЛрд░реНрдб рдХреЛ рдЪрдордХрд╛рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдПрдХ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдЕрдзреНрдпрдпрди рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ 7x7 рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╕реЗ рдмрдЯрди рдХреЗ рддреАрди рдХреЙрд▓рдо рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЖрд░рдЯреАрдПрдлрдПрдо рдкрд░ рдлрд┐рд░ рд╕реЗ рд╕рдм рдХреБрдЫ рдЖрд░рд╛рдо ... рдХреАрдмреЛрд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рдЬрд┐рди рддреАрди рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЙрдирдореЗрдВ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдлрд╝рдВрдХреНрд╢рди (рдЬреЗрдЯреАрдПрдЬреА) рднреА рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рд╣реЛрддрд╛ рд╣реИред JTAG рдХреЛ рдмрдВрдж рдХрд░рдирд╛ (0xD8 рдкрд░ hfuse рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛) рд╣рдореЗрдВ рдПрдХ рдкреВрд░реА рддрд░рд╣ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдХреАрдмреЛрд░реНрдб рдорд┐рд▓рддрд╛ рд╣реИ:
рдЫрд╡рд┐

рдЫрд╡рд┐ рдЕрд░реБрдбрд┐рдиреЛ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХрд╛ рд╕рдордпред рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрдиреЗрдХреНрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ рдПрдХ рдЧреИрд░-рдорд╛рдирдХ рдорд┐рдиреАрдпреВрдПрд╕рдмреА рдЪреБрдирд╛, рддрд╛рдХрд┐ рдЧрд▓рддреА рд╕реЗ рдХреБрдЫ рдЕрдиреБрдЪрд┐рдд рдЫрдбрд╝реА рди рд╣реЛред рддрд╛рд░ рдХреЗ рд▓рд┐рдП рджрд╛рддрд╛ рдкреБрд░рд╛рдирд╛ рдорд╛рдЙрд╕ рдерд╛ (рдЬрд╣рд╛рдВ рдЖрдк рдПрдирдХреЛрдбрд░ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ)ред рдХреАрдмреЛрд░реНрдб рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдПрдХ рдорд╛рдирдХ рдкрд┐рди рдХрдиреЗрдХреНрдЯрд░ рд╣реИред
MiniUSB-UART рдПрдбреЙрдкреНрдЯрд░ UART рдХреЛ SensorShield рдХреЛ рдкрд┐рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдЕрднреА рддрдХ рдореЗрд░реА рдмреНрд░реЗрдбрдмреЛрд░реНрдб рдкрд░ UART рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдорд╛рдирдХреАрдХреГрдд рдЖрдЙрдЯрдкреБрдЯ рдирд╣реАрдВ рд╣реИ)ред
рдЫрд╡рд┐

рдкрд░рд┐рдгрд╛рдо



рдкреБрдирд╢реНрдЪред Eclipse + avr-gcc рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдлрд░реНрдорд╡реЗрдпрд░ рдХрд╛ рдЖрдХрд╛рд░ рдХреЗрд╡рд▓ 600 рдмрд╛рдЗрдЯреНрд╕ рд╣реИред рдЬрдмрдХрд┐ рдмрд┐рдирд╛рд░рд┐рдХрд╛ 3k рд╕реЗ рдХрдо рд╣реИ, рдореИрдВрдиреЗ Arduino IDE рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИред
рдкреА рдкреА рдПрд╕ред рд╕реВрддреНрд░реЛрдВ рдФрд░ рдлрд░реНрдорд╡реЗрдпрд░ рдХреЛ рдпрд╣рд╛рдВ рд▓рд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: chatboard.tar.gz

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


All Articles