Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ Arduino. ΠΠ°ΠΊΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Arduino ΡΡΡΠ΅ΡΡΠ²ΡΡΡ. ΠΠ»Ρ ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΠ»Π°ΡΡ Arduino. ΠΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Arduino. ΠΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π½Π° Arduino.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ Arduino
Arduino — ΡΡΠΎ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ½ΡΡ ΠΏΠ»Π°Ρ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ². ΠΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ Arduino ΠΈΠΌΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ:
- ΠΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° 8-Π±ΠΈΡΠ½ΡΡ ΠΈ 32-Π±ΠΈΡΠ½ΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°Ρ Atmel AVR ΠΈ ARM
- ΠΠΌΠ΅ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ (USB, I2C, SPI ΠΈ Π΄Ρ.)
- ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· USB Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ·ΡΠΊΠ° Arduino (Π½Π° Π±Π°Π·Π΅ C++)
- ΠΠΌΠ΅ΡΡ ΠΎΡΠΊΡΡΡΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄
- ΠΠ΅Π΄ΠΎΡΠΎΠ³ΠΈ ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄Π»Ρ Π»ΡΠ±ΠΈΡΠ΅Π»Π΅ΠΉ ΡΠ»Π΅ΠΊΡΡΠΎΠ½ΠΈΠΊΠΈ
Arduino ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° — ΠΎΡ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΡ Π΄ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ. ΠΡΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ, Π² Ρ ΠΎΠ±Π±ΠΈ-ΡΠ»Π΅ΠΊΡΡΠΎΠ½ΠΈΠΊΠ΅ ΠΈ ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΡΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ°Ρ .
ΠΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠ»Π°Ρ Arduino
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Arduino Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ Π·Π°Π΄Π°Ρ. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΠΈΠ· Π½ΠΈΡ :
- Arduino Uno — Π±Π°Π·ΠΎΠ²Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π½Π° ATmega328P, 14 ΡΠΈΡΡΠΎΠ²ΡΡ Π²Ρ ΠΎΠ΄ΠΎΠ²/Π²ΡΡ ΠΎΠ΄ΠΎΠ²
- Arduino Nano — ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ Uno
- Arduino Mega — ΡΠ°ΡΡΠΈΡΠ΅Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ Ρ 54 ΡΠΈΡΡΠΎΠ²ΡΠΌΠΈ Π²Ρ ΠΎΠ΄Π°ΠΌΠΈ/Π²ΡΡ ΠΎΠ΄Π°ΠΌΠΈ
- Arduino Leonardo — Π½Π° ATmega32U4 Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ USB
- Arduino Due — Π½Π° 32-Π±ΠΈΡΠ½ΠΎΠΌ ARM-ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ΅
- Arduino YΓΊn — ΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ Wi-Fi ΠΈ Linux
ΠΡΠ±ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ° — ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΏΠΈΠ½ΠΎΠ², ΠΎΠ±ΡΠ΅ΠΌΠ° ΠΏΠ°ΠΌΡΡΠΈ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Arduino
ΠΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Arduino ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Arduino IDE. ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΈΡΠ°ΡΡ ΡΠΊΠ΅ΡΡΠΈ Π½Π° ΡΠ·ΡΠΊΠ΅ Arduino, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ ΠΈ Π·Π°Π³ΡΡΠΆΠ°ΡΡ Π² ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠ°ΠΏΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Arduino:
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Arduino IDE Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ
- ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠ»Π°ΡΡ Arduino ΡΠ΅ΡΠ΅Π· USB
- ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (ΡΠΊΠ΅ΡΡΠ°) Π² Arduino IDE
- ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠΊΠ΅ΡΡΠ° Π² ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ
- ΠΠ°ΠΏΡΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Arduino
Arduino IDE ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π³ΠΎΡΠΎΠ²ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΡΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ. ΠΠ°Π·ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ·ΡΠΊΠ° Arduino ΠΏΠΎΡ ΠΎΠΆΠΈ Π½Π° C++, Π½ΠΎ Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΡΡ.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² Arduino
Arduino ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΈΡΠΎΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²:
- Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π°ΠΌΠΈ, ΡΠ΅Π»Π΅, Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΡΠΌΠΈ
- ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π΄Π°ΡΡΠΈΠΊΠΎΠ²
- Π Π°Π±ΠΎΡΠ° Ρ Π΄ΠΈΡΠΏΠ»Π΅ΡΠΌΠΈ ΠΈ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌΠΈ
- ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π°Π½Π½ΡΡ ΠΏΠΎ ΠΏΡΠΎΠ²ΠΎΠ΄Π½ΡΠΌ ΠΈ Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌ
- ΠΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π·Π²ΡΠΊΠ°
- Π‘ΡΠΈΡΡΠ²Π°Π½ΠΈΠ΅ Π½Π°ΠΆΠ°ΡΠΈΠΉ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΎΡΠ³Π°Π½ΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ
- Π Π°Π±ΠΎΡΠ° Ρ ΠΊΠ°ΡΡΠ°ΠΌΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
- ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ (ΡΠΈΠ»Π΄ΠΎΠ²)
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Arduino ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Ρ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠ°Π½ΡΠ°Π·ΠΈΠ΅ΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°. ΠΠ° Π±Π°Π·Π΅ ΡΡΠΈΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΡΠ°ΠΌΡΠ΅ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° — ΠΎΡ ΠΏΡΠΎΡΡΡΡ Π΄Π°ΡΡΠΈΠΊΠΎΠ² Π΄ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΠΎΠ±ΠΎΡΠΎΠ².
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Arduino Π² ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
Arduino ΡΠΈΡΠΎΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½ΠΈΠΊΠΈ ΠΈ ΡΠΎΠ±ΠΎΡΠΎΡΠ΅Ρ Π½ΠΈΠΊΠΈ. ΠΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Arduino:
- Π£ΠΌΠ½ΡΠΉ Π΄ΠΎΠΌ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ
- Π ΠΎΠ±ΠΎΡΠΎΡΠ΅Ρ Π½ΠΈΠΊΠ° ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ
- ΠΠ΅ΡΠ΅ΠΎΡΡΠ°Π½ΡΠΈΠΈ ΠΈ ΡΠΊΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³
- ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠ΅ Π°ΡΡ-ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΠΈ
- ΠΡΠΎΡΠΎΡΠΈΠΏΡ Π½ΠΎΡΠΈΠΌΠΎΠΉ ΡΠ»Π΅ΠΊΡΡΠΎΠ½ΠΈΠΊΠΈ
- ΠΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π½Π°Π±ΠΎΡΡ ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ
- Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠΌ ΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠΎΠΉ
- Π‘ΠΈΡΡΠ΅ΠΌΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ
Arduino ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΡΡΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ΄Π΅Ρ Π² Π²ΠΈΠ΄Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ°. ΠΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠΉ ΠΊΠ°ΠΊ ΡΡΠ΅Π΄ΠΈ Π»ΡΠ±ΠΈΡΠ΅Π»Π΅ΠΉ, ΡΠ°ΠΊ ΠΈ Π² ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Arduino Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²
Arduino ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ΄ Π²Π°ΠΆΠ½ΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ»ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ ΠΎΠ³ΡΠΎΠΌΠ½ΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ:
- ΠΡΠΎΡΡΠΎΡΠ° ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΡ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
- ΠΠΈΠ·ΠΊΠ°Ρ ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ
- ΠΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΡΡΡ (Windows, Mac OS, Linux)
- ΠΠ±ΡΠΈΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ ΠΈ Π±Π°Π·Π° Π·Π½Π°Π½ΠΈΠΉ
- ΠΠΎΠ»ΡΡΠΎΠΉ Π²ΡΠ±ΠΎΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΈ Π΄Π°ΡΡΠΈΠΊΠΎΠ²
- ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²
- ΠΡΠΊΡΡΡΠ°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄
ΠΡΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Π΄Π΅Π»Π°ΡΡ Arduino ΠΎΡΠ»ΠΈΡΠ½ΡΠΌ Π²ΡΠ±ΠΎΡΠΎΠΌ Π΄Π»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½ΠΈΠΊΠ΅, Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π΅Π΄ΠΎΡΠΎΠ³ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ².
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Arduino
ΠΡΠΈ Π²ΡΠ΅Ρ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π°Ρ , Ρ Arduino Π΅ΡΡΡ ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ:
- ΠΠ΅Π²ΡΡΠΎΠΊΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ
- ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ
- ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ
- ΠΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΡΡΡΠΎΠΉΡΡΠ² Ρ Π²ΡΡΠΎΠΊΠΈΠΌΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌΠΈ ΠΊ ΡΠ½Π΅ΡΠ³ΠΎΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ
- ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π²ΠΈΠ΄Π΅ΠΎ ΠΈ Π°ΡΠ΄ΠΈΠΎ
ΠΠ»Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ Π·Π°Π΄Π°Ρ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Arduino Π² ΡΠ²ΡΠ·ΠΊΠ΅ Ρ ΠΎΠ΄Π½ΠΎΠΏΠ»Π°ΡΠ½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°ΠΌΠΈ Π²ΡΠΎΠ΄Π΅ Raspberry Pi. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠΎΡΠ΅ΡΠ°ΡΡΠΈΠ΅ ΠΏΡΠΎΡΡΠΎΡΡ Arduino ΠΈ ΠΌΠΎΡΠ½ΠΎΡΡΡ Linux-ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ².
ΠΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Ρ ΡΠ°Π·Π²ΠΈΡΠΈΡ Arduino
ΠΠ»Π°ΡΡΠΎΡΠΌΠ° Arduino ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΡΡ. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ:
- ΠΡΠΏΡΡΠΊ Π½ΠΎΠ²ΡΡ , Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡΠ½ΡΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΏΠ»Π°Ρ
- ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² (Wi-Fi, Bluetooth)
- Π Π°Π·Π²ΠΈΡΠΈΠ΅ ΠΎΠ±Π»Π°ΡΠ½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π΄Π»Ρ IoT-ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ²
- Π£Π»ΡΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Arduino IDE
- Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ
- Π Π°Π·Π²ΠΈΡΠΈΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° Π±Π°Π·Π΅ Arduino
Arduino ΠΎΡΡΠ°Π΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ Π΄Π»Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ²ΠΎΡΡΠ΅ΡΡΠ²Π° ΠΈ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ΅ ΠΏΡΠΎΡΡΠΎΡΠ° ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΡΠ°ΠΌΡΠ΅ ΡΠΌΠ΅Π»ΡΠ΅ ΠΈΠ΄Π΅ΠΈ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠ»Π΅ΠΊΡΡΠΎΠ½ΠΈΠΊΠΈ ΠΈ ΡΠΎΠ±ΠΎΡΠΎΡΠ΅Ρ Π½ΠΈΠΊΠΈ.
Go Π΄Π»Ρ ΡΠ°ΠΌΡΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΡ . Π Π°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌ Π΄Π»Ρ Arduino ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² / Π₯Π°Π±Ρ
Π―Π·ΡΠΊ Go Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡΠΎΡΡΠΎΡΠ΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π² Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΠΎΠ±ΡΠ°Π· ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°ΡΠ½ΠΎΡΡΠΈ ΡΡΠ°Π», Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΌΡΡΠ»Π΅, «ΡΠ΅ΡΠ΅Π±ΡΡΠ½ΠΎΠΉ ΠΏΡΠ»Π΅ΠΉ» Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ, ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ Ρ Rust, ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π» ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π»Π°Π½Π΄ΡΠ°ΡΡ Π΄Π»Ρ DevOps. ΠΠΎ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ Π½Π°Π±ΠΎΡΠ° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² LLVM, ΡΡΠ°Π»ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Go ΠΈ Π΄Π»Ρ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠΈΡΡΠ΅ΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Android/iOS (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΠ΅ΠΊΡΡ android-go ΠΈΠ»ΠΈ gomobile) ΠΈΠ»ΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ². Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° TinyGo, Π΅Π³ΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°Ρ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ C++ Π΄Π»Ρ Arduino ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ², ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ (Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ΡΠΈΠ½Ρ SPI Π΄Π»Ρ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π½ΠΎΠΉ Π»Π΅Π½ΡΡ WS2812).
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π² LLVM + clang «ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ» ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ΅Π»Π΅Π²ΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ (Π²ΠΊΠ»ΡΡΠ°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ AVR, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°Ρ Arduino) ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Ρ Golang Compiler Π²Π΅ΡΡΠΌΠ° Π·Π½Π°ΡΠΈΡΠ΅Π»Π΅Π½ ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ, ΡΡΠΎ Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π±Π»ΠΎΠΊΠΈΡΡΡΡΠΈΠΌ ΡΠ°ΠΊΡΠΎΡΠΎΠΌ. ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΠΏΡΠΎΠ΅ΠΊΡ TinyGo — Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΉ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠΎΠ·Π΄Π°ΡΡΠΈΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½ Π΄Π°ΠΆΠ΅ Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ Ρ ΠΎΡΠ΅Π½Ρ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΌΠΎΠΌ ΠΏΠ°ΠΌΡΡΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π±ΡΠ΄ΠΆΠ΅ΡΠ½ΠΎΠ³ΠΎ Arduino Uno Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΡΡΡΡ ΠΌΠ΅Π½ΡΡΠ΅ 8ΠΊΠ± Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ). ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ AVR ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ»ΠΈΡΠ½Π°Ρ ΠΎΡ ΠΏΡΠΈΠ½ΡΡΠΎΠΉ Π½Π° Intel-Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°ΡΠ½ΠΎΡΡΠΈ, ΡΡΠΎ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ (ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½Ρ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ²), ΡΠ°ΠΊ ΠΈ Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΠ·ΡΠΊΠ° Go ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ (goroutines, Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ, ΡΠ±ΠΎΡΠΊΠ° ΠΌΡΡΠΎΡΠ°). ΠΡΠΈ ΡΡΠΎΠΌ, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° Go, ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠ±ΡΠ°Π·Π° Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π² ΡΡΠ΅Π΄Π½Π΅ΠΌ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Ρ ΡΠ·ΡΠΊΠ° C (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ «ΠΌΠΈΠ³Π°Π»ΠΊΠ°» Π½Π° C ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΎΠ±ΡΠ°Π· Π² 924 Π±Π°ΠΉΡΠ°, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ TinyGo ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΎΠ±ΡΠ°Π· 560 Π±Π°ΠΉΡ).
ΠΡΠΎΠ΅ΠΊΡ TinyGo Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ (ΡΠΎΠ·Π΄Π°ΡΡΠΈΠΉ IR-ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π² LLVM Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΉ), Π½Π°Π±ΠΎΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² Π΄Π»Ρ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ (ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π· ΡΠΈΠ½Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°), Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·Π° ΠΈ Π΅Π³ΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ. Π¦Π΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°Ρ AVR (Π²ΡΠ΅ Arduino), ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° Xtensa (ESP32/ESP8266), ARM ΠΈ ΡΠ°ΡΡΠΈΡΠ½ΠΎ RISC-V. Π’Π°ΠΊΠΆΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ Linux ΠΈ WebAssembly (Π² ΡΡΠ΅Π΄Π½Π΅ΠΌ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠ±ΡΠ°Π·Π° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π² ΡΠ΅Π»Π΅Π²ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ wasm32 ΡΠ΅ΡΠ΅Π· ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Go).
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ±ΡΠ°Π½ ΠΈΠ· ΠΈΡΡ
ΠΎΠ΄Π½ΡΡ
ΡΠ΅ΠΊΡΡΠΎΠ², ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π΄Π»Ρ Windows / Linux ΠΈΠ»ΠΈ MacOS, Π° ΡΠ°ΠΊΠΆΠ΅ Π·Π°ΠΏΡΡΠ΅Π½ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Docker. ΠΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΈΠ· ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² Π½Π° Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ΅ AVR Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ avr-gcc
, avr-libc
ΠΈ avrdude
(Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠΎΠΌ).
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΡΡΠΈΠ»ΠΈΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ tinygo, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΡΡ :
tinygo build -o <name> -target <platform> path
— ΡΠ±ΠΎΡΠΊΠ° Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·Π° Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, arduino ΠΈΠ»ΠΈ nintendoswitch. Π’ΠΈΠΏ ΠΎΠ±ΡΠ°Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°ΠΉΠ»Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ.ll — ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ IR-ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ;
bc — ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±ΠΈΡΠΊΠΎΠ΄Π° LLVM;
hex — ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Intel HEX Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ;
bin — ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ;
wasm — ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ webassembly-ΡΠ°ΠΉΠ»Π° Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅.
tinygo flash -target <platform> path
— ΡΠ±ΠΎΡΠΊΠ° ΠΎΠ±ΡΠ°Π·Π° ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ;tinygo gdb
— ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·Π° ΠΊΠΎΠ΄Π° (Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ) ΠΈ Π·Π°ΠΏΡΡΠΊ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°;tinygo run
— Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΈ Π·Π°ΠΏΡΡΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° ΡΠ΅Π»Π΅Π²ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅;tinygo clean
— ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΎΠ².
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΠΎΠ²Π΅Π½Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ (-opt=0 — ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΉ, 1 — ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ (ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ IR), 2 — Ρ ΠΎΡΠΎΡΠ°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ, s — ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π°, z — Π°Π³ΡΠ΅ΡΡΠΈΠ²Π½Π°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ). ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ±ΠΎΡΠΊΠ° ΠΌΡΡΠΎΡΠ° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΠ΅ΡΡΡ Π² ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ (ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΌ ΠΎΠ±ΡΠ°Π·Π°), ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°Π΄Π°Π½Π° ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΡΡ (-gc=none — Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ, leaking — ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅ΡΡΡ, conservative — ΡΠ±ΠΎΡΠΊΠ° ΠΌΡΡΠΎΡΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° mark-sweep). Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°Π΄Π°Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ AVR ΠΌΠΎΠΆΠ½ΠΎ Π΅Π³ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ -scheduler= none. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ -size ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½Π° Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅ ΠΎΠ±ΡΠ°Π·Π°.
ΠΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ (Ρ ΡΡΠ΅ΡΠΎΠΌ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΈ/ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡ) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠ°ΠΊΠ΅Ρ machine, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°Π±ΠΎΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² gpio (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΈΡΡΠΎΠ²ΡΡ ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΡ ΠΏΠΈΠ½ΠΎΠ²) ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π½ΠΈΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Configure Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ΅ΠΆΠΈΠΌΠ°, Low/High Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠΈΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΈΠ½Π°). Π’Π°ΠΊΠΆΠ΅, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ ΡΡΡΡΠΊΡΡΡΡ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠ΅ΡΠ΅Π· ΡΠΈΠ½Ρ I2C, SPI, UART, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΡΠ°ΠΊ ΠΈ (Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ²) ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½Π°Ρ ΡΠΌΡΠ»ΡΡΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² ΡΠΈΠ½Ρ. ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Ρ ΡΠΎΡΠ½ΡΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΠΌΡΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² ΡΠ΅ΡΠ΅Π· GPIO) Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠ΄ Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ΅ (Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΈΠΏΠ° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°).
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΊΠΎΠ΄Π° Π½Π° Go Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅.
ΠΠ½Π°Π»ΠΎΠ³ΠΎΠΌ Hello World Π΄Π»Ρ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅-ΠΌΠΈΠ³Π°Π»ΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ (ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΡΠ΅ΡΠ΅Π· GPIO-ΠΏΠΈΠ½Ρ) ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ ΠΈ ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π΅Π³ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π΄Π²Π° ΠΏΠ°ΠΊΠ΅ΡΠ°: timer (Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ) ΠΈ machine (Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ GPIO, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄).
package main import ( "machine" "time" )
ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΡ GPIO Π² ΡΠ΅ΠΆΠΈΠΌ Π²ΡΠ²ΠΎΠ΄Π° (Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ LED Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° GPIO, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄):
led := machine. LED led.Configure(machine.PinConfig{Mode: machine.PinOutput})
ΠΠ°Π»Π΅Π΅ Π² ΡΠΈΠΊΠ»Π΅ Π±ΡΠ΄Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π° ΠΈ ΡΠ°Π·Π΄Π΅Π»ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ
for { led.Low() time.Sleep(time.Millisecond * 500) led.High() time.Sleep(time.Millisecond * 500) }
ΠΠΎΠ»Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
package main import ( "machine" "time" ) func main() { led := machine.LED led.Configure(machine.PinConfig{Mode: machine.PinOutput}) for { led.Low() time.Sleep(time.Millisecond * 500) led.High() time.Sleep(time.Millisecond * 500) } }
ΠΠ°ΠΏΡΡΡΠΈΠΌ Π½Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΌ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ Arduino Uno:
tinygo flash -target arduino .
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ΅ΠΏΠ΅ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ Π°ΠΊΡΠ΅Π»Π΅ΡΠΎΠΌΠ΅ΡΡΠ° ADXL335. ΠΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΌΡ ΡΡΡΡΠΎΠΉΡΡΠ²Ρ Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ°ΠΊΠ΅Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ΠΈΠ· ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
import "tinygo.org/x/drivers/adxl345"
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠΌ ΠΏΠΎ ΡΠΈΠ½Π΅ I2C, ΠΏΠ΅ΡΠ΅Π΄ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ I2C (Π΄ΠΎΡΡΡΠΏΠ½Π° Π΄Π»Ρ Arduino ΡΠ΅ΡΠ΅Π· machine.I2C0), ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ. Π Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΠ°Π±ΠΎΡΡ Ρ Π°ΠΊΡΠ΅Π»Π΅ΡΠΎΠΌΠ΅ΡΡΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Π° ΡΡΠ½ΠΊΡΠΈΡ Halt, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ.
machine.I2C0.Configure(machine.I2CConfig{}) sensor := adxl345.New(machine.I2C0) sensor.Configure() x,y,z,err := sensor.ReadAcceleration() sensor.Halt()
ΠΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ adxl345 ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π°ΠΉΠ΄Π΅Π½Π° Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΡ Π²ΡΡΠ°Π²ΠΎΠΊ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ°ΠΉΠΌΠΈΠ½Π³Π°. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° WS2812B Π΄Π»Ρ AVR (Π² ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° WS2812), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π½ΡΡ ΠΏΠ°Π½Π΅Π»Π΅ΠΉ ΠΈ Π»Π΅Π½Ρ. ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΊΠ²Π°ΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π±ΠΈΡ. Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠ΄ΡΡΡΠΎΠΉΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΡΡΠ°Π²ΠΊΠ° ΠΏΡΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ (nop).
//ΠΎΡΠΏΡΠ°Π²ΠΊΠ° Π±Π°ΠΉΡΠ° (Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ, Π΄Π»Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°) func (sp Spot) sendByte(pin machine.Pin, value byte) { portSet, maskSet := pin.PortMaskSet() portClear, maskClear := pin.PortMaskClear() avr.AsmFull(` ldi r17, 8 ; bit counter send_bit1: st {portSet}, {maskSet} ; set to 1 lsl {value} brcs skip_store1 st {portClear}, {maskClear} ; set to 0 (if zero bit) nop nop skip_store1: nop ; protocol timing adjust nop nop nop st {portClear}, {maskClear} ; end of pulse nop ; protocol timing adjust nop nop subi r17, 1 ; bit loop brne send_bit1 ; send next bit `, map[string]interface{}{ "value": value, "portSet": portSet, "maskSet": maskSet, "portClear": portClear, "maskClear": maskClear, }) }
Π₯ΠΎΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ². ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² AVR ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π²Π΅ΡΡΠΌΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ, Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ (ΠΏΡΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΡ —opt=2 ΠΈ Π²ΡΡΠ΅) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ΅Π³ΠΈΡΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΠΈ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ ΠΏΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² Π² Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Ρ —opt=z Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° ΠΈΠ·-Π·Π° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π³ΠΈΡΡΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ»Ρ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΏΠ°ΠΊΠ΅ΡΡ device/<arch> (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, device/avr) ΠΈ runtime/volatile ΠΈ runtime/interrupt. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ volatile ΠΌΠΎΠΆΠ΅Ρ Π°Π½ΠΎΠ½ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΡΠ²Π½ΠΎΠ΅ Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΡΠ΅Π³ΠΈΡΡΡΠ΅ (ΡΠΈΠΏ *volatile.Register8). Π§Π΅ΡΠ΅Π· ΠΏΠ°ΠΊΠ΅Ρ device/avr ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ ΠΊ Π»ΠΈΠ½ΠΈΡΠΌ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌ Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, avr.IRQ_SPI_STC Π΄Π»Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ΅Π· Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ SPI Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ interrupt.New(avr.IRQ_SPI_STC, handler), Π³Π΄Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΡΡΡΠΊΡΡΡΡ interrupt. Interrupt.
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Xtensa (ESP32/ESP8266) ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ AT-ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ Wi-Fi Π°Π΄Π°ΠΏΡΠ΅ΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° tinygo.org/x/drivers/net. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ goroutines ΠΈ ΠΊΠ°Π½Π°Π»Ρ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ-ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΡ. ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ goroutines Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ mqtt-router.
ΠΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΡΠ·ΡΠΊΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Go, ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΡΡΠΊΡΡΡΡ Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΡΡΡΡΠΎΠΉΡΡΠ² Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°. Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΌΠ° ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΡΠΈΠΏΠ° ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°ΡΠ½ΠΎΡΡΠΈ (goroutines, channels), Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΡΠ±ΠΎΡΠΊΡ ΠΌΡΡΠΎΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ Π³ΠΎΡΠΎΠ²ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ Π² Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ Π½Π° Go (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅). Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Go, Π½ΠΎ ΠΎΡΠΎΠ±ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π°Π΄ΠΎ ΡΠ΄Π΅Π»ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΌΡ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°Ρ Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΌΠΎΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² (Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ΅ΡΠ΅Π· make) Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ΄Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ ΡΠΈΠΏΠΎΠΌ []byte, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠΎΠΌ ΡΡΡΠΎΠΊΠΈ. ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ Π² TinyGo Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΏΠ°ΠΊΠ΅ΡΡ fmt, strconv, strings, unicode ΠΈ text. Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ encoding ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΎΡΠΌΠ°ΠΌΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ (ΠΊΡΠΎΠΌΠ΅ xml), crypto Π΄Π»Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Ρ ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, archive ΠΈ compress Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΠΆΠ°ΡΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ. image Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, math Π΄Π»Ρ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, net Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, net/http) ΠΈ Π΄ΡΡΠ³ΠΈΠ΅. ΠΠ· ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Ρ ΠΎΡΠ΅ΡΡΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠΈΡΠ΅Π» Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·Π° ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π» ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠΌ, ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΡΠΉ Ρ Π½Π΅ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΌΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ Π²Ρ ΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π» (Π΅ΡΠ»ΠΈ ΠΎΠ½ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½ Π² ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅). Π TinyGo Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Ρ os/exec, os/signal ΠΈ os/user, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°Ρ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈΠ»ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π½Π΅ΠΉ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ ΠΏΡΠΈΠ½ΡΡΡΡ Π² POSIX.
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ TinyGo ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Π΄Π»Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ° ΡΡΡΡΠΎΠΉΡΡΠ²Π° AirCube Π½Π° Github.
Π Π²ΡΠ΅Ρ , ΠΊΡΠΎ Π΄ΠΎΡΠΈΡΠ°Π» Π΄ΠΎ ΠΊΠΎΠ½ΡΠ°, Ρ ΠΎΡΡ ΠΏΡΠΈΠ³Π»Π°ΡΠΈΡΡ Π½Π° Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠ΅ Π·Π°Π½ΡΡΠΈΠ΅ ΠΎΡ ΠΌΠΎΠΈΡ ΠΊΠΎΠ»Π»Π΅Π³ ΠΈΠ· OTUS ΠΏΠΎ ΡΠ΅ΠΌΠ΅: «Π‘ΡΡΡΠΊΡΡΡΡ ΡΠ·ΡΠΊΠ° Golang». ΠΠ° Π·Π°Π½ΡΡΠΈΠΈ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΡΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ ΠΊΠ°ΠΊ: ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡ, ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ ΡΡΡΡΠΊΡΡΡΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΡΡΡΠΊΡΡΡΡ. ΠΠΎΠ±Π΅ΡΠ΅Π΄ΡΠ΅ΠΌ ΠΏΡΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΈ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΡΡΠ°ΡΠ°Π΅ΠΌΡΡ ΡΡΠΏΠ΅ΡΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΈ ΠΏΡΠΎ ΡΡΡΡΠΊΡΡΡΠ½ΡΠ΅ ΡΡΠ³ΠΈ ΠΈ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ JSON, XML ΠΈ Π‘Π£ΠΠ. ΠΠΎΡΠ»Π΅ Π·Π°Π½ΡΡΠΈΡ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ.
ΠΠ°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° Π²Π΅Π±ΠΈΠ½Π°Ρ.
ΠΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ Arduino
ΠΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ Arduino- Arduino UNO R3 SMD Ch440
30. 47 Br
Π Π½Π°Π»ΠΈΡΠΈΠΈ
- Arduino UNO R3 DIP + ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΡΠΉ USB ΠΊΠ°Π±Π΅Π»Ρ
43.50 Br
Π Π½Π°Π»ΠΈΡΠΈΠΈ
- Arduino Nano V3.0 Ch440 Chip (Π½Π΅ ΠΏΡΠΈΠΏΠ°ΡΠ½Π° Π³ΡΠ΅Π±Π΅…
30.00 Br
Π Π½Π°Π»ΠΈΡΠΈΠΈ
- Arduino Nano V3.0 Ch440 Chip + Mini USB ΠΊΠ°Π±Π΅Π»Ρ
33.00 Br
Π Π½Π°Π»ΠΈΡΠΈΠΈ
- Arduino Pro Mini ATMEGA328P 5V/16M
21.00 Br
Π Π½Π°Π»ΠΈΡΠΈΠΈ
- Arduino Nano V3.0 ATmega328P 5V 16MHz Ch440 Ty…
34.50 Br
Π Π½Π°Π»ΠΈΡΠΈΠΈ
- Arduino Nano V3. 0 FT232 Chip + Mini USB ΠΊΠ°Π±Π΅Π»Ρ
39.00 Br
Π Π½Π°Π»ΠΈΡΠΈΠΈ
- Arduino Pro Micro ATmega32U4 5V/16MHz
37.50 Br
Π Π½Π°Π»ΠΈΡΠΈΠΈ
- Arduino UNO R3 c ΠΊΠ°Π±Π΅Π»Π΅ΠΌ
60.00 Br
Π Π½Π°Π»ΠΈΡΠΈΠΈ
- Arduino LilyPad 328 ATmega328P Main Board 16M
33.00 Br
Π Π½Π°Π»ΠΈΡΠΈΠΈ
- Arduino MEGA 2560 R3 Π±Π΅Π· Π»ΠΎΠ³ΠΎΡΠΈΠΏΠ° + USB ΠΊΠ°Π±Π΅Π»Ρ
64.80 Br
Π Π½Π°Π»ΠΈΡΠΈΠΈ
- Arduino Micro Atmega32u4, 5V 16MHz + Micro USB …
57.00 Br
Π Π½Π°Π»ΠΈΡΠΈΠΈ
- WiFi R3 ATmega328P+ESP8266 (32Mb memory), USB-T. ..
63.00 Br
Π Π½Π°Π»ΠΈΡΠΈΠΈ
- Leonardo R3 Ρ Π»ΠΎΠ³ΠΎΡΠΈΠΏΠΎΠΌ Atmega32u4
28.45 Br
Π Π½Π°Π»ΠΈΡΠΈΠΈ
- Arduino MEGA 2560 R3 Ch440 + USB ΠΊΠ°Π±Π΅Π»Ρ 12.000 MHZ
53.65 Br
Π Π½Π°Π»ΠΈΡΠΈΠΈ
- Leonardo R3 Ρ Π»ΠΎΠ³ΠΎΡΠΈΠΏΠΎΠΌ Atmega32u4
33.70 Br
Π Π½Π°Π»ΠΈΡΠΈΠΈ
- Arduino nano V3.0 pro XI 8F328P-U
14.10 Br
Π Π½Π°Π»ΠΈΡΠΈΠΈ
- Arduino MEGA 2560 WiFi ESP8266 32MB Memory USB…
90.00 Br
Π Π½Π°Π»ΠΈΡΠΈΠΈ
- ΠΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ BLE Nano Bluetooth CC254. ..
54.00 Br
Π Π½Π°Π»ΠΈΡΠΈΠΈ
- Arduino Pro Mini ATMEGA328P 5V/16M Π½Π΅ ΠΏΡΠΈΠΏΠ°ΡΠ½Π° …
27.00 Br
Π Π½Π°Π»ΠΈΡΠΈΠΈ
- Arduino DUE 2013 + Micro USB ΠΊΠ°Π±Π΅Π»Ρ
201.00 Br
Π Π½Π°Π»ΠΈΡΠΈΠΈ
- ΠΠ»Π°ΡΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Ciclop Π΄Π»Ρ Arduino Uno. ΠΠ»Ρ ΠΏΠΎ…
45.00 Br
Π Π½Π°Π»ΠΈΡΠΈΠΈ
- Arduino Nano 3.0 Ρ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΎΠΌ
39.00 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- ATmega32A-AU
10.95 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- KittenBot Wifi
90. 00 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- ΠΠ»Π°ΡΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Arduino Mega (RAMPS 1.4 Bo…
23.78 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- Arduino Pro Mini ATMEGA328P 3.3V/8M
22.50 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- ΠΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ RF Nano NRF…
71.44 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- SMD-ΠΏΠ»Π°ΡΠ° MEGA 2560 R3 Ρ Π»ΠΎΠ³ΠΎΡΠΈΠΏΠΎΠΌ
61.24 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- ArduinoMEGA ADK + Usb ΠΊΠ°Π±Π΅Π»Ρ
111.67 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- DUE 2013 Π±Π΅Π· Π»ΠΎΠ³ΠΎΡΠΈΠΏΠ°
74. 12 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- Arduino Nano ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ (ΠΡΠ°Π»ΠΈΡ)
210.29 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- ATmega88PA-AU
10.35 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- ΠΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½Π°Ρ Arduino Mega 2560 R3
300.00 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- ELM327 Super Mini Wifi OBD2 ΡΠΊΠ°Π½Π΅Ρ
56.25 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΡΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ±ΠΎΡΠ° Rome…
153.98 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- Arduino Uno Π½Π° Atmega8
27.00 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- ΠΠ»Π°ΡΠ° Pro Mini ATMEGA328P 5V 16M (ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½Π°Ρ . ..
18.84 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- DIP-ΠΏΠ»Π°ΡΠ° UNO R3 Π±Π΅Π· Π»ΠΎΠ³ΠΎΡΠΈΠΏΠ°
27.39 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- ATMEGA2560-16AU USB Ch440G
78.00 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- ΠΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½Π°Ρ Arduino UNO R3
120.00 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- Arduino Yun
521.40 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- Arduino esplora Ρ ΡΠΊΡΠ°Π½ΠΎΠΌ
120.00 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- Π Π°ΡΠΏΠ°ΡΠ½Π½Π°Ρ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΠ° Nano V3 ATmega328P 5V 16M…
28.35 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- ΠΠ»Π°ΡΠ° Pro Mini ATMEGA328P 3. 3V 8M
10.69 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- Nano 3.0 FT232
51.90 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- Frearduino Uno + USB ΠΊΠ°Π±Π΅Π»Ρ
143.02 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- DUE 2013 Π±Π΅Π· Π»ΠΎΠ³ΠΎΡΠΈΠΏΠ°
117.05 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- Arduino MEGA ADK
120.00 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- Arduino MEGA 2560 + 3.2inch TFT LCD + Π°Π΄Π°ΠΏΡΠ΅Ρ +…
158.40 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- Arduino Leonardo R3 + Micro USB ΠΊΠ°Π±Π΅Π»Ρ ( Ρ Π»ΠΎΠ³ΠΎ…
28.45 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- ΠΠ»Π°ΡΠ° Pro Mini ATMEGA328P 5V 16M (ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½Π°Ρ . ..
14.19 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- Arduino Leonardo
45.00 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- Seeeduino V4.2(ATMega328P)
74.09 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- ΠΠ»Π°ΡΠ° Pro Mini ATMEGA328P 3.3V 8M
13.48 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- KUONGSHUN MEGA 2560 R3
53.63 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- Arduino Pro Mini (5Π², 16ΠΠΠ¦)
27.00 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- Arduino Pro Micro
39.00 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- SMD-ΠΏΠ»Π°ΡΠ° MEGA 2560 R3 Ρ Π»ΠΎΠ³ΠΎΡΠΈΠΏΠΎΠΌ
46. 20 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- DIP-ΠΏΠ»Π°ΡΠ° UNO R3 Π±Π΅Π· Π»ΠΎΠ³ΠΎΡΠΈΠΏΠ°
32.07 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- KUONGSHUN UNO R3
30.00 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- Arduino Pro Mini (5Π², 16ΠΠΠ¦)
9.00 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- Arduino Mini USB ATmega32U4 Pro Micro 5V 16MHz …
36.00 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
- Arduino UNO R3 + 2.4inch TFT LCD + Π°Π΄Π°ΠΏΡΠ΅Ρ + US…
115.50 Br
1-4 ΠΠ΅Π΄Π΅Π»ΠΈ
ΠΡΠ΄ΡΠΈΠ½ΠΎ ΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ — Pimoroni
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ΅Π½Ρ Π² Π΄ΡΡΠ³ΠΎΠΉ Π²Π°Π»ΡΡΠ΅, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π΅Π΅ Π½ΠΈΠΆΠ΅.
ΡΡΠ½ΡΠΎΠ² ΡΡΠ΅ΡΠ»ΠΈΠ½Π³ΠΎΠ² Π΄ΠΎΠ»Π»Π°Ρ Π‘Π¨Π Π΅Π²ΡΠΎ ΠΈΠ΅Π½Π° Π°Π²ΡΡΡΠ°Π»ΠΈΠΉΡΠΊΠΈΠΉ Π΄ΠΎΠ»Π»Π°Ρ Π½ΠΎΡΠ²Π΅ΠΆΡΠΊΠΈΡ ΠΊΡΠΎΠ½ ΡΠ²Π΅ΠΉΡΠ°ΡΡΠΊΠΈΡ ΡΡΠ°Π½ΠΊΠ°Ρ Π½ΠΎΠ²ΠΎΠ·Π΅Π»Π°Π½Π΄ΡΠΊΠΈΠΉ Π΄ΠΎΠ»Π»Π°Ρ Π‘ΠΠΠ ΠΠ’Π
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΎΠ±ΡΠ°ΡΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅:
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π²ΠΎΠΏΡΠΎΡΡ, Π½Π΅ ΡΡΠ΅ΡΠ½ΡΠΉΡΠ΅ΡΡ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Π½Π°ΠΌ.
ΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎ Π½Π°ΠΈΠ»ΡΡΡΠ΅ΠΌΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΡΠ΅Π½ΠΎΠ²Π΅ΠΉΡΠΈΠ΅Π»ΡΡΡΠΈΠ΅ ΠΏΡΠΎΠ΄Π°ΠΆΠΈΡΠ΅Π½Π° 163264 Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Π½Π°Π»ΠΈΡΠΈΠΈ
ΠΠΎΠΈΡΠΊ Π½Π΅ Π΄Π°Π» ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ².
ΠΠΎΠΊΠ°Π·Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ²β¦
${ stockHtml }
${ hit.product_title } ${ hit.variant_title ? («-» + hit.variant_title): «» }:
${ hit.description_first_paragraph}` Π²Π΅ΡΠ½ΡΡΡ $(resultHtml) } const searchResultCallback = (ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΡ, Π°ΡΠΏΠ΅ΠΊΡΡ, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ) => { debug(«> ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΏΠΎΠΈΡΠΊΠ°», ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ, ΡΠ°ΡΠ΅ΡΡ, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ) $(«#search . load-more-results»).toggle(hits.page 0) { $(«#search.no-results»).hide() ΠΏΡΡΡΡ html = «» for(let hit of hits.hits) { $(«#search .results»).append(createSearchResultFull(ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠ΅)) } }Π΅ΡΠ΅{ if(searchSearcher.inStockOnly) {$(«#search .no-results .message»).html(«ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π΅, ΡΠ΅Π³ΠΎ Π½Π΅Ρ Π² Π½Π°Π»ΠΈΡΠΈΠΈ. ΠΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΠ²Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΡ Π½Π΅Ρ Π² Π½Π°Π»ΠΈΡΠΈΠΈ.»)} Π΄Π»Ρ (ΠΏΡΡΡΡ Ρ = 0; Ρ `)) } $(«#ΠΏΠΎΠΈΡΠΊ .Π±Π΅Π· ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ²»).show() } // ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌ ΡΠΏΠΈΡΠΊΠΈ ΡΠΈΠ»ΡΡΡΠΎΠ² $(«#search .filters»).find(«ΡΠ°Π·Π΄Π΅Π»»).each((i, e) => { buildFilters($(«#search»), searchSearcher, $(e).data(«type»), Π°ΡΠΏΠ΅ΠΊΡΡ, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ) }) ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡΡΠ΅ΠΉΡΠΈΠ½Π³ΠΈ() ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡΠ¦Π΅Π½Ρ() ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡΠΠ½Π°ΡΠΊΠΈ() } var searchSearcher = Π½ΠΎΠ²ΡΠΉ ΠΈΡΠΊΠ°ΡΠ΅Π»Ρ([], searchResultCallback) searchSearcher.permanentFilters = true var searchLanding = window.location.pathname == «/search» Π²Π°Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ URL = Π½ΠΎΠ»Ρ Π²Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π·Π°ΠΏΡΠΎΡ = «» const queryInput = (Π·Π°ΠΏΡΠΎΡ) => { Π΅ΡΠ»ΠΈ(!searchLanding) { if(!lastQuery && Π·Π°ΠΏΡΠΎΡ) { debug(«> Π½Π°ΡΠ°ΡΡ ΠΏΠΎΠΈΡΠΊ, ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ URL», document. location.href) ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ URL = document.location.href $(«#ΠΏΠΎΠΈΡΠΊ»).show() $(«#ΠΊΠΎΠ½ΡΠ΅Π½Ρ»).ΡΠΊΡΡΡΡ() } Π΅ΡΠ»ΠΈ (ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π·Π°ΠΏΡΠΎΡ && !Π·Π°ΠΏΡΠΎΡ) { debug(«> Π·Π°Π²Π΅ΡΡΠΈΡΡ ΠΏΠΎΠΈΡΠΊ, Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌΡ URL-Π°Π΄ΡΠ΅ΡΡ», previousUrl) history.replaceState(null, window.title, ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉUrl) $(«#ΠΏΠΎΠΈΡΠΊ»).ΡΠΊΡΡΡΡ() $(«#ΠΊΠΎΠ½ΡΠ΅Π½Ρ»).ΠΏΠΎΠΊΠ°Π·Π°ΡΡ() } Π΅ΡΠ»ΠΈ (Π·Π°ΠΏΡΠΎΡ) { searchSearcher.queryText = Π·Π°ΠΏΡΠΎΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡΠΠΎΠΈΡΠΊ() } ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π·Π°ΠΏΡΠΎΡ = Π·Π°ΠΏΡΠΎΡ }Π΅ΡΠ΅{ searchSearcher.queryText = Π·Π°ΠΏΡΠΎΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡΠΠΎΠΈΡΠΊ() } } $(ΡΡΠ½ΠΊΡΠΈΡ() { Π΅ΡΠ»ΠΈ (window.location.pathname == «/search») { $(«#ΠΏΠΎΠΈΡΠΊ»).show() $(«#ΠΊΠΎΠ½ΡΠ΅Π½Ρ»).ΡΠΊΡΡΡΡ() searchSearcher.queryText = urlGet(«q», «») $(«#search_input_desktop»).val(searchSearcher.queryText) $(«#search_input_mobile»).val(searchSearcher.queryText) $(«#search .filters»).find(«ΡΠ°Π·Π΄Π΅Π»»).each((i, e) => { searchSearcher.filters[$(e).data(«ΡΠΈΠΏ»)] = urlGet($(e). data(«ΡΠΈΠΏ»)) }) Π΅ΡΠ»ΠΈ(urlGet(«Π°ΠΊΡΠΈΠΈ»)) { $(«#ΠΏΠΎΠΈΡΠΊ .ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΠΊΠ»Π°Π΄Π΅»).prop(«ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ΠΎ», ΠΏΡΠ°Π²Π΄Π°) searchSearcher.inStockOnly = ΠΈΡΡΠΈΠ½Π° } Π΅ΡΠ»ΠΈ (urlGet («ΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ»)) { $(«#search .sort-by»).val(urlGet(«sort»)) searchSearcher.sort = urlGet(«ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°») } Π΅ΡΠ»ΠΈ(urlGet(«ΡΡΡΠ°Π½ΠΈΡΠ°»)) { searchSearcher.preloadPageCount = parseInt(urlGet(«ΡΡΡΠ°Π½ΠΈΡΠ°»)) } searchSearcher.pageSize = ΠΏΠΎΠ»ΡΡΠΈΡΡ(«searchPageSize», 32) $(«#search .per-page»).val(get(«searchPageSize», 32)) searchSearcher.doSearch() } }) // Π·Π°ΠΏΡΡΡΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΠΏΠΎΠΈΡΠΊ ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ URL const updateSearch = (ΡΡΡΠ°Π½ΠΈΡΠ° = 1) => { searchSearcher.page = ΡΡΡΠ°Π½ΠΈΡΠ° searchSearcher.doSearch() ΠΏΡΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ = [] if(searchSearcher.queryText) {parameters.push(`q=${searchSearcher.queryText}`)} for(let filter of Object.keys(searchSearcher.filters)) { Π΅ΡΠ»ΠΈ (searchSearcher.filters[ΡΠΈΠ»ΡΡΡ]) { ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ.push(`${ΡΠΈΠ»ΡΡΡ}=${searchSearcher. filters[ΡΠΈΠ»ΡΡΡ]}`) } } if(searchSearcher.page != 1) {parameters.push(`page=${searchSearcher.page}`)} if(searchSearcher.sort) {parameters.push(`sort=${searchSearcher.sort}`)} if(searchSearcher.inStockOnly) {parameters.push(`stock=true`)} ΠΏΡΡΡΡ queryString = ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ.Π΄Π»ΠΈΠ½Π° > 0? «?» + ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ.ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅(«&») : «» history.replaceState(null, window.title, «/search» + queryString) } const showOutOfStock = () => { $(«#ΠΏΠΎΠΈΡΠΊ .ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΠΊΠ»Π°Π΄Π΅»).prop(«ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ΠΎ», Π»ΠΎΠΆΡ) searchSearcher.inStockOnly = Π»ΠΎΠΆΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡΠΠΎΠΈΡΠΊ() } $(«#search_input_desktop»).on(«input», (e) => { // Π²Π²ΠΎΠ΄ ΠΏΠΎΠΈΡΠΊΠ° Π½Π° ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΡΡΠΎΠ»Π΅ searchSearcher.queryText = $(«#search_input_desktop»).val().trim() $(«#search_input_mobile»).val(searchSearcher.queryText) queryInput (searchSearcher.queryText) }) $(«#search_input_mobile»).on(«input», (e) => { // Π²Π²ΠΎΠ΄ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° searchSearcher.queryText = $(«#search_input_mobile»).val().trim() $(«#search_input_desktop»). val(searchSearcher.queryText) queryInput (searchSearcher.queryText) }) $(«#search .filters >section ul»).click((e) => { // ΡΠΈΠ»ΡΡΡ ΠΊΠ»ΠΈΠΊΠΎΠ² searchSearcher.filters[$(e.target).closest(«ΡΠ°Π·Π΄Π΅Π»»).data(«ΡΠΈΠΏ»)] = $(e.target).hasClass(«Π°ΠΊΡΠΈΠ²Π½ΡΠΉ») ? Π½ΠΎΠ»Ρ: $(e.target).data(«Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅») ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡΠΠΎΠΈΡΠΊ() }) $(«#search .per-page»).change((e) => { // ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ set(«searchPageSize», parseInt($(e.target).val())) ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡΠΠΎΠΈΡΠΊ() }) $(«#search .sort-by»).change((e) => { // ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° searchSearcher.sort = $(e.target).val() ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡΠΠΎΠΈΡΠΊ() }) $(«#search .ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΠΊΠ»Π°Π΄Π΅»).change((e) => { // ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΠΊΠ»Π°Π΄Π΅ searchSearcher.inStockOnly = $(e.target).prop(«ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ΠΎ») ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡΠΠΎΠΈΡΠΊ() }) $(«#search .load-more-results»).click(() => { // Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² updateSearch(searchSearcher.page + 1) })
Π€ΠΈΠ»ΡΡΡ
ΠΠ°ΡΠΊΠ°
Π’ΠΈΠΏ
ΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎ ΠΏΡΠΈΠ·Π½Π°ΠΊΠ°ΠΌΠ½ΠΎΠ²Π΅ΠΉΡΠΈΠ΅Π»ΡΡΡΠΈΠ΅ ΠΏΡΠΎΠ΄Π°ΠΆΠΈΡΠ΅Π½Π° 163264 Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Π½Π°Π»ΠΈΡΠΈΠΈ
ΠΠΎΠΈΡΠΊ Π½Π΅ Π΄Π°Π» ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ².
ΠΠΎΠΊΠ°Π·Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ²β¦
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² Arduino
Π‘Π΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ Arduino Π²ΡΠΏΡΡΡΠΈΠ»ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΠ°ΠΊ Π½ΠΎΠ²ΠΈΡΠΊΠ°ΠΌΠΈ, ΡΠ°ΠΊ ΠΈ Π½Π° ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅. ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ Π΄Π°Π»ΡΡΠ΅, Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ? ΠΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ β ΡΡΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠΌ ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΡΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ ΡΠ°ΠΉΠΌΠ΅ΡΡ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°, ΠΏΠ°ΠΌΡΡΡ ΠΈ Π²ΡΠ΅ ΡΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π² ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΏ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ², Π²ΡΠΏΡΡΠ΅Π½Π½ΡΡ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎΠΌ Arduino, Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΡΠ°Π²Π½ΠΈΠΌ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° Arduino.
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² Arduino
Π‘Π΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ Arduino ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠ»Π°Ρ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°ΠΌΠΈ ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΡΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ, Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌΠΈ Π² ΠΏΠ»Π°ΡΡ Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠ° Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ° (ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠ°Ρ Π·Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠ»Π°ΡΡ), ΠΈ Π²ΡΠ΅ ΡΡΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅ΡΡΡ Π² ΠΏΡΠΎΡΡΡΡ ΡΡΠ΅Π΄Ρ, ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΠΊΠ°ΠΊ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (IDE). Π IDE ΠΊΠΎΠ΄Ρ ΠΏΠΈΡΡΡΡΡ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΡΡΠΈ ΠΊΠΎΠ΄Ρ ΠΈΠ·Π²Π΅ΡΡΠ½Ρ ΠΊΠ°ΠΊ ΡΡΠΊΠΈΠ·Ρ, ΠΈ Π²ΡΠ΅ ΡΡΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°, ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Arduino.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠ»Π°Ρ Arduino, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΡΠ΅Π»Π΅ΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Arduino Uno Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ , Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Arduino Mega ΠΈ Due. ΠΡ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΠΏΠ»Π°ΡΡ Arduino, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎΠΌ Arduino.
Arduino Uno
Arduino Uno Π½Π°ΡΡΡΠΎΠ΅Π½ Π½Π° ATmega328P, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡΠΎΠΊΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΈ Π½ΠΈΠ·ΠΊΠΎΠΌ ΡΠ½Π΅ΡΠ³ΠΎΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠΈ, ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Arduino Uno ΠΈΠΌΠ΅Π΅Ρ 14 ΡΠΈΡΡΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°, Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ 16 ΠΌΠ΅Π³Π°Π³Π΅ΡΡ, ΠΊΠ½ΠΎΠΏΠΊΡ ΡΠ±ΡΠΎΡΠ° ΠΈ ΡΠ°Π·ΡΠ΅ΠΌ USB. Arduino Uno β Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΠ°Ρ ΠΏΠ»Π°ΡΠ° Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ , Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π°Π²Π°ΡΠΈΠΉΠ½ΡΠΌ ΠΎΡΠ²Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ Π΄Π»Ρ ΠΌΠ΅Π΄ΠΈΡΠΈΠ½ΡΠΊΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ². ΠΡΠΈΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΠΌΠΈ ΡΡΠΎΠΉ Π΄ΠΎΡΠΊΠΈ ΡΠ²Π»ΡΡΡΡΡ; ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΡΠ΅ΡΡΡ ΡΠ΅ΠΆΠΈΠΌΠΎΠ² ΡΠ½Π° ΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΊΠ°Π»ΠΈΠ±ΡΠΎΠ²Π°Π½Π½ΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ.
ΠΡΡΠ³ΠΈΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Arduino Uno:
Π Π°Π·ΠΌΠ΅Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° | 8 Π±ΠΈΡ |
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° RISC | ΠΠ½ ΠΈΠΌΠ΅Π΅Ρ 32*8 ΡΠ°Π±ΠΎΡΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ Π΄ΠΎ 16 MIPS Π½Π° ΡΠ°ΡΡΠΎΡΠ΅ 16 ΠΠΡ |
ΠΠ°ΠΌΡΡΡ | ΠΠ½ ΠΈΠΌΠ΅Π΅Ρ 32 ΠΠ Π²Π½ΡΡΡΠΈΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΡΠ°ΠΌΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠ»ΡΡ-ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, 1 ΠΠ EEPROM ΠΈ 2 ΠΠ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ SRAM |
ΠΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ | ΠΠ½ ΠΈΠΌΠ΅Π΅Ρ Π΄Π²Π° 8-Π±ΠΈΡΠ½ΡΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, 6 ΠΊΠ°Π½Π°Π»ΠΎΠ² Π¨ΠΠ ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΡΠΉ ΠΊΠΎΠΌΠΏΠ°ΡΠ°ΡΠΎΡ |
ΠΠΎΠ½ΡΠ°ΠΊΡΡ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° | 14 ΡΠΈΡΡΠΎΠ²ΡΡ Π²Ρ ΠΎΠ΄ΠΎΠ²/Π²ΡΡ ΠΎΠ΄ΠΎΠ² ΠΈ 6 Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΡ |
ΠΠ°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ | ΠΎΡ 2,2 Π΄ΠΎ 5,5 Π |
Π’Π΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ° | ΠΎΡ -40 Π΄ΠΎ +125 Π³ΡΠ°Π΄ΡΡΠΎΠ² |
Π‘ΠΊΠΎΡΠΎΡΡΡ | ΠΎΡ 0 Π΄ΠΎ 16 ΠΠΡ |
Arduino Nano
ΠΠ»Π°ΡΠ° Arduino Nano Π½Π°ΡΡΡΠΎΠ΅Π½Π° Π½Π° ATmega328 ΠΈ ΠΈΠ· Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ ΡΡΠ° ΠΏΠ»Π°ΡΠ° Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°. Arduino nano ΠΈΠΌΠ΅Π΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΊ ΠΌΠ°ΠΊΠ΅ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΠ΅ Π½Π°ΠΏΡΡΠΌΡΡ, Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ Ρ Π½Π΅Π³ΠΎ Π½Π΅Ρ ΠΏΠΎΡΡΠ° Π΄Π»Ρ ΡΠ°Π·ΡΠ΅ΠΌΠ° ΠΏΠΈΡΠ°Π½ΠΈΡ, Π½ΠΎ Π΄Π»Ρ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΠΏΠΈΡΠ°Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ USB-ΠΏΠΎΡΡ. ΠΠ»Π°ΡΠ° Arduino nano ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ , ΠΈ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π΄Π°ΡΡΠΈΠΊΠΎΠ².
ΠΡΡΠ³ΠΈΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Arduino Nano:
Π Π°Π·ΠΌΠ΅Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° | 8 Π±ΠΈΡ |
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° RISC | ΠΠ½ ΠΈΠΌΠ΅Π΅Ρ 32*8 ΡΠ°Π±ΠΎΡΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ Π΄ΠΎ 20 MIPS Π½Π° ΡΠ°ΡΡΠΎΡΠ΅ 20 ΠΠΡ |
ΠΠ°ΠΌΡΡΡ | ΠΠ½ ΠΈΠΌΠ΅Π΅Ρ 4/8/16/32 ΠΠ Π²Π½ΡΡΡΠΈΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΡΠ°ΠΌΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠ»ΡΡ-ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, 256/512/512/1 ΠΠ EEPROM ΠΈ 512/1 ΠΠ/1 ΠΠ/2 ΠΠ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ SRAM |
ΠΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ | ΠΠΌΠ΅Π΅Ρ Π΄Π²Π° 8-Π±ΠΈΡΠ½ΡΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, 6 ΠΊΠ°Π½Π°Π»ΠΎΠ² Π¨ΠΠ ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΏΠ°ΡΠ°ΡΠΎΡ |
ΠΠΎΠ½ΡΠ°ΠΊΡΡ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° | 22 |
ΠΠ°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ | ΠΎΡ 1,8 Π΄ΠΎ 5,5 Π |
Π’Π΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ° | ΠΎΡ -40 Π΄ΠΎ +85 Π³ΡΠ°Π΄ΡΡΠΎΠ² |
Π‘ΠΊΠΎΡΠΎΡΡΡ | ΠΎΡ 0 Π΄ΠΎ 20 ΠΠΡ |
ΠΡΠ΄ΡΠΈΠ½ΠΎ ΠΠΎΠ»Ρ
ΠΠ»Π°ΡΠ° Arduino Zero Π½Π°ΡΡΡΠΎΠ΅Π½Π° Π½Π° SAMD21 ΠΎΡ Atmel ΠΈ ΠΎΡΠ½Π°ΡΠ΅Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΠ½Π° ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π½ΠΎΡΠΈΠΌΡΡ ΠΎΡΠΊΠ°Ρ , ΡΠΎΠ±ΠΎΡΠΎΡΠ΅Ρ Π½ΠΈΠΊΠ΅ ΠΈ ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ. Arduino Zero ΠΈΠΌΠ΅Π΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ EDBG (Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Atmel), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΎΡΠ»Π°Π΄ΠΊΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Π΅Π³ΠΎ ΠΎΡΠ»Π°Π΄ΠΊΠΈ. Arduino Zero ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ρ ΡΠ΅Π»Π΅, ΡΠ΅ΡΠ²ΠΎΠΏΡΠΈΠ²ΠΎΠ΄Π°ΠΌΠΈ, Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΡΠΌΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Raspberry Pi.
ΠΡΡΠ³ΠΈΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Arduino Zero:
Π Π°Π·ΠΌΠ΅Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° | 32 Π±ΠΈΡΠ° |
ΠΠ°ΠΌΡΡΡ | ΠΠ½ ΠΈΠΌΠ΅Π΅Ρ 256 ΠΠ Π²Π½ΡΡΡΠΈΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΡΠ°ΠΌΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠ»ΡΡ-ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ 32 ΠΠ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ SRAM |
ΠΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ | ΠΠΌΠ΅Π΅Ρ ΡΠ΅Π½ΡΠΎΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΈ 32-Π±ΠΈΡΠ½ΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ CRC |
ΠΠΎΠ½ΡΠ°ΠΊΡΡ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° | 20 |
ΠΠ°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ | 3,3 Π²ΠΎΠ»ΡΡΠ° |
Π’Π΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ° | ΠΎΡ -40 Π΄ΠΎ +85 Π³ΡΠ°Π΄ΡΡΠΎΠ² |
Π‘ΠΊΠΎΡΠΎΡΡΡ | ΠΎΡ 0 Π΄ΠΎ 48 ΠΠΡ |
Arduino Due.
ΡΠ°Π·ΡΠ΅ΠΌ JTAG ΠΈ ΡΠ°Π·ΡΠ΅ΠΌ USB. Arduino Due ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ Π΄Π»Ρ ΠΌΠΎΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Arduino ΠΈΠ·-Π·Π° Π΅Π³ΠΎ ΠΌΠΎΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ.ΠΡΡΠ³ΠΈΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Arduino Due:
Π Π°Π·ΠΌΠ΅Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° | 32 Π±ΠΈΡΠ° |
ΠΠ°ΠΌΡΡΡ | ΠΠ½ ΠΈΠΌΠ΅Π΅Ρ ΠΎΡ 256 Π΄ΠΎ 512 ΠΠ±Π°ΠΉΡ Π²Π½ΡΡΡΠΈΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΡΠ°ΠΌΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠ»ΡΡ-ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, 16 ΠΠ±Π°ΠΉΡ ΠΠΠ£ ΠΈ ΠΎΡ 32 Π΄ΠΎ 100 ΠΠ±Π°ΠΉΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ SRAM |
ΠΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ | ΠΠΌΠ΅Π΅Ρ Π΄ΠΎ 4 USART, Π΄ΠΎ 8-ΠΊΠ°Π½Π°Π»ΡΠ½ΡΡ 16-Π±ΠΈΡΠ½ΡΡ Π¨ΠΠ-ΠΊΠ°Π½Π°Π»ΠΎΠ² ΠΈ Π·Π°ΡΠΈΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ° ΠΎΡ Π·Π°ΠΏΠΈΡΠΈ |
ΠΠΎΠ½ΡΠ°ΠΊΡΡ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° | 66 (54 ΡΠΈΡΡΠΎΠ²ΡΡ ΠΈ 12 Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°) |
ΠΠ°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ | 3,3 Π²ΠΎΠ»ΡΡΠ° |
Π’Π΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ° | ΠΎΡ -40 Π΄ΠΎ +125 Π³ΡΠ°Π΄ΡΡΠΎΠ² |
Π‘ΠΊΠΎΡΠΎΡΡΡ | ΠΎΡ 0 Π΄ΠΎ 84 ΠΠΡ |
Arduino Mega
ΠΠ»Π°ΡΠ° Arduino Mega Π½Π°ΡΡΡΠΎΠ΅Π½Π° Π½Π° ATmega2560 ΠΈ ΠΈΠΌΠ΅Π΅Ρ 54 ΡΠΈΡΡΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ° Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°, ΡΠ°ΠΊΡΠΎΠ²ΡΡ ΡΠ°ΡΡΠΎΡΡ 16 ΠΠΡ, ΠΊΠ½ΠΎΠΏΠΊΡ ΡΠ±ΡΠΎΡΠ°, ΡΠ°Π·ΡΠ΅ΠΌ ICSP ΠΈ ΡΠ°Π·ΡΠ΅ΠΌ USB. ΠΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π° ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΡΠΌΠΈ, ΡΠ΅ΡΠ²ΠΎΠΏΡΠΈΠ²ΠΎΠ΄Π°ΠΌΠΈ ΠΈ ΡΠ΅Π»Π΅, ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΡΠΎΠΉ ΠΏΠ»Π°ΡΡ: ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΡΠ΅ΡΡΡ ΡΠ΅ΠΆΠΈΠΌΠΎΠ² ΡΠ½Π° ΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΊΠ°Π»ΠΈΠ±ΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΎΡΡΠΈΠ»Π»ΡΡΠΎΡ.
ΠΡΡΠ³ΠΈΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Arduino Mega:
Π Π°Π·ΠΌΠ΅Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° | 8 Π±ΠΈΡ |
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° RISC | ΠΠ½ ΠΈΠΌΠ΅Π΅Ρ 32*8 ΡΠ°Π±ΠΎΡΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ Π΄ΠΎ 16 MIPS Π½Π° ΡΠ°ΡΡΠΎΡΠ΅ 16 ΠΠΡ |
ΠΠ°ΠΌΡΡΡ | ΠΠ½ ΠΈΠΌΠ΅Π΅Ρ 64K/128K/256KΠ±Π°ΠΉΡ Π²Π½ΡΡΡΠΈΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΡΠ°ΠΌΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠ»ΡΡ-ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, 4Kb EEPROM ΠΈ 8Kb Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ SRAM |
ΠΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ | ΠΠΌΠ΅Π΅Ρ Π΄Π²Π° 8-ΡΠ°Π·ΡΡΠ΄Π½ΡΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, 4 Π²ΠΎΡΡΠΌΠΈΡΠ°Π·ΡΡΠ΄Π½ΡΡ ΠΊΠ°Π½Π°Π»Π° Π¨ΠΠ, Π΅ΠΌΠΊΠΎΡΡΠ½ΡΠ΅ ΡΠ΅Π½ΡΠΎΡΠ½ΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΏΠΎΠ»Π·ΡΠ½ΠΊΠΈ, ΠΊΠΎΠ»Π΅ΡΠ° ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΏΠ°ΡΠ°ΡΠΎΡ |
ΠΠΎΠ½ΡΠ°ΠΊΡΡ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° | 54 ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ° ΡΠΈΡΡΠΎΠ²ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° ΠΈ 16 ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° |
ΠΠ°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ | 5 Π²ΠΎΠ»ΡΡ |
Π’Π΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ° | ΠΎΡ -40 Π΄ΠΎ +125 Π³ΡΠ°Π΄ΡΡΠΎΠ² |
Π‘ΠΊΠΎΡΠΎΡΡΡ | ΠΎΡ 0 Π΄ΠΎ 16 ΠΠΡ |
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π‘Π΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ Arduino ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ»ΠΎ ΡΡΠ΄ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ΅Π»Π΅ΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ΄Π½ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, Π΄ΡΡΠ³ΠΈΠ΅ β Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ.