Как Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π·Π° Windows Π² Arduino

Как Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π·Π° Windows Π² Arduino

Π•Π΄ΠΈΠ½ Π΄Π΅Π½ ΠΌΠΈ Ρ…Ρ€ΡƒΠΌΠ½Π° Π»ΡƒΠ΄Π°Ρ‚Π° идСя Π΄Π° донСса 500 Π»Π°Π·Π΅Ρ€Π½ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΊΠΈ Π½Π° Π΅Π΄Π½ΠΎ място. ΠžΡ‚Π΄Π΅Π»ΠΈΡ… ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΈ Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ…. ΠŸΠΎΠ»ΡƒΡ‡ΠΈ сС Π΅Ρ„Π΅ΠΊΡ‚Π½ΠΎ ΠΈ Π±Π΅Π·ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π½ΠΎ ΠΌΠΈ харСса. ΠŸΡ€Π΅Π΄ΠΈ ΡˆΠ΅ΡΡ‚ мСсСца ΠΌΠΈ Ρ…Ρ€ΡƒΠΌΠ½Π° Π΄Ρ€ΡƒΠ³Π° Π»ΡƒΠ΄Π° идСя. Π’ΠΎΠ·ΠΈ ΠΏΡŠΡ‚ Π½Π΅ Π΅ Π½ΠΈΠΊΠ°ΠΊ Π³Ρ€Π°Π½Π΄ΠΈΠΎΠ·Π½ΠΎ, Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΠΏΠΎΠ»Π΅Π·Π½ΠΎ. Аз ΡΡŠΡ‰ΠΎ ΠΎΡ‚Π΄Π΅Π»ΠΈΡ… ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° Ρ‚ΠΎΠ²Π°. И Π² Ρ‚Π°Π·ΠΈ статия прСдставям Π±Π΅Ρ‚Π° вСрсия Π½Π° моята Π²Ρ‚ΠΎΡ€Π° Ρ‰ΡƒΡ€Π° идСя.

НарСкох ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Nanonyam (Nanonyam) ΠΈ Π΄ΠΎΡ€ΠΈ измислих Π»ΠΎΠ³ΠΎ Π·Π° Π½Π΅Π³ΠΎ (рисувах Π·Π° 5 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ).

Как Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π·Π° Windows Π² Arduino

Π—Π° Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ мислят ΠΎΡ‚ Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° Arduino, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ, Ρ‡Π΅ Nanonyam Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π΅Π½ Arduino Ρ‰ΠΈΡ‚ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Windows.

Π‘ Π΄Ρ€ΡƒΠ³ΠΈ Π΄ΡƒΠΌΠΈ, Nanonyam Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина, която ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ„ΡŠΡ€ΠΌΡƒΠ΅Ρ€ Π·Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Π° AVR (ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π° сС ATMEGA2560) ΠΊΠ°Ρ‚ΠΎ Π±Π°ΠΉΡ‚ ΠΊΠΎΠ΄. Π’ΡŠΡ‚Ρ€Π΅ Π² Ρ‚Π°Π·ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина ΠΈΠΌΠ° симулатор Π½Π° AVR ядро, Π½ΠΎ вмСсто ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€Π½ΠΈ устройства, ΠΊΠΎΠΈΡ‚ΠΎ сС Π½Π°ΠΌΠΈΡ€Π°Ρ‚ Π½Π° SRAM адрСси ΠΎΡ‚ 0x0060 Π΄ΠΎ 0x01FF, ΠΈΠΌΠ° спСциалСн интСрфСйс към Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Windows API Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ). И Ρ‚ΡƒΠΊ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½ΠΎ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ Π²Π΅Π΄Π½Π°Π³Π°: ΠΊΠΎΠ΄ΡŠΡ‚ Π·Π° Nanonyam Π½Π΅ трябва Π΄Π° ΠΈΠΌΠ° никакъв Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ посочСния Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΡ‚ ΠΏΠ°ΠΌΠ΅Ρ‚, Π·Π° Π΄Π° Π½Π΅ сС ΠΈΠ·Π²ΠΈΠΊΠ° случайно, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, функцията Π·Π° ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° диск. ΠžΡΡ‚Π°Π½Π°Π»Π°Ρ‚Π° част ΠΎΡ‚ ΠΎΠ±Ρ…Π²Π°Ρ‚Π° Π½Π° SRAM ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΎΡ‚ 0x0200 Π΄ΠΎ 0xFFFF (Ρ‚ΠΎΠ²Π° Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅, ΠΎΡ‚ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ Π² истински ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€) Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏΠ½Π° Π·Π° потрСбитСля Π·Π° всякакви Ρ†Π΅Π»ΠΈ. Π’Π΅Π΄Π½Π°Π³Π° отбСлязвам, Ρ‡Π΅ ΠΈΠΌΠ° спСциална Π·Π°Ρ‰ΠΈΡ‚Π° срСщу случайно стартиранС Π½Π° Ρ„ΡŠΡ€ΠΌΡƒΠ΅Ρ€Π° Π½Π° истински ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ (ΠΈΠ»ΠΈ Ρ„ΡŠΡ€ΠΌΡƒΠ΅Ρ€ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°): ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚Π΅ "опасни" Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, трябва Π΄Π° ΠΈΠ·Π²ΠΈΠΊΠ°Ρ‚Π΅ спСциална слоТна Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° функция. Има ΠΈ някои Π΄Ρ€ΡƒΠ³ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π° сигурност.

Π—Π° Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π·Π° Nanonyam, трябва Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ спСциални Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ всички Π½Π°Π»ΠΈΡ‡Π½ΠΈ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π˜Π·Ρ‚Π΅Π³Π»Π΅Ρ‚Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π°Ρ‚Π° машина Nanonyam ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅ Π·Π° нСя Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π°. Но страница с описаниС Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° функция. И Π΄Π°, ΡΠ°ΠΉΡ‚ΡŠΡ‚ ΠΌΠΈ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π΅Π½ ΠΈ Π½Π΅ Π΅ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€Π°Π½ Π·Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ устройства.

Nanonyam Π΅ Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π΅Π½ Π·Π° домашна ΠΈ Ρ‚ΡŠΡ€Π³ΠΎΠ²ΡΠΊΠ° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Nanonyam сС прСдоставя Π½Π° ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° β€žΠΊΠ°ΠΊΡ‚ΠΎ Π΅β€œ. Π˜Π·Ρ…ΠΎΠ΄Π½ΠΈΡΡ‚ ΠΊΠΎΠ΄ Π½Π΅ Π΅ прСдоставСн.

Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Π΅ Π² тСстова Ρ„Π°Π·Π°. Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈ са ΠΎΠΊΠΎΠ»ΠΎ 200 Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π²ΠΈ позволяват Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ прости ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π·Π° Windows.
ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π½Π΅Ρ‰ΠΎ слоТно Π² Ρ‚Π°ΠΊΠ°Π²Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина няма Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π·Π° ΠΊΠΎΠ΄Π° Π΅ само 256 kB. Π”Π°Π½Π½ΠΈΡ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ Π² ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, Π±ΡƒΡ„Π΅Ρ€ΡŠΡ‚ Π·Π° Π³Ρ€Π°Ρ„ΠΈΡ‡Π½Π°Ρ‚Π° част Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ външно. Всички Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ са опростСни ΠΈ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€Π°Π½ΠΈ Π·Π° 8-Π±ΠΈΡ‚ΠΎΠ²Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°.

Какво ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π² Nanonyam? Π‘Ρ‚ΠΈΠ³Π½Π°Ρ… Π΄ΠΎ няколко ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅

Π’Π΅Π΄Π½ΡŠΠΆ Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°ΠΌ слоТно мСню Π·Π° Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅Π½ дисплСй с Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΈ 128x64 Ρ‚ΠΎΡ‡ΠΊΠΈ. Наистина Π½Π΅ исках постоянно Π΄Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°ΠΌ Ρ„ΡŠΡ€ΠΌΡƒΠ΅Ρ€Π° Π² истински ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€, Π·Π° Π΄Π° видя ΠΊΠ°ΠΊ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°Ρ‚ пиксСлитС. И Ρ‚Π°ΠΊΠ° сС Ρ€ΠΎΠ΄ΠΈ идСята Π·Π° Nanonyam. Π€ΠΈΠ³ΡƒΡ€Π°Ρ‚Π° ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚ Ρ€Π΅Π°Π»Π΅Π½ OLED дисплСй Π½Π° Π΅Π΄ΠΈΠ½ ΠΎΡ‚ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π² ΡΡŠΡ‰ΠΎΡ‚ΠΎ мСню. Π‘Π΅Π³Π° ΠΌΠΎΠ³Π° Π΄Π° работя с Π½Π΅Π³ΠΎ Π±Π΅Π· истинско устройство.

Как Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π·Π° Windows Π² Arduino

Nanonyam (Π² ΠΊΡ€Π°ΠΉΠ½Π°Ρ‚Π° си идСя) Π΅ Π΄ΠΎΠ±ΡŠΡ€ инструмСнт Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π·Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΈΠΌΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ (ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° симулиратС дисплСи ΠΈ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΈ), с Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ (ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΆΡƒΡ€Π½Π°Π»ΠΈ, Π΄Π° Ρ‡Π΅Ρ‚Π΅Ρ‚Π΅ тСстови Π΄Π°Π½Π½ΠΈ), с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° (ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Ρ‡Π΅Ρ‚Π΅Ρ‚Π΅ Π΄ΠΎ 10 Π±ΡƒΡ‚ΠΎΠ½Π° Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ), с COM ΠΏΠΎΡ€Ρ‚ΠΎΠ²Π΅ (Ρ‚ΡƒΠΊ Π΅ ΠΎΡ‚Π΄Π΅Π»Π΅Π½ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚).

БъздаванС Π½Π° Π±ΡŠΡ€Π·ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ

НапримСр, трябва Π±ΡŠΡ€Π·ΠΎ Π΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ 100500 XNUMX тСкстови Ρ„Π°ΠΉΠ»Π°. ВсСки ΠΎΡ‚ тях трябва Π΄Π° бъдС ΠΎΡ‚Π²ΠΎΡ€Π΅Π½, Π»Π΅ΠΊΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ спорСд някакъв прост Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ, Π·Π°ΠΏΠ°Π·Π΅Π½ ΠΈ Π·Π°Ρ‚Π²ΠΎΡ€Π΅Π½. Ако стС майстор Π½Π° Python, Ρ‚ΠΎΠ³Π°Π²Π° Π²ΠΈ поздравявам, ΠΈΠΌΠ°Ρ‚Π΅ всичко. Но Π°ΠΊΠΎ стС Π·Π°ΠΊΠ°Π»Π΅Π½ arduino (ΠΈ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚ тях), Ρ‚ΠΎΠ³Π°Π²Π° Nanonyam Ρ‰Π΅ Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚Π΅ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Π’ΠΎΠ²Π° Π΅ Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° ΠΌΠΈ Ρ†Π΅Π» Π² Nanonyam: Π΄Π° добавя ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠ°Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° тСкст, ΠΏΡ€Π°Π²Π΅Π½Π΅ Π½Π° Π΅ΠΊΡ€Π°Π½Π½ΠΈ снимки ΠΈΠ»ΠΈ симулиранС Π½Π° натисканС Π½Π° клавиши Π² систСмата (всички ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ, ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Ρ€ΡƒΠ³ΠΎΡ‚ΠΎ, Π²Π΅Ρ‡Π΅ са Ρ‚Π°ΠΌ), ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° Ρ€ΡƒΡ‚ΠΈΠ½Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ .

ВСстванС Π½Π° Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€ ΠΏΡ€Π΅Π· COM ΠΏΠΎΡ€Ρ‚

Nanonyam ΠΌΠΎΠΆΠ΅ Π΄Π° дСйства ΠΊΠ°Ρ‚ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π», ΠΊΠΎΠΉΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ спорСд вашия Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° нарисуватС ΠΌΠ°Π»ΠΊΠΎ мСню Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° устройството ΠΈ ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈ ΠΎΡ‚ ΠΏΠΎΡ€Ρ‚Π°. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π·Π°ΠΏΠ°Π·Π²Π°Ρ‚Π΅ ΠΈ Ρ‡Π΅Ρ‚Π΅Ρ‚Π΅ Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° Π°Π½Π°Π»ΠΈΠ·. Π£Π΄ΠΎΠ±Π΅Π½ инструмСнт Π·Π° лСсно отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ ΠΊΠ°Π»ΠΈΠ±Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π·Π° създаванС Π½Π° прости Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ Π·Π° инструмСнти. Π—Π° студСнти ΠΈ ΠΌΠ»Π°Π΄ΠΈ ΡƒΡ‡Π΅Π½ΠΈ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π΅Π½.

ΠžΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅

Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΏΡ€ΠΈ цСлия ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Arduino, основната полСзност Π½Π° Nanonyam сС ΠΊΡ€ΠΈΠ΅ Π² опростяванСто Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅, интСрфСйса ΠΈ Π±ΡƒΡƒΡ‚Π»ΠΎΡƒΠ΄ΡŠΡ€Π°. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ трябва Π΄Π° прСдставлява интСрСс Π·Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈ програмисти ΠΈ Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ са Π΄ΠΎΠ²ΠΎΠ»Π½ΠΈ ΠΎΡ‚ Π½ΠΈΠ²ΠΎΡ‚ΠΎ Π½Π° arduino. ΠœΠ΅ΠΆΠ΄Ρƒ Π΄Ρ€ΡƒΠ³ΠΎΡ‚ΠΎ, Π°Π· самият всС ΠΎΡ‰Π΅ Π½Π΅ съм ΠΈΠ·ΡƒΡ‡Π°Π²Π°Π» Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ Π² Π΄Π΅Ρ‚Π°ΠΉΠ»ΠΈ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π²ΠΈΠ½Π°Π³ΠΈ съм ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π» WinAVR ΠΈΠ»ΠΈ AVR Studio, Π½ΠΎ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ… с асСмблСр. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ Ρ‰Π΅ бъдС ΠΌΠ°Π»ΠΊΠΎ Π³Ρ€Π΅ΡˆΠ½Π°, Π½ΠΎ доста Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰Π°.

Π—Π΄Ρ€Π°Π²Π΅ΠΉ Habr!

Π’Ρ€Π΅ΠΌΠ΅ Π΅ Π΄Π° сС Π·Π°ΠΏΠΎΠ·Π½Π°Π΅Ρ‚Π΅ с някои Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Nanonyam ΠΈ Π΄Π° Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ проста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°. Π©Π΅ пишСм Π² Arduino, Π½ΠΎ Π½Π΅ ΠΏΠΎ обичайния Π½Π°Ρ‡ΠΈΠ½, Π° ΠΏΠΎ Π½Π°Ρ‡ΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠ³Π° сСга (Π²Π΅Ρ‡Π΅ ΠΊΠ°Π·Π°Ρ…, Ρ‡Π΅ всС ΠΎΡ‰Π΅ Π½Π΅ съм Ρ€Π°Π·Π±Ρ€Π°Π» Ρ‚Π°Π·ΠΈ срСда ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±Ρ€Π΅). ΠŸΡŠΡ€Π²ΠΎ ΡΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²Π° скица ΠΈ ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΏΠ»Π°Ρ‚ΠΊΠ°Ρ‚Π° Mega2560.

Как Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π·Π° Windows Π² Arduino

Π—Π°ΠΏΠ°Π·Π΅Ρ‚Π΅ скицата във Ρ„Π°ΠΉΠ» ΠΈ слСд Ρ‚ΠΎΠ²Π° ΠΊΠΎΠΏΠΈΡ€Π°ΠΉΡ‚Π΅ Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Nanonyam. Π‘ΠΈ Π±ΠΈΠ»ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ Π΄Π° Π²ΠΊΠ»ΡŽΡ‡ΠΈΠΌ Π·Π°Π³Π»Π°Π²ΠΊΠΈΡ‚Π΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅, Π½ΠΎ Π½Π΅ Π·Π½Π°ΠΌ ΠΊΠ°ΠΊ Π΄Π° напиша компилация ΠΎΡ‚ ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π² Arduino, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ засСга просто Ρ‰Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ (ΠΈ всички навСднъТ):

#include <stdio.h>
#include "NanonyamnN_System_lib.c"
#include "NanonyamnN_Keyboard_lib.c"
#include "NanonyamnN_File_lib.c"
#include "NanonyamnN_Math_lib.c"
#include "NanonyamnN_Text_lib.c"
#include "NanonyamnN_Graphics_lib.c"
#include "NanonyamnN_RS232_lib.c"

ΠžΡ‰Π΅ ΠΏΠΎ-ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ Π±ΠΈ Π±ΠΈΠ»ΠΎ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ спСциалСн ΠΌΠΎΠ΄ΡƒΠ» β€žNanonyam Π·Π° Arduinoβ€œ, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС инсталира Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΡ‚ Arduino. Π’Π΅Π΄Π½Π°Π³Π° Ρ‰ΠΎΠΌ Π³ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π°, Ρ‰Π΅ Π³ΠΎ направя, Π½ΠΎ засСга просто ΠΏΠΎΠΊΠ°Π·Π²Π°ΠΌ ΡΡŠΡ‰Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° с Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина. ПишСм слСдния ΠΊΠΎΠ΄:

//Π‘Ρ€Π°Π·Ρƒ послС запуска рисуСм тСкст Π² ΠΎΠΊΠ½Π΅
void setup() {
  sys_Nanonyam();//ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅ΠΌ ΠΊΠΎΠ΄ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹
  g_SetScreenSize(400,200);//Π—Π°Π΄Π°Ρ‘ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ дисплСя 400Ρ…200 Ρ‚ΠΎΡ‡Π΅ΠΊ
  sys_WindowSetText("Example");//Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΠΊΠ½Π°
  g_ConfigExternalFont(0,60,1,0,0,0,"Arial");//Π—Π°Π΄Π°Ρ‘ΠΌ ΡˆΡ€ΠΈΡ„Ρ‚ Windows Π² ячСйкС ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ² 0
  g_SetExternalFont(0);//Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ячСйку ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ² 0 для рисования тСкста
  g_SetBackRGB(0,0,255);//Π¦Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π° синий
  g_SetTextRGB(255,255,0);//Π¦Π²Π΅Ρ‚ тСкста ΠΆΡ‘Π»Ρ‚Ρ‹ΠΉ
  g_ClearAll();//ΠžΡ‡ΠΈΡ‰Π°Π΅ΠΌ экран (Π·Π°Π»ΠΈΠ²ΠΊΠ° Ρ†Π²Π΅Ρ‚ΠΎΠΌ Ρ„ΠΎΠ½Π°)
  g_DrawTextCenterX(0,400,70,"Hello, Habr!");//РисуСм надпись
  g_Update();//Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ графичСский Π±ΡƒΡ„Π΅Ρ€ Π½Π° экран
}

//ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΆΠ΄Ρ‘ΠΌ закрытия ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
void loop() {
  sys_Delay(100);//Π—Π°Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΈ Ρ€Π°Π·Π³Ρ€ΡƒΠ·ΠΊΠ° процСссора
}

Π‘ΠΊΠΈΡ†ΠΈΡ€Π°ΠΉΡ‚Π΅ с Ρ‚Π°Π·ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·Ρ‚Π΅Π³Π»ΠΈΡ‚Π΅ Ρ‚ΡƒΠΊ. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описаниС Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ Π² сайта. Надявам сС, Ρ‡Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΡ‚Π΅ Π² Ρ‚ΠΎΠ·ΠΈ ΠΊΠΎΠ΄ са Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΈ, Π·Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΡΡŠΡ‰Π½ΠΎΡΡ‚Ρ‚Π° ΠΌΡƒ. Π’ΡƒΠΊ функция sys_Nanonyam() ΠΈΠ³Ρ€Π°Π΅ ролята Π½Π° "ΠΏΠ°Ρ€ΠΎΠ»Π°" Π·Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π°Ρ‚Π° машина, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π° ограничСнията Π²ΡŠΡ€Ρ…Ρƒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π‘Π΅Π· Ρ‚Π°Π·ΠΈ функция ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Ρ‰Π΅ сС Π·Π°Ρ‚Π²ΠΎΡ€ΠΈ слСд 3 сСкунди Ρ€Π°Π±ΠΎΡ‚Π°.

НатискамС Π±ΡƒΡ‚ΠΎΠ½Π° "ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈ" ΠΈ Π½Π΅ трябва Π΄Π° ΠΈΠΌΠ° Π³Ρ€Π΅ΡˆΠΊΠΈ.

Как Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π·Π° Windows Π² Arduino

Π‘Π΅Π³Π° трябва Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π΄Π²ΠΎΠΈΡ‡Π΅Π½ Ρ„Π°ΠΉΠ» (Ρ„ΡŠΡ€ΠΌΡƒΠ΅Ρ€). Π˜Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΌΠ΅Π½ΡŽΡ‚ΠΎ "Sketch>>ЕкспортиранС Π½Π° Π΄Π²ΠΎΠΈΡ‡Π΅Π½ Ρ„Π°ΠΉΠ» (CTRL+ALT+S)".

Как Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π·Π° Windows Π² Arduino

Π’ΠΎΠ²Π° Ρ‰Π΅ ΠΊΠΎΠΏΠΈΡ€Π° Π΄Π²Π° HEX Ρ„Π°ΠΉΠ»Π° Π² ΠΏΠ°ΠΏΠΊΠ°Ρ‚Π° Π½Π° скицата. Π’Π·ΠΈΠΌΠ°ΠΌΠ΅ само Ρ„Π°ΠΉΠ»Π° Π±Π΅Π· прСфикса "with_bootloader.mega".

Има няколко Π½Π°Ρ‡ΠΈΠ½Π° Π·Π° ΡƒΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° HEX Ρ„Π°ΠΉΠ» към Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π°Ρ‚Π° машина Nanonyam, всички Ρ‚Π΅ са описани Π½Π° Ρ‚Π°Π·ΠΈ страница. ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΠΌ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ Π΄ΠΎ Ρ„Π°ΠΉΠ»Π° Nanonyam.exe Ρ„Π°ΠΉΠ» ΠΏΡŠΡ‚, Π² ΠΊΠΎΠΉΡ‚ΠΎ Π΄Π° рСгистриратС пълния ΠΏΡŠΡ‚ Π΄ΠΎ нашия HEX Ρ„Π°ΠΉΠ». Π‘Π»Π΅Π΄ ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° бягатС Nanonyam.exe. ΠŸΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† с нашия надпис.

Как Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π·Π° Windows Π² Arduino

По ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π°Ρ‡ΠΈΠ½ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈ срСди, ΠΊΠ°Ρ‚ΠΎ AVR Studio ΠΈΠ»ΠΈ WinAVR.

Π’ΡƒΠΊ Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°ΠΌΠ΅ запознанството си с Наноням. ΠžΡΠ½ΠΎΠ²Π½Π°Ρ‚Π° идСя трябва Π΄Π° Π΅ ясна. ΠžΡ‰Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ ΠΈΠΌΠ° Π½Π° уСбсайта.. Ако ΠΈΠΌΠ° Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ ΠΆΠ΅Π»Π°Π΅Ρ‰ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‰Π΅ направя ΠΎΡ‰Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ ΠΈ Ρ‰Π΅ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ° Π΄Π° "пълня" Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅ с Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠŸΡ€ΠΈΠ΅ΠΌΠ°Ρ‚ сС ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΈ ΠΈΠ΄Π΅ΠΈ Π·Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ΠΈ Π·Π° нСизправности, Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ. ΠŸΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΅ Π΄Π° Π³ΠΈ насочитС към ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΈ, посочСни Π² сайта. И дискусията Π΅ Π΄ΠΎΠ±Ρ€Π΅ дошла Π² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΡ‚Π΅.

Благодаря Π½Π° всички Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈ Π΄ΠΎΠ±Ρ€ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅!

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€