ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ arduino ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Arduino UNO Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ°
80Ρ, Π° ΡΡΠ°Π²ΠΈΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Arduino ΡΠ΅Π½ΠΎΠΉ Π²
1000Ρ. ΠΌΠ½Π΅ ΠΆΠ°Π±Π° Π½Π΅ Π΄Π°Π΅Ρ) + Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π·ΠΈΡΡΠΎΡΠΎΠ², ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ 7-ΠΌΠΈ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ½ΡΠΉ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ. ΠΠΎ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ β Π² ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ Arduino Π·Π΄Π΅ΡΡ Π½ΡΠΆΠ΅Π½ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ Π½Π΅ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠ²Π»Π΅ΠΊΠ°ΡΡΡ ΠΠ, ΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠΎΠ² Ρ ΠΌΠ΅Π½Ρ ΠΊΠ°ΠΊ-ΡΠΎ Π½Π΅ Π²ΠΎΠ΄ΠΈΡΡΡ. Arduino ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΡΠΎΠΌ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅, Π½ΠΎ ΡΠ΅Π°Π»ΡΠ½ΠΎ Ρ ΡΡΠΎΠ³ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π΄Π΅Π»Π°Π».
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΡΠ°ΠΏΠ° ΠΌΡ ΡΠΆΠ΅ ΠΈΠΌΠ΅Π΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ ΡΠΈΠΏΠ° avrisp, Π½ΠΎ Π½ΡΠΆΠ½ΠΎ Π΅ΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΊ Π½Π΅ΠΌΡ Π½Π°Ρ ΠΠ.
2. Π‘ΠΌΠΎΡΡΠΈΠΌ Π² datasheet ΠΊ Π½ΡΠΆΠ½ΠΎΠΌΡ ΠΠ(Ρ ΠΌΠ΅Π½Ρ ΡΡΠΎ ATTiny2313A) ΠΈ ΠΈΡΠ΅ΠΌ pinout. ΠΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅ Ρ ΠΎΡΠΌΠ΅ΡΠΈΠ» ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΠΈΠ΅ Π½Π°Ρ Π½ΠΎΠ³ΠΈ.
3. Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΡΠ΅Π» ΡΠ°ΠΌΡΠΉ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΡΡΠ°ΠΏ β ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ ΠΊ ΠΠ. Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΡΡ
Π΅ΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ· ΡΠ΅Π±Ρ Π½ΠΈΡΠ΅Π³ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ, Π½ΠΎ Π΅ΡΡΡ ΠΎΠ΄Π½Π° Ρ
ΠΈΡΡΠΎΡΡΡ β Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ½Π΄Π΅Π½ΡΠ°ΡΠΎΡ Π² 10ΠΌΠΊΠ€(uF) ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΡ
ΠΎΠ΄Π°ΠΌΠΈ RESET ΠΈ GND Ρ Arduino. ΠΡΠΈΡΠ΅ΠΌ Π²ΡΡ
ΠΎΠ΄ «-» (ΠΎΡΠΌΠ΅ΡΠ΅Π½ Π±Π΅Π»ΠΎΠΉ ΠΏΠΎΠ»ΠΎΡΠΎΠΉ) Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΊ GND. ΠΠ°Π½Π½ΡΠΉ ΡΡΡΠΊ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΡ Arduino ΠΏΡΠΈ Π·Π°Π»ΠΈΠ²ΠΊΠ΅ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Π² ΠΠ.
Π‘ΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌ Π½ΠΎΠ³ΠΈ ΠΠ ΠΈ ΠΏΠΈΠ½Ρ Arduino Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ ΠΈΠ· pinout ΠΈ sketch (Pin10 Ρ Π½ΠΎΠ³ΠΎΠΉ PA2, Pin11 Ρ Π½ΠΎΠ³ΠΎΠΉ PB5 ΠΈ ΡΠ΄). ΠΠΎΠΌΠ½ΠΈΠΌ ΡΡΠΎ VCC ΡΡΠΎ ΠΏΠΈΡΠ°Π½ΠΈΠ΅, Π° Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ β +5V. ΠΠ»Ρ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΠΈ Ρ Π²ΡΠ±ΡΠ°Π» ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Ρ:
9: Heartbeat β ΠΠ΅Π»Π΅Π½ΡΠΉ. ΠΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΡΠΎΡΡΠΎΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΌΠΈΠ³Π°Π΅Ρ.
8: Error β ΠΡΠ°ΡΠ½ΡΠΉ. Π’Π΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°Π³ΠΎΡΠ°Π΅ΡΡΡ ΠΏΡΠΈ ΠΎΡΠΈΠ±ΠΊΠ°Ρ
, Π½ΠΎ Π΅ΡΠ΅ Π½ΠΈ ΡΠ°Π·Ρ Π½Π΅ Π²ΠΈΠ΄Π΅Π».
7: Programming β Π‘ΠΈΠ½ΠΈΠΉ. ΠΠΈΠ³Π°Π΅Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Arduino’Π²ΡΠΊΠΈΠΌ RX/TX ΠΏΡΠΈ Π·Π°Π»ΠΈΠ²ΠΊΠ΅ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Π² ΠΠ.
ΠΠΎΠ²Π΅ΡΠΈΠ» ΠΈΡ
ΡΠ΅ΡΠ΅Π· ΡΠ΅Π·ΠΈΡΡΠΎΡΡ 220 ΠΠΌ.
Π‘ΠΎΠ±ΡΠ°Π½Π½Π°Ρ ΡΡ
Π΅ΠΌΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π²ΠΎΡ ΡΠ°ΠΊ:
4. ΠΠΎΠ΄Π³ΠΎΡΠ°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΏΡΠΎΡΠΈΠ²ΠΊΡ Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΠ. ΠΠ»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΡΠ΅ΡΠΈΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΡΠ½ΠΎΠ΅ ΠΌΠΈΠ³Π°Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ΠΎΠΌ:
ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ Π² hex (Π²ΡΠ΄ΡΠ°Π» ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ· ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ Makefile ΠΎΡ WinAVR):
Π₯ΠΎΡΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠΎΡΠΎΡΡΠΈ Π·Π°Π»ΠΈΠ²ΠΊΠΈ Π² 19200. ΠΠ΅Π· ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Ρ Π΄ΠΎΠ»Π³ΠΎ ΠΏΡΡΠ°Π»ΡΡ ΡΡΠΎ-ΡΠΎ Π·Π°Π»ΠΈΡΡ, Π½ΠΎ avrdude ΠΌΠ½Π΅ ΡΠΏΠΎΡΠ½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π» ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠΈΠΏΠ° Β«programmer is not respondingΒ» ΠΈΠ»ΠΈ Β«not in syncΒ».
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ ΠΊ Π½ΠΎΠ³Π΅ PB0 ΠΠ(ΡΠ΅ΡΠ΅Π· ΡΠ΅Π·ΠΈΡΡΠΎΡ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ) ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΌΠΈΠ³Π°Π΅Ρ.
ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ arduino ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ
Π£Π½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ AVR-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ Π½Π° Arduino.
ΠΠ²ΡΠΎΡ: AV_K
ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ 31.10.2016
Π‘ΠΎΠ·Π΄Π°Π½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΠΎΡΠΎΠ Π΅Π΄.
ΠΠ°ΠΊ ΡΠΎ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΠ»ΠΎΡΡ ΠΌΠ½Π΅ ΠΏΠΎΠ·Π°Π»ΠΈΠ²Π°ΡΡ ΡΠΊΠ΅ΡΡ ΠΈΠ· Arduino IDE Π² ΠΌΠ΅Π»ΠΊΠΈΠΉ Π²ΠΎΡΡΠΌΠΈΠ½ΠΎΠ³ΠΈΠΉ ATTiny85, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Arduino Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΡΠΊΠ΅ΡΡΠ΅ΠΌ ArduinoISP. ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΡ ΠΊΠ»ΠΎΠ½ΠΎΠ² Arduino Nano Ρ ΠΌΠ΅Π½Ρ ΠΈΠΌΠ΅Π»ΠΎΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΠΈΡ . ΠΡΠ΅ Π±Ρ Ρ ΠΎΡΠΎΡΠΎ, Π½ΠΎ ΠΌΠ½Π΅ Π½Π΅ Π½Π΅Π΄ΠΎΡΡΠ°Π²Π°Π»ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π°. Π’ΠΎΡΠ½Π΅Π΅ ΠΎΠ½ ΠΈΠΌΠ΅Π΅ΡΡΡ Ρ ΡΠΈΠ½ΠΈ (Π²ΡΠ²ΠΎΠ΄ RESET), Π½ΠΎ ΡΡΠΎΠ±Ρ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ Π²Ρ ΠΎΠ΄, Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΡΡΠ·. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ArduinoISP ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠΎΠΏΡΡΠΊΠΈ Π·Π°Π»ΠΈΠ²ΠΊΠΈ ΡΠΊΠ΅ΡΡΠ΅ΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠΎΠ² ISP ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²ΡΠ²ΠΎΠ΄ Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ RESET ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π½Π΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ. ΠΡΠ»ΠΈ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΊΠ΅ΡΡΠ° (ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ) Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, ΡΠΎ ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π½Π΅Ρ, Π½ΠΎ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡΠ°ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΏΡΠΎΡΠΈΠ²ΠΊΠ° ΠΌΠΊ. ΠΡΡ ΠΎΠ΄ ΠΈΠ· ΡΡΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΎΠ΄ΠΈΠ½ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΡΠΎΠΊΠΎΠ²ΠΎΠ»ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ°. ΠΠ»Ρ AVR ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² Ρ Π²ΡΠ²ΠΎΠ΄Π°ΠΌΠΈ 8, 14 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΡΡΠΎΠΊΠΎΠ²ΠΎΠ»ΡΡΠ½ΠΎΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π° Π΄Π»Ρ ΠΌΠΊ Ρ Π²ΡΠ²ΠΎΠ΄Π°ΠΌΠΈ 20 ΠΈ Π±ΠΎΠ»ΡΡΠ΅ β Π²ΡΡΠΎΠΊΠΎΠ²ΠΎΠ»ΡΡΠ½ΠΎΠ΅ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ΅. Π― ΠΎΠ·Π°Π΄Π°ΡΠΈΠ»ΡΡ ΠΏΠΎΠΈΡΠΊΠΎΠΌ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ°, Π½ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ Π±ΡΠ»ΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ Π²Π°ΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π±ΡΠ» Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Arduino ΠΈ ΡΠ°Π±ΠΎΡΠ°Π» ΠΈΠ· ΠΏΠΎΠ΄ Arduino IDE. Π Π°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π» Π²Π°ΡΠΈΠ°Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅Π»Ρ ΡΡΡΠ·ΠΎΠ² Π΄Π»Ρ ΡΠΈΠ½ΠΈ, Π½ΠΎ ΡΠΆ ΠΎΡΠ΅Π½Ρ Ρ Π»ΠΎΠΏΠΎΡΠ½Π°Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΏΡΠΎΡΠΈΠ²ΠΊΠ°. ΠΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ½Π°ΡΠ°Π»Π° Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΡΠ·, Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΏΡΠΎΡΠΈΡΡ ΠΌΠΊ, Π·Π°ΡΠ΅ΠΌ ΡΡΡΠ· ΠΈ Ρ.Π΄. Π ΡΠΈΠ»Ρ ΡΠ²ΠΎΠΈΡ ΡΠΊΡΠΎΠΌΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠ΅ΠΉ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, Π²Π°ΡΠΈΠ°Π½Ρ ΡΠ°ΠΌΠΎΠΌΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠΊΠ΅ΡΡ Π΄Π»Ρ Π²ΡΡΠΎΠΊΠΎΠ²ΠΎΠ»ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ° Π½Π° Arduino ΠΎΡΠΏΠ°Π΄Π°Π». Π Π²ΠΎΡ ΠΏΠΎΠΈΡΠΊ Π² ΠΈΠ½Π΅ΡΠ΅ ΡΠ²Π΅Π½ΡΠ°Π»ΡΡ ΡΡΠΏΠ΅Ρ ΠΎΠΌ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ ΠΏΠ°ΡΠ½Ρ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ Matthias Neerache, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ·Π΄Π°Π» Π΄Π»Ρ Π½Π°Ρ ΡΡΠΎΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠΎΡΡ Π΄Π»Ρ Π°ΡΠ΄ΡΠΈΠ½ΠΎ.
ScratchMonkey ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° STK500v2. ΠΠ½ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ:
— ISP (In-Sistem Programming) Π²Π½ΡΡΡΠΈΡΡ Π΅ΠΌΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ 4Ρ ΠΏΡΠΎΠ²ΠΎΠ΄Π½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» SPI Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅ΠΌΠΈ AVR ΠΌΠΊ. ΠΠ»Π°Π²Π½ΡΠΉ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ β ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ°Ρ ΡΡΡΠ·ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΡΠΌ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. Π ISP ΡΠ΅ΠΆΠΈΠΌΠ΅ ScratchMonkey ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΌΡ Π² IDE ArduinoISP ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ, ScratchMonkey Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ 128ΠΠ ΡΠ»ΡΡ-ΠΏΠ°ΠΌΡΡΠΈ, ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΡΡΠ·ΠΎΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΡ ΡΠ΅ΠΆΠΈΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΠ°ΠΊΡΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΠΎΡΡ ΠΌΠΊ. ΠΠΌΠ΅Π΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π²ΡΡ ΠΎΠ΄ XTAL (ΡΠΈΠ³Π½Π°Π» ΡΠ°ΠΊΡΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΠΎΡΡ), ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΊ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΎΠΉ ΡΡΡΠ·ΠΎΠ² Π½Π° Π²Π½Π΅ΡΠ½ΠΈΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ScratchMonkey ΠΌΠΎΠΆΠ΅Ρ ΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ SPI (Π½Π° ΡΠ΅ ΠΆΠ΅ ΠΏΠΈΠ½Ρ) Π½Π° Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΠΉ ΡΠ°ΡΡΠΎΡΠ΅ ΡΠ΅ΠΌ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΉ SPI (Limp Mode), ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΊ Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠΌ ΡΠ°ΠΊΡΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΠΎΡΡ, Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ Π½Π° 128 ΠΊΠΡ.
— HVSP (High Voltage Serial Programming) Π²ΡΡΠΎΠΊΠΎΠ²ΠΎΠ»ΡΡΠ½ΠΎΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΊ 8 ΠΈ 14 ΠΏΠΈΠ½ ΠΈ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΡΡΠ·ΠΎΠ². Π’ΡΠ΅Π±ΡΠ΅Ρ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ 12Π ΠΈ ΡΡΠ°Π½Π·ΠΈΡΡΠΎΡΠ½ΡΠΉ ΠΊΠ»ΡΡ Π΄Π»Ρ ΠΏΠΎΠ΄Π°ΡΠΈ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ Π½Π° RESET ΠΏΠΈΠ½.
— HVPP (High Voltage Parallel Programming) Π²ΡΡΠΎΠΊΠΎΠ²ΠΎΠ»ΡΡΠ½ΠΎΠ΅ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΊ ΠΎΡ 20 ΠΏΠΈΠ½ ΠΈ Π²ΡΡΠ΅, Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΡΡΠ·ΠΎΠ². Π’Π°ΠΊΠΆΠ΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ 12Π ΠΈ ΡΡΠ°Π½Π·ΠΈΡΡΠΎΡΠ½ΡΠΉ ΠΊΠ»ΡΡ Π΄Π»Ρ ΠΏΠΎΠ΄Π°ΡΠΈ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ Π½Π° RESET ΠΏΠΈΠ½.
— TPI (Tiny Programming Interface) Π’ΠΈΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΠΌΠΊ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° ATtiny4/5/9/10 (SOT23-6 package). Π’ΠΠ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ 3 Π²ΡΠ²ΠΎΠ΄Π°, ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π»ΠΈΠ±ΠΎ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ. RESET ΠΏΠΈΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°.
ΠΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ ΠΌΠΎΠΈΡ ΡΠ΅Π»Π΅ΠΉ. ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΡΡΠ°Π²ΠΈΠ» ΠΏΡΠΎΡΡΠ΅ΠΉΡΡΡ ΡΡ Π΅ΠΌΡ (ΡΠΈΡ.1) Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠΌ ΠΈΠ· ΠΌΠ°Π½ΡΠ°Π»Π° ScratchMonkey ΠΈ ΠΈΠ·Π³ΠΎΡΠΎΠ²ΠΈΠ» Π½Π° ΠΌΠ°ΠΊΠ΅ΡΠΊΠ΅ ΡΠΈΠΏΠ° ΡΠΈΠ»Π΄Π° Π΄Π»Ρ Arduino Nano (ΠΊΠ»ΠΎΠ½Π°), Π ΠΈΡ.2,3 (ΡΠΎΠ»ΡΠΊΠΎ ISP ΠΈ HVSP ΡΠ΅ΠΆΠΈΠΌΡ). Π’ΡΠ°Π½Π·ΠΈΡΡΠΎΡ Π»ΡΠ±ΠΎΠΉ n-p-n.
scratchmonkey_stk500v2.name=ScratchMonkey (STK500 Mode)
scratchmonkey_stk500v2.communication=serial
scratchmonkey_stk500v2.protocol=stk500v2
scratchmonkey_stk500v2_hvsp.name=ScratchMonkey HVSP (STK500 Mode)
scratchmonkey_stk500v2_hvsp.communication=serial
scratchmonkey_stk500v2_hvsp.protocol=stk500hvsp
ΠΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΡΠΈ ΡΡΡΠΎΠΊΠΈ Π² Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» IDE: arduino-1.6.12/hardware/arduino/avrp/rogrammers.txt. ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΊ ΡΡΠΈΠΌ ΡΡΡΠΎΡΠΊΠ°ΠΌ Π΅ΡΠ΅ ΠΏΠΎ 3 ΡΡΡΠΎΠΊΠΈ (Π²ΡΠ΄Π΅Π»Π΅Π½Ρ Π½Π° ΡΠΈΡ.4), Π±Π΅Π· Π½ΠΈΡ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ArduinoIDE ΠΈ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈΡΡ Π΄Π²Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ° ScrstchMonkey (Π ΠΈΡ.5).
Π IDE ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠΊΠ΅ΡΡ ScratchMonkey.ino ΠΈ ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π·Π°Π»ΠΈΡΡ Π² Arduino Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΎΠ΄Π½Ρ ΡΡΡΠΎΡΠΊΡ. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΈ Π²ΡΡΠΎΠΊΠΎΠ²ΠΎΠ»ΡΡΠ½ΠΎΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π±ΡΠ»ΠΎ Π²ΡΡΠ²Π»Π΅Π½ΠΎ, ΡΡΠΎ ΠΏΠΈΠ½ D11Arduino, ΠΏΠΎΠ΄Π°ΡΡΠΈΠΉ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΈΡΠ°Π½ΠΈΡ Π½Π° ΠΌΠΊ ΠΏΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ Π½Π΅ΠΌΡ ΠΎΡΡΠ°Π΅ΡΡΡ Π² 1, Π° Π·Π½Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΡΠΉ ΠΌΠΊ ΠΎΡΡΠ°Π΅ΡΡΡ ΠΏΠΎΠ΄ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π²ΡΠ΅ Π²ΡΠ΅ΠΌΡ, ΡΡΠΎ Β«Π½Π΅ Π΅ΡΡΡ Π³ΡΠ΄Β». Π― Π½Π΅ Π·Π½Π°Ρ Ρ ΠΊΠ°ΠΊΠΎΠΉ ΡΠ΅Π»ΡΡ Π°Π²ΡΠΎΡ ΡΡΠΎ ΡΠΏΡΡΡΠΈΠ», Π½ΠΎ ΠΏΡΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»Π½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΌΠΊ. ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ Π²ΠΊΠ»Π°Π΄ΠΊΡ Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ SMoHWIF_HVSP.h, Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡ Stop() ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΡΡΠΎΠΊΡ digitalWrite(HVSP_VCC, LOW) Π ΠΈΡ.6.
ΠΠΎΠΌΠΏΠΈΠ»ΠΈΠΌ ΠΈ Π·Π°Π»ΠΈΠ²Π°Π΅ΠΌ ΡΠΊΠ΅ΡΡ Π² Arduino (Π±Π΅Π· ΡΠΈΠ»Π΄Π°). ΠΡΡΠ°Π²Π»ΡΠ΅ΠΌ Arduino Π² ΡΠΈΠ»Π΄, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΊ ΡΠ°Π·ΡΠ΅ΠΌΡ (ISP ΠΈΠ»ΠΈ HVSP) ΡΠ΅ΡΠ΅Π· ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π½ΠΈΠΊ Attiny. ΠΠ»Ρ ΡΠ΅ΠΆΠΈΠΌΠ° HVSP ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ 12V. Π ΠΏΡΠ½ΠΊΡΠ΅ ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ/ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ (Π ΠΈΡ.5). Π ΠΏΡΠ½ΠΊΡΠ΅ Β«ΠΠ»Π°ΡΠ°Β» Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΡΠΈΠ½ΠΈ. ΠΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ATTiny Π² IDE Π·Π΄Π΅ΡΡ. ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ Π² IDE ΡΠ°ΠΉΠ» ΡΠΊΠ΅ΡΡΠ° Π΄Π»Ρ ΡΠΈΠ½ΠΈ ΠΈ Π·Π°Π»ΠΈΠ²Π°Π΅ΠΌ Π² ΠΌΠΊ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Β«ΠΠ°Π³ΡΡΠ·ΠΊΠ°Β» ΠΈΠ»ΠΈ Β«ΠΠ°Π³ΡΡΠ·ΠΈΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΒ».
Π§ΡΠΎ Π±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ AVR ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² ΠΈΠ· Arduino ΡΠΎΠ΄ΠΈΠ»Π°ΡΡ ΡΠ°ΠΊΠ°Ρ ΡΡ Π΅ΠΌΠ°, Π ΠΈΡ.7, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ°Ρ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ScratchMonkey.
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΠΌ ΡΡ Π΅ΠΌΠ° Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΏΡΠΎΡΠ΅, ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ°ΠΌΠΈ Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ. ΠΠ° Π»ΠΈΠ½ΠΈΠΈ ΠΏΠΎΡΡΠΎΠ² ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅Π·ΠΈΡΡΠΎΡΡ 1ΠΊΠΠΌ, Ρ ΡΠ΅Π»ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊΠ· Π½Π° ΡΡΠΈΡ Π»ΠΈΠ½ΠΈΡΡ ΠΏΡΠΈ Π½Π΅Π±Π»Π°Π³ΠΎΠΏΡΠΈΡΡΠ½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ . DD2 β dc/dc ΠΊΠΎΠ½Π²Π΅ΡΡΠ΅Ρ Π½Π° ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌΠ΅ ME2149F 5/12V c Aliexpres Π ΠΈΡ.8.
ΠΠ»ΠΈ ΡΠ°ΠΌΠΎΠ΄Π΅Π»ΡΠ½ΡΠΉ Π½Π° MC34063, Π ΠΈΡ.9. Π ΠΈΡ.9
SA1 Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π²ΡΡΠΎΠΊΠΎΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅Ρ Π½ΠΈΠ·ΠΊΠΎΠ²ΠΎΠ»ΡΡΠ½ΡΠΉ ΠΈ Π²ΡΡΠΎΠΊΠΎΠ²ΠΎΠ»ΡΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌΡ. Π‘Π²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ°. Π Π°Π·ΡΠ΅ΠΌ XR1 (Debag) Π΄Π»Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ°, Π΅ΡΠ»ΠΈ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΠΉΠ΄Π΅Ρ Π½Π΅ ΡΠ°ΠΊ ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ avrdude Π½Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ. ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ Π²ΡΠ²ΠΎΠ΄Π°ΠΌ RX ΠΈ ΠΎΠ±ΡΠΈΠΉ ΠΊΠΎΠ½Π²Π΅ΡΡΠ΅ΡΠ° USB/UART, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΊ ΡΠ°ΠΊΠΎΠΌΡ, Π ΠΈΡ.10:
ΠΡΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΊ ΡΠ°Π·ΡΠ΅ΠΌΡ HVPP ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΠ°Π±Π»ΠΈΡΠ΅ 1 ΠΈ Π΄Π°ΡΠ°ΡΠΈΡΡ.
Π§ΡΠΎΠ±Ρ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ TPI, ΠΊΠ°ΠΊ Π·Π°ΡΠ²Π»ΡΠ΅Ρ Π°Π²ΡΠΎΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠΏΠ°ΡΡΠΈΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ avrdude, Π·Π°Π½ΠΎΠ²ΠΎ ΡΠΎΠ±ΡΠ°ΡΡ ΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ.
ΠΡΠΎΠΏΠ°ΡΡΠ΅Π½Π½ΡΠ΅ ΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ avrdude.exe ΠΈ avrdude.conf Π²ΡΡΠ°Π²Π»ΡΡΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠΈ ArduinoIDE Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠ°ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². Π ΡΠ°ΠΉΠ» programmers.txt Π²ΡΡΠ°Π²Π»ΡΡΡΡΡ ΡΡΡΠΎΠΊΠΈ:
scratchmonkey.name=ScratchMonkey ISP/TPI
scratchmonkey.communication=serial
scratchmonkey.protocol=scratchmonkey
scratchmonkey.program.protocol= scratchmonkey
scratchmonkey.program.tool=avrdude
scratchmonkey.program.extra_params=-P
scratchmonkey_hvsp.name=ScratchMonkey HVSP
scratchmonkey_hvsp.communication=serial
scratchmonkey_hvsp.protocol=scratchmonkey_hvsp
scratchmonkey_hvsp.program.protocol= scratchmonkey_hvsp
scratchmonkey_hvsp.program.tool=avrdude
scratchmonkey_hvsp.program.extra_params=-P
scratchmonkey_hvpp.name=ScratchMonkey HVPP
scratchmonkey_hvpp.communication=serial
scratchmonkey_hvpp.protocol=scratchmonkey_pp
scratchmonkey_hvpp.program.protocol= scratchmonkey_hvpp
scratchmonkey_hvpp.program.tool=avrdude
scratchmonkey_hvpp.program.extra_params=-P
ΠΠΎΡΠΎΠ²ΠΎ. Π ΡΠΏΠΈΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠΎΠ² IDE Π΄ΠΎΠ»ΠΆΠ½Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡΡΡ ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ°:
ΠΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΡ ΠΈ TPI ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ScratchMonkey ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ avrdude, ΡΠΎ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ°ΠΌΠΈ Π΄ΡΠ΄Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Ρ AVR8-Barn-O-Mat (Π±Π°ΡΠ½ΠΎΠΌΠ°Ρ), Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ°Ρ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΡΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² avrdude, ΡΠΎΠ³Π΄Π° ΠΏΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ Β«Π±Π°ΡΠ½ΠΎΠΌΠ°ΡΠ°Β» Π² ΡΠΏΠΈΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠΎΠ² ΡΠ²ΠΈΠ΄ΠΈΠΌ ScratchMonkey. ΠΠ±ΠΎΠ»ΠΎΡΠΊΠΈ ΡΠ΄ΠΎΠ±Π½Ρ ΠΏΡΠΈ Π·Π°Π»ΠΈΠ²ΠΊΠ΅ HEX-ΡΠ°ΠΉΠ»ΠΎΠ².
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΡ, ISP, ΡΡΡΠ·Ρ
ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π·Π°Π³ΡΡΠ·ΠΊΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Π² Π°ΡΠ΄ΡΠΈΠ½ΠΎ ΡΠ΅ΡΠ΅Π· Π²Π½Π΅ΡΠ½ΠΈΠ΅ βΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΡβ. ΠΠ°Π²Π°ΠΉΡΠ΅ Π²ΡΠΏΠΎΠΌΠ½ΠΈΠΌ, ΠΎ ΡΠ΅ΠΌ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΠΏΠ΅ΡΠ²ΡΡ ΡΡΠΎΠΊΠΎΠ²: Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Π² Arduino Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π΄Π²ΡΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ:
ΠΠ°Π³ΡΡΠ·ΡΠΈΠΊ (bootloader)
ΠΠ°Π³ΡΡΠ·ΡΠΈΠΊ ΠΆΠΈΠ²ΡΡ Π² ΡΠ°ΠΌΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ Flash ΠΏΠ°ΠΌΡΡΠΈ ΠΠ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΡ, ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΡΠ΅ΡΠ΅Π· UART. ΠΠ°Π³ΡΡΠ·ΡΠΈΠΊ ΡΡΠ°ΡΡΡΠ΅Ρ ΠΏΡΠΈ ΠΏΠΎΠ΄Π°ΡΠ΅ ΠΏΠΈΡΠ°Π½ΠΈΡ Π½Π° ΠΠ, ΠΆΠ΄ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ (Π²Π΄ΡΡΠ³ ΠΊΡΠΎ-ΡΠΎ Π½Π°ΡΠ½ΡΡ ΡΠ»Π°ΡΡ ΠΊΠΎΠ΄ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΏΠΎ UART), Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅. Π ΡΠ°ΠΊ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΡΠΈ ΡΡΠ°ΡΡΠ΅ ΠΠ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ
ΠΠΎΠΌΠΈΠΌΠΎ Π·Π°ΠΏΠΈΡΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Π²ΠΎ flash ΠΏΠ°ΠΌΡΡΡ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ:
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ β Π²Π°Ρ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ Π΄ΡΡΠ³ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ βΠ³ΠΎΠ»ΡΠΌβ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠΌ, ΡΠΎ Π΅ΡΡΡ Π΄Π»Ρ Π΅Π³ΠΎ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ.
USB-TTL (UART)
ΠΡΠΎΡ ΡΠΏΠΎΡΠΎΠ± ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΏΡΡΠΌΠΎ Π½Π° ΠΏΠ»Π°ΡΠ°Ρ Arduino ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ USB-TTL (USB-UART) ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΏΠ»Π°ΡΡ ΠΊ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΊΠΎΠ΄. USB-TTL ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°Π³ΡΡΠ·ΠΊΡ Π΄Π°Π½Π½ΡΡ Π²ΠΎ flash, ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ (ΠΊΠ°ΠΊ Ρ ISP ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ°) Π΅ΠΌΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Ρ. Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΠΎΠ½ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°, Π½ΠΎ Π² ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅. Π’Π°ΠΊΠΆΠ΅ USB-TTL ΠΌΠΎΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠΌ ΠΏΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ (ΡΠΎΡ ΡΠ°ΠΌΡΠΉ Serial ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡ com ΠΏΠΎΡΡΠ°). ΠΡΡΡ ΠΏΠ»Π°ΡΡ Π±Π΅Π· Π±ΠΎΡΡΠΎΠ²ΠΎΠ³ΠΎ USB-TTL, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Arduino Pro Mini. ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π½ΠΈΠΌΠΈ Π½ΡΠΆΠ½ΠΎ ΠΊΡΠΏΠΈΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΉ USB-TTL ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π’Π°ΠΊΠΆΠ΅ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΡΠ΅ΡΠ΅Π· UART Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΈ Π² βΠ³ΠΎΠ»ΡΠΉβ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ Π½Π°Π»ΠΈΡΠΈΡ ΡΠ°ΠΌ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΏΠΈΡΠ΅Ρ ΠΏΡΠΈΠ½ΡΡΡΠΉ ΠΊΠΎΠ΄ Π²ΠΎ flash. ΠΡΠΎ Π·Π°ΠΏΠΈΡΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ° ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ Π½ΠΈΠΆΠ΅. UART βΠ·Π°Π³ΡΡΠΆΠ°ΡΠΎΡβ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ ΠΏΠΈΠ½Π°ΠΌ RX ΠΈ TX ΠΡΠ΄ΡΠΈΠ½ΠΎ (ΠΈΠ»ΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°), RX->TX ΠΈ TX->RX, ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π·Π΅ΠΌΠ»Ρ GND. ΠΡΠ»ΠΈ Ρ ΠΏΡΠΎΡΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΏΠ»Π°ΡΡ Π½Π΅Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΠΈΡΠ°Π½ΠΈΡ, ΡΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΈ ΠΏΠΈΡΠ°Π½ΠΈΠ΅. ΠΠ°Π³ΡΡΠ·ΡΠΈΠΊ ΠΎΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΠ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΠ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ±ΡΠΎΡΠ΅Π½ (ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ΅Π½), ΠΈ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½Π° ΠΏΠ»Π°ΡΠ°Ρ USB-UART Π΅ΡΡΡ Π²ΡΠ²ΠΎΠ΄ DTR (Data Terminal Ready), ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ ΠΏΠΈΠ½Ρ RST Reset ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ±ΡΠΎΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠ΅ΡΠ΅Π΄ Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ. ΠΠ° ΠΏΠ»Π°ΡΠ°Ρ Pro Mini Π΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΏΠΈΠ½ DTR.
USB-TTL | Arduino |
DTR | DTR |
RX | TX |
TX | RX |
GND | GND |
VCC/5V/3.3V | VCC |
ΠΠΈΡΠ°ΠΉΡΡ Π²ΡΠΏΡΡΠΊΠ°ΡΡ USB-TTL ΠΌΠΎΠ΄ΡΠ»ΠΈ Π² ΡΠΈΡΠΎΠΊΠΎΠΌ Π°ΡΡΠΎΡΡΠΈΠΌΠ΅Π½ΡΠ΅, Π½ΠΎ Π² ΡΠ΅Π»ΠΎΠΌ ΠΎΠ½ΠΈ Π²ΡΠ΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΡΡΡΠΈ. Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠΎΠΈΡΠΊΠ° Π½Π° aliexpress, ΠΈ ΡΡΡΠ»ΠΊΠ° Π½Π° Π²ΡΠ΅ USB-TTL Π² ΠΌΠΎΡΠΌ Π»ΡΠ±ΠΈΠΌΠΎΠΌ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅ WAVGAT. Π§ΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Ρ? Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΠ»Π°ΡΠΊΡ Π½Π° CP2102. ΠΠ΅ΡΠ΅Π΄ Π·Π°ΠΊΠ°Π·ΠΎΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Ρ Π½Π΅Π³ΠΎ Π΅ΡΡΡ Π²ΡΡ ΠΎΠ΄ DTR, ΠΈΠ½Π°ΡΠ΅ ΡΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ βΠΎΠ±ΡΠ΅Π½ΠΈΡβ Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠΌ ΡΠ΅ΡΠ΅Π· COM ΠΏΠΎΡΡ. ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΊΠΈΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ ΡΠΈΠΏΠ°, Π½Π° Π±Π°Π·Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΎΠ±ΡΠ°Π½ ΠΌΠΎΠ΄ΡΠ»Ρ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ CP2102, CH340/341, FT232, PL2303 ΠΈ Π΄ΡΡΠ³ΠΈΠ΅. ΠΡΠΎΡΠΈΠ²ΠΊΠ° Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ: Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΠΎΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΈΠ΄ΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π²Π΅ΡΡΠΈΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ° ΠΈ ΠΆΠΌΡΠΌ Π·Π°Π³ΡΡΠ·ΠΈΡΡ, Π²ΡΡ! ΠΠ°ΠΆΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ: Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΡ Π²Π΅ΡΡΠΈΡΡ ΠΏΠ»Π°Ρ Arduino Pro Mini Π½Π΅ ΡΠ°ΡΠΏΠ°ΡΠ½ ΠΏΠΈΠ½ DTR, Ρ.Π΅. ΠΎΠ½ Π½Π΅ ΠΈΠ΄ΡΡ Π½Π° RST ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ±ΡΠΎΡ ΠΏΠ΅ΡΠ΅Π΄ Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ±ΡΠΎΡ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ Π²ΡΡΡΠ½ΡΡ, ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ RST, Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈβ¦ ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ° (bootloader) Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Ρ Π»ΡΠ±ΠΎΠ³ΠΎ UART ΡΡΡΡΠΎΠΉΡΡΠ²Π°, Π΄Π°ΠΆΠ΅ ΡΠ΅ΡΠ΅Π· Bluetooth. ΠΠΎ ΠΎΠ± ΡΡΠΎΠΌ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌ ΡΡΠΎΠΊΠ΅.
Π€ΡΡΠ·Ρ (Pro)
Π€ΡΡΠ·Ρ (ΡΡΡΠ·-Π±ΠΈΡΡ) ΡΠ²Π»ΡΡΡΡΡ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΌΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΡΠ°Π½ΡΡΡΡ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ISP ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ°. ΠΡΠΎ ΡΠ°ΠΊΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΊΠ°ΠΊ Π²ΡΠ±ΠΎΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΡΠ°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ, Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΎΡΡΠ΅ΡΠΊΠΈ ΠΏΠΎ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΠΎΡΠ΅Π΅. Π€ΡΡΠ·-Π±ΠΈΡΡ ΡΠΎΠ±ΡΠ°Π½Ρ ΠΏΠΎ 8 ΡΡΡΠΊ Π² Π±Π°ΠΉΡΡ (Ρ.Π½. Π±Π°ΠΉΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ), ΠΊΠ°ΠΊ ΡΠΈΠΏΠΈΡΠ½ΡΠΉ ΡΠ΅Π³ΠΈΡΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° AVR. Π’Π°ΠΊΠΈΡ Π±Π°ΠΉΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ, ΠΎΠ½ΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ low fuses, high fuses, extended fuses. ΠΠ»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π±Π°ΠΉΡΠΎΠ² ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ ΡΡΡΠ·ΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎΡ ΡΠ°ΠΊΠΎΠΉ), Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠΎΡΡΠΎ ΡΡΠ°Π²ΡΡΡΡ Π³Π°Π»ΠΎΡΠΊΠΈ Π½Π° Π½ΡΠΆΠ½ΡΡ Π±ΠΈΡΠ°Ρ , ΠΈ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ Π³ΠΎΡΠΎΠ²ΡΠΉ Π±Π°ΠΉΡ Π² hex Π²ΠΈΠ΄Π΅. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ATmega328p:
ΠΠ°ΠΆΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ: Π² AVR Π±ΠΈΡΡ Ρ Π½Π°Ρ ΠΈΠ½Π²Π΅ΡΡΠ½ΡΠ΅, ΡΠΎ Π΅ΡΡΡ 1 ΡΡΠΎ Π²ΡΠΊΠ», 0 ΡΡΠΎ Π²ΠΊΠ». Π Π°ΡΡΡΠ°Π²Π»ΡΡ Π³Π°Π»ΠΎΡΠΊΠΈ Π² ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ΅, ΠΌΡ ΡΠΎΡΠΌΠΈΡΡΠ΅ΠΌ Π±Π°ΠΉΡ, Π³Π°Π»ΠΎΡΠΊΠ° ΡΡΠΎΠΈΡ β Π±ΠΈΡ Π²ΠΊΠ»ΡΡΠ΅Π½, Π½ΠΎ Π² ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅ΠΌ Π±Π°ΠΉΡΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π±ΠΈΡΡ ΡΠ²Π»ΡΡΡΡΡ Π½ΡΠ»ΡΠΌΠΈ. ΠΠ± ΡΡΠΎΠΌ ΡΡΠΎΠΈΡ Π·Π°Π΄ΡΠΌΡΠ²Π°ΡΡΡΡ ΠΏΡΠΈ ΡΡΡΠ½ΠΎΠΌ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΡΡΡΠ·-Π±Π°ΠΉΡΠ°, ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ± ΡΡΠΎΠΌ Π΄Π°ΠΆΠ΅ Π½Π΅ Π²ΡΠΏΠΎΠΌΠΈΠ½Π°ΡΡ. Π§ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π½Π°ΡΡΡΠΎΠΈΡΡ Π±ΠΈΡΡ?
* β ΠΏΡΠΎΡΠΈΠ²ΠΊΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π²ΡΡΠΎΠΊΠΎΠ²ΠΎΠ»ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ°
ΠΠΎΠΊ-Π±ΠΈΡΡ (Pro)
ΠΠΎΠΊ-Π±ΠΈΡΡ (lock-bits) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π΄ΠΎΡΡΡΠΏΠΎΠΌ ΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΎΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΠΊ-Π±ΠΈΡΡ ΡΠΎΠ±ΡΠ°Π½Ρ ΠΎΠΏΡΡΡ ΠΆΠ΅ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ Π»ΠΎΠΊ-Π±Π°ΠΉΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ: BOOTLOCK01, BOOTLOCK02, BOOTLOCK11, BOOTLOCK12, LOCKBIT1, LOCKBIT2 (Π΄Π»Ρ ATmega328). ΠΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Π»ΠΎΠΊ-Π±ΠΈΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ. BOOTLOCK Π±ΠΈΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π·Π°ΠΏΡΠ΅ΡΠΈΡΡ ΡΠ°ΠΌΠΎΠΌΡ ΠΠ Π·Π°ΠΏΠΈΡΡ (ΡΠ°ΠΌΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅) Π²ΠΎ flash ΠΏΠ°ΠΌΡΡΡ (ΠΎΠ±Π»Π°ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΠΎΠ±Π»Π°ΡΡΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°)
Π Π²ΠΎΡ Π»ΠΎΠΊΠ±ΠΈΡΡ LOCKBIT ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π·Π°ΠΏΡΠ΅ΡΠΈΡΡ Π·Π°ΠΏΠΈΡΡ ΠΈ ΡΡΠ΅Π½ΠΈΠ΅ flash ΠΈ EEPROM ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ·Π²Π½Π΅, ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ°, Ρ.Π΅. ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°ΡΠΈΡΠΈΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΡ ΠΎΡ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ ΠΈ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ:
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²ΠΊΠ»ΡΡΠΈΠ² LOCKBIT1 (Π»ΠΎΠΊ-Π±Π°ΠΉΡ Π±ΡΠ΄Π΅Ρ 0x3E) ΠΌΡ Π·Π°ΠΏΡΠ΅ΡΠΈΠΌ Π²Π½Π΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΡ Π²ΠΎ Flash ΠΈ EEPROM ΠΏΠ°ΠΌΡΡΡ, Ρ.Π΅. ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ISP ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ°, Π° Π²ΠΊΠ»ΡΡΠΈΠ² LOCKBIT1 ΠΈ LOCKBIT2 (Π»ΠΎΠΊ-Π±Π°ΠΉΡ: 0x3C) ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°Π±Π»ΠΎΠΊΠΈΡΡΠ΅ΠΌ Π·Π°ΠΎΠ΄Π½ΠΎ ΠΈ ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈΠ· ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°. ΠΠΎΠ²ΡΠΎΡΡΡΡ, Π²ΡΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ Π²ΡΡΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ATmega328p, Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΠ ΡΠΈΡΠ°ΠΉΡΠ΅ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ Π΄Π°ΡΠ°ΡΠΈΡΠ°Ρ .
ISP ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ
USBasp
ΠΠ΅ΡΡΠ²ΡΠ΅ ISP ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΡ ΡΠ°ΠΊΠΆΠ΅ Π΅ΡΡΡ Π² Π°ΡΡΠΎΡΡΠΈΠΌΠ΅Π½ΡΠ΅ Ρ ΠΊΠΈΡΠ°ΠΉΡΠ΅Π², ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Π±ΡΠ°ΡΡ USBasp ΠΊΠ°ΠΊ ΡΠ°ΠΌΡΠΉ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΉ. ΠΠΎΠΈΡΠΊΠ°ΡΡ Π½Π° Π°Π»ΠΈΡΠΊΡΠΏΡΠ΅ΡΡ, ΠΌΠ½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ Π²Π΅ΡΡΠΈΡ Π² ΠΊΠΎΡΠΏΡΡΠ΅. USBasp ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΉ Π²ΡΡ ΠΎΠ΄ 10-ΠΏΠΈΠ½ Π½Π° ΡΠ»Π΅ΠΉΡΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΊΡΠΏΠΈΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π½ΠΈΠΊ 10-ΠΏΠΈΠ½ Π½Π° 6-ΠΏΠΈΠ½, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠ°Π·Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ ISP headerβΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π΅ΡΡΡ Π½Π° Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΠΏΠ»Π°Ρ Arduino. ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅! ΠΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ Π±ΡΠ°ΠΊ Π² Π²ΠΈΠ΄Π΅ Π½Π΅ΠΏΡΠΎΠΏΠ°Ρ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ Π²ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΏΡΠΎΠΏΠ°ΡΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π½ΠΈΠΊ ΠΈ ΠΎΡΠΌΡΡΡ ΡΠ»ΡΡ (Π·ΡΠ±Π½Π°Ρ ΡΡΡΠΊΠ° + Π±Π΅Π½Π·ΠΈΠ½ ΠΊΠ°Π»ΠΎΡΠ°).
Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ
Π Π΅ΡΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ (Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π² Π»ΠΎΠ³Π΅ ΠΎΡΠΈΠ±ΠΊΠΈ):
ΠΠ»Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, ΡΠ°ΠΊΡΠΈΡΡΡΡΠ΅Π³ΠΎΡΡ Π½ΠΈΠ·ΠΊΠΎΠΉ ΡΠ°ΡΡΠΎΡΠΎΠΉ (ΠΌΠ΅Π½Π΅Π΅ 1 ΠΠΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΊΠ»ΠΎΠΊ):
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ Π² Π»ΠΎΠ³Π΅ Arduino IDE
avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor=’www.fischl.de’ product=’USBasp’ ΠΡΠΈΡΠΈΠ½Π° β ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Π½Π΅ Π²ΠΈΠ΄ΠΈΡ USB ASP
avrdude: error: program enable: target doesn’t answer. ΠΡΠΈΡΠΈΠ½Π° β usbasp Π½Π΅ Π²ΠΈΠ΄ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠΉ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ
Arduino as ISP
ΠΠΎΡΡΠΈ Π»ΡΠ±Π°Ρ Π΄ΡΡΠ³Π°Ρ ΠΏΠ»Π°ΡΠ° Arduino ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡ ISP ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠΎΠΌ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π² Π½Π΅Ρ ΡΠΊΠ΅ΡΡ ArduinoISP:
ISP ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ ΡΠ΅ΡΡΡΠ΅ΠΌ ΠΏΠΈΠ½Π°ΠΌ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, Π½Π΅ ΡΡΠΈΡΠ°Ρ ΠΏΠΈΡΠ°Π½ΠΈΡ: ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠΈΠ½ΠΎΠ² ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΡΠ±ΡΠΎΡ, ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ β Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ . Π§ΡΠΎΠ±Ρ ΠΏΠ»Π°ΡΠ°-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ Π½Π΅ ΡΠ±ΡΠ°ΡΡΠ²Π°Π»Π°ΡΡ ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅, Π½Π° Π½Π΅Ρ Π½ΡΠΆΠ½ΠΎ:
Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ
ΠΠ»Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, ΡΠ°ΠΊΡΠΈΡΡΡΡΠ΅Π³ΠΎΡΡ Π½ΠΈΠ·ΠΊΠΎΠΉ ΡΠ°ΡΡΠΎΡΠΎΠΉ (ΠΌΠ΅Π½Π΅Π΅ 1 ΠΠΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΊΠ»ΠΎΠΊ):
Π Π°Π±ΠΎΡΠ° Π² Arduino IDE
ΠΡΠΎΡΠΈΠ²ΠΊΠ° Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°
ΠΠ· Arduino IDE ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ISP ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ° ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π΄ΡΡΠ³ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ (ΠΏΠΎ ΡΠ°ΠΊΡΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ + ΡΡΡΠ·Ρ) ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠΊΠ΅ΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ/ΠΏΡΠΎΡΠΈΡΡ ΡΡΡΠ·Ρ ΠΈ Π»ΠΎΠΊ-Π±ΠΈΡΡ, Π½ΠΎ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ. ΠΠΎΠ³Π΄Π° ΠΌΡ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΠ»Π°ΡΡ Π² ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ > ΠΠ»Π°ΡΠ° ΠΈ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ Π² ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ > ΠΠ»Π°ΡΠ° (Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ, bootloader), Arduino IDE Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄Π΅Π»Π°Π΅Ρ βΠ°ΠΊΡΠΈΠ²Π½ΡΠΌβ Π½ΡΠΆΠ½ΡΠΉ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ. ΠΠ°ΠΆΠΈΠΌΠ°Ρ ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ > ΠΠ°ΠΏΠΈΡΠ°ΡΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ ΠΌΡ ΠΏΡΠΎΡΠΈΠ²Π°Π΅ΠΌ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ ΠΏΠ»Π°ΡΠ΅ ΠΈ Π΅Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌ. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Ρ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠΎΠΌ ΠΏΡΠΎΡΠΈΠ²Π°ΡΡΡΡ ΡΡΡΠ·Ρ ΠΈ Π»ΠΎΠΊ-Π±ΠΈΡΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ ΠΏΠ»Π°ΡΠ΅ Π² Arduino IDE. ΠΠ°ΠΊ ΠΈ Π³Π΄Π΅ ΠΈΡ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ, ΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΡΡΡ Π½ΠΈΠΆΠ΅. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ° Π΄Π»Ρ atmega328, ΡΡΠΎΡΡΠ΅ΠΉ Π½Π° ΠΊΠΈΡΠ°ΠΉΡΠΊΠΎΠΉ ΠΏΠ»Π°ΡΠ΅ Arduino NANO. ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΊΠΈΡΠ°ΠΉΡΡ ΠΏΡΠΎΡΠΈΠ²Π°ΡΡ Π² ΠΠ ΡΡΠ°ΡΡΡ Π²Π΅ΡΡΠΈΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ old bootloader Π² ΠΌΠ΅Π½Ρ ΠΏΠ»Π°ΡΡ. ΠΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ»Π°ΡΡ ΠΈΠ΄ΡΡ Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠΎΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΠΌΠΈ ΠΏΠ»Π°ΡΠ°ΠΌΠΈ Π½Π°ΠΌ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π²ΡΠ±ΠΈΡΠ°ΡΡ old bootloader Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΡΠ΅ΡΠ΅Π· Π±ΠΎΡΡΠΎΠ²ΠΎΠΉ usb ΠΏΠΎΡΡ. ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΠΌ usbasp ΠΏΠΎ ΡΡ Π΅ΠΌΠ΅ Π²ΡΡΠ΅, Π²ΡΠ±Π΅ΡΠ΅ΠΌ Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ Π² ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ > ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ, Π²ΡΠ±Π΅ΡΠ΅ΠΌ ΠΏΠ»Π°ΡΡ Arduino NANO, Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ Π΄Π»Ρ atmega328 (ΠΏΠ΅ΡΠ²ΡΠΉ Π² ΡΠΏΠΈΡΠΊΠ΅). ΠΠ°ΠΆΠΌΡΠΌ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ. ΠΡΡ! Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠ»Π°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΈΡΡ ΡΠ΅ΡΠ΅Π· Π±ΠΎΡΡΠΎΠ²ΠΎΠΉ usb ΠΏΠΎΡΡ, Π²ΡΠ±ΠΈΡΠ°Ρ ΠΏΠ΅ΡΠ²ΡΠΉ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ. ΠΠ½ ΠΊΡΡΠ°ΡΠΈ Π»Π΅Π³ΡΠ΅, Π±ΡΡΡΡΠ΅Π΅ βΠΏΡΠΎΡΠΈΠ²Π°Π΅Ρβ ΠΈ ΡΠ°ΠΌΠ° ΠΏΡΠΎΡΠΈΠ²ΠΊΠ° Π±ΡΡΡΡΠ΅Π΅ βΠ·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡβ.
ΠΠ°ΠΊ ΡΠ±ΡΠ°ΡΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ?
Π ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌ βΡΠ΄ΡΠ΅β Arduino Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½ Π²Π°ΡΠΈΠ°Π½Ρ βΠ±Π΅Π· Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°β. ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²ΡΡΡΠ½ΡΡ ΡΠ±ΡΠ°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°, Π½ΡΠΆΠ½ΠΎ ΡΠΌΠ΅ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ boards.txt ΠΈ ΡΡΡΠ·Π°ΠΌΠΈ: Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΡΠ· BOOTRST ΠΈ ΠΏΠΎΠ΄ΠΏΡΠ°Π²ΠΈΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠΊΠ΅ΡΡΠ°. ΠΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ β Π½Π°ΠΉΡΠΈ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΄ΡΠΎ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π²ΡΠ±ΠΎΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ° Ρ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ βΠ±Π΅Π· Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°β, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ ATmega328 ΡΡΠΎ miniCore ΠΈ Π½Π°ΡΠ΅ GyverCore. ΠΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΠ΄ΡΠ° ΠΏΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π½Π΅Π΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, Π²ΡΠ±ΡΠ°ΡΡ ΠΏΠ»Π°ΡΡ, ΡΠΊΠ°Π·Π°ΡΡ Π²Π°ΡΠΈΠ°Π½Ρ βΠ±Π΅Π· Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°β ΠΈ Π½Π°ΠΆΠ°ΡΡ βΠΠ°ΠΏΠΈΡΠ°ΡΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊβ. Π ΠΠ Π±ΡΠ΄ΡΡ ΠΏΡΠΎΡΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΡΠ·Ρ.
ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΡΠΊΠ΅ΡΡΠ°
Π€ΡΡΠ·Ρ
Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ boards.txt ΠΈ Π½Π°ΠΉΡΠΈ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π² ΠΏΠ°ΠΏΠΊΠ΅ Ρ ΡΠ΄ΡΠΎΠΌ Arduino: C:\Program Files (x86)\Arduino\hardware\arduino\avr\boards.txt. ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π½Π° boards.txt ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΈΡΠ°ΡΡ Π·Π΄Π΅ΡΡ. ΠΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ²Π΅ΡΡΠΈ Π½ΡΠΆΠ½ΡΠ΅ ΡΡΡΠ·Ρ ΡΠ΅ΡΠ΅Π· ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ (ΡΠΈΡΠ°ΠΉΡΠ΅ Π²ΡΡΠ΅), ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΡ Π² boards.txt (Π³Π»Π°Π²Π½ΠΎΠ΅ Π½Π΅ Π·Π°ΠΏΡΡΠ°ΡΡΡΡ, Π΄Π»Ρ ΠΊΠ°ΠΊΠΎΠΉ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΠ»Π°ΡΡ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅) ΠΈ ΠΏΡΠΎΡΠΈΡΡ Π² ΠΠ, Π½Π°ΠΆΠ°Π² ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ > ΠΠ°ΠΏΠΈΡΠ°ΡΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ.
Π’Π°ΠΊΠ°Ρ ΡΠ°Π±ΠΎΡΠ° Ρ ΡΡΡΠ·Π°ΠΌΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π½Π΅ΡΠ΄ΠΎΠ±Π½Π°, Π½ΠΎ Π΅ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ:
Avrdudeprog
ΠΠΈΠ΄Π΅ΠΎ
ΠΡΠΎ ΠΡΠ΄ΡΠΈΠ½ΠΎ ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ
ΡΠ΅ΡΠ²Π΅ΡΠ³, 19 ΠΈΡΠ»Ρ 2018 Π³.
ΠΡΡΡ Ρ ΠΌΠ΅Π½Ρ ΠΏΠ°ΡΠ° ΠΈΠ΄Π΅ΠΉ Π΄Π»Ρ Π±ΡΠ΄ΡΡΠΈΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΉ, Π½ΠΎ Π² Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ. ΠΠΎΡΡΠΎΠΌΡ ΡΠ΅Π³ΠΎΠ΄Π½Ρ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ ΠΡΠ΄ΡΠΈΠ½ΠΎ Π² ISP ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ, Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΠΎΠ½ Π½ΡΠΆΠ΅Π½ ΠΈ ΠΊΠ°ΠΊ ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ. Π Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π±ΡΠ΄Π΅Ρ ΠΎΠΏΠΈΡΠ°Π½Π° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ° Π² ΠΡΠ΄ΡΠΈΠ½ΠΎ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ISP?
ISP (In-System Programming) ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π²Π½ΡΡΡΠΈΡΡ Π΅ΠΌΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΡΠΎ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ Π² ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ. ΠΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π»ΠΈΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ Π² ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ, Π° Π΄Π»Ρ ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ ΠΈΡ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ 2 ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° Π²Π½ΡΡΡΠΈΡΡ Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ:
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ° ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, ΡΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅. ΠΠΎ Π·Π° ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠ»Π°ΡΠΈΡΡ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΡΠ°ΡΡΡ ΠΠΠ£ ΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΡΡΠ°Π΅ΡΡΡ ΠΌΠ΅Π½ΡΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠΎ-Π²ΡΠΎΡΡΡ , Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Fuse-Π±ΠΈΡΡ ΠΈ Lock-Π±ΠΈΡΡ (Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠΎΠ²). ΠΡ ΠΈ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π½Π΅ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ Π±Π΅Π· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ°, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π±ΡΡΠ»ΠΎΠ°Π΄Π΅Ρ ΠΈΠ»ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π΅Π³ΠΎ Π² ΡΠΈΡΡΡΠΉ ΠΠ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΡΠ΄ Π·Π°Π΄Π°Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ°. ΠΡΠ»ΠΈ ΠΆΠ΅ Ρ Π²Π°Ρ Π½Π΅Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ°, ΡΠΎ Π²ΠΌΠ΅ΡΡΠΎ Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΡΠ΄ΡΠΈΠ½ΠΎ, ΠΎ ΡΠ΅ΠΌ ΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΊΠ°Π·Π°Π½ΠΎ Π΄Π°Π»ΡΡΠ΅.
Arduino as ISP. ΠΡΠΎΡΠΈΠ²ΠΊΠ° Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ° Π² ΠΡΠ΄ΡΠΈΠ½ΠΎ.
ΠΡΠ°ΠΊ, ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ ΠΡΠ΄ΡΠΈΠ½ΠΎ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ. ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΏΡΠΎΡΠΈΡΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ Π² ΡΠ΅Π»Π΅Π²ΡΡ ΠΏΠ»Π°ΡΡ ΠΡΠ΄ΡΠΈΠ½ΠΎ. Π‘Π½Π°ΡΠ°Π»Π° ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠΌ ΠΏΠ»Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΠΌ Π² Π½Π΅Π΅ ΡΠΊΠ΅ΡΡ ArduinoISP, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ :
ΠΡΠ»ΠΈ ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Ρ Π΄Π²ΡΠΌΡ ΠΏΠ»Π°ΡΠ°ΠΌΠΈ Arduino Uno, ΡΠΎ ΡΡ Π΅ΠΌΠ° ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π½Π΅ Uno, Π° Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠ»Π°ΡΡ ΠΡΠ΄ΡΠΈΠ½ΠΎ, ΡΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ° ΠΊ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ»Π°ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΠΎΡΠ½ΠΈΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄ΠΎΠ² MOSI, MISO ΠΈ SCK. ΠΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΠ»Π°Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΎ Π½ΠΈΠΆΠ΅ Π² ΡΠ°Π±Π»ΠΈΡΠ΅. ΠΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ, Π½Π΅ Π½Π° Π²ΡΠ΅Ρ ΠΏΠ»Π°ΡΠ°Ρ ΠΡΠ΄ΡΠΈΠ½ΠΎ Π»ΠΈΠ½ΠΈΠΈ SPI ΠΌΡΠ»ΡΡΠΈΠΏΠ»Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½Ρ Ρ ΡΠΈΡΡΠΎΠ²ΡΠΌΠΈ Π²ΡΠ²ΠΎΠ΄Π°ΠΌΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ Π΄Π°Π½Π½ΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π·ΡΠ΅ΠΌ ICSP. ΠΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Uno Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ° ΠΊ ΠΏΠ»Π°ΡΠ΅ Nano ΡΠ΅ΡΠ΅Π· ICSP ΡΠ°Π·ΡΠ΅ΠΌ.
ΠΠ»Π°ΡΠ° ΠΡΠ΄ΡΠΈΠ½ΠΎ | MOSI | MISO | SCK | Π£ΡΠΎΠ²Π΅Π½Ρ |
---|---|---|---|---|
Uno, Duemilanove | 11 ΠΈΠ»ΠΈ ICSP-4 | 12 ΠΈΠ»ΠΈ ICSP-1 | 13 ΠΈΠ»ΠΈ ICSP-3 | 5Π |
Nano | 11 ΠΈΠ»ΠΈ ICSP-4 | 12 ΠΈΠ»ΠΈ ICSP-1 | 13 ΠΈΠ»ΠΈ ICSP-3 | 5Π |
Pro Mini | 11 | 12 | 13 | 3.3Π ΠΈΠ»ΠΈ 5Π |
Mega1280, Mega2560 | 51 ΠΈΠ»ΠΈ ICSP-4 | 50 ΠΈΠ»ΠΈ ICSP-1 | 52 ΠΈΠ»ΠΈ ICSP-3 | 5Π |
Leonardo | ICSP-4 | ICSP-1 | ICSP-3 | 5Π |
Due | ICSP-4 | ICSP-1 | ICSP-3 | 3.3Π |
Zero | ICSP-4 | ICSP-1 | ICSP-3 | 3.3Π |
101 | 11 ΠΈΠ»ΠΈ ICSP-4 | 12 ΠΈΠ»ΠΈ ICSP-1 | 13 ΠΈΠ»ΠΈ ICSP-3 | 3.3Π |
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΡ Π²ΡΠ²ΠΎΠ΄ΠΎΠ² ICSP ΠΏΠ»Π°ΡΡ Nano: ΠΎΠ½Π° Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΏΡΠ°Π²ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡΠ³Π»Π°. ΠΠΎΡΡΠΎΠΌΡ Π½Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΡΡ Π΅ΠΌΠ΅ Arduino Nano ΠΏΠ΅ΡΠ΅Π²Π΅ΡΠ½ΡΡΠ°.
Π’Π΅ΠΏΠ΅ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²Π΅ΡΠ½ΡΡΡΡΡ Π² Arduino IDE ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π² Π½Π΅ΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
Π Π΅Π·ΡΠΌΠΈΡΡΡ Π²ΡΡΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅, Π²ΡΠ΄Π΅Π»ΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ°Π³ΠΈ Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΡΠ΄ΡΠΈΠ½ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ISP ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ°: