Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ

Arduino ΠΈ совмСстимыС языки программирования

Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ. Π€ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ

Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ. Π€ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ

Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ. Π€ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Arduino

Если Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π²Π΅Ρ‰ΠΈ своими ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, Ρ‚ΠΎ Arduino β€” это конструктор для Ρ‚Π΅Ρ…, ΠΊΠΎΠΌΡƒ Π½Π°Π΄ΠΎΠ΅Π»ΠΎ ΡΠΎΠ·ΠΈΠ΄Π°Ρ‚ΡŒ бСсполСзныС ΠΎΠ±Ρ€Π°Π·Ρ‹ ΠΈ Π·Π°Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈΡ… Тизнью. Π’ самом ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΌ случаС Arduino β€” пСчатная ΠΏΠ»Π°Ρ‚Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ располоТСн ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, ΠΊΠ²Π°Ρ€Ρ†Π΅Π²Ρ‹ΠΉ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€, АЦП/ЦАП, нСсколько Ρ€Π°Π·ΡŠΡ‘ΠΌΠΎΠ², Π΄ΠΈΠΎΠ΄ΠΎΠ² ΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ. ΠžΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ β€” Π΄Π΅Π»ΠΎ Ρ€ΡƒΠΊ хозяина: Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ β€” создавайтС Ρ€ΠΎΠ±ΠΎΡ‚Π°, Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ-Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ для Β«ΡƒΠΌΠ½ΠΎΠ³ΠΎΒ» Π΄ΠΎΠΌΠ°, Π½Ρƒ ΠΈΠ»ΠΈ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΏΡ€ΠΎ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΠΎΠ»ΡŒΠ·Ρƒ ΠΈ Ρ€Π°Π·Π²Π»Π΅ΠΊΠ°ΠΉΡ‚Π΅ΡΡŒ.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ. насколько Π΄Π°Π»Π΅ΠΊΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΉΡ‚ΠΈ Π² своих экспСримСнтах, Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π»ΠΈ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡƒΠ΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ· Arduino ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ для собствСнного Π·Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, Π²Π°ΠΌ придётся ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΆΠ΅Π»Π΅Π·Π°, ΠΈ Π² ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ языков программирования. О послСднСм сСгодня Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

Arduino достаточно ограничСнная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π² ΠΏΠ»Π°Π½Π΅ возмоТностСй программирования, особСнно Π² сравнСнии с Raspberry Pi. Π’ силу Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ€ΠΎΠ³ Π²Ρ…ΠΎΠ΄Π° Π½Π΅ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½ΠΎ Π½ΠΈΠ·ΠΊΠΈΠΉ (Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ Tutorial Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 3 листа Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° A4), Ρ‚ΠΎ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° ΠΈΠ·ΠΎΠ±ΠΈΠ»ΠΈΠ΅ языков Π±Π΅Π· ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π½Π΅ приходится. Π—Π° основу здСсь принят C/C++, Π½ΠΎ с использованиСм Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… IDE ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ доступ ΠΊ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Python, C#, Go, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚Π°ΠΊΠΈΠΌ дСтским развлСчСниям, ΠΊΠ°ΠΊ Snap! ΠΈ ArduBlock. О Ρ‚ΠΎΠΌ ΠΊΠ°ΠΊ, ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΊΠΎΠΌΡƒ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π΄Π°Π»Π΅Π΅.

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ язык ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Arduino, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠΌΠΈ ΠΈ упрощСниями ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² стандартной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅. Найти всС доступныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°Β» ΠΌΠΎΠΆΠ½ΠΎ здСсь, Π½ΠΎ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ Π²Π°ΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ исходными возмоТностями языка C++, Π½ΠΈΠΊΠ°ΠΊΠΈΡ… надстроСк Π½Π΅ потрСбуСтс. Если ΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΏΠΎΠΈΠ³Ρ€Π°Ρ‚ΡŒ с «чистым» C, Ρ‚ΠΎ ΠΊ вашим услугам ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° WinAVR, прСдназначСнная, ΠΊΠ°ΠΊ слСдуСт ΠΈΠ· названия, для взаимодСйствия ОБ Windows ΠΈ МК сСрии AVR, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½Π° Arduino. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π²ΠΎΡ‚ здСсь.

ИспользованиС C/C++ рСкомСндуСтся Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ прСдставлСниС ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Π²Ρ‹ΡƒΡ‡ΠΈΠ» Π² школС ΠΏΠ°Ρ€Ρƒ языков ΠΈ Ρ…ΠΎΡ‡Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π° Arduino Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ большСС, Ρ‡Π΅ΠΌ ΡΠ²Π΅Ρ‚ΠΎΠ΄ΠΈΠΎΠ΄Π½ΡƒΡŽ Β«ΠΌΠΈΠ³Π°Π»ΠΊΡƒΒ» ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½ΠΊΡƒ.

Ardublock

Π’Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡ‚ΠΎΠΉΠ΄Π΅ΠΌ ΠΎΡ‚ языков взрослых ΠΊ Π»ΡŽΠ±ΠΈΠΌΠΎΠΌΡƒ рСбятнСй языку Scratch, Π° Π²Π΅Ρ€Π½Π΅Π΅ ΠΊ Π΅Π³ΠΎ Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΠΈ β€” Ardublock. Π—Π΄Π΅ΡΡŒ всё Ρ‚ΠΎΠΆΠ΅ самоС, Π½ΠΎ с Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΠ΅ΠΉ ΠΊ вашСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅: Ρ†Π²Π΅Ρ‚Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ, конструктор, русскиС названия, ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ°Ρ Π»ΠΎΠ³ΠΈΠΊΠ°. Π’Π°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ Π΄Π°ΠΆΠ΅ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌ вовсС. Подобно Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ Π² языкС Logo Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ‡Π΅Ρ€Π΅ΠΏΠ°ΡˆΠΊΡƒ ΠΏΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ плоскости, здСсь с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅Ρ…ΠΈΡ‚Ρ€Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π±Π΅Π½ΠΊΠ° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… дСйствий.

По ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Ardublock, Snap! ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ возмоТности Π² Π²ΠΈΠ΄Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ², возмоТности использования списков ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π’ΠΎ Π΅ΡΡ‚ΡŒ Snap! Π² ΠΎΠ±Ρ‰Π΅ΠΌ ΠΈ Ρ†Π΅Π»ΠΎΠΌ ΡƒΠΆΠ΅ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° взрослый язык программирования, Π½Π΅ считая, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ ΠΏΠΎ ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ³Ρ€Π°Ρ‚ΡŒ Π² конструктор ΠΊΠΎΠ΄Π°.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот язык, придСтся ΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° сайт snap4arduino.org ΠΈ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ для вашСй ОБ. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ ΠΏΠΎ установкС, использованию ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈΡ‰ΠΈΡ‚Π΅ здСсь ΠΆΠ΅.

РСкомСндуСтся младшСй возрастной Π³Ρ€ΡƒΠΏΠΏΠ΅, Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ ΡƒΡ‡ΠΈΠ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Π°ΠΊ Π΄Π°Π²Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠΌΠ½ΠΈΡ‚ ΠΈ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ Π·Π°Π²Π»Π΅Ρ‡ΡŒ своСго Ρ€Π΅Π±Π΅Π½ΠΊΠ° Π² IT Ρ‡Π΅Ρ€Π΅Π· Scratch ΠΈ Snap!.

Python

Π€ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Arduino Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ…ΠΎΡ‚ΡŒ язык Piet, просто ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎΠΌ упорствС Π²Ρ‹ скомпилируСтС Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ. Но Π² силу Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Python β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярных языков с практичСски ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ сочСтаниСм ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ\возмоТности, Ρ‚ΠΎ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ стороной Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ Π² Arduino Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π΅Π»Π΅ΠΏΠΎ. ΠΠ°Ρ‡Π°Ρ‚ΡŒ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Python Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ с нашСго бСсплатного интСнсива “ΠžΡΠ½ΠΎΠ²Ρ‹ языка Python”.

Π˜Ρ‚Π°ΠΊ, для этого Π²Π°ΠΌ понадобится Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ PySerial (Ρ€Π°Π½Π΅Π΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ использовали Π΅Ρ‘ для общСния с ΠΏΠΎΡ€Ρ‚Π°ΠΌΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°) ΠΈ vPython. О Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ всё Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΈ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ счётС Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ соотвСтствСнно ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ здСсь ΠΈ здСсь.

Go ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки.

Подобно Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ Arduino взаимодСйствуСт с Python Ρ‡Π΅Ρ€Π΅Π· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ PySerial, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ с Go, ΠΈ c Java, ΠΈ с HTML, ΠΈ с Ρ‡Π΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅. Arduino β€” достаточно популярная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π°ΠΊΠΎΠΉ Π±Π°Π½Π°Π»ΡŒΠ½Ρ‹ΠΉ вопрос, ΠΊΠ°ΠΊ Π²Ρ‹Π±ΠΎΡ€ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ языка, Π½Π΅ остановил ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ исслСдоватСля. ЕдинствСнноС, Ρ‡Ρ‚ΠΎ трСбуСтся ΠΎΡ‚ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° этой малСнькой ΠΏΠ»Π°Ρ‚Ρ‹ β€” Π·Π°Π΄ΡƒΠΌΠ°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ интСрСсноС, Π° ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ инструмСнт Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ найдётся.

ΠΠ°Ρ‡Π°Ρ‚ΡŒ свой ΠΏΡƒΡ‚ΡŒ Π² IT Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ слоТно хотя Π±Ρ‹ просто ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ глядя Π½Π° ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰ΠΈΠ΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚Π΄Π΅Π»ΠΈΡ‚ΡŒ Β«ΠΆΠ΅Π»Π΅Π·Π½Ρ‹ΠΉΒ» интСрСс ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны β€” ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ устройство с Π±Π΅Π·ΡƒΠΏΡ€Π΅Ρ‡Π½Ρ‹ΠΌ внСшним Π²ΠΈΠ΄ΠΎΠΌ, мноТСством Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ Π±Π΅Π·Π³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹ΠΌΠΈ возмоТностями, с Π΄Ρ€ΡƒΠ³ΠΎΠΉ β€” таинство ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, стрСмлСниС максимально ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ быстродСйствиС, Π½Π΅ прСнСбрСгая Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ. Arduino β€” ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ шаг ΠΊ большим изобрСтСниям, Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΉ Π½ΠΈ Π³Π»ΡƒΠ±ΠΎΠΊΠΈΡ… Π·Π½Π°Π½ΠΈΠΉ схСмотСхники, Π½ΠΈ ΠΎΠΏΡ‹Ρ‚Π° Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ.

Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ. Π€ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Arduino

Если Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π²Π΅Ρ‰ΠΈ своими ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, Ρ‚ΠΎ Arduino β€” это конструктор для Ρ‚Π΅Ρ…, ΠΊΠΎΠΌΡƒ Π½Π°Π΄ΠΎΠ΅Π»ΠΎ ΡΠΎΠ·ΠΈΠ΄Π°Ρ‚ΡŒ бСсполСзныС ΠΎΠ±Ρ€Π°Π·Ρ‹ ΠΈ Π·Π°Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈΡ… Тизнью. Π’ самом ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΌ случаС Arduino β€” пСчатная ΠΏΠ»Π°Ρ‚Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ располоТСн ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, ΠΊΠ²Π°Ρ€Ρ†Π΅Π²Ρ‹ΠΉ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€, АЦП/ЦАП, нСсколько Ρ€Π°Π·ΡŠΡ‘ΠΌΠΎΠ², Π΄ΠΈΠΎΠ΄ΠΎΠ² ΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ. ΠžΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ β€” Π΄Π΅Π»ΠΎ Ρ€ΡƒΠΊ хозяина: Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ β€” создавайтС Ρ€ΠΎΠ±ΠΎΡ‚Π°, Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ-Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ для Β«ΡƒΠΌΠ½ΠΎΠ³ΠΎΒ» Π΄ΠΎΠΌΠ°, Π½Ρƒ ΠΈΠ»ΠΈ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΏΡ€ΠΎ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΠΎΠ»ΡŒΠ·Ρƒ ΠΈ Ρ€Π°Π·Π²Π»Π΅ΠΊΠ°ΠΉΡ‚Π΅ΡΡŒ.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ. насколько Π΄Π°Π»Π΅ΠΊΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΉΡ‚ΠΈ Π² своих экспСримСнтах, Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π»ΠΈ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡƒΠ΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ· Arduino ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ для собствСнного Π·Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, Π²Π°ΠΌ придётся ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΆΠ΅Π»Π΅Π·Π°, ΠΈ Π² ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ языков программирования. О послСднСм сСгодня Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

Arduino достаточно ограничСнная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π² ΠΏΠ»Π°Π½Π΅ возмоТностСй программирования, особСнно Π² сравнСнии с Raspberry Pi. Π’ силу Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ€ΠΎΠ³ Π²Ρ…ΠΎΠ΄Π° Π½Π΅ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½ΠΎ Π½ΠΈΠ·ΠΊΠΈΠΉ (Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ Tutorial Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 3 листа Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° A4), Ρ‚ΠΎ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° ΠΈΠ·ΠΎΠ±ΠΈΠ»ΠΈΠ΅ языков Π±Π΅Π· ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π½Π΅ приходится. Π—Π° основу здСсь принят C/C++, Π½ΠΎ с использованиСм Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… IDE ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ доступ ΠΊ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Python, C#, Go, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚Π°ΠΊΠΈΠΌ дСтским развлСчСниям, ΠΊΠ°ΠΊ Snap! ΠΈ ArduBlock. О Ρ‚ΠΎΠΌ ΠΊΠ°ΠΊ, ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΊΠΎΠΌΡƒ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π΄Π°Π»Π΅Π΅.

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ язык ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Arduino, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠΌΠΈ ΠΈ упрощСниями ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² стандартной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅. Найти всС доступныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°Β» ΠΌΠΎΠΆΠ½ΠΎ здСсь, Π½ΠΎ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ Π²Π°ΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ исходными возмоТностями языка C++, Π½ΠΈΠΊΠ°ΠΊΠΈΡ… надстроСк Π½Π΅ потрСбуСтс. Если ΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΏΠΎΠΈΠ³Ρ€Π°Ρ‚ΡŒ с «чистым» C, Ρ‚ΠΎ ΠΊ вашим услугам ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° WinAVR, прСдназначСнная, ΠΊΠ°ΠΊ слСдуСт ΠΈΠ· названия, для взаимодСйствия ОБ Windows ΠΈ МК сСрии AVR, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½Π° Arduino. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π²ΠΎΡ‚ здСсь.

ИспользованиС C/C++ рСкомСндуСтся Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ прСдставлСниС ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Π²Ρ‹ΡƒΡ‡ΠΈΠ» Π² школС ΠΏΠ°Ρ€Ρƒ языков ΠΈ Ρ…ΠΎΡ‡Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π° Arduino Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ большСС, Ρ‡Π΅ΠΌ ΡΠ²Π΅Ρ‚ΠΎΠ΄ΠΈΠΎΠ΄Π½ΡƒΡŽ Β«ΠΌΠΈΠ³Π°Π»ΠΊΡƒΒ» ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½ΠΊΡƒ.

Ardublock

Π’Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡ‚ΠΎΠΉΠ΄Π΅ΠΌ ΠΎΡ‚ языков взрослых ΠΊ Π»ΡŽΠ±ΠΈΠΌΠΎΠΌΡƒ рСбятнСй языку Scratch, Π° Π²Π΅Ρ€Π½Π΅Π΅ ΠΊ Π΅Π³ΠΎ Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΠΈ β€” Ardublock. Π—Π΄Π΅ΡΡŒ всё Ρ‚ΠΎΠΆΠ΅ самоС, Π½ΠΎ с Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΠ΅ΠΉ ΠΊ вашСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅: Ρ†Π²Π΅Ρ‚Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ, конструктор, русскиС названия, ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ°Ρ Π»ΠΎΠ³ΠΈΠΊΠ°. Π’Π°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ Π΄Π°ΠΆΠ΅ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌ вовсС. Подобно Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ Π² языкС Logo Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ‡Π΅Ρ€Π΅ΠΏΠ°ΡˆΠΊΡƒ ΠΏΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ плоскости, здСсь с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅Ρ…ΠΈΡ‚Ρ€Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π±Π΅Π½ΠΊΠ° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… дСйствий.

По ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Ardublock, Snap! ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ возмоТности Π² Π²ΠΈΠ΄Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ², возмоТности использования списков ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π’ΠΎ Π΅ΡΡ‚ΡŒ Snap! Π² ΠΎΠ±Ρ‰Π΅ΠΌ ΠΈ Ρ†Π΅Π»ΠΎΠΌ ΡƒΠΆΠ΅ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° взрослый язык программирования, Π½Π΅ считая, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ ΠΏΠΎ ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ³Ρ€Π°Ρ‚ΡŒ Π² конструктор ΠΊΠΎΠ΄Π°.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот язык, придСтся ΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° сайт snap4arduino.org ΠΈ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ для вашСй ОБ. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ ΠΏΠΎ установкС, использованию ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈΡ‰ΠΈΡ‚Π΅ здСсь ΠΆΠ΅.

РСкомСндуСтся младшСй возрастной Π³Ρ€ΡƒΠΏΠΏΠ΅, Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ ΡƒΡ‡ΠΈΠ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Π°ΠΊ Π΄Π°Π²Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠΌΠ½ΠΈΡ‚ ΠΈ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ Π·Π°Π²Π»Π΅Ρ‡ΡŒ своСго Ρ€Π΅Π±Π΅Π½ΠΊΠ° Π² IT Ρ‡Π΅Ρ€Π΅Π· Scratch ΠΈ Snap!.

Python

Π€ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Arduino Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ…ΠΎΡ‚ΡŒ язык Piet, просто ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎΠΌ упорствС Π²Ρ‹ скомпилируСтС Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ. Но Π² силу Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Python β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярных языков с практичСски ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ сочСтаниСм ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ\возмоТности, Ρ‚ΠΎ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ стороной Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ Π² Arduino Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π΅Π»Π΅ΠΏΠΎ. ΠΠ°Ρ‡Π°Ρ‚ΡŒ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Python Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ с нашСго бСсплатного интСнсива “ΠžΡΠ½ΠΎΠ²Ρ‹ языка Python”.

Π˜Ρ‚Π°ΠΊ, для этого Π²Π°ΠΌ понадобится Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ PySerial (Ρ€Π°Π½Π΅Π΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ использовали Π΅Ρ‘ для общСния с ΠΏΠΎΡ€Ρ‚Π°ΠΌΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°) ΠΈ vPython. О Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ всё Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΈ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ счётС Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ соотвСтствСнно ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ здСсь ΠΈ здСсь.

Go ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки.

Подобно Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ Arduino взаимодСйствуСт с Python Ρ‡Π΅Ρ€Π΅Π· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ PySerial, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ с Go, ΠΈ c Java, ΠΈ с HTML, ΠΈ с Ρ‡Π΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅. Arduino β€” достаточно популярная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π°ΠΊΠΎΠΉ Π±Π°Π½Π°Π»ΡŒΠ½Ρ‹ΠΉ вопрос, ΠΊΠ°ΠΊ Π²Ρ‹Π±ΠΎΡ€ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ языка, Π½Π΅ остановил ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ исслСдоватСля. ЕдинствСнноС, Ρ‡Ρ‚ΠΎ трСбуСтся ΠΎΡ‚ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° этой малСнькой ΠΏΠ»Π°Ρ‚Ρ‹ β€” Π·Π°Π΄ΡƒΠΌΠ°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ интСрСсноС, Π° ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ инструмСнт Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ найдётся.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π―Π·Ρ‹ΠΊΠΈ программирования

Π˜Ρ‚Π°ΠΊ, Ρƒ вас Π΅ΡΡ‚ΡŒ процСссор. Π’Ρ‹ навСрняка ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ процСссор ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ-Ρ‚ΠΎ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Π΄Π΅Π»Π°Π» Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅. Но Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ спСрва Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ ΠΎΡ‚Π΄Π°Ρ‚ΡŒ Π΅Ρ‘ процСссору для исполнСния.

Π’ Ρ†Π΅Π»ΠΎΠΌ, Π½Π΅Π²Π°ΠΆΠ½ΠΎ, с ΠΊΠ°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ процСссором Π²Ρ‹ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ Π΄Π΅Π»ΠΎ: это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ послСдний Intel Pentium Π² вашСм Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠ΅ ΠΈΠ»ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π½Π° ΠΏΠ»Π°Ρ‚Π΅ Arduino. ΠžΠ±Ρ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚. Π΅. программирования, Π² ΠΎΠ±ΠΎΠΈΡ… случаях ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅. РазличаСтся лишь быстродСйствиС ΠΈ ΠΎΠ±ΡŠΡ‘ΠΌ возмоТностСй ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ устройствами.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈ ΠΊΡƒΠ΄Π° Π΅Ρ‘ ΠΏΠΈΡΠ°Ρ‚ΡŒ

ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€, нСсмотря Π½Π° всю ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ производства, ΠΏΠΎ сути своСй, довольно простая ΠΈ прямолинСйная Π²Π΅Ρ‰ΡŒ. Π”ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎΠ½ Π½Π΅ ΡƒΠΌΠ΅Π΅Ρ‚: Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π΅Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ процСссор Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ (ΠΈ Π½Π΅ смоТСт). Он ΡƒΠΌΠ΅Π΅Ρ‚ лишь Ρ‚ΡƒΠΏΠΎ, Π±Π°ΠΉΡ‚ Π·Π° Π±Π°ΠΉΡ‚ΠΎΠΌ, ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ инструкции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΠΌΡƒ подсунули. Π­Ρ‚Π°ΠΊΠΈΠΉ Ρ‚ΡƒΠΏΠΎΠΉ, Π½ΠΎ нСнасытный ΠΏΠΎΠΆΠΈΡ€Π°Ρ‚Π΅Π»ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Ρ…Π»Π°Π΄Π½ΠΎΠΊΡ€ΠΎΠ²Π½Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒ инструкций. МоТно привСсти Π³Ρ€ΡƒΠ±Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ инструкций:

Π‘Π°ΠΉΡ‚ инструкцииЧто ΠΎΠ½ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ для процСссора
00001001ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚: Π²Π·ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π±Π°ΠΉΡ‚ ΠΈ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² ячСйкС β„–1
00000110…это ΠΊΠ°ΠΊ Ρ€Π°Π· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π±Π°ΠΉΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ Π² ячСйкС β„–1: число 5
00011001ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚: ΠΎΡ‚Π½ΡΡ‚ΡŒ ΠΎΡ‚ значСния Π² ячСйкС β„–1 Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ ΠΈ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π°ΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
00101001ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚: ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ячСйкС β„–1 с Π½ΡƒΠ»Ρ‘ΠΌ, ΠΈ Ссли ΠΎΠ½ΠΎ ноль β€” ΠΏΠ΅Ρ€Π΅ΠΏΡ€Ρ‹Π³Π½ΡƒΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π±Π°ΠΉΡ‚, сколько ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Π±Π°ΠΉΡ‚Π΅
00000100…Ссли Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±Ρ‹Π» ноль, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΡ€Ρ‹Π³Π½ΡƒΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· 4 Π±Π°ΠΉΡ‚Π°, ΠΊ прСдпослСднСй инструкции
10000011ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ вывСсти Π½Π° экран символ, ΠΊΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ записан Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Π±Π°ΠΉΡ‚Π΅
01000001…буквС Β«AΒ» ΠΊΠ°ΠΊ Ρ€Π°Π· соотвСтствуСт этот ΠΊΠΎΠ΄
00101000ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΡ€Ρ‹Π³Π½ΡƒΡ‚ΡŒ Π½Π°Π·Π°Π΄ Π½Π° ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π±Π°ΠΉΡ‚, сколько ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Π±Π°ΠΉΡ‚Π΅
00000110β€¦ΠΏΡ€Ρ‹Π³Π°Ρ‚ΡŒ Π±ΡƒΠ΄Π΅ΠΌ Π½Π° 6 Π±Π°ΠΉΡ‚ Π½Π°Π·Π°Π΄, ΠΊ инструкции β„–3
10000011ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ вывСсти Π½Π° экран символ, ΠΊΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ записан Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Π±Π°ΠΉΡ‚Π΅
00100001…знаку Β«!Β» ΠΊΠ°ΠΊ Ρ€Π°Π· соотвСтствуСт этот ΠΊΠΎΠ΄

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ исполнСния Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ инструкций Π½Π° экран Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½Π° паничСская Ρ„Ρ€Π°Π·Π° «АААА!Β».

Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° для Ρ‚Π°ΠΊΠΎΠΉ простой Ρ†Π΅Π»ΠΈ! ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ссли Π±Ρ‹ всС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ писались Π²ΠΎΡ‚ Ρ‚Π°ΠΊ, нСпосрСдствСнно, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° слоТных ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Π·Π°Π½ΠΈΠΌΠ°Π»Π° Π±Ρ‹ Π²Π΅ΠΊΠ°. А Ссли Π΅Ρ‰Ρ‘ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ процСссоры Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΈ производятся Π²ΠΎ мноТСствС Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ ΠΈ систСм ΠΊΠΎΠΌΠ°Π½Π΄ (инструкций), Ρ‚ΠΎ написаниС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎΠΉ ΠΏΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для процСссоров Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ ΠΈ систСм ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ увСличСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΊΠ°ΠΊ Π½Π° ΠΈΡ… ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ освоСниС, Ρ‚Π°ΠΊ ΠΈ нСпосрСдствСнно Π½Π° написаниС собствСнного ΠΊΠΎΠ΄Π° для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора.

Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Ρ‹ языки программирования

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄Π²ΡƒΠ΅Π΄ΠΈΠ½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ: упрощСния написания ΠΈ понимания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅ для ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ зависимости исходного ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΡ‚ “ΠΆΠ΅Π»Π΅Π·Π°” (ΠΎΡ‚ систСмы ΠΊΠΎΠΌΠ°Π½Π΄-инструкций ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ процСссора) Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π½Ρ‹ ΠΈ созданы языки программирования. Π˜Ρ… ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈ Π΄Π°ΠΆΠ΅ ΠΈΠ· Ρ‚Π΅Ρ… Ρ‡Ρ‚ΠΎ постоянно Π½Π° слуху ΠΌΠΎΠΆΠ½ΠΎ быстро Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ дСсяток-Π΄Ρ€ΡƒΠ³ΠΎΠΉ: Assembler, C, C++, C#, Java, Python, Ruby, PHP, Scala, JavaScript.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° этих языках Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±Π»ΠΈΠΆΠ΅ ΠΊ СстСствСнному языку Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΈΡ… ΠΏΡ€ΠΎΡ‰Π΅, быстрСС ΠΈ приятнСС ΠΏΠΈΡΠ°Ρ‚ΡŒ. И Ρ‡Ρ‚ΠΎ самоС Π³Π»Π°Π²Π½ΠΎΠ΅, ΠΈΡ… Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ: Π²Π°ΠΌ сразу послС написания, Π²Π°ΠΌ Ρ‡Π΅Ρ€Π΅Π· Π³ΠΎΠ΄ ΠΈΠ»ΠΈ Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΊΠΎΠ»Π»Π΅Π³Π΅.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ языки нСпонятны процСссору, ΠΈ ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Π΄Π°Ρ‚ΡŒ Π΅ΠΌΡƒ эту ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Π΅Ρ‘ Π½ΡƒΠΆΠ½ΠΎ Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ (translate): пСрСвСсти с СстСствСнного языка Π½Π° язык процСссора (Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык). Врансляция-ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ нСпосрСдствСнно слово Π·Π° словом (Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π° Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ) β€” это ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹-ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ языков (Π°Π½Π³Π». interpreter β€” ΠΈΡΡ‚ΠΎΠ»ΠΊΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ). Π˜Ρ… дСйствиС Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ синхронному ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρƒ, ΠΊΠΎΠ³Π΄Π° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠΈ-синхронисты пСрСводят Ρ„Ρ€Π°Π·Ρ‹, Π²Ρ‹Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠ΅ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΉ смысл, Π² Ρ‚Π΅ΠΌΠΏΠ΅ ΠΈΡ… произнСсСния ΠΈΠ»ΠΈ поступлСния. Врансляция-ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ ΠΈ всСго тСкста (листинга) ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ β€” это ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹-компиляторы (Π°Π½Π³Π». compiler β€” ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ, ΡΠΎΠ±ΠΈΡ€Π°Ρ‚Π΅Π»ΡŒ). Π˜Ρ… дСйствиС схоТС с ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠΌ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹Ρ… тСкстов. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ языка, Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ½ Π½Π΅ остался Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Ρ„Π°Π½Ρ‚Π°Π·ΠΈΠΉ, Π΅ΡΡ‚ΡŒ свой транслятор-ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊ: Π»ΠΈΠ±ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π»ΠΈΠ±ΠΎ компилятор, ΠΈΠ»ΠΈ ΠΈ Ρ‚ΠΎΡ‚, ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Для популярных языков ΠΈΡ… ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ нСсколько Π½Π° Π²Ρ‹Π±ΠΎΡ€, ΠΎΡ‚ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΈ для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠ· Π½ΠΈΡ… свободно доступно Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅.

Π˜Ρ‚Π°ΠΊ, Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π²ΠΏΠΎΠ»Π½Π΅ понятном Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ языкС: ΠΈΡ… Π΅Ρ‰Ρ‘ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ «исходным ΠΊΠΎΠ΄ΠΎΠΌΒ», просто Β«ΠΊΠΎΠ΄ΠΎΠΌΒ» ΠΈΠ»ΠΈ «исходниками». Они ΠΏΠΈΡˆΡƒΡ‚ΡΡ Π² простыС тСкстовыС Ρ„Π°ΠΉΠ»Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ любого тСкстового Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°, Ρ…ΠΎΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Notepad. Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ Π² понятныС процСссору Π½Π°Π±ΠΎΡ€Ρ‹ Π½ΡƒΠ»Π΅ΠΉ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ† с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ транслятора (ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° ΠΈΠ»ΠΈ компилятора), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ исходный ΠΊΠΎΠ΄ ΠΈ нСпосрСдствСнно выполняСт Π·Π°ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½Ρ‹Π΅ Π² Π½Ρ‘ΠΌ инструкции, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ рСсурсы процСссора, Π° компилятор ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π° Π²Ρ…ΠΎΠ΄ исходный ΠΊΠΎΠ΄, Π° Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ создаёт Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ (Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ) исполняСмый Ρ„Π°ΠΉΠ», Ρ‚ΠΎΡ‚ самый, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ понятСн процСссору ΠΈ называСтся исполняСмой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΆΠ΅ сущСствуСт ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ языков программирования ΠΈ Π² Ρ‡Ρ‘ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π°?

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° экран пСсСнку ΠΏΡ€ΠΎ 99 Π±ΡƒΡ‚Ρ‹Π»ΠΎΠΊ ΠΏΠΈΠ²Π° Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… языках программирования.

НапримСр, язык Perl. ΠŸΠΈΡˆΠ΅Ρ‚ΡΡ быстро; ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π» Π² Π²ΠΈΠ΄Ρƒ программист Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ; исполняСтся ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ:

Π―Π·Ρ‹ΠΊ Java. ΠŸΠΈΡˆΠ΅Ρ‚ΡΡ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»Π³ΠΎ; читаСтся просто; исполняСтся довольно быстро, Π½ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ памяти:

Π―Π·Ρ‹ΠΊ Assembler. ΠŸΠΈΡˆΠ΅Ρ‚ΡΡ Π΄ΠΎΠ»Π³ΠΎ; читаСтся слоТно; исполняСтся ΠΎΡ‡Π΅Π½ΡŒ быстро:

На Ρ‡Ρ‘ΠΌ программируСтся Arduino

Если Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎΠ± Arduino ΠΈΠ»ΠΈ ΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Atmel, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π½ΠΈΡ…? ВСорСтичСский ΠΎΡ‚Π²Π΅Ρ‚: Π½Π° любом. Но Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Π²Ρ‹Π±ΠΎΡ€ ограничиваСтся языками Assembler, C ΠΈ C++. Π­Ρ‚ΠΎ связанно с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π² сравнСнии с Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ Ρƒ Π½ΠΈΡ… ΠΎΡ‡Π΅Π½ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Π΅ рСсурсы. ΠšΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚Ρ‹ памяти, Π° Π½Π΅ Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚Ρ‹. ΠœΠ΅Π³Π°Π³Π΅Ρ€Ρ†Ρ‹ Π½Π° процСссорС, Π° Π½Π΅ Π³ΠΈΠ³Π°Π³Π΅Ρ€Ρ†Ρ‹. Π­Ρ‚ΠΎ ΠΏΠ»Π°Ρ‚Π° Π·Π° Π΄Π΅ΡˆΠ΅Π²ΠΈΠ·Π½Ρƒ ΠΈ ΡΠ½Π΅Ρ€Π³ΠΎΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½ΡƒΠΆΠ΅Π½ язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ эффСктивно. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² Ρ‚Π΅ самыС Π½ΡƒΠ»ΠΈ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ ΠΈΠ· инструкций ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Π΅Π΅, Π±Π΅Π· расходов Π΄Ρ€Π°Π³ΠΎΡ†Π΅Π½Π½Ρ‹Ρ… инструкций ΠΈ памяти Π²ΠΏΡƒΡΡ‚ΡƒΡŽ. Подобной ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒΡŽ ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ Π½Π°Π·Π²Π°Π½Π½Ρ‹Π΅ языки. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΈΡ…, Π΄Π°ΠΆΠ΅ Π² ΡƒΠ·ΠΊΠΈΡ… Ρ€Π°ΠΌΠΊΠ°Ρ… рСсурсов ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±ΠΎΠ³Π°Ρ‚Ρ‹Π΅ возмоТностями ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ быстро.

Assembler, ΠΊΠ°ΠΊ Π²Ρ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ, нСльзя Π½Π°Π·Π²Π°Ρ‚ΡŒ самым простым ΠΈ элСгантным ΠΈ, СстСствСнно, ΠΊΠ°ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, флагманским языком для Arduino являСтся C/C++.

Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… источниках говорится, Ρ‡Ρ‚ΠΎ Arduino программируСтся Π½Π° особом языкС: Processing, Wiring. Π­Ρ‚ΠΎ Π½Π΅ совсСм ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ программируСтся Π½Π° C/C++, Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ называСтся этими словами β€” это просто ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ «обвСс», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, скрывая частности ΠΈ Π΄Π΅Ρ‚Π°Π»ΠΈ, Π΄Π° Π½Π΅ изобрСтая вСлосипСд ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ C ΠΈ C++ ΡƒΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ? C++ β€” это надстройка Π½Π°Π΄ C. Всякая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° C являСтся ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ для C++, Π½ΠΎ Π½Π΅ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ Ρ‚Π΅ΠΌ, ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ. Π§Π°Ρ‰Π΅ всСго Π²Ρ‹ Π΄Π°ΠΆΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°Ρ‚ΡŒΡΡ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅, Ρ€Π΅ΡˆΠ°Ρ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ.

Π‘Π»ΠΈΠΆΠ΅ ΠΊ Π΄Π΅Π»Ρƒ: пСрвая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°

Π”Π°Π²Π°ΠΉΡ‚Π΅ напишСм ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для Arduino ΠΈ заставим ΠΏΠ»Π°Ρ‚Ρƒ Π΅Ρ‘ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ. Π’Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ тСкстовый Ρ„Π°ΠΉΠ» с исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΈ ΠΏΠΎΠ΄ΡΡƒΠ½ΡƒΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ Π½Π° ΠΏΠ»Π°Ρ‚Π΅.

ΠŸΠΎΠΉΠ΄Ρ‘ΠΌ ΠΏΠΎ порядку. НапишСм исходный ΠΊΠΎΠ΄. МоТно Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Π³ΠΎ Π² Π±Π»ΠΎΠΊΠ½ΠΎΡ‚Π΅ ΠΈΠ»ΠΈ любом Π΄Ρ€ΡƒΠ³ΠΎΠΌ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅. Однако для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π° Π±Ρ‹Π»Π° ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (IDE, Integrated Development Environment). Они Π² Π²ΠΈΠ΄Π΅ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ инструмСнта ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΈ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ с подсвСткой ΠΈ подсказками, ΠΈ компилятор, запускаСмый ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅, ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… радостСй. Для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎΠΊ такая срСда называСтся Arduino IDE. Она свободно доступна для скачивания Π½Π° нашСм сайтС.

УстановитС срСду ΠΈ запуститС Π΅Ρ‘. Π’ появившСмся ΠΎΠΊΠ½Π΅ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ большая Ρ‡Π°ΡΡ‚ΡŒ мСста ΠΎΡ‚Π΄Π°Π½Π° тСкстовому Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρƒ. Π’ Π½Π΅Π³ΠΎ ΠΈ ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ ΠΊΠΎΠ΄. Код Π² ΠΌΠΈΡ€Π΅ Arduino Π΅Ρ‰Ρ‘ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ скСтчСм (Π°Π½Π³Π». sketch β€” набросок, эскиз). К слову, «скСтч» ΠΊΠ°ΠΊ имя Π½Π°Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΡˆΠ»ΠΎ Π² ΠΌΠΈΡ€ искусства программирования ΠΈΠ· ΠΌΠΈΡ€Π° искусства ΠΈ Ρ…ΡƒΠ΄ΠΎΠΆΠ½ΠΈΠΊΠΎΠ².

Π˜Ρ‚Π°ΠΊ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ напишСм скСтч (набросаСм эскиз), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚. Π’ΠΎ Π΅ΡΡ‚ΡŒ минимально Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡƒΡŽ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° C++, которая просто ΠΏΡ€ΠΎΠΆΠΈΠ³Π°Π΅Ρ‚ врСмя.

НС Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠΊΠ° Π·Π°ΠΎΡΡ‚Ρ€ΡΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ написанного ΠΊΠΎΠ΄Π°. Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌ Π΅Π³ΠΎ. Для этого Π² Arduino IDE Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов Π΅ΡΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠ° Β«VerifyΒ». НаТмитС Π΅Ρ‘, ΠΈ Ρ‡Π΅Ρ€Π΅Π· нСсколько сСкунд Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ². Об этом возвСстит надпись Β«Done compilingΒ» ΠΏΠΎΠ΄ тСкстовым Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ.

Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ. Π€ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΡΡƒΠ½ΡƒΡ‚ΡŒ Π΅Π³ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ. Π­Ρ‚ΠΎΡ‚ процСсс называСтся Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ, ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΎΠΉ ΠΈΠ»ΠΈ Π·Π°Π»ΠΈΠ²ΠΊΠΎΠΉ. Для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° устройство Π² срСдС Arduino IDE Π΅ΡΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠ° Β«UploadΒ» Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов. Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅ Π²Π°ΡˆΡƒ ΠΏΠ»Π°Ρ‚Ρƒ с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ Ρ‡Π΅Ρ€Π΅Π· USB-кабСль, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«UploadΒ», ΠΈ Ρ‡Π΅Ρ€Π΅Π· нСсколько ΠΌΠ³Π½ΠΎΠ²Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π° Π² Π°Ρ€Π΄ΡƒΠΈΠ½ΠΊΡƒ. ΠŸΡ€ΠΈ этом ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая Π±Ρ‹Π»Π° Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ Ρ€Π°Π½Π΅Π΅, Π±ΡƒΠ΄Π΅Ρ‚ стёрта.

Об ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ΅ возвСстит надпись Β«Done UploadingΒ».

Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ. Π€ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ

Если ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π²Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ с ошибкой ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ:

ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΠ΅ΠΌ! Π’Ρ‹ ΠΏΡ€ΠΎΡˆΠ»ΠΈ вСсь ΠΏΡƒΡ‚ΡŒ ΠΎΡ‚ чистого листа Π΄ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΉ Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΡƒΡΡ‚ΡŒ ΠΎΠ½Π° Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΈ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚, Π½ΠΎ это ΡƒΠΆΠ΅ успСх.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ Arduino

МногиС Π΄ΡƒΠΌΠ°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ Π½Π° языкС Wiring, Π½ΠΎ Π½Π° самом дСлС…

Arduino β€” это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΡ‚Π΅Ρ…Π½ΠΈΠΊΠ΅, ΡƒΠΌΠ½ΠΎΠΌ Π΄ΠΎΠΌΠ΅ ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΡƒΠ³ΠΎΠ΄Π½ΠΎ: Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΠΊΠΎΡ€ΠΌΠΈΠ» ΠΊΠΎΡ‚Π°, ΠΏΠΎΠ»ΠΈΠ²Π°Π» растСния, ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°Π» вас ΠΎ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΠΈ Π²Ρ€Π°Π³ΠΎΠ² ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π» Π΄Π²Π΅Ρ€ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ°Π³Π½ΠΈΡ‚Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°. Π£ нас Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΊΠ° 10 интСрСсных Π²Π΅Ρ‰Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° этой ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅. Π’Π΅ΠΏΠ΅Ρ€ΡŒ врСмя Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ, ΠΊΠ°ΠΊ программисты с Π½Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚.

Π―Π·Ρ‹ΠΊ Arduino

Если ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΉ программист посмотрит Π½Π° ΠΊΠΎΠ΄ для Arduino, ΠΎΠ½ скаТСт, Ρ‡Ρ‚ΠΎ это ΠΊΠΎΠ΄ Π½Π° C++. Π­Ρ‚ΠΎ Π½Π΅Π΄Π°Π»Π΅ΠΊΠΎ ΠΎΡ‚ истины: основная Π»ΠΎΠ³ΠΈΠΊΠ° Ардуино Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π½Π° C++, Π° свСрху Π½Π° Π½Π΅Ρ‘ Π½Π°Π΄Π΅Ρ‚ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Wiring, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ с ΠΆΠ΅Π»Π΅Π·ΠΎΠΌ.

На это Π΅ΡΡ‚ΡŒ нСсколько ΠΏΡ€ΠΈΡ‡ΠΈΠ½:

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΈ Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ

Π’ любой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ для Arduino Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ части: ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ ΠΈ основной Ρ†ΠΈΠΊΠ».

Π’ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ части Π²Ρ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅ ΠΆΠ΅Π»Π΅Π·Ρƒ, Ρ‡Π΅Π³ΠΎ ΠΎΡ‚ вас ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ: ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠΎΡ€Ρ‚Ρ‹ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π½Π° Π²Ρ…ΠΎΠ΄, ΠΊΠ°ΠΊΠΈΠ΅ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄, Ρ‡Ρ‚ΠΎ Ρƒ вас ΠΊΠ°ΠΊ называСтся. НапримСр, Ссли Ρƒ вас Π΄Π°Ρ‚Ρ‡ΠΈΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Ρ‘Π½ ΠΊΠΎ Π²Ρ…ΠΎΠ΄Ρƒ 10, Π° Π»Π°ΠΌΠΏΠΎΡ‡ΠΊΠ° ΠΊ Π²Ρ‹Ρ…ΠΎΠ΄Ρƒ 3, Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±ΠΎΠ·Π²Π°Ρ‚ΡŒ эти Π²Ρ…ΠΎΠ΄Ρ‹ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Ρ‹ ΠΊΠ°ΠΊ Π²Π°ΠΌ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Π° дальшС Π² ΠΊΠΎΠ΄Π΅ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ Π½Π΅ ΠΊ дСсятому Π²Ρ…ΠΎΠ΄Ρƒ ΠΈ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌΡƒ Π²Ρ‹Ρ…ΠΎΠ΄Ρƒ, Π° ΠΏΠΎ-чСловСчСски: ΠΊ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΡƒ ΠΈΠ»ΠΈ Π»Π°ΠΌΠΏΠΎΡ‡ΠΊΠ΅. Вся Ρ‡Π°ΡΡ‚ΡŒ с ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΎΠΉ выполняСтся ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΏΡ€ΠΈ стартС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ всё Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² основной Ρ†ΠΈΠΊΠ».

Основной Ρ†ΠΈΠΊΠ» β€” это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ происходит Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ loop(). Ардуино Π±Π΅Ρ€Ρ‘Ρ‚ ΠΎΡ‚Ρ‚ΡƒΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ выполняСт ΠΈΡ… подряд. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΈΡΡŒ, ΠΎΠ½ возвращаСтся Π² Π½Π°Ρ‡Π°Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° ΠΈ повторяСт всё. И Ρ‚Π°ΠΊ Π΄ΠΎ бСсконСчности.

Π’ основном Ρ†ΠΈΠΊΠ»Π΅ ΠΌΡ‹ описываСм всС ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€: ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΠΌΠΈΠ³Π°Ρ‚ΡŒ Π»Π°ΠΌΠΏΠ°ΠΌΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ-Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΌΠΎΡ‚ΠΎΡ€Ρ‹, ΠΊΠΎΡ€ΠΌΠΈΡ‚ΡŒ ΠΊΠΎΡ‚Π° ΠΈ Ρ‚. Π΄.

Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Ρ‡Π΅Π³ΠΎ нСльзя

Ардуино Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° одноядСрном ΠΈ Π½Π΅ шибко ΡˆΡƒΡΡ‚Ρ€ΠΎΠΌ процСссорС. Π•Π³ΠΎ тактовая частота β€” 16 ΠΌΠ΅Π³Π°Π³Π΅Ρ€Ρ†, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ 16 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² процСссорных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² сСкунду. Π­Ρ‚ΠΎ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ быстро, плюс ядро Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ, ΠΈ ΠΎΠ½ΠΎ исполняСт ΠΎΠ΄Π½Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π·Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ.

Π’ΠΎΡ‚ ΠΊΠ°ΠΊΠΈΠ΅ ограничСния это Π½Π° нас Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚.

НСт настоящСй многозадачности. МоТно ΡΠΈΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΈΡ‘ΠΌΠ° Protothreading, Π½ΠΎ это скорСС ΠΊΠΎΡΡ‚Ρ‹Π»ΡŒ. НСльзя, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡΠΊΠ°Π·Π°Ρ‚ΡŒ: «Когда наТмётся такая-Ρ‚ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ° β€” сдСлай Ρ‚Π°ΠΊΒ». ВмСсто этого придётся Π² основном Ρ†ΠΈΠΊΠ»Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ: «А эта ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π°ΠΆΠ°Ρ‚Π°? Если Π΄Π°, Ρ‚ΠΎ. Β»

НСт понятия Ρ„Π°ΠΉΠ»ΠΎΠ² (Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠΎΡ‡Π΅ΠΊ, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ ΠΆΠ΅Π»Π΅Π·Π°). На ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ нСльзя Π½ΠΈΡ‡Π΅Π³ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ, ΠΊΡ€ΠΎΠΌΠ΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ ΠΈΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Π΅ΡΡ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ‹ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π½Π΅ΠΌΠ½ΠΎΠΆΠΊΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π½Π° SD-ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°Ρ….

Аналогично с ΡΠ΅Ρ‚ΡŒΡŽ: Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Ардуино Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½ΠΈ с Ρ‡Π΅ΠΌ ΠΎΠ±Ρ‰Π°Ρ‚ΡŒΡΡ (ΠΊΡ€ΠΎΠΌΠ΅ ΠΊΠ°ΠΊ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ-Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ элСктричСство Π½Π° своих Π²Ρ‹Ρ…ΠΎΠ΄Π°Ρ…).

ΠŸΠΎΠ»Π΅Π³Ρ‡Π΅ со слоТной ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΎΠΉ: Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ слоТноС Ρ‚ΠΈΠΏΠ° тригономСтричСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Ардуино Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΡ… довольно ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ. Для вас это ΠΎΠ΄Π½Π° строчка ΠΊΠΎΠ΄Π°, Π° для Ардуино это тысячи ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ. ΠŸΠΎΡ‰Π°Π΄ΠΈΡ‚Π΅.

ΠžΡ‚Ρ‡Ρ‘Ρ‚Ρ‹? Ошибки? Волько ΠΏΡ€ΠΈ компиляции. Π£ Ардуино Π½Π΅Ρ‚ встроСнных срСдств ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ Π²Π°ΠΌ, Ρ‡Ρ‚ΠΎ Π΅ΠΌΡƒ Π½Π΅Ρ…ΠΎΡ€ΠΎΡˆΠΎ. Если ΠΎΠ½ завис, ΠΎΠ½ Π½Π΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ ΠΎΠΊΠ½ΠΎ ошибки: Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Ρƒ Π½Π΅Π³ΠΎ Π½Π΅Ρ‚ графичСского интСрфСйса, Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ… β€” экрана. Если Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ систСму ошибок ΠΈΠ»ΠΈ ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π½ΠΎΡΡ‚ΡŒ, ΠΏΠΈΡˆΠΈΡ‚Π΅ Π΅Ρ‘ 🙂

Если ΡΠ΅Ρ€ΡŒΡ‘Π·Π½ΠΎ, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°Π»ΠΈΠ²ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ компилятор ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ ΠΊΠΎΠ΄ ΠΈ Π½Π°ΠΉΠ΄Ρ‘Ρ‚ Π² Π½Ρ‘ΠΌ ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Но Π½Π° этом всё: Ссли Ρƒ вас случайно ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π°ΡΡŒ бСсконСчная пСтля Π² ΠΊΠΎΠ΄Π΅ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²Π°Ρ… Π²Ρ‹ повСситС процСссор Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π½Π° ноль β€” ΠΆΠΌΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΈ исправляйтС ΠΊΠΎΠ΄.

И всё ΠΆΠ΅

Ардуино β€” это ΠΊΠ°ΠΉΡ„: Π²Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ физичСским ΠΌΠΈΡ€ΠΎΠΌ, ΠΌΠΎΡ‚ΠΎΡ€Π°ΠΌΠΈ, Π»Π°ΠΌΠΏΠ°ΠΌΠΈ ΠΈ элСктродСталями. МоТно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡƒΠΌΠ½ΡƒΡŽ Ρ€ΠΎΠ·Π΅Ρ‚ΠΊΡƒ; ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΡƒΠΌΠ½Ρ‹ΠΉ Π·Π°ΠΌΠΎΠΊ для сСйфа; ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€ влаТности ΠΏΠΎΡ‡Π²Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ автоматичСский ΠΏΠΎΠ»ΠΈΠ². И всё это β€” Π½Π° довольно понятном, Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠΌ ΠΈ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠΌ языкС C++, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ свСрху Π΅Ρ‰Ρ‘ Π½Π°Π΄Π΅Ρ‚Π° удобная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для ΠΆΠ΅Π»Π΅Π·Π°. ΠŸΡ€Π΅ΠΊΡ€Π°ΡΠ½Ρ‹ΠΉ способ провСсти Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅.

КакиС Π΅Ρ‰Ρ‘ языки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для Arduino

Но Ρ‡Ρƒ! Под Arduino ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… языках!

Π‘. Как ΠΈ Π‘++, Π‘ΠΈ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для программирования ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Arduino. Волько Ссли Π‘++ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ‚ΠΎ для Π‘ Π²Π°ΠΌ понадобится WinAVR, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ пСрСвСсти ΠΊΠΎΠ΄ Π² язык, понятный ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌ AVR.

Python. Π‘Ρ‹Π»ΠΎ Π±Ρ‹ странно, Ссли Π±Ρ‹ Ρ‚Π°ΠΊΠΎΠΌΡƒ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ языку Π½Π΅ нашлось примСнСния Π² Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΡ‚Π΅Ρ…Π½ΠΈΠΊΠ΅. Π‘Π΅Ρ€Ρ‘Ρ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ PySerial ΠΈ vPython, ΠΏΡ€ΠΈΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅Ρ‚Π΅ ΠΈΡ… ΠΊ Python ΠΈ Π³ΠΎΡ‚ΠΎΠ²ΠΎ!

Java. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ Π² Python: Π±Π΅Ρ€Ρ‘Ρ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΎΡ€Ρ‚Π°ΠΌΠΈ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌΠΈ ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

А Π²ΠΎΠΎΠ±Ρ‰Π΅ Arduino Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ… AVR, ΠΈ ΠΏΡ€ΠΎΡˆΠΈΡ‚ΡŒ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π»ΡŽΠ±Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ скомпилирован ΠΏΠΎΠ΄ это ΠΆΠ΅Π»Π΅Π·ΠΎ. Всё, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ β€” Π½Π°ΠΉΡ‚ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ для вашСго любимого языка, которая ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ для AVR.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Leave a Reply

Your email address will not be published. Required fields are marked *