arduino ide ΠΎΡΠ»Π°Π΄ΠΊΠ° ΠΊΠΎΠ΄Π°
ΠΡΠ»Π°Π΄ΠΊΠ° Arduino ΡΠ΅ΡΠ΅Π· debugWire (Atmel Studio ΠΈ AVR Dragon)
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΠΏΠ»Π°ΡΠ΅ Arduino UNO Ρ ΠΏΠΎΠΌΠΎΡΡΡ debugWire. Π― ΡΠ°ΡΡΠ΅Π½ΡΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΡ ΠΏΠ»Π°ΡΠΊΡ ΠΈΠ»ΠΈ Nano Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π² Atmel Studio (ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Arduino IDE Ρ ΠΌΠ΅Π½Ρ ΡΡΠΊΠ° Π½Π΅ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅ΡΡΡ). Π ΡΠ°ΠΊ Π½Π°ΡΠ½Π΅ΠΌ.
Π§ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ debugWire?
ΠΡΠΎΡΠΈΡΠ°ΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΊΠΎΠ΄Π°, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΠ΅Π³ΠΈΡΡΡΡ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π° ΠΏΠΎΡΡΠ°Ρ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° ΠΈ Ρ.ΠΏ.
Π§ΡΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ?
β Arduino Uno
β Atmel Studio 6
β AVR Dragon ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ-ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ
ΠΠΎΠ΄Π³ΠΎΡΠ°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΆΠ΅Π»Π΅Π·ΠΎ
Π Π΄Π°ΡΠ°ΡΠΈΡΠ΅ Π½Π° Atmega328 Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ:
Β«ΠΠΎΠ½Π΄Π΅Π½ΡΠ°ΡΠΎΡΡ, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΠΊ ΠΏΠΈΠ½Ρ RESET, Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½Ρ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ debugWire. ΠΡΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΈ ΡΠ±ΡΠΎΡΠ° Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΡΒ»
ΠΡΠ»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡ Π΅ΠΌΡ Arduino Uno, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ ΠΊ RESET ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΊΠΎΠ½Π΄Π΅Π½ΡΠ°ΡΠΎΡ 100Π½Π€. Π ΡΡΠ°ΡΡΡ Π²Π΅ΡΡΠΈΡΡ Arduino Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡΠ»ΠΎ ΡΠ½ΡΡΡ ΡΡΠΎΡ ΠΊΠΎΠ½Π΄Π΅Π½ΡΠ°ΡΠΎΡ Π΄Π»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ RESET. ΠΠ° Π½ΠΎΠ²ΡΡ ΠΏΠ»Π°ΡΠ°Ρ Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΡΡΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π·ΡΠ΅Π·Π°Π½Π° ΠΈ Π·Π°ΠΏΠ°ΡΠ½Π° Π²Π½ΠΎΠ²Ρ, Π΅ΡΠ»ΠΈ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ.
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΡΠΎΡΡΠ°
ΠΡΠΎΡΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠ΄ Π² Atmel Studio, Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π·Π°Π»ΠΈΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π· AVR DUDE, AVR Dragon ΡΠ°ΠΌ ΡΠ΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ ΡΠ΅ΡΠ΅Π· debugWire.
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΆΠ΅Π»Π΅Π·ΠΎ
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ ISP ΠΎΡ AVR Dragon ΠΊ ISP Arduino Uno. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΊΠΎΠ½ΡΠ°ΠΊΡ 1 ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ PIN1 Π½Π° Π΄ΡΡΠ³ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅, Ρ.Π΅. MISO ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ MISO. AVR Dragon ΠΈ Arduino Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅ΡΠ΅Π· ΡΠ²ΠΎΠΉ USB ΡΠ°Π·ΡΠ΅ΠΌ. Π Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ AVR Dragon Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°.
ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΠΌΠ΅Π½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Tools > Device Programming
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Β«ΡΡΠ΅ΠΌΒ» ΡΡΡΠ·Ρ
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΡΡΠ·-Π±ΠΈΡ DWEN. Π Π΄Π°ΡΠ°ΡΠΈΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΎ ΡΡΠΎ LOCK Π±ΠΈΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π·Π°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½Ρ.
ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ debugWire
1. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠΈΠ»ΠΈ ΡΡΡΠ·Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΏΠΈΡΠ°Π½ΠΈΠ΅ Arduino Uno.
2. Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ debugWire ΠΊΠ°ΠΊ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ
3. ΠΠΌΠ΅ΠΌ Β«Start Debugging and BreakΒ» ΠΈΠ»ΠΈ Alt+F5. ΠΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΆΠ°ΡΡ F5, Π° ΡΠΆΠ΅ ΠΏΠΎΡΠΎΠΌ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΡΠ°ΡΡΡΠ°Π²ΠΈΡΡ. ΠΡΠ»Π°Π΄ΠΊΠ° Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΡ ΡΠΎΠΆΠ΅.
4. ΠΡΠ»Π°ΠΆΠΈΠ²Π°Π΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π³Π΄Π΅ Π½Π°Π΄ΠΎ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, Π½Π°Π±Π»ΡΠ΄Π°Π΅ΠΌ Π·Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΠΌΠΈ ΠΈ ΠΏΠΎΡΡΠ°ΠΌΠΈ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°.
5. ΠΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΎΡΠ»Π°Π΄ΠΊΡ Ctrl+Shift+F5, ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΊΠΎΠ΄ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ ΠΊ ΠΏΡΠ½ΠΊΡΡ 3.
6. ΠΠΌΠ΅ΠΌ ΠΌΠ΅Π½Ρ Β«Debug > Disable debugWIREΒ» ΠΡΠΎ ΠΌΠ΅Π½Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ, ΡΠ°ΠΊ ΡΡΠΎ, Π΅ΡΠ»ΠΈ ΡΡΠΎ ΠΆΠΌΠ΅ΠΌ ΡΠ½ΠΎΠ²Π° F5. ΠΠΎΡΠ»Π΅ ΡΡΠΎ DWEN ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΡΡΡ ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ½ΠΎΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ISP.
ΠΠΎΡ ΠΈ Π²ΡΠ΅.
ΠΠΎΠ½ΠΈΡΠΎΡ ΠΏΠΎΡΡΠ°, ΠΎΡΠ»Π°Π΄ΠΊΠ°
ΠΠ°ΠΊ ΠΌΡ Ρ Π²Π°ΠΌΠΈ Π·Π½Π°Π΅ΠΌ ΠΈΠ· ΡΡΠΎΠΊΠ° βΠ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅β, Π½Π° ΠΏΠ»Π°ΡΠ°Ρ ΠΡΠ΄ΡΠΈΠ½ΠΎ ΡΡΠΎΠΈΡ USB-TTL ΠΊΠΎΠ½Π²Π΅ΡΡΠ΅Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ βΠΊΠΎΠ½ΡΠΎΠ»ΠΈβ ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠΌ ΠΏΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, Serial. ΠΠ° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ COM ΠΏΠΎΡΡ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ-ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΠΎΠ² ΠΏΠΎΡΡΠ°, ΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ-ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. Π§Π΅ΡΠ΅Π· ΡΡΠΎΡ ΠΆΠ΅ ΠΏΠΎΡΡ Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠ°, Ρ.ΠΊ. ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Serial ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ Π² ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π½Π° βΠΆΠ΅Π»Π΅Π·Π½ΠΎΠΌβ ΡΡΠΎΠ²Π½Π΅, ΠΈ USB-TTL ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊ ΡΡΠΈΠΌ Π²ΡΠ²ΠΎΠ΄Π°ΠΌ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°. ΠΠ° ΠΏΠ»Π°ΡΠ΅ Arduino Nano ΡΡΠΎ ΠΊΡΡΠ°ΡΠΈ ΠΏΠΈΠ½Ρ D0 ΠΈ D1.
Π ΡΡΠΈΠΌ ΠΆΠ΅ ΠΏΠΈΠ½Π°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΠΏΠ»Π°Ρ βΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠΎΠ²β, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° ΡΠΈΠΏΠ°Ρ
CP2102 ΠΈΠ»ΠΈ ΡΠΎΠΌ ΠΆΠ΅ CH340 Ρ ΡΠ΅Π»ΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΎΠ±ΡΠ΅Π½ΠΈΡ Ρ ΠΏΠ»Π°ΡΠΎΠΉ. Π ΡΠ°ΠΌΠΎΠΉ Arduino IDE ΡΠΎΠΆΠ΅ Π΅ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ βΠΊΠΎΠ½ΡΠΎΠ»Ρβ β ΠΌΠΎΠ½ΠΈΡΠΎΡ ΠΏΠΎΡΡΠ°, ΠΊΠ½ΠΎΠΏΠΊΠ° Ρ ΠΈΠΊΠΎΠ½ΠΊΠΎΠΉ Π»ΡΠΏΡ Π² ΠΏΡΠ°Π²ΠΎΠΌ Π²Π΅ΡΡ
Π½Π΅ΠΌ ΡΠ³Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ°ΠΆΠ°Π² Π½Π° ΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΌΡ ΠΎΡΠΊΡΠΎΠ΅ΠΌ ΡΠ°ΠΌ ΠΌΠΎΠ½ΠΈΡΠΎΡ ΠΏΠΎΡΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ:
ΠΡΠ»ΠΈ Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΎΠΉ, Π°Π²ΡΠΎΠΏΡΠΎΠΊΡΡΡΠΊΠΎΠΉ, ΠΎΡΠΌΠ΅ΡΠΊΠ°ΠΌΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ βΠΎΡΠΈΡΡΠΈΡΡ Π²ΡΠ²ΠΎΠ΄β Π²ΡΡ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΠΎ ΠΊΠΎΠ½Π΅Ρ ΡΡΡΠΎΠΊΠΈ ΠΈ ΡΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅:
ΠΠ±ΡΠ΅ΠΊΡ Serial
ΠΠ°ΠΏΡΡΡΠΈΡΡ ΡΠ²ΡΠ·Ρ ΠΏΠΎ Serial Π½Π° ΡΠΊΠΎΡΠΎΡΡΠΈ speed (baud rate, Π±ΠΈΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ). Π‘ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π»ΡΠ±ΡΡ, Π½ΠΎ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ βΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ β. Π‘ΠΏΠΈΡΠΎΠΊ ΡΠΊΠΎΡΠΎΡΡΠ΅ΠΉ Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ° ΠΏΠΎΡΡΠ° Arduino IDE:
ΠΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π² ΠΏΠΎΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ val β ΡΠΈΡΠ»ΠΎ ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΡ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ write Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, Ρ.Π΅. ΠΎΡΠΏΡΠ°Π²ΠΈΠ² 88 Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ 88: Serial.print(88); Π²ΡΠ²Π΅Π΄Π΅Ρ 88. Π’Π°ΠΊΠΆΠ΅ ΠΌΠ΅ΡΠΎΠ΄ print/println ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ Π΄Π°Π½Π½ΡΡ , ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Π΅Π³ΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ:
format ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ Π²ΡΠ²ΠΎΠ΄ Π΄Π°Π½Π½ΡΡ : BIN, OCT, DEC, HEX Π²ΡΠ²Π΅Π΄ΡΡ ΡΠΈΡΠ»ΠΎ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΈΡΡΠΈΡΠ»Π΅Π½ΠΈΡ, Π° ΡΠΈΡΡΠ° ΠΏΠΎΡΠ»Π΅ Π²ΡΠ²ΠΎΠ΄Π° float ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π½Π°ΠΊΠΎΠ² ΠΏΠΎΡΠ»Π΅ ΡΠΎΡΠΊΠΈ
Π§ΠΈΡΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· Π±ΡΡΠ΅ΡΠ° ΠΈ ΠΈΡΠ΅Ρ Π½Π°Π±ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² target (ΡΠΈΠΏ char), ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π΄Π»ΠΈΠ½Ρ length. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ true, Π΅ΡΠ»ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ. ΠΠΆΠΈΠ΄Π°Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠΎ ΡΠ°ΠΉΠΌΠ°ΡΡΡ
ΠΠ»ΠΎΡΡΠ΅Ρ
ΠΠΎΠΌΠΈΠΌΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°, Π² Arduino IDE Π΅ΡΡΡ ΠΏΠ»ΠΎΡΡΠ΅Ρ β ΠΏΠΎΡΡΡΠΎΠΈΡΠ΅Π»Ρ Π³ΡΠ°ΡΠΈΠΊΠΎΠ² Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎ Π΄Π°Π½Π½ΡΠΌ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°. ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Serial.println(Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅) ΠΈ ΠΎΡΠΊΡΡΡΡ ΠΏΠ»ΠΎΡΡΠ΅Ρ ΠΏΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΡΡΡΠΎΠΈΠΌ Π³ΡΠ°ΡΠΈΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Ρ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΈΠ½Π° A0:
ΠΠ»ΠΎΡΡΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»ΠΈΠ½ΠΈΠΉ Π³ΡΠ°ΡΠΈΠΊΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, Π΄Π»Ρ ΠΈΡ
ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ±Π»ΡΠ΄Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π΄Π°Π½Π½ΡΡ
: Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅1 ΠΏΡΠΎΠ±Π΅Π»_ΠΈΠ»ΠΈ_Π·Π°ΠΏΡΡΠ°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅2 ΠΏΡΠΎΠ±Π΅Π»_ΠΈΠ»ΠΈ_Π·Π°ΠΏΡΡΠ°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅3 ΠΏΡΠΎΠ±Π΅Π»_ΠΈΠ»ΠΈ_Π·Π°ΠΏΡΡΠ°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅N ΠΏΠ΅ΡΠ΅Π½ΠΎΡ_ΡΡΡΠΎΠΊΠΈ, ΡΠΎ Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ, ΠΎΠ΄Π½ΠΎ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ, ΡΠ°Π·Π΄Π΅Π»ΡΡΡΡΡ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠΌ ΠΈΠ»ΠΈ Π·Π°ΠΏΡΡΠΎΠΉ, ΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π½ΠΎΡ ΡΡΡΠΎΠΊΠΈ. ΠΠ°Π²Π°ΠΉΡΠ΅ Π²ΡΠ²Π΅Π΄Π΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ
Π²Π΅Π»ΠΈΡΠΈΠ½:
ΠΡΠ²ΠΎΠ΄ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΠΊΠ°ΠΆΠ΄ΡΠ΅ 10 ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄, Π° ΠΊΠ°ΠΆΠ΄ΡΠ΅ 300 ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ. ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ Π²ΠΎΡ ΡΠ°ΠΊΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊ: Π Arduino IDE Ρ Π²Π΅ΡΡΠΈΠΈ 1.8.10 Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡ Π³ΡΠ°ΡΠΈΠΊΠΈ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π½Π°Π·Π²Π°Π½ΠΈΡ Π² Π²ΠΈΠ΄Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ 1, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ 2, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ n Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΎΠΌ ΡΡΡΠΎΠΊΠΈ, ΠΈ Π΄Π°Π»ΡΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅:
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΈΠ½ΠΎΠ²
ΠΠ°ΠΊ Ρ ΠΏΠΈΡΠ°Π» Π²ΡΡΠ΅, Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΉ Serial ΠΈΠΌΠ΅Π΅Ρ Π²ΡΠ²ΠΎΠ΄Ρ Π½Π° Π½ΠΎΠ³ΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, Π΄Π»Ρ Nano/Uno/Mini ΡΡΠΎ Π²ΡΠ²ΠΎΠ΄Ρ D0 ΠΈ D1. ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΡΠΈΠΌΠΈ ΠΏΠΈΠ½Π°ΠΌΠΈ, ΠΊΠ°ΠΊ Ρ ΠΎΠ±ΡΡΠ½ΡΠΌΠΈ ΡΠΈΡΡΠΎΠ²ΡΠΌΠΈ ΠΏΠΈΠ½Π°ΠΌΠΈ? ΠΡΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΌ Serial β ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΌ β Π½Π΅Ρ. ΠΠΎΡΠ»Π΅ Π²ΡΠ·ΠΎΠ²Π° Serial.begin() Π½ΠΎΠ³ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΡΠΈΡΡΠΎΠ²ΡΠ΅ ΠΏΠΈΠ½Ρ Π² ΡΡΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, Π½ΠΎ ΠΏΠΎΡΠ»Π΅ Π²ΡΠ·ΠΎΠ²Π° Serial.end() ΠΌΠΎΠΆΠ½ΠΎ ΡΠ½ΠΎΠ²Π° ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ!
ΠΡΠΏΡΠ°Π²ΠΊΠ° ΠΈ ΠΏΠ°ΡΡΠΈΠ½Π³
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°ΠΌΡΠΉ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ: Hello World! ΠΡΠΏΡΠ°Π²ΠΊΠ° Π΄Π°Π½Π½ΡΡ
Π² ΠΏΠΎΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΡΡΠ΄Π½ΠΎΡΡΠ΅ΠΉ ΠΈ Π²ΠΎΠΏΡΠΎΡΠΎΠ², ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²ΡΡ ΠΏΠΎΠ½ΡΡΠ½ΠΎ/ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, Π΄Π° ΠΈ ΡΡΡΡ Π²ΡΡΠ΅ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° print ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π²ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ Π²ΡΠ²ΠΎΠ΄Π°. ΠΡΠΏΡΠ°Π²ΠΊΠ° Π² ΠΏΠΎΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ·Π½Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Π½ΡΠΆΠ½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠ°. ΠΠΎΠ³Π΄Π° ΠΊΠΎΠ΄ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π½ΡΠΆΠ½ΠΎ, Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ ΡΠΌΠΎΡΡΠ΅ΡΡ, Π³Π΄Π΅ ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΊΠ°ΠΊΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ. ΠΠ»ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠ΅ΠΊΡΡ ΠΈΠ· ΡΠ°Π·Π½ΡΡ
ΠΌΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΡΠΎΠ±Ρ Π½Π°Π±Π»ΡΠ΄Π°ΡΡ Π·Π° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡΡ (ΠΏΠΎΡΡΠ΄ΠΊΠΎΠΌ) Π΅Ρ ΡΠ°Π±ΠΎΡΡ. ΠΠ°Π²Π°ΠΉΡΠ΅ Π²ΡΠΏΠΎΠΌΠ½ΠΈΠΌ ΡΡΠΎΠΊ ΡΠΈΠΊΠ»Ρ ΠΈ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΈ Π²ΡΠ²Π΅Π΄Π΅ΠΌ Π² ΠΏΠΎΡΡ ΠΌΠ°ΡΡΠΈΠ²:
ΠΡΠ²ΠΎΠ΄: 0 50 68 85 15 214 63 254 β ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°, ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π½ΡΠ΅ ΠΏΡΠΎΠ±Π΅Π»Π°ΠΌΠΈ! ΠΡΠΎΠ±Π»Π΅ΠΌΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΏΡΠΈΠ½ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΏΠΎΡΡ. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ read() ΡΠΈΡΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΌΠ²ΠΎΠ», Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ β ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΠ»ΡΡΠΈΡ Π΅Π³ΠΎ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΈΡΡΠ΅, ΠΈ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠΈΡΠ»ΠΎ ΠΈΠ· ΡΠΈΡΡ ΠΏΡΠΈΠ΄ΡΡΡΡ Π²ΡΡΡΠ½ΡΡ. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΡΡΠ³ΡΠ±Π»ΡΠ΅ΡΡΡ ΡΠ΅ΠΌ, ΡΡΠΎ read() ΡΠΈΡΠ°Π΅Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΈΠΌΠ²ΠΎΠ», ΡΠΎ Π΅ΡΡΡ ΠΊΠΎΠ΄ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ASCII. ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ Π²ΠΎΡ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π² ΠΏΠΎΡΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΠΏΡΠΈΠ½ΡΡΡΠ΅ Π² Π½Π΅Π³ΠΎ Π΄Π°Π½Π½ΡΠ΅ (ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ΅ ΡΡ
ΠΎ):
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΆΠ΅ ΠΏΡΠΈΠ½ΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΈΡΡΡ? ΠΡΡΡ Ρ ΠΈΡΡΠΎΡΡΡ β Π²ΡΡΠΈΡΠ°ΡΡ ΠΈΠ· ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΊΠΎΠ΄ ΡΠΈΡΡΡ 0, Π»ΠΈΠ±ΠΎ ΡΠ°ΠΌ 0 Π² Π²ΠΈΠ΄Π΅ ΡΠΈΠΌΠ²ΠΎΠ»Π°: β0β
Π’Π°ΠΊΠΆΠ΅ Π΄Π»Ρ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΡΡ ΡΠΈΡΠ΅Π» Ρ Π½Π°Ρ Π΅ΡΡΡ Π³ΠΎΡΠΎΠ²ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ β parseInt() / parseFloat() β Π΄Π»Ρ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΠΈ ΡΠ°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΡΠΈΡΠ΅Π» ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. ΠΡΠΎΡΠ΅ΡΡ ΠΏΡΠΈΡΠΌΠ° ΠΈ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠ°ΡΡΠΈΠ½Π³ (parsing). ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΠΌ Π² ΠΏΠΎΡΡ ΡΠΈΡΠ»ΠΎ 1234, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π³ΠΎΡΠΎΠ²ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠ°ΡΡΠΈΠ½Π³Π°.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠΈΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΡΠ΄Π΅Ρ ΠΆΠ΄Π°ΡΡ Π²ΡΠ΅Π³ΠΎ 50 ΠΌΡ, ΠΈ ΡΡΠ°Π·Ρ ΠΆΠ΅ Π²Π°ΠΌ ΠΎΡΠ²Π΅ΡΠΈΡ. ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΈ ΠΏΠ°ΡΡΠΈΠ½Π³Π°, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠ°Π·Π½ΠΎΡΠΈΠΏΠ½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΡΠ΄ΡΠΈΠ½Π°ΠΌΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΠ»Π°ΡΠ°ΠΌΠΈ ΡΠΌΠΎΡΡΠΈ Π² ΡΡΠΎΠΊΠ΅ ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Serial.
Π£ΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ²ΠΎΠ΄. ΠΡ ΠΎΠΊΠΎΠ»ΠΎ Π΄Π΅ΡΡΡΠΊΠ°, Π½ΠΎ Π²ΠΎΡ ΡΠ°ΠΌΡΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΈΠ· Π½ΠΈΡ
Π’Π°ΠΊΠΆΠ΅ Π΅ΡΠ»ΠΈ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π²Ρ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΠ΅ β ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΉΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ, β ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ ΡΠ»ΡΡ \ β Π½ΡΠΆΠ½ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠΏΠ΅ΡΡΠΈΠΌΠ²ΠΎΠ»Π°, ΠΈΠ½Π°ΡΠ΅ Π²Π°Ρ Π²ΡΠ²ΠΎΠ΄ βΠΏΠΎΠ»ΠΎΠΌΠ°Π΅ΡΡΡβ, Ρ Π΄ΡΠΌΠ°Ρ, Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΡΡΠ½ΡΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ:
ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ? ΠΡΠΎΡΡΠΎ ΠΏΠΈΡΠ°ΡΡ Π² Π²ΡΠ²ΠΎΠ΄. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ \r\n ΠΏΠ΅ΡΠ΅Π²Π΅Π΄ΡΡ ΡΡΡΠΎΠΊΡ ΠΈ Π²Π΅ΡΠ½ΡΡ ΠΊΡΡΡΠΎΡ Π² Π»Π΅Π²ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅:
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌ ΠΈ Π²ΡΡΠ°Π²ΠΈΠΌ Π² excel Π£Π΄ΠΎΠ±Π½ΠΎ!
ΠΠΈΠ΄Π΅ΠΎ
Arduino.ru
ΠΡΡΡ Π»ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° ΠΡΠ΄ΡΠΈΠ½ΠΎ?
ΠΠΎΠ±ΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΡΠΎΠΊ!
ΠΠΎΠ΄ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΊΠ°ΠΊ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΡΠ΄ΡΠΈΠ½ΠΎ?
ΠΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠΎΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ: Π² ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΏΠ° Π±Π°ΠΉΡ lamps ΠΊΠ°ΠΆΠ΄ΡΠΉ Π±ΠΈΡ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄, Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠΈΠΏΠ° current_state_lights Ρ ΡΠ°Π½ΠΈΡ Π² ΡΠ΅Π±Π΅ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²ΠΊΠ». ΠΈ Π²ΡΠΊΠ». ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ΠΎΠ².
ΠΡΡΠ³Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π»Π°ΠΌΠΏ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΆΠ΅ ΠΏΠΎΠ±ΠΈΡΠΎΠ²ΡΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΅ΡΡΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΈ?
ΠΠ»ΠΈ Serial.println(); Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°Π³Π΅.
Π‘ ΠΡΠΎΡΠ΅ΡΡΠΎΠΌ Π½Π°Π΄ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ, Π²ΠΎΠ·ΡΠΌΡ Π½Π° Π·Π°ΠΌΠ΅ΡΠΊΡ, ΡΠΏΠ°ΡΠΈΠ±ΠΎ.
Π’ΠΎΠ»ΠΊΠΎ Π½Π΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΠΏΠΎΡΠ΅ΠΌΡ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ? ΠΠ΅Π΄Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ if Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎ Π»ΡΠ±ΠΎΠΌΡ ΡΠΎΠ²Π΅ΡΡΠΈΡΡ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π΄Π²ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, Π½ΠΎ Π½Π΅ ΡΠΎΠ²Π΅ΡΡΠ°Π΅Ρ.
Π ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π² ΠΊΠΎΠ΄Π΅ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Serial.println() ΠΈ delay(2000) ΡΡΠΎΠ±Ρ ΡΡΠΏΠ΅Π²Π°ΡΡ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ.
ΠΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΈ Π½Π°Π΄ΠΎ Π»ΠΈ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ Π·Π°ΠΏΡΠ΅ΡΠ°ΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π½Π° Π²ΡΠ΅ΠΌΡ Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ?
ΠΠΎΠ±ΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΡΠΎΠΊ!
ΠΠΎΠ΄ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΊΠ°ΠΊ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΡΠ΄ΡΠΈΠ½ΠΎ?
ΠΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠΎΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ: Π² ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΏΠ° Π±Π°ΠΉΡ lamps ΠΊΠ°ΠΆΠ΄ΡΠΉ Π±ΠΈΡ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄, Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠΈΠΏΠ° current_state_lights Ρ ΡΠ°Π½ΠΈΡ Π² ΡΠ΅Π±Π΅ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²ΠΊΠ». ΠΈ Π²ΡΠΊΠ». ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ΠΎΠ².
Π ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΈ «Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ» ΠΈ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ?
ΠΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ (ΠΏΡΠ°Π²Π΄Π° Π½Π΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ Ρ ΠΠ°Ρ ΠΡΠ΄ΡΠΈΠ½ΠΎ):
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. Π― ΡΠ°Π½ΡΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ Π½Π° ΡΠ²ΠΎΠ΅ΠΌ ΠΠ΅ΠΎΠ½Π°ΡΠ΄ΠΎ.
kisoft: ΠΡΠ΄ΡΠΈΠ½ΠΎ Π£Π½ΠΎ
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅ Π·Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ.
if ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ, ΠΏΠ΅ΡΠ΅Π΄ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π·Π°Π±ΡΠ» ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΠΏΠΎΡΡ π
Π― ΠΏΡΠΎΠ΄Π΅Π»Π°Π» Π²ΡΠ΅ Π² ΡΠΎΡΠ½ΠΎΡΡΠΈ:
Kisoft: ΠΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ (ΠΏΡΠ°Π²Π΄Π° Π½Π΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ Ρ ΠΠ°Ρ ΠΡΠ΄ΡΠΈΠ½ΠΎ):
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. Π― ΡΠ°Π½ΡΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ Π½Π° ΡΠ²ΠΎΠ΅ΠΌ ΠΠ΅ΠΎΠ½Π°ΡΠ΄ΠΎ.
Π½ΠΎ, ΠΊ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π² ΠΎΠΊΠ½Π΅ Serial Monitor Π²ΡΡΠΊΠΎΡΠΈΠ»Π° ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ Π°Π±ΡΠ°-ΠΊΠ°Π΄Π°Π±ΡΠ° ΠΈΠ· Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΠΎΠ΄ΡΠΊΠ°ΠΆΠΈΡΠ΅, ΠΊΠ°ΠΊ Ρ ΡΡΠΈΠΌ Π±ΠΎΡΠΎΡΡΡΡ? Π£ΠΌΠ΅Π½Ρ ΠΡΠ΄ΡΠΈΠ½ΠΎ ΠΠ΅Π³Π° 2560.
ΠΡΡΡ Π΅ΡΠ΅ ΠΏΠ°ΠΊΠ΅Ρ Π² visualmicro.com, Π½ΠΎ ΡΡΠΎΠΈΡ Π΄Π΅Π½Π΅Π³ (ΡΠ°ΠΌΠ° ΡΡΠ΅Π΄Π° Π±Π΅ΡΠΏΠ»Π°ΡΠ½Π°, Π΄Π΅Π½Π΅Π³ ΡΡΠΎΠΈΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ). Π‘Π°ΠΌ Π½Π΅ ΠΏΡΠΎΠ±ΠΎΠ²Π°Π».
ΠΏΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ Π²Π°ΠΌ ΡΠΆΠ΅ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ, ΠΏΡΠ°Π²Π΄Π° Π½Π΅Π»ΡΠ·Ρ Π½Π°Π·Π²Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΎΠΌ, ΡΡΠΎ ΡΠΈΠΌΡΠ»ΡΡΠΎΡ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ
ΠΏΡΠ°Π²Π° Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ ΠΌΠ΅ΡΠΊΠ½Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄ ΠΆΠ΅Π»Π΅Π·Π½ΡΠΌΠΈ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°ΠΌΠΈ ΠΎΡ Π°ΡΠΌΠ΅Π»Π° ))) Π½ΠΎ ΡΠ²Ρ Π°ΡΠ΄ΡΠΈΠ½Π° Ρ Π½ΠΈΠΌΠΈ Π½Π΅ Π΄ΡΡΠΆΠΈΡ. ΠΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΡΠ΅Π»Π΅ΡΡΠ½Π° ΠΎΡΠ»Π°Π΄ΠΊΠ° ΠΏΠΎ JTAG, ΠΊΠ°ΠΊ ΡΠ°Π· atmega2560 ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΊΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ. Π ΠΆΠ΅Π»Π΅Π·Π½ΠΎΠΌ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π²ΠΈΡΡ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, Π²ΠΈΠ΄Π΅ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠΎΡΡΠΎΠ² (Π½Π΅ ΡΠΈΠΌΡΠ»ΡΡΠΎΡ, Π° ΠΆΠ΅Π»Π΅Π·ΠΎ!), ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , eeprom Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π±Π΅Π· ΠΏΠ΅ΡΠ΅ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΈ Ρ.Π΄.
Π― ΠΏΡΠΎΠ΄Π΅Π»Π°Π» Π²ΡΠ΅ Π² ΡΠΎΡΠ½ΠΎΡΡΠΈ:
Kisoft: ΠΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ (ΠΏΡΠ°Π²Π΄Π° Π½Π΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ Ρ ΠΠ°Ρ ΠΡΠ΄ΡΠΈΠ½ΠΎ):
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. Π― ΡΠ°Π½ΡΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ Π½Π° ΡΠ²ΠΎΠ΅ΠΌ ΠΠ΅ΠΎΠ½Π°ΡΠ΄ΠΎ.
Π½ΠΎ, ΠΊ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π² ΠΎΠΊΠ½Π΅ Serial Monitor Π²ΡΡΠΊΠΎΡΠΈΠ»Π° ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ Π°Π±ΡΠ°-ΠΊΠ°Π΄Π°Π±ΡΠ° ΠΈΠ· Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΠΎΠ΄ΡΠΊΠ°ΠΆΠΈΡΠ΅, ΠΊΠ°ΠΊ Ρ ΡΡΠΈΠΌ Π±ΠΎΡΠΎΡΡΡΡ? Π£ΠΌΠ΅Π½Ρ ΠΡΠ΄ΡΠΈΠ½ΠΎ ΠΠ΅Π³Π° 2560.
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. Π― ΡΠ°Π½ΡΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ Π½Π° ΡΠ²ΠΎΠ΅ΠΌ ΠΠ΅ΠΎΠ½Π°ΡΠ΄ΠΎ.
ΠΠ°ΠΊ ΡΠ°Π· Π²ΡΠ΅ΡΠ° Π½Π°ΡΠΊΠ½ΡΠ»ΡΡ Π½Π° ΡΠΈΠ³ΠΎΡΠ΅Π½Ρ Visual Micro. ΠΠ° ΡΠΎΠ±ΠΎΠΊΡΠ°ΡΡΠ΅ Π±ΡΠ» ΠΏΠΎΡΡ ΠΏΡΠΎ Π½Π΅Ρ, ΠΏΡΠ°Π²Π΄Π° ΡΡΠ°ΡΠ΅Π½ΡΠΊΠΈΠΉ.
Π Π°Π½ΡΡΠ΅ ΡΡΠ° Π»ΠΈΠ±Π° (ΠΏΠ»Π°Π³ΠΈΠ½?) ΡΠ΅ΠΏΠ»ΡΠ»Π°ΡΡ Π½Π° MS Visual Studio. Π’Π΅ΠΏΠ΅ΡΡ ΡΠΌΠ΅Π΅Ρ ΡΠ΅ΠΏΠ»ΡΡΡΡΡ Π΅ΡΡ ΠΈ Π½Π° Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ ΡΡΠ΅Π΄Ρ Atmel Studio 6.2. (Π² ΡΡΠΎΠΉ ΡΡΠ΅Π΄Π΅, Ρ ΡΠ°ΠΊ ΠΏΠΎΠ½ΡΠ», ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Ρ.Π½.»ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ» Π»ΠΈΠ±Π° ΠΎΡ ΡΠΎΠ³ΠΎ ΠΆΠ΅ Visual Studio).
Π’Π°ΠΊ Π²ΠΎΡ, ΠΊΠ°ΠΊ ΡΠ°Π· ΠΎΠ½ΠΈ ΡΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡ, ΡΡΠΎ ΠΊΠ°ΠΊ ΡΠ°Π· Ρ Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π±ΡΡΠΊΠΏΠΎΠΈΠ½ΡΡ. ΠΡΠ΅Π½Ρ ΠΌΠ΅Π½Ρ ΡΡΠΎ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π»ΠΎ. ΠΠΎ Π·Π° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π²Π΅ΡΠ΅Ρ Π½ΠΈ ΡΠΈΠ³Π° Π½Π΅ ΡΠ°Π·ΠΎΠ±ΡΠ°Π»ΡΡ.
ΠΠ΅ΡΠΎΡΡΠ½ΠΎ, Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ, ΡΡΠΎ ΠΈ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ ΡΠΎΠ²Π°ΡΠΈΡΠ° kisoft.
Π‘ΡΡ ΠΎΠΉ ΠΎΡΡΠ°ΡΠΎΠΊ, ΠΌΠ°Π»ΠΎ ΡΠ΅Π³ΠΎ Ρ ΠΏΠΎΠ½ΡΠ», ΡΠ°Π·Π²Π΅ ΡΡΠΎ ΠΎΠ΄Π½ΠΎ: ΠΠ‘Π’Π¬ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π½Π° ΠΡΠ΄ΡΠΈΠ½Π΅! π
ΠΠ« ΡΠΎΡΡΠΈ, Π΄Π²Π° ΠΏΠΎΡΡΠ° Π½Π°Π·Π°Π΄ ΡΡΡ ΠΏΡΠΎΠ³Ρ ΡΠΏΠΎΠΌΠΈΠ½Π°ΡΡ ΡΠΆΠ΅. ΠΡ Π΄Π° ΠΌΠΎΠΆΠ΅Ρ ΠΊΡΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡ, Π΄Π° ΠΏΠΎΠ΄ΡΠΊΠ°ΠΆΠ΅Ρ, ΠΊΠ°ΠΊ ΡΡΠΈ Π±ΡΡΠΊΠΏΠΎΠΉΠ½ΡΡ Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ π Π° ΡΠΎ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ.
Debugging with the Arduino IDE 2.0
AUTHOR: Karl SΓΆderby & Ubi De Feo
Overview
A newly introduced, yet less famous feature of Arduino IDE 2.0 is the Debugger.
A debugger is a software tool which is used to test and debug programs, hence the name.
It basically goes through a program in a controlled manner, with the help of a hardware interface which can help navigate through the program’s execution. This can be of aid in better understanding the program as well as helping spot potential flaws and code errors.
You can easily download the editor from the Arduino Software page.
Compatible Boards
The debugger is compatible with all SAMD boards. Boards using the SAMD architecture are the following:
Tutorials for the Atmel-ICE and J-Link debuggers uses the MKR WiFi 1010, but can be easily be applied to the boards listed above.
Requirements
You will also need one of the following hardware setups:
Additional accessories such as soldering iron, connectors, jumper wires and USB cables will also be required, depending on what hardware setup you use.
The Arduino Zero board can be used without any external hardware.
Hardware Setup
Below you will find three different tutorials that will help you set up and test the different hardware setups. We recommend you visit them, follow the instructions and come back here to learn how to use the tool!
Arduino Zero
The Arduino Zero does not require any additional hardware, as it already has a built-in debugger. This makes it a great choice for beginners that wants to learn more about debugging.
J-Link
Segger’s J-Link tool is a great option for advanced debugging. The J-Link tool can be connected to the MKR WiFi 1010 board by soldering, where a more detailed guide can be found in the link below:
Atmel-ICE
Atmel-ICE is another great option to use for debugging, and can also be connected to the MKR WiFi 1010 board through soldering. Learn more about debugging with the Atmel-ICE through the link below:
Getting to Know the Debugger
Once you have your hardware set up, we can continue to explore the Debugger tool in the Arduino IDE 2.0.
The Debugger is a brand new tool integrated in the Arduino IDE 2.0. You can easily access it from the sidebar on the left, grouped with the Board Manager, Library Manager, Search and Sketchbook Explorer.
Mind that doing so will only show you its inteface, but the real magic happens when you click the crossed out bug icon in the buttons menu at the top.
Now, in order to use the debugger, we need specific hardware instruments, the choice of which is very dependent on what kind of board/processor you are using, and you will almost always need an external debugger.
Using the Debugger
In order to use the Debugger, we need to upload a sketch to our board first, making sure that the built program will be optimized for debugging, so let’s check that option right away.
Important: You should connect the Arduino Zero through its programming USB port.
In this example, we are going to choose the basic blink sketch. You can easily access this code through File > Examples > Basics > Blink. Upload the code to your Arduino board. When it is finished, it will let you know in the output panel at the bottom.
Once your program has been uploaded, we can start using the debugger.
Breakpoints
Let’s begin by creating something called a breakpoint. Breakpoints are used to stop the program execution at a specific line (or when a specific condition is verified). We can use multiple of these in a program (the number is variable depending on the processor).
In this example, we are going to set a breakpoint for line 33 and line 36. These are set by clicking to the left of the line numbering in the editor.
We can now go through our code, step by step. The first (automatic) stop will be triggered by the Debugger itself, and it will be a standard entry-point, ignore that for now.
Let’s continue, by clicking on the Play/pause button (Continue). The program will now run to the first breakpoint, line 33. If we click it again, it will jump to line 36 (the lines 34 and 35 will still be executed but we won’t see that). Clicking the Play/pause button again will continue running the program which will pause at its next breakpoint, line 33. We’re in the main loop, after all.
Step over
The step over feature basically goes through the operations of a program, step by step. Let’s say we have 20 operations in our program, each doing something unique. The step over can in a way step through these, one by one, and analyse what’s going on at each step.
Step in and Out
Next up is the step in and step out commands. In this example, we are using the and functions. Using step in we basically branch out of the code we wrote, and jump into the code where these functions are defined. In this case, we are inspecting code inside a file which is part of the Arduino framework.
The step out feature is basically the opposite: it returns you to the origin point, and moves to the next step.
Conclusion
In this guide, we have covered some basics on using the Arduino IDE 2.0 Debugger. We explored some different hardware setups that we can use, how to navigate the Debugger tool, and linked some more elaborate hardware guides to make your debugging experience more smooth!
We hope you enjoy the Debugger, and if you are having issues, please report them in Arduino IDE GitHub repository.
More Tutorials
You can find more tutorials in the Arduino IDE 2 documentation page.
ΠΡΠ»Π°Π΄ΠΊΠ° ΠΊΠΎΠ΄Π° Arduino (AVR). Π§Π°ΡΡΡ 1. ΠΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΎΡΠ»Π°Π΄ΠΊΠ°
ΠΡΠ΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅
Π‘Π±ΠΎΡΠΊΠ° ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Makefile
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΌΡ ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡΠΌ ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π² ΠΆΠ΅Π»Π΅Π·Π΅ (Π²ΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΠ°ΡΡΠΈ) Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΅Π½ΠΈΡΠΎΠ²Π°ΡΡΡΡ. ΠΠ΅ΡΠΎΡΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π·Π½Π°ΡΡ, ΡΡΠΎ ΡΡΠ΅Π΄Π° Arduino Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ avr-gcc ΡΠΎ Π²ΡΠ΅ΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΅Π³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ±ΠΎΡΠΊΠΈ. Π’Π°ΠΊ Π²ΠΎΡ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ²Π½ΠΎ. ΠΠ΅Π»Π°ΡΡ ΡΡΠΎ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π½Π΅ Π²ΡΡΡΠ½ΡΡ, Ρ ΠΎΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π»ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ Π²ΡΡ-ΡΠ°ΠΊΠΈ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ. ΠΡΠΆΠ½ΠΎ ΡΡΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ELF. Π‘ΡΠ΅Π΄Π° Arduino ΠΏΠΎΠ΄ΡΠΈΡΠ°Π΅Ρ Π·Π° ΡΠΎΠ±ΠΎΠΉ ΠΈ Ρ Π½Π°Ρ Π½Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ° Π½ΠΈ ΠΊ ΠΎΠΏΡΠΈΡΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°, Π½ΠΈ ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
ΠΡΠΎ ΠΏΠΎΠ΄Π²ΠΎΠ΄ΠΈΡ Π½Π°Ρ ΠΊ Π²ΠΎΠΏΡΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΈΠ»ΠΈΡ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ avr-gcc ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π° Π΅ΡΡ ΡΠΎΡΠ½Π΅Π΅ β ΡΠΊΠ΅ΡΡΠ° Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ Arduino. Π’ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΏΠΎΠ³ΡΡΡΡΠΈΡΡ, Ρ.ΠΊ. Π΄Π΅Π»ΠΎ ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎΠ΅, Π½ΠΎ, ΠΊΠ°ΠΊ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ, Π²ΡΡ ΡΠΆΠ΅ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π΄ΠΎ Π½Π°Ρ. ΠΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, Π½Π° github ΡΠΆΠ΅ Π΅ΡΡΡ Π²ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΡΠΊΠ΅ΡΡΠ΅ΠΉ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ Arduino. ΠΡΠΎΠ΅ΠΊΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Arduino-Makefile. ΠΠ°ΠΊ Π½Π΅ ΡΡΡΠ΄Π½ΠΎ Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ ΠΈΠ· ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ, ΡΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Makefile Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π° Arduino. ΠΠ· ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ ΠΌΡ ΠΎΠ±ΡΠ°ΡΠΈΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅.
ΠΠ°ΠΊΠ΅Ρ Arduino-Makefile β ΡΡΠΎ Π½Π°Π±ΠΎΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ. Π Π½ΡΠΌ Π½Π΅Ρ ΡΡΠΈΠ»ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΡ ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΈ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Ρ.Π΅. ΡΠ±ΠΎΡΠΊΠ° ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΠΊΡΡΡΠΈΡΡ Π»ΡΠ±ΡΡ ΡΠ΄ΠΎΠ±Π½ΡΡ Π΄Π»Ρ Π²Π°Ρ IDE, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ±ΠΎΡΠΊΡ ΡΠ΅ΡΠ΅Π· Makefile. Π― ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Visual Studio.
ΠΡΠ»ΠΈ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ Makefile (Arduino.mk), ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ΅ΡΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΡΠ±ΠΎΡΠΎΠΊ. ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΠ½ΡΠ΅ (ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅) Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΠ΅Π»ΠΈ ΡΠ±ΠΎΡΠΊΠΈ, Π° ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ (Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΏΠΎΠΈΡΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΈ ΠΏΡΠΎΡΠ΅Π΅). ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ, ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΡ Π²ΡΡΡΠ½ΠΈΠ»ΠΈ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΡΠΊΠ΅ΡΡΠΈ. Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ ΡΠ°ΠΌ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ±ΠΎΡΠΊΠΈ ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ. Π― ΠΎΠ±Π΅ΡΠ°Π» ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π°. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ Π΅ΡΡΡ ΡΠ²ΠΎΠΈ ΠΏΠ»ΡΡΡ ΠΈ ΠΌΠΈΠ½ΡΡΡ. Π‘Π΄Π΅Π»Π°Π΅ΠΌ ΠΈΡ ΠΊΡΠ°ΡΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ.
Π‘ΠΏΠΎΡΠΎΠ± 1. Π‘ΠΎΠ·Π΄Π°ΡΠΌ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΠΉ ΡΠ°ΠΉΠ», Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ Π΅Π³ΠΎ Π² Proteus, ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°Π΅ΠΌ ΡΠ°ΠΌ ΠΆΠ΅.
ΠΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π°:
β ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΏΡΠΎΡΡΠΎΡΠ° ΠΎΡΠ»Π°Π΄ΠΊΠΈ (Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ° Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠΌΡΡΠΈΡΡΡΡ);
β Π΄ΠΎΡΡΡΠΏ Π²ΠΎ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΌΠΈΡ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΡΡ;
β ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΎΠ² (Π΄ΠΎΡΡΡΠΏΠ½Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ±ΠΎΡΡ);
β Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°ΡΡ ΡΡ
Π΅ΠΌΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ;
β Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΠΎΠΊΠ½Π°Ρ
Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠ΅Π³ΠΈΡΡΡΡ ΠΌΠΊ, ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ, Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π΅Π³ΠΎ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ.
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ:
β ΠΏΠ»Π°ΡΠ½ΠΎΡΡΡ Proteus;
β ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΈ;
β ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π΅ ΠΌΠΎΠ³Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ Π²ΡΠ΅Ρ
ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².
Π‘ΠΏΠΎΡΠΎΠ± 2. Π‘ΠΎΠ·Π΄Π°ΡΠΌ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΠΉ ΡΠ°ΠΉΠ», Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ Π΅Π³ΠΎ Π² AVR Studio 4, ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°Π΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ Proteus VSM Viewer Π΄Π»Ρ AVR Studio 4.
ΠΠΎ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π°ΠΌ ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ°ΠΌ ΠΏΠΎΡΡΠΈ ΡΠΎ ΠΆΠ΅, ΡΡΠΎ ΠΈ ΡΠΏΠΎΡΠΎΠ±Π΅ 1. ΠΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ, ΡΡΠΎ AVR Studio ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ Π²ΡΠ΅Ρ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΌΠΊ, Π²ΠΏΠ»ΠΎΡΡ Π΄ΠΎ Π±ΠΈΡΠΎΠ², ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ. ΠΠ· ΠΌΠΈΠ½ΡΡΠΎΠ² ΡΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΎΡΠ»Π°Π΄ΠΊΠ° ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΈ Π½Π΅ ΡΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ½ΡΡΡ ΠΊΠ°ΠΊ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π² Π½ΡΠΆΠ½ΡΡ ΠΌΠ΅ΡΡΠ°Ρ .
Π‘ΠΏΠΎΡΠΎΠ± 3. Π‘ΠΎΠ·Π΄Π°ΡΠΌ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΠΉ ΡΠ°ΠΉΠ», Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ Π΅Π³ΠΎ Π² AVR Studio 4, ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°Π΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΡΠΌΡΠ»ΡΡΠΎΡ JTAG ICE mkII ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π°Π΄Π°ΠΏΡΠ΅Ρ (HappyJTAG2).
ΠΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π°:
β ΡΡΠΎ Π½Π°ΡΡΠΎΡΡΠ°Ρ ΠΎΡΠ»Π°Π΄ΠΊΠ° Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Β«ΠΆΠ΅Π»Π΅Π·Π΅Β» Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ JTAG ICE mkII ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° (ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠΊ Π²ΠΏΠ»ΠΎΡΡ Π΄ΠΎ ATmega2560);
β HappyJTAG 2.45 ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° Windows 7 x64, Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ ΠΎΠ΄Π½ΠΎ ΠΎΠΊΠΎΡΠΊΠΎ, Π³Π΄Π΅ ΠΏΡΠΎΡΡΡ Π²ΡΡ-ΡΠ°ΠΊΠΈ ΠΊΡΠΏΠΈΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°.
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ:
β Π·Π°ΠΌΠ΅ΡΠ΅Π½Π° Π½Π΅ΡΡΠ°Π±ΠΈΠ»ΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° HappyJTAG2 Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΠΏΠΎ ΠΎΠ±ΡΡΠΌΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠ°ΠΌΠΈ;
β Π½Π΅ΡΡΠ°Π±ΠΈΠ»ΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° AVR Studio ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ
Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ;
β Π°Π²ΡΠΎΡ HappyJTAG2 Π΄Π°Π²Π½ΠΎ Π·Π°Π±ΡΠΎΡΠΈΠ» ΡΠ²ΠΎΡ Π΄Π΅ΡΠΈΡΠ΅ (Π²ΠΈΠ΄ΠΈΠΌΠΎ Ρ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΎΠΌ AVR Studio 5 ΠΈ Atmel Studio);
β Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ (COM4 ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠ΅ΡΠ²ΡΡ
4-Ρ
ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ
ΠΏΠΎΡΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π΅Π½ ΠΈΠ»ΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ, Ρ.ΠΊ. AVR Studio ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ COM1-COM4 Π² ΠΏΠΎΠΈΡΠΊΠ΅ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°). ΠΠΌΠ΅Π½Π½ΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π΅Π½ ΠΈΠ»ΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ, Ρ.ΠΊ. HappyJTAG2 ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΡΠ°ΠΊ ΡΠΊΠ°ΠΆΠ΅ΠΌ, Β«ΠΈΠ·Π½ΡΡΡΠΈΒ».
ΠΠ°ΠΊ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ Ρ ΠΏΠΎΠΊΠ°Π·Π°Π» ΡΡΠΈ ΡΠΏΠΎΡΠΎΠ±Π°, Π½ΠΎ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Ρ ΠΌΠ΅Π½Ρ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π° ΠΈΠ· Π½ΠΈΡ . ΠΠ΅ΡΠ²ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π±ΡΠ΄Π΅Ρ ΠΎΠΏΠΈΡΠ°Π½ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅. ΠΡΠΎΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±, ΠΊ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΌΠ½Π΅ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ. ΠΡΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Β«ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΡΒ» ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Proteus ΠΈ AVR Studio. ΠΠ° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΡΡΠ΄ΠΈΡ AVR Studio 4.19.730 ΠΈ Proteus 7.7 SP2. ΠΠΎΠ³Π΄Π°-ΡΠΎ Π΄Π°Π²Π½ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΡΡΠΎΡ ΡΠΏΠΎΡΠΎΠ±, Π½ΠΎ ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ ΠΆΠ΅Π»Π΅Π·Π½ΠΎΠ³ΠΎ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈΠΌ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠΎΠ±ΠΎΠ³ΠΎ ΡΠΌΡΡΠ»Π°. Π’ΡΠ΅ΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± Ρ ΠΎΡΡΠ°Π²ΠΈΠ» Π΄Π»Ρ Π²ΡΠΎΡΠΎΠΉ ΡΠ°ΡΡΠΈ. Π’Π°ΠΌ Π½ΡΠΆΠ΅Π½ Π±ΡΠ΄Π΅Ρ Π°Π΄Π°ΠΏΡΠ΅Ρ ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΠΏΠ»Π°ΡΠ°ΠΌ Arduino, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΌ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΏΠΎ JTAG.
Π ΡΡΠΎ ΠΆΠ΅ Π΄Π»Ρ ΡΡΠΎΠΉ Π²ΡΠ΅ΠΉ ΠΊΡΡ Π½ΠΈ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ? ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ Π·Π°Π±ΡΡΡ ΠΏΡΠΎ ΡΠ±ΠΎΠ³ΠΎΠ΅ Arduino IDE, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ ΠΏΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ ΡΠΊΠ΅ΡΡΠ΅ΠΉ. ΠΠ°Π»Π΅Π΅, Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ:
ΠΡΠ΄Π΅ΠΌ ΡΡΠΈΡΠ°ΡΡ, ΡΡΠΎ Π²Ρ Π·Π½Π°Π΅ΡΠ΅ ΠΊΠ°ΠΊ ΡΠΏΡΠΎΡΠΈΡΡ Ρ Google Π³Π΄Π΅ Π΄ΠΎΡΡΠ°ΡΡ Π²ΡΡ ΡΡΠΎ Ρ ΠΎΠ·ΡΠΉΡΡΠ²ΠΎ. ΠΠ° Π²ΡΡΠΊΠΈΠΉ ΡΠ»ΡΡΠ°ΠΉ Ρ ΠΏΡΠΈΠ²Π΅Π΄Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΡΠ°ΡΡΠΈ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ.
ΠΠ°ΠΊ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, Proteus ΠΏΠ»Π°ΡΠ½ΡΠΉ, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΌΠΎΠ΅ ΠΏΠ΅ΡΠ°Π»ΡΠ½ΠΎΠ΅. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π΅Π³ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π΅ Π½Π° ΡΡΠΎΠ»ΡΠΊΠΎ Π±Π»ΠΈΠ·ΠΊΠΈ ΠΊ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌΡ ΠΌΠΈΡΡ, ΠΊΠ°ΠΊ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Ethernet shield W5100 Π²Ρ ΠΏΡΠΎΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°ΡΡ Π² Π½ΡΠΌ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ (ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ Π² Π²Π΅ΡΡΠΈΠΈ 7.x). ΠΠΎΡΡΠΎΠΌΡ, ΡΠ²Π°ΠΆΠ°Π΅ΠΌΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Arduino, ΠΈΠ΄ΠΈΡΠ΅ ΠΈΡΡΠΈΠ½Π½ΡΠΌ ΠΏΡΡΡΠΌ. Π’ΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ»Π°Π΄ΠΊΠ° ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΆΠ΅Π»Π΅Π·Π΅ ΡΠΏΠ°ΡΡΡ Π²Π°ΡΠΈ Π΄ΡΡΠΈ ΠΎΡ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π²ΠΎΠΏΡΠΎΡΠΎΠ². Proteus ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ, Π° Π² ΠΏΠΎΠ»Π΅Π²ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ β ΡΠΎΠ»ΡΠΊΠΎ JTAG.
ΠΡΠ»Π°Π΄ΠΊΠ° ΡΠΊΠ΅ΡΡΠ΅ΠΉ Arduino (AVR) Π² Proteus 7.x
Π₯Π²Π°ΡΠΈΡ ΠΎΠ±ΡΠΈΡ ΡΠ»ΠΎΠ², ΡΠ΅ΠΏΠ΅ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠΈΠΊΠΈ. ΠΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ±ΠΎΡΠΊΠΈ, ΠΈΡ Π²ΡΠ΅ Π½Π΅ ΡΠ°ΡΠΏΠΈΡΠ΅ΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΠΎΡΡΠ°Π½ΠΎΠ²Π»ΡΡΡ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠΌ ΠΈ ΠΏΠΎΡΡΠ°ΡΠ°ΡΡΡ ΠΎΠΏΠΈΡΠ°ΡΡ Π΅Π³ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ. Π£Π²ΠΈΠ΄Π΅Π² ΠΎΠ±ΡΡΡ ΡΡ Π΅ΠΌΡ, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π΅Ρ Π½Π° ΡΠ²ΠΎΠΉ Π½Π°Π±ΠΎΡ ΡΡΠ΅Π΄ΡΡΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° Ρ ΡΠ°Π·ΠΎΠ±ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΏΠΎ ΡΠ°Π³Π°ΠΌ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΡ. ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎ Π΄Π°ΠΆΠ΅ ΡΠ°ΠΌΡΠ΅ Π½Π΅ΠΎΠΏΡΡΠ½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Arduino ΠΏΠΎΠΉΠΌΡΡ ΠΎ ΡΡΠΌ ΡΠ΅ΡΡ.
Π¨Π°Π³ 1. Π‘ΠΊΠ°ΡΠΈΠ²Π°Π΅ΠΌ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Arduino. ΠΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΡΡΠΈ Π΄ΠΎΠΏΡΡΡΠΈΠΌ, ΡΡΠΎ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΠΈΠ· ΡΠ΅ΡΠΈΠΈ 1.6.x. ΠΠ΄Π΅ΡΡ ΡΡΠ°Π·Ρ ΡΠ΄Π΅Π»Π°Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΠΉ. ΠΠΎΠΎΠ±ΡΠ΅, ΠΎΡ Arduino Π½Π°ΠΌ Π½ΡΠΆΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΡΠ»ΠΈ Π½Π΅ ΡΡΠΈΡΠ°ΡΡ Π²ΡΠ΅Π³ΠΎ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ, ΡΠΎ ΡΠ°ΠΌΠ° ΠΈΠ΄Π΅Ρ ΡΠΏΡΠΎΡΡΠ½Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΡΠ΅Π½Ρ Π΄Π°ΠΆΠ΅ Ρ ΠΎΡΠΎΡΠ° (Π΅ΡΠ»ΠΈ ΡΡΠ°Π²Π½ΠΈΡΡ C# ΠΈ C++ ΠΈΠ»ΠΈ, Π½Π΅ Π΄Π°ΠΉ Π±ΠΎΠΆΠ΅, C++/CLI, ΡΠΎ ΡΡΠΎ Π½Π΅Π±ΠΎ ΠΈ Π·Π΅ΠΌΠ»Ρ). ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΆΠ΅ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ² ΠΏΡΠΈΠ²Π΅Π»ΠΎ, ΠΏΡΡΠΌΠΎ ΡΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊ Π±Π΅Π·Π³ΡΠ°ΠΌΠΎΡΠ½ΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΡΠΎΠ·Π½Π°Π½Π½ΠΎ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°ΡΡ Π·Π°Π΄ΡΠΌΠ°Π½Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Arduino Π²ΡΠ½ΡΠΆΠ΄Π΅Π½Ρ Π΄Π΅Π»Π°ΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΠΈΠ· ΠΌΠ°Π³ΠΈΡΠ΅ΡΠΊΠΈΡ Π·Π°ΠΊΠ»ΠΈΠ½Π°Π½ΠΈΠΉ, Π²ΡΡΠ΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΠ½ΡΡ ΡΠ΅ΡΠ΅Π· Serial.print() ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΡΠ°ΡΡΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. Π’ΡΠΆΠΊΠΎ Π½Π° ΡΡΠΎ Π²ΡΡ ΡΠΌΠΎΡΡΠ΅ΡΡ.
Π― ΠΎΡΠ²Π»ΡΠΊΡΡ, Π° Π²Ρ, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, ΡΡΠΏΠ΅Π»ΠΈ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΡΡΠ΅Π΄Ρ ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ ΠΏΡΡΡΠΌ. ΠΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠ°ΠΏΠΊΠ° Arduino Π½Π°Ρ ΠΎΠ΄ΠΈΠ»Π°ΡΡ Π² ΠΊΠΎΡΠ½Π΅ ΡΠ°Π·Π΄Π΅Π»Π° (C:\Arduino). ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΠΏΡΡΡΠΌΠΈ Π² makefile, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π»ΡΠ±ΡΡ ΠΏΡΠΎΠ±Π΅Π»Ρ Π² Β«Program FilesΒ». ΠΡ ΠΏΠΎΠ·ΠΆΠ΅ Π±ΡΠ΄Π΅ΠΌ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΠΏΡΡΠΈ ΠΈ Π΄Π»Ρ ΡΠ΅Ρ , Ρ ΠΊΠΎΠ³ΠΎ ΠΏΠ°ΠΏΠΊΠ° ΡΠΆΠ΅ Π² Β«Program FilesΒ» ΠΏΡΠΈΠ΄ΡΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΠ΄Π½Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Windows Π²Π΅ΡΡ β junction point Π½Π° ΠΏΠ°ΠΏΠΊΡ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΡΠΎΠ±Π΅Π» ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ, Π½ΠΎ Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΠΏΡΠΎΠ±ΠΎΠ²Π°Π».
ΠΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΡΡΠΈ, Π΄ΠΎΠΏΡΡΡΠΈΠΌ, ΡΡΠΎ ΠΏΡΡΡ ΠΊ ΡΡΠ΅Π΄Π΅ ΡΠ°ΠΊΠΎΠΉ: C:\Program Files\Arduino.
Π¨Π°Π³ 2. Π‘ΠΊΠ°ΡΠΈΠ²Π°Π΅ΠΌ ΠΈ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅ΠΌ Arduino-Makefile. Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΏΠ°ΠΏΠΊΠΈ Arduino-Makefile-master ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ Π² C:\Arduino-Makefile. Π₯ΠΎΡΡ ΡΡΠ°Π·Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π²Π½ΡΡΡΠΈ Π΅ΡΡΡ ΡΠ°ΠΉΠ» README.md, ΠΊΠΎΡΠΎΡΡΠΉ Π»ΡΡΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° github’Π΅, Π³Π΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΎ. Π’Π°ΠΊΠΆΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²Π·ΡΡΡ Π½Π° Π·Π°ΠΌΠ΅ΡΠΊΡ ΡΠ°ΠΉΠ» arduino-mk-vars.md, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌ (ΠΏΡΠΎΠ΅ΠΊΡΠ½ΠΎΠΌ) Makefile ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ .
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ ΡΡΠΈΠ»ΠΈΡΡ make Π½ΡΠΆΠ΅Π½ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ gnu bin utils, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΎΠ΄ΠΈΠ» Π² ΡΠΎΡΡΠ°Π² WinAVR Π² ΡΠ²ΠΎΡ Π²ΡΠ΅ΠΌΡ. Π― Π½Π΅ Π·Π½Π°Ρ Π΅ΡΡΡ Π»ΠΈ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΡ ΡΠ±ΠΎΡΠΊΠΈ ΡΡΠΈΡ ΡΠ°ΠΌΡΡ ΡΡΠΈΠ»ΠΈΡ ΠΏΠΎΠ΄ Windows, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΡΠΏΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°ΡΠ°ΡΡ ΡΡΠ°ΡΡΠΉ Π΄ΠΎΠ±ΡΡΠΉ WinAVR ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΈ Π²ΡΡΠ°ΡΠΈΡΡ ΠΈΠ· Π½Π΅Π³ΠΎ ΠΏΠ°ΠΏΠΊΡ utils, Π³Π΄Π΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ. ΠΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ, ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ°ΠΏΠΊΡ ΠΈ Π΄Π΅ΠΈΠ½ΡΡΠ°Π»Π»ΠΈΡΠΎΠ²Π°ΡΡ WinAVR (ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π² Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ Π²Ρ ΠΎΠ΄ΠΈΡ ΡΡΠ°ΡΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ avr-gcc, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ΅Π½).
ΠΠ°Π»Π΅Π΅, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠ°ΠΏΠΊΡ c:\avr-gcc ΠΈ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ utils Π² Π½Π΅Ρ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ PATH (ΡΠ΅ΡΠ΅Π· ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°) ΠΏΡΡΡ C:\avr-gcc\utils\bin:
set PATH=C:\avr-gcc\utils\bin;%PATH%
ΠΡΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΠ΅ΡΠ²ΡΡ Π² ΠΏΠΎΠΈΡΠΊΠ΅. ΠΠ΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅ ΠΏΡΠΎ ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, Ρ.ΠΊ. ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° ΡΠ°Π±ΠΎΡΡ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
Π¨Π°Π³ 3. Π‘Π°ΠΌΠΈ Π·Π½Π°Π΅ΡΠ΅ Π³Π΄Π΅ Π±Π΅ΡΡΡΠ΅/ΠΏΠΎΠΊΡΠΏΠ°Π΅ΡΠ΅ Proteus [7.2 β 7.8]. ΠΠΎΡΠ΅ΠΌΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎΠΉ ΡΠ΅ΡΠΈΠΈ ΠΈ ΡΠ°ΠΊΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» Π²Π΅ΡΡΠΈΠΉ? ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ Ρ ΠΈΡ ΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΠΈ Π²ΡΠΎΠ΄Π΅ Π±Ρ Π½Π° Π½Π΅ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ ΠΎΠ½ΠΈ Π²ΠΏΠΎΠ»Π½Π΅ Π½Π΅ΠΏΠ»ΠΎΡ ΠΈ. ΠΠ΅ΡΡΠΈΠΈ Π±ΠΎΠ»ΡΡΠ΅ 7.8 Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΠ΄Π³ΡΡΠ·ΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² IAR, Π° Π½ΠΈΠΆΠ΅ Ρ Π½Π΅ ΠΏΡΠΎΠ±ΠΎΠ²Π°Π». ΠΠΎΡΡΠΌΡΡΠΊΠ° ΠΏΡΠΎΡΡΠΎ Π³Π»ΡΡΠ½Π°Ρ ΠΏΠΎΠΊΠ°, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΡΠΎΠΌ ΠΊΡΠΎ-ΡΠΎ Π½Π°ΠΏΠΈΡΠ΅Ρ ΡΡΠΎ-ΡΠΎ ΠΈ ΠΏΡΠΎ Π½Π΅Ρ. ΠΠ΄Π΅ΡΡ ΠΌΡ Ρ Π²Π°ΠΌΠΈ Π²ΠΎΠ·ΡΠΌΡΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ Proteus 7.8 SP2.
Π¨Π°Π³ 4. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ°ΡΡΡ, ΡΠΎΠ·Π΄Π°ΡΠΌ junction point Π½Π° ΠΏΠ°ΠΏΠΊΡ Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄ΠΎΠΉ Arduino, Ρ.Π΅. C:\Arduino Π΄ΠΎΠ»ΠΆΠ½Π° ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° C:\Program Files\Arduino. ΠΡΠΎ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΌΡΠ΄ΡΠΈΡΡ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ² Π² makefile’Π°Ρ . Π’.ΠΎ., Π½Π΅ ΠΊΠΎΠΏΠΈΡΡΡ ΠΏΠ°ΠΏΠΊΡ Ρ Arduino, ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π΅Ρ ΠΊΠΎΠΏΠΈΡ Π² Π½ΡΠΆΠ½ΠΎΠΌ Π½Π°ΠΌ ΠΌΠ΅ΡΡΠ΅. ΠΡΠΎ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Far’ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Alt+F6 Π½Π° ΠΏΠ°ΠΏΠΊΠ΅.
ΠΠΈΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ ΠΈΠ· ΡΡΠ΅Π΄Ρ Arduino, Π½Π°Π·ΠΎΠ²ΡΠΌ Π΅Ρ Example1 ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΠΌ Π² ΠΏΠ°ΠΏΠΊΠ΅ ΡΠΊΠ΅ΡΡΠ΅ΠΉ:
void setup()
<
DDRD |= ( 1
ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΡΡΠΎ ΡΠ±ΠΎΡΠΊΠ° ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡ. Π£ ΠΌΠ΅Π½Ρ Π² Arduino 1.6.7 ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² (ld.exe) Π²ΡΠ»Π΅ΡΠ΅Π» Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ, Ρ Π·Π°ΠΌΠ΅Π½ΠΈΠ» Π΅Π³ΠΎ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ (ΠΌΠΎΠΆΠ½ΠΎ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΈΠ· ΡΡΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ).
Π¨Π°Π³ 5. ΠΠΎΠΏΠΈΡΡΠ΅ΠΌ ΡΠ°ΠΉΠ» C:\Arduino-Makefile\examples\WebServer\Makefile Π² ΠΏΠ°ΠΏΠΊΡ Ρ Π½Π°ΡΠΈΠΌ ΡΠΊΠ΅ΡΡΠ΅ΠΌ: C:\Arduino-Makefile\examples\Example1. ΠΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
# Arduino Make file. Refer to https://github.com/sudar/Arduino-Makefile
# Suppress printing of Arduino-Makefile configuration.
#ARDUINO_QUIET = 1
# Device type as listed in `boards.txt` or `make show_boards`.
BOARD_TAG = mega
# Microcontroller model.
# Usually can be auto-detected as `build.mcu` from `boards.txt`
MCU = atmega2560
#CPU speed in Hz
#Usually can be auto-detected as `build.f_cpu` from `boards.txt`, except in
#some 1.5+ cores like attiny where there is a clock submenu.
#F_CPU = 16000000L
# What name you would like for generated target files.
# Defaults to the name of your current working directory, but with underscores (_) instead of spaces.
#TARGET = project
# Baudrate of the serial monitor.
# Defaults to `9600` if it can’t find it in the sketch `Serial.begin()`
MONITOR_BAUDRATE = 9600
ΠΡΡΠ°Π²Π»ΡΠ΅ΠΌ Π²Π½Π°ΡΠ°Π»Π΅ Π½Π°ΡΠ΅Π³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠ° ΡΡΡΠΎΡΠΊΡ, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΡΠ²Π½ΠΎ Arduino.h (ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ Π΅ΡΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ARDUINO_LIBS):
void setup()
<
DDRD |= ( 1
ΠΠ΅ Π·Π°Π±ΡΠ²Π°Π΅ΠΌ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊ ΠΈ Makefile. ΠΠ°Π»Π΅Π΅, Π½Π°Ρ
ΠΎΠ΄ΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ Example1, Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ make (ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΈΠ»ΠΈ Π² Far’Π΅, ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ΄ΠΎΠ±Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ), Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΡΠ²ΠΈΡΡΡΡ Π±ΠΎΠ»ΡΡΠ°Ρ ΠΏΠΎΡΡΡΠ½ΠΊΠ°, ΠΏΠΎΡ
ΠΎΠΆΠ°Ρ Π½Π° ΡΡ, ΡΡΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π² Arduino IDE ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ. ΠΡΠΎ Π΅ΡΠ»ΠΈ Π²ΡΡ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ ΠΆΠ΅ ΡΡΠΎ-ΡΠΎ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ, ΡΠΎ ΠΏΠΎΠΏΡΡΠ°ΠΉΡΠ΅ΡΡ ΡΠ½Π°ΡΠ°Π»Π° ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ, Π° ΠΏΠΎΡΠΎΠΌ ΡΠΆ ΠΏΠΈΡΠΈΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΡ ΠΊ ΡΡΠ°ΡΡΠ΅.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ Π² Makefile Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΡΡΠΎΠΊΡ ARDUINO_QUIET = 1, ΡΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ ΡΠ±ΠΎΡΠΊΠ΅ ΠΈΠ΄ΡΡ ΡΠ°ΠΏΠΊΠ° ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ°ΠΌΠΎΠ³ΠΎ Makefile. Π§Π°ΡΡΡ ΠΈΠ· Π½ΠΈΡ Π·Π°Π΄Π°Π½Π°, Π° Π΄ΡΡΠ³ΠΈΠ΅ Π²ΡΡΠΈΡΠ»ΡΡΡΡΡ ΠΏΠΎ Ρ ΠΎΠ΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈ ΠΏΡΠ°Π²ΠΊΠ΅ Makefile ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΡΠ΄Π΅ΠΌ ΡΡΠΈΡΠ°ΡΡ, ΡΡΠΎ Π²ΡΡ ΠΏΡΠΎΡΠ»ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ, ΡΠΎΠ³Π΄Π° Ρ Π²Π°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΡΠ²ΠΈΡΡΡΡ ΠΏΠ°ΠΏΠΎΡΠΊΠ° build-mega, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°Ρ Π΄ΠΎΠ»Π³ΠΎΠΆΠ΄Π°Π½Π½ΡΠΉ Example1.elf β ΡΡΠΎΡ ΡΠΎΡ ΡΠ°ΠΌΡΠΉ ΡΠ°ΠΉΠ», ΡΠ°Π΄ΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΎ Π·Π°ΡΠ΅Π²Π°Π»ΠΎΡΡ. ΠΡΠΈΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ ΠΌΡ Β«ΠΏΡΠΎΡΡΡΠΌ ΠΌΠΎΠ·Π³ΠΈΒ» Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΌΡ ΠΌΠΊ Π² Proteus ΠΈ Π·Π°ΠΆΠΈΠ²ΡΠΌβ¦ Ρ Π΅ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Ρ.
Π¨Π°Π³ 6. ΠΠ΅ΡΠ½ΡΠΌΡΡ ΠΊ Proteus. Π‘ΠΎΠ·Π΄Π°ΡΠΌ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ (dsn-ΡΠ°ΠΉΠ») Π² ΠΏΠ°ΠΏΠΊΠ΅ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠΌ. ΠΠΎΡΡΠ°Π½Π΅ΠΌ ΠΈΠ· Π½Π΅Π΄Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ β ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ATmega2560 ΠΈ Π²ΡΡΠ°Π²ΠΈΠΌ Π΅Π³ΠΎ ΠΊΡΠ΄Π° ΠΎΠ½ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡΡ, ΡΠΆ Π·Π΄ΠΎΡΠΎΠ²ΡΠΉ Π±ΠΎΠ»ΡΠ½ΠΎ. ΠΠ°ΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΏΠΎ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅. Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ COMPIM ΠΏΠΎΠΊΠ° Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΎΠ½ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΎΠΌ.
ΠΠ°ΡΠ΅ΠΌ Π²Ρ ΠΎΠ΄ΠΈΠΌ Π² ΡΠ΅ΠΆΠΈΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Debug\Start/Restart Debugging. ΠΠΎΠ»ΡΡΠΈΡΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ, ΠΏΠΎΡ ΠΎΠΆΡΡ Π½Π° ΡΠ°ΠΊΡΡ.
ΠΡ, Π° Π΄Π°Π»ΡΡΠ΅, Π²ΡΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΏΠΎΠ»ΡΡΠ° Π²Π°ΡΠ΅ΠΉ ΡΠ°Π½ΡΠ°Π·ΠΈΠΈ. Π ΠΎΠΊΠΎΡΠΊΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ² Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Example1.ino, Π½ΠΎ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ. ΠΠΎΠΆΠ½ΠΎ ΡΠ°ΡΠΊΡΡΡΡ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΠΉ ΠΊΠΎΠ΄, ΡΠ΅Π³ΠΈΡΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, ΠΏΠ°ΠΌΡΡΡ ΠΈ ΡΡΠΎ-ΡΠΎ ΡΠ°ΠΌ Π²ΡΠΎΠ΄Π΅ Π΅ΡΡ. Π§ΠΈΡΠ°ΠΉΡΠ΅ Π΄ΠΎΠΊΡ Π½Π° Proteus.
Π¨Π°Π³ 7. ΠΡΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡ. ΠΠΈΡΠ°ΡΡ Π»Π΅Π½Ρ, Π½Π°Π΄Π΅ΡΡΡ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅ ΡΡΠΎ ΡΠΆΠ΅ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ. Π‘ΠΌΡΡΠ», Π²ΠΊΡΠ°ΡΡΠ΅, ΡΠ°ΠΊΠΎΠΉ. Π‘ΠΎΠ·Π΄Π°ΡΡΠ΅ Π΄Π²Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠΎΡΡΠ°, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ½Π½ΡΡ Π½ΡΠ»Ρ-ΠΌΠΎΠ΄Π΅ΠΌΠΎΠΌ (Π»ΡΡΡΠ΅ Ρ Π½ΠΎΠΌΠ΅ΡΠ°ΠΌΠΈ Π±ΠΎΠ»ΡΡΠ΅ COM4). ΠΠ΄ΠΈΠ½ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΠ΅ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅ COMPIM Proteus, Π° Π²ΡΠΎΡΠΎΠΉ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ (PuTTY). ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ Π²ΡΠ²ΠΎΠ΄Π° Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΠΏΠΎ ΠΈΠ΄Π΅Π΅ ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², Π΅ΡΠ»ΠΈ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ Π΄Π΅Π»Π°ΡΡ Π²ΡΠ²ΠΎΠ΄ Π² ΠΌΠΎΠ½ΠΈΡΠΎΡ ΠΏΠΎ-ΡΡΡΡΠΊΠΈ.
Π¨Π°Π³ 8. ΠΡΠ»ΠΈ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ avr gcc 4.9.2, ΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π°ΡΡ ΠΈΠ²Π° Π² ΠΊΠΎΡΠ΅Π½Ρ Π΄ΠΈΡΠΊΠ° ΠΈ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΏΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ AVR_TOOLS_DIR. Π’ΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΌ Ρ ΠΌΠ΅Π½Ρ Π½Π΅ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π» avr-size, ΠΊΠ°ΠΆΠ΅ΡΡΡ. ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ Π΅Π³ΠΎ Π½Π° ΡΠΎΡ, ΡΡΠΎ ΠΈΠ΄ΡΡ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ΅ WinAVR (ΠΈΠ»ΠΈ Arduino).
ΠΡΡΠ°ΡΠΈ, ΡΡΠΎΠ±Ρ ΡΠ°Π·ΠΌΠ΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΠ»ΡΡ Π² Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΎΠΏΡΠΈΡ Π² Π²ΡΠ·ΠΎΠ² avr-size (ΡΠ°ΠΉΠ» Arduino.mk):