рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛
рдореБрдЭреЗ рдШрд░ рдкрд░ рддреЗрд▓ рдЧрд░рдо рдХрд░рдирд╛ рд╣реИред рдЯреИрдВрдХ рдореЗрдВ рддреЗрд▓ рдХреЗ рд╕реНрддрд░ рдХреЛ рдорд╛рдкрдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рддреАрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдПрдВрдЯреАрдбрд┐рд▓реНрд╡рд┐рдпрди рд╕реЗрдВрд╕рд░ рдФрд░ рд░рд╕реНрд╕реА рдкрд░ рдПрдХ рдлреНрд▓реЛрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реЗрдВрд╕рд░ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рдЗрд╕рдХреА рдЕрд╢реБрджреНрдзрд┐ рдореЗрдВ рд╣рдбрд╝рддрд╛рд▓реА рд╣реИред рд▓реЗрдХрд┐рди рдЬрдм рд╕реЗ рд╣рдо рджреВрд░ рдХреЗ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд░рд╣рддреЗ рд╣реИрдВ, рдореЗрд░реЗ рдмрдЪрдкрди рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдореИрдВ рдПрдХ рд╕реЗрдВрд╕рд░ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдЬреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╢рд░реНрддреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░реЗ:
- рд╕реЗрдВрд╕рд░ рдбрд┐рдЬрд┐рдЯрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
- рдЙрдирдХреА рдЧрд╡рд╛рд╣реА рдХреЛ рдЖрдЧреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
- рдбреЗрдЯрд╛ рдореБрдЭреЗ рд╣рдореЗрд╢рд╛ рдФрд░ рд╣рд░ рдЬрдЧрд╣ рдЙрдкрд▓рдмреНрдз рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
- рдкреВрд░реЗ рдЙрдкрдХрд░рдг рдХреЛ 200 тВм рд╕реЗ рд╕рд╕реНрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╣ рд╕рдВрднрд╡ рдерд╛, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдкреНрд░рд┐рдп рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓реЗрдХрд┐рди рдлрд┐рд▓рд╣рд╛рд▓ рдореИрдВ рдЕрдкрдиреЗ рд▓рд┐рдП рд▓рд┐рдирдХреНрд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрдЬ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред
рдЖрдЬ, рдореИрдВ рдЖрдкрдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ Ubuntu 10.10 рдХреЗ рддрд╣рдд Arduino Uno рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧреНрд░рд╣рдг рдХреЛ рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПред
рд╣рдореЗрдВ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП?
рдореБрд▓рд╛рдпрдо
- рдкреАрд╕реА рдЙрдмрдВрдЯреВ 10.10 рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд
- рдЧреНрд░рд╣рдг рдЖрдИрдбреАрдИ, рдореИрдВрдиреЗ 3.5.2 рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛
- рд╕реА рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдЯреВрд▓рдХрд┐рдЯ, рдореИрдВрдиреЗ рд╕рдВрд╕реНрдХрд░рдг 6.0.2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛
- рдЧреНрд░рд╣рдг рдХреЗ рд▓рд┐рдП AVR рдкреНрд▓рдЧрдЗрдиреНрд╕, рдореИрдВрдиреЗ рд╕рдВрд╕реНрдХрд░рдг 2.3.4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛
- GNU AVR-GCC рдЯреВрд▓рдЪрд┐рди
- Arduino IDE, рдореИрдВрдиреЗ 0022 рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛
- рдЕрд░реБрдбрд┐рдиреЛ рдЕрдиреЛ
- Arduino рдХреЛ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП USB рдХреЗрдмрд▓
- рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдореБрдлреНрдд рдпреВрдПрд╕рдмреА рдкреЛрд░реНрдЯред
рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕реНрдерд╛рдкрдирд╛
рез.рез рд╣рдо рдЧреНрд░рд╣рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдо рдЙрдмрдВрдЯреВ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕реЗрдВрдЯрд░ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ, рдЦреЛрдЬ рдореЗрдВ "рдПрдХреНрд▓рд┐рдкреНрд╕" рд╢рдмреНрдж рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ, рдПрдХреНрд▓рд┐рдкреНрд╕ рд▓рд╛рдЗрди рдореЗрдВ "рдЗрдВрд╕реНрдЯреЙрд▓" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВредрд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдЖрдк рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ:
sudo apt-get install eclipse-platform
1.2 C рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдЯреВрд▓рдХрд┐рдЯ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЧреНрд░рд╣рдг рдЦреЛрд▓реЗрдВ, рд╕рд╣рд╛рдпрддрд╛ рдореЗрдиреВ рдкрд░ рдЬрд╛рдПрдВ, рдлрд┐рд░ "рдирдпрд╛ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ ..." рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рдПрдХ рд╡рд┐рдВрдбреЛ рдЦреБрд▓рддреА рд╣реИред "рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рде" рдлрд╝реАрд▓реНрдб рдореЗрдВ, "рдЧреИрд▓реАрд▓рд┐рдпреЛ рдЕрдкрдбреЗрдЯ рд╕рд╛рдЗрдЯ" рдкреГрд╖реНрда рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред
рдЦреЛрдЬ рдмреЙрдХреНрд╕ рдореЗрдВ, "рдЧреНрд░рд╣рдг C / C ++ рд╡рд┐рдХрд╛рд╕ рдЙрдкрдХрд░рдг" рд▓рд╛рдЗрди рдбрд╛рд▓реЗрдВ
рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдо рдХреЗ рдмрд╛рдИрдВ рдУрд░ рд╕реНрдерд┐рдд рдмреЙрдХреНрд╕ рдХреЛ рдЪреЗрдХ рдХрд░реЗрдВ, рдЕрд░реНрдерд╛рдд "рдПрдХреНрд▓рд┐рдкреНрд╕ рд╕реА / рд╕реА ++ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдЯреВрд▓реНрд╕" рд▓рд╛рдЗрди рдХреЗ рд╕рд╛рдордиреЗ рдФрд░ рдиреЗрдХреНрд╕реНрдЯ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдлрд┐рд░ рдиреЗрдХреНрд╕реНрдЯ, рдПрдХреНрд╕реЗрдкреНрдЯ, рдлрд┐рдирд┐рд╢ред рдЗрд╕ рд╕реБрдкрд░-рдХреЙрдореНрдмреЛ рдХреЗ рдмрд╛рдж, рд╕реАрдбреАрдЯреА рдХреА рд╕реНрдерд╛рдкрдирд╛ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧреАред рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж, рдЧреНрд░рд╣рдг рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВред
1.3 AVR рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред "рдирдпрд╛ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ" рд╡рд┐рдВрдбреЛ рдЦреЛрд▓реЗрдВ, рдЬрд╣рд╛рдВ рдкреНрд▓рдЧрдЗрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрддрд╛ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рдЬреЛрдбрд╝реЗрдВ ..." рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдирд╛рдо рдлрд╝реАрд▓реНрдб рдореЗрдВ "рдЧреНрд░рд╣рдг рдХреЗ рд▓рд┐рдП AVR рдкреНрд▓рдЧ рдЗрди" рджрд░реНрдЬ рдХрд░реЗрдВ, рдФрд░ "рд╕реНрдерд╛рди" рдлрд╝реАрд▓реНрдб рдореЗрдВ, рджрд░реНрдЬ рдХрд░реЗрдВ:
http://avr-eclipse.sourceforge.net/updatesite/рдФрд░ рдареАрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рд╣рдо рд▓рд╛рдЗрди "AVR рдЧреНрд░рд╣рдг рдкреНрд▓рдЧрд┐рди" рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ 1.2 рдЪрд░рдг рд╕реЗ рдХреЙрдореНрдмреЛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рддреЗ рд╣реИрдВред рдЧреНрд░рд╣рдг рдХреЛ рдмрдВрдж рдХрд░реЗрдВред
1.4 GNU AVR-GCC рдЯреВрд▓рдЪреИрди рдХреА рд╕реНрдерд╛рдкрдирд╛ рдЯрд░реНрдорд┐рдирд▓ рд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рд▓рд╛рдЗрди рдбрд╛рд▓реЗрдВ:
sudo apt-get install avrdude binutils-avr gcc-avr avr-libc gdb-avr
Enter рдорд╛рд░реЛ рдФрд░ рдереЛрдбрд╝рд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░реЛред
рдЧреНрд░рд╣рдг рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ
рдЧреНрд░рд╣рдг рдХреЗ рд▓рд┐рдП рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ AVRDude рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдиреВ ( рд╡рд┐рдВрдбреЛ тЖТ рдкреНрд░реАрдлреНрд░реЗрдВрд╕ ) рдореЗрдВ, рдЧреНрд░рд╣рдг рдкрд░ рдЬрд╛рдПрдВредрд╣рдо рдЦреЛрдЬ рдкрдЯреНрдЯреА рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ "AVRDude" рдПрдВрдЯрд░ рджрдмрд╛рдПрдВ рдФрд░ рдЕрдЧрд▓реА рд╡рд┐рдВрдбреЛ рджреЗрдЦреЗрдВред
"рдЬреЛрдбрд╝реЗрдВ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЬреЛрдбрд╝реЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЦреБрд▓рдиреЗ рд╡рд╛рд▓реА рд╡рд┐рдВрдбреЛ рдореЗрдВ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди (рдХреНрд░рдо рдХреЗ рд▓рд┐рдП) рдХрд╛ рдирд╛рдо рдФрд░ рд╡рд┐рд╡рд░рдг рдмрджрд▓реЗрдВред "рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ (-c)" рд╕реВрдЪреА рдореЗрдВ Arduino рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рдлрд╝реАрд▓реНрдб рдореЗрдВ "рдУрд╡рд░рд░рд╛рдЗрдб рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмреЙрдбреНрд░реЗрдЯ (-b)" рд╣рдо 115200 рдорд╛рди рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдлрд╝реАрд▓реНрдб рдореЗрдВ "рдУрд╡рд░рд░рд╛рдЗрдб рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреЛрд░реНрдЯ (-рдкреА)" рдХреЛ рдорд╛рди / рджреЗрд╡ / ttyACM0 (рдЬрд┐рд╕ рдкреЛрд░реНрдЯ рдХреЛ Arduino рдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╡рд╣ рд╕реЗрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП) рдореЗрд░рд╛ рд╕реЗ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЖрдк рдкреЛрд░реНрдЯ рдорд╛рди рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред Arduino IDE)ред
рдУрдХреЗ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдлрд┐рд░ рдареАрдХ рд╣реИред
Arduino рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛
рдкрд╣рд▓реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдкреЗрди рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдПрдбрдЬрд╕реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ Arduino рдХреЗ рд▓рд┐рдП "рдЖрдзрд╛рд░" рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ, рдФрд░ рдлрд┐рд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рдЗрд╕реЗ рдХреЙрдкреА рдХрд░рддрд╛ рд╣реВрдВред2.1 рдЧреНрд░рд╣рдг рдореЗрдВ, рдореЗрдиреВ рдкрд░ рдЬрд╛рдПрдВ ( рдлрд╝рд╛рдЗрд▓ тЖТ рдирдпрд╛ тЖТ рдкреНрд░реЛрдЬреЗрдХреНрдЯ ... ), "рд╕реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ" рдЪреБрдиреЗрдВ рдФрд░ рдЕрдЧрд▓рд╛ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
2.2 рд╣рдо рдмрдЪреНрдЪреЗ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ ArduinoUno рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ " AVR рдХреНрд░реЙрд╕ рдЯрд╛рд░рдЧреЗрдЯ рдПрдкреНрд▓реАрдХреЗрд╢рди " рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рдорд╛рдкреНрдд рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
2.3 "рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░" рд╡рд┐рдВрдбреЛ рдореЗрдВ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ ( рдкреНрд░реЛрдЬреЗрдХреНрдЯ тЖТ рдЧреБрдг ) рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдПрдВред рдЦреБрд▓рдиреЗ рд╡рд╛рд▓реА рдЦрд┐рдбрд╝рдХреА рдХреЗ рдмрд╛рдПрдВ рдлрд▓рдХ рдореЗрдВ, рд╣рдо рдПрд╡реАрдЖрд░ рдЯреИрдм рдкрд╛рддреЗ рд╣реИрдВ, рдЗрд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░реЗрдВред
2.4 AVRDude рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЪреБрдиреЗрдВ (рд╣рдордиреЗ рдЗрд╕реЗ рдкрд╣рд▓реЗ рдмрдирд╛рдпрд╛ рдерд╛)ред
2.5 рд╣рдо USB рдХреЗрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Arduino рдХреЛ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ Arduino рдЪрд╛рд▓реВ рд╣реИред
2.6 рд▓рдХреНрд╖реНрдп рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдмрд╛рдпрд╛рдБ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рджрд╛рдИрдВ рдУрд░ рд╣рдо "MCU рд╕реЗ рд▓реЛрдб" рдмрдЯрди рджреЗрдЦрддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред MCU рдкреНрд░рдХрд╛рд░ рдФрд░ рдЖрд╡реГрддреНрддрд┐ рдХреЛ рдЖрдкрдХреЗ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рдЕрдиреБрд░реВрдк рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдо рдХреНрд░рд┐рд╕реНрдЯрд▓ рдкрд░ рд╢рд┐рд▓рд╛рд▓реЗрдЦ рдХреЗ рд╕рд╛рде рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ, рдЕрдЧрд░ рдпрд╣ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рддреЛ рдЕрдЪреНрдЫрд╛ рд╣реИред рдпрджрд┐ рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкрд╣рдЪрд╛рдирдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╣рдо рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЛ рд╡рд┐рд╡рд░рдг рдзреВрдореНрд░рдкрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рдорд╛рди рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред Uno рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреНрд░рдХрд╛рд░ рдХреЛ ATmega328P рдФрд░ 16 MHz рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╣рдЪрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред
2.7 рдареАрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдЧреБрдг рд╡рд┐рдВрдбреЛ рдмрдВрдж рдХрд░реЗрдВред
Arduino Uno рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдмрдирд╛рдПрдВ
Arduino рдХреЗ рд╕рд╛рде рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдПрдХ рдХрд░реНрдиреЗрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ, рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рдЗрд╕реЗ рдореВрд▓ Arduino рд╡рд┐рдХрд╛рд╕ рдкрд░реНрдпрд╛рд╡рд░рдг рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдирд╛ рд╣реИред рдЕрдм рд╣рдо рдХреНрдпрд╛ рдХрд░реЗрдВрдЧреЗред3.1 Arduino IDE рд╢реБрд░реВ рдХрд░рдирд╛
3.2 рд╣рдорд╛рд░реЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ ( рдЯреВрд▓ тЖТ рдмреЛрд░реНрдб тЖТ ... ) рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, Arduino Uno рдЪреБрдиреЗрдВред
3.3 рдХреЛрдИ рднреА рдирдореВрдирд╛ рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдмреНрд▓рд┐рдВрдХ ( рдлрд╝рд╛рдЗрд▓ тЖТ рдЙрджрд╛рд╣рд░рдг тЖТ рдореВрд▓ рдмрд╛рддреЗрдВ тЖТ рдмреНрд▓рд┐рдВрдХ )ред
3.4 рд╡реЗрд░рд┐рдлрд╛рдИ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
3.5 рдЕрдм рд╣рдо рдЙрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдБ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдлрд╝реЛрд▓реНрдбрд░ /tmp/buildXXXXXXXXXX.tmp/ рдореЗрдВ рджреЗрдЦрдирд╛ рд╣реЛрдЧрд╛, рдЬрд╣рд╛рдБ XXXXXXXXX рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реИред рдпрджрд┐ рдХрдИ рдРрд╕реЗ рдлрд╝реЛрд▓реНрдбрд░ рд╣реИрдВ, рддреЛ рд╕рднреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдорд┐рдЯрд╛ рджреЗрдВ рдФрд░ рдЧреЛрдЯреЛ 3.4
3.6 core.a рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдордХрд░рдг libArduinoUnoCore.a рдкрд░ рдХрд░ рд░рд╣рд╛ рд╣реИ
3.7 рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдорд╛рд░реА рдЧреНрд░рд╣рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЦреАрдВрдЪреЗрдВ рдФрд░ рдЫреЛрдбрд╝реЗрдВ рдФрд░ рд╡рд╣рд╛рдБ рдЫреЛрдбрд╝ рджреЗрдВред
рдирд┐рд░реНрдорд╛рдг рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░реЗрдВ
рдЕрдм рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рд╕рдлрд▓ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИ рдФрд░ рдЖрдк рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред4.1 рдЧреНрд░рд╣рдг рдореЗрдВ, Alt + Enter рджрдмрд╛рдПрдВ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдЬрд╛рдПрдВред
4.2 C / C ++ рд╢рд╛рдЦрд╛ рдореЗрдВ рдЬрд╛рдПрдВ ( рдмрд┐рд▓реНрдб тЖТ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ )ред рдЯреВрд▓ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЯреИрдм рдореЗрдВ, рдЯреВрд▓рдЪреИрди рдЖрдЗрдЯрдо рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдЯреВрд▓ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдмрдХреНрд╕реЗ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ
- рдлрд╝реНрд▓реИрд╢ рдореЗрдореЛрд░реА рдХреЗ рд▓рд┐рдП HEX рдлрд╝рд╛рдЗрд▓ рдЬреЗрдирд░реЗрдЯ рдХрд░реЗрдВ
- рдкреНрд░рд┐рдВрдЯ рдХрд╛ рдЖрдХрд╛рд░
- AVRDude
4.4 AVR рдХрдВрдкрд╛рдЗрд▓рд░ рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ, рдЙрд╕ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдХрдорд╛рдВрдб рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдорд╛рди "avr-gcc" рд╕реЗ "avr-g ++" рдореЗрдВ рдмрджрд▓реЗрдВред
4.5 рдЖрдЧреЗ, AVR рдХрдВрдкрд╛рдЗрд▓рд░ тЖТ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдЬ рдмреНрд░рд╛рдВрдЪ рдкрд░ рдЬрд╛рдПрдБ, рдЬрд╣рд╛рдБ рд╕реЗ рдЖрдк рд╣рдорд╛рд░реЗ libArduinoUnoCore.a рд╣реЗрдбрд░ рдлрд╛рдЗрд▓реНрд╕ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдореЗрдВ рдЬрд┐рд╕ рдкрде рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рд╡рд╣ рдлрд╝реЛрд▓реНрдбрд░ Arduino IDE рдХреЗ рд╕рд╛рде рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ ... / arduino-0022 / рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ / arduino / cores / arduino / (рдЖрдИрдбреАрдИ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдкрде рдХреЗ рд╕рд╛рде рджреАрд░реНрдШрд╡реГрддреНрдд рдХреЛ рдмрджрд▓реЗрдВ)ред рдпрд╣ рд╡рд╣ рдкрде рд╣реИ рдЬреЛ рд╣рдо рд╕рдВрдХрд▓рдХ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
4.5 рдЕрдЧрд▓рд╛, AVR рдХрдВрдкрд╛рдЗрд▓рд░ тЖТ рдбрд┐рдмрдЧрд┐рдВрдЧ рд╢рд╛рдЦрд╛ рдкрд░ рдЬрд╛рдПрдВ, рдЬреЗрдирд░реЗрдЯ рдбреАрдмрдЧрд┐рдВрдЧ рдЬрд╛рдирдХрд╛рд░реА рдорд╛рди рдХреЛ рдбрд┐рдмрдЧрд┐рдВрдЧ рдЬрд╛рдирдХрд╛рд░реА рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВред
4.6 AVR рдХрдВрдкрд╛рдЗрд▓рд░ тЖТ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рд╢рд╛рдЦрд╛ рдкрд░ рдЬрд╛рдПрдБ, рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рд╕реНрддрд░ рдХреЛ рдЖрдХрд╛рд░ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди (-Os) рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ
4.7 AVR рдЕрд╕реЗрдВрдмрд▓рд░ тЖТ рдбрд┐рдмрдЧрд┐рдВрдЧ рд╢рд╛рдЦрд╛ рдореЗрдВ, рдбреАрдмрдЧрд┐рдВрдЧ рдЬрд╛рдирдХрд╛рд░реА рдорд╛рди рдХреЛ рдбреАрдмрдЧрд┐рдВрдЧ рдЬрд╛рдирдХрд╛рд░реА рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВред
4.8 AVR C рд▓рд┐рдВрдХрд░ тЖТ рдЬрдирд░рд▓ рд╢рд╛рдЦрд╛ рдореЗрдВ, рдЕрдиреНрдп рдЖрд░реНрдЧреНрдпреВрдореЗрдВрдЯреНрд╕ рдлреАрд▓реНрдб рдореЗрдВ, тАЬ--cref -Wl, -gc- рд╕реЗрдХреНрд╢рдитАЭ рд▓рд┐рдЦреЗрдВред рдпрд╣ рдПрдЪрдИрдПрдХреНрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЪрд╛рд░ рдХреЗ рдХрд╛рд░рдХ рд╕реЗ рдХрдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
4.9 рдФрд░ рдЕрдВрддрд┐рдо AVR рд╕реА рд▓рд┐рдВрдХрд░ тЖТ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рдЫреВрддрд╛ рд╣реИ:
- ArduinoUnoCore рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ (-l)
- рд▓рд╛рдпрдмреНрд░реЗрд░реАрдЬрд╝ рдкрде (-L) рдореЗрдВ рдкрде рдЬреЛрдбрд╝реЗрдВ, рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ " $ {рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░_рд▓реЛрдХ: / Arduino_no} "
рдореБрдЦреНрдп рдмрдирд╛рдПрдБ
рдареАрдХ рд╣реИ, рд╣рдо рдкреЛрд╖рд┐рдд рдореБрдЦреНрдп рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдорд┐рд▓рд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо Arduino IDE рд╕реЗ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ, рд╡рд╣рд╛рдВ рд╣рдореЗрдВ рджреЛ рдлрд╝рдВрдХреНрд╢рди рдФрд░ рд╕рдм рдХреБрдЫ рдХрд╛рд░реНрдп (рд╕реЗрдЯрдЕрдк рдФрд░ рд▓реВрдк) рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╣рдореЗрдВ рдЕрдзрд┐рдХ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдирдИ рдлрд╛рдЗрд▓ рдХрд╛ рдирд╛рдо main.c (рдлрд╛рдЗрд▓ тЖТ рдиреНрдпреВ тЖТ рдПрд╡рд░реЗрдЬ рдлрд╛рдЗрд▓) рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЬрд╛рдПред рдФрд░ рдЗрд╕рдореЗрдВ рдирд┐рдореНрди рдХреЛрдб рдкреЗрд╕реНрдЯ рдХрд░реЗрдВ:/ *
* рдореБрдЦреНрдп рд╕реА.рд╕реА.
*
* рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛: 01/12/2011
*
* Arduino рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдореВрд▓ рдореБрдЦреНрдп рдлрд╝рд╛рдЗрд▓ред
* /
# рдЬреАрдд "WProgram.h"
// рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░
int g_LedPin = 13; // рдбрд┐рдЬрд┐рдЯрд▓ рдкрд┐рди рдкрд░ рдПрд▓рдИрдбреА 13
рд╢реВрдиреНрдп рд╕реЗрдЯрдЕрдк ()
{
// рд╕реАрд░рд┐рдпрд▓ рдкреЛрд░реНрдЯ рдЦреЛрд▓рддрд╛ рд╣реИ, рдбреЗрдЯрд╛ рджрд░ рдХреЛ 9600 рдмреАрдкреАрдПрд╕ рдкрд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ
рд╕реАрд░рд┐рдпрд▓.рдмреЗрдЧрд┐рди (9600);
// рдкрд┐рди рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ
рдкрд┐рдирдореЛрдб (g_LedPin, OUTPUT);
рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ.рдкреНрд░рджрд░реНрд╢рди ( "********************" );
рд╕рд┐рд░рд┐рдпрд▓.рдкреНрд░рд┐рдВрдЯрд▓реЗрди ( "* рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб *" );
рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ.рдкреНрд░рджрд░реНрд╢рди ( "********************" );
}
рд╢реВрдиреНрдп рд▓реВрдк ()
{
digitalWrite (g_LedPin, HIGH); // рдПрд▓рдИрдбреА рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ
рджреЗрд░реА (1000); // рдПрдХ рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ
digitalWrite (g_LedPin, LOW); // рдПрд▓рдИрдбреА рдмрдВрдж рд╕реЗрдЯ
рджреЗрд░реА (1000); // рдПрдХ рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ
}
рдмрд╛рд╣рд░реА "C" рд╢реВрдиреНрдп __cxa_pure_virtual ()
{
рдЬрдмрдХрд┐ (1);
}
рдЗрдВрдЯ рдореЗрди ( рд╢реВрдиреНрдп )
{
init ();
рд╕реЗрдЯрдЕрдк ();
// рдЕрдВрддрд╣реАрди рд▓реВрдк
(;;) рдХреЗ рд▓рд┐рдП
{
рд▓реВрдк ();
}
рд╡рд╛рдкрд╕реА 0;
}
рдХреЛрдб рдбрд╛рд▓рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдЦреБрдж рд╕рдВрднрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдлрд┐рд░ рднреА, рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдПрдЪрдИрдПрдХреНрд╕ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдХрд╛рд░ Arduino рдХреЗ рд▓рд┐рдП рдореВрд▓ рд╡рд┐рдХрд╛рд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░рддрд╛ рд╣реИред