ОбъявлСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² Arduino: Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, объявлСниС ΠΈ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² Arduino. Как ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. КакиС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ограничСния ΠΏΡ€ΠΈ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π’ Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ статичСскиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² Arduino ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ΠΈ Π½ΡƒΠΆΠ½Ρ‹

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Π² Arduino — это ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ для хранСния Π΄Π°Π½Π½Ρ‹Ρ…, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² процСссС выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для:

  • Π₯ранСния ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² вычислСний
  • ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ частями ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
  • ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ состояния устройств (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, полоТСния сСрвопривода)
  • НакоплСния Π΄Π°Π½Π½Ρ‹Ρ… с Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ²
  • Задания ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ устройств

ИспользованиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΌ ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ для ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ. ВмСсто ТСстко Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, измСняя ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»Π΅Π³ΠΊΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ устройства.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Arduino

Arduino ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ основныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:


  • int — Ρ†Π΅Π»Ρ‹Π΅ числа ΠΎΡ‚ -32768 Π΄ΠΎ 32767 (16 Π±ΠΈΡ‚)
  • long — Ρ†Π΅Π»Ρ‹Π΅ числа ΠΎΡ‚ -2147483648 Π΄ΠΎ 2147483647 (32 Π±ΠΈΡ‚Π°)
  • float — числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ (32 Π±ΠΈΡ‚Π°)
  • double — числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ точности (64 Π±ΠΈΡ‚Π°)
  • char — символы Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ ASCII
  • boolean — логичСский Ρ‚ΠΈΠΏ (true/false)

Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹:

  • byte — Ρ†Π΅Π»Ρ‹Π΅ числа ΠΎΡ‚ 0 Π΄ΠΎ 255 (8 Π±ΠΈΡ‚)
  • word — Ρ†Π΅Π»Ρ‹Π΅ числа ΠΎΡ‚ 0 Π΄ΠΎ 65535 (16 Π±ΠΈΡ‚)
  • String — строки символов

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… слСдуСт ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡƒΡŽ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.

Как ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² Arduino

Для объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Arduino ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис:

Ρ‚ΠΈΠΏ_Π΄Π°Π½Π½Ρ‹Ρ… имя_ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ;

НапримСр:

int sensorValue;
float temperature;
boolean ledState;

МоТно Ρ‚Π°ΠΊΠΆΠ΅ сразу ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:

int counter = 0;
float pi = 3.14;
char letter = 'A';

ОбъявлСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ создаСт для Π½Π΅Π΅ ячСйку Π² памяти ΠΈ позволяСт ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π½Π΅ΠΉ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ Π² дальнСйшСм ΠΊΠΎΠ΄Π΅.


ΠŸΡ€Π°Π²ΠΈΠ»Π° имСнования ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Arduino

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΈΠΌΠ΅Π½ для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… слСдуСт ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€Π°Π²ΠΈΠ»:

  • Имя Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с Π±ΡƒΠΊΠ²Ρ‹ ΠΈΠ»ΠΈ Π·Π½Π°ΠΊΠ° подчСркивания
  • ΠŸΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ символы ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π±ΡƒΠΊΠ²Π°ΠΌΠΈ, Ρ†ΠΈΡ„Ρ€Π°ΠΌΠΈ ΠΈΠ»ΠΈ Π·Π½Π°ΠΊΠΎΠΌ подчСркивания
  • НСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈ спСцсимволы
  • НСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ слова языка (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, int, for, if)
  • ИмСна Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΊ рСгистру (myVariable ΠΈ myvariable — Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅)

РСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ осмыслСнныС ΠΈΠΌΠ΅Π½Π°, ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠ΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. НапримСр, ledPin Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ просто x.

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² Arduino

Π’ Arduino ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ:

  • Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²Π½Π΅ всСх Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ доступны ΠΈΠ· любого мСста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Они ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ всС врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ скСтча.
  • Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΎ врСмя выполнСния этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Они нСдоступны ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… частСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

int globalVar = 10; // Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ пСрСмСнная

void setup() {
  int localVar = 5; // Π›ΠΎΠΊΠ°Π»ΡŒΠ½Π°Ρ пСрСмСнная
  // ...
}

void loop() {
  globalVar++; // Доступ ΠΊ глобальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ
  // localVar++; // Ошибка - localVar Π½Π΅ сущСствуСт здСсь
}

РСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ случайного измСнСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… частСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.


БтатичСскиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² Arduino

БтатичСскиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ — это особый Π²ΠΈΠ΄ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ своС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Они ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом static:

void myFunction() {
  static int counter = 0;
  counter++;
  Serial.println(counter);
}

ΠŸΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²Ρ‹Π·ΠΎΠ²Π΅ myFunction() Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ counter Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° 1, Π° Π½Π΅ ΡΠ±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒΡΡ Π² 0.

БтатичСскиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ состояниС ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½ΠΎ Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ глобальной.

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ Π² Arduino

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ — это ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… нСльзя ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ послС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Они ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом const:

const int ledPin = 13;
const float pi = 3.14159;

ИспользованиС констант Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ понятным ΠΈ Π·Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ ΠΎΡ‚ случайного измСнСния Π²Π°ΠΆΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Arduino

Иногда Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ опСрация привСдСния Ρ‚ΠΈΠΏΠ°:

int intValue = 65;
char charValue = (char)intValue; // ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ int Π² char

float floatValue = 3.14;
int roundedValue = (int)floatValue; // ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ float Π² int

ΠŸΡ€ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ слСдуСт ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡƒΡŽ ΠΏΠΎΡ‚Π΅Ρ€ΡŽ точности ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.


ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² Arduino

Массив — это Π½Π°Π±ΠΎΡ€ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, доступных ΠΏΠΎΠ΄ ΠΎΠ±Ρ‰ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ. ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

int myArray[5]; // Массив ΠΈΠ· 5 Ρ†Π΅Π»Ρ‹Ρ… чисСл
float sensorValues[10]; // Массив ΠΈΠ· 10 чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ массива Π½ΡƒΠΌΠ΅Ρ€ΡƒΡŽΡ‚ΡΡ с 0. ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ элСмСнтам происходит ΠΏΠΎ индСксу:

myArray[0] = 42;
float value = sensorValues[3];

ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ для хранСния Π½Π°Π±ΠΎΡ€ΠΎΠ² связанных Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΠΉ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ².

ΠžΠ±Π»Π°ΡΡ‚ΡŒ видимости ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Arduino

ΠžΠ±Π»Π°ΡΡ‚ΡŒ видимости опрСдСляСт, Π³Π΄Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ. Π’ Arduino Π΅ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ области видимости:

  • Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ — ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ доступны Π²Π΅Π·Π΄Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅
  • ΠžΠ±Π»Π°ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ — Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
  • ΠžΠ±Π»Π°ΡΡ‚ΡŒ Π±Π»ΠΎΠΊΠ° — ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок, доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² этом Π±Π»ΠΎΠΊΠ΅

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

int globalVar = 10; // Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ пСрСмСнная

void setup() {
  int setupVar = 5; // Доступна Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² setup()
  
  if (true) {
    int blockVar = 3; // Доступна Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² этом Π±Π»ΠΎΠΊΠ΅ if
  }
  // blockVar здСсь ΡƒΠΆΠ΅ Π½Π΅ сущСствуСт
}

void loop() {
  globalVar++; // МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ
  // setupVar ΠΈ blockVar здСсь нСдоступны
}

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ использованиС областСй видимости ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΈΠΌΠ΅Π½ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….


ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ использования памяти ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ

ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ Arduino ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ объСм памяти, поэтому Π²Π°ΠΆΠ½ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅:

  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ наимСньший подходящий Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, byte вмСсто int для ΠΌΠ°Π»Ρ‹Ρ… чисСл)
  • ΠžΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°ΠΉΡ‚Π΅ ΠΏΠ°ΠΌΡΡ‚ΡŒ, удаляя Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ вмСсто Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ…, Π³Π΄Π΅ это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ
  • ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠΉΡ‚Π΅ структуры Π΄Π°Π½Π½Ρ‹Ρ… для Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ связанных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ PROGMEM для хранСния констант Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ памяти

Π‘Π»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ этим ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ эффСктивнСС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Π΅ рСсурсы ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.


Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Python — Робикс ΠΊΡ€ΡƒΠΆΠΎΠΊ Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΡ‚Π΅Ρ…Π½ΠΈΠΊΠΈ

Главная β€Ί Π‘Π°Π·Π° Π·Π½Π°Π½ΠΈΠΉ β€Ί ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€Ί Python β€Ί ЧисловыС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Python: integer, float

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

Π›ΡŽΠ±Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ хранятся Π² ячСйках памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Когда ΠΌΡ‹ Π²Π²ΠΎΠ΄ΠΈΠΌ число, ΠΎΠ½ΠΎ помСщаСтся Π² ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ ячСйку памяти. Π’ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ вопросы: ΠšΡƒΠ΄Π° ΠΈΠΌΠ΅Π½Π½ΠΎ? Как впослСдствии ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ этим Π΄Π°Π½Π½Ρ‹ΠΌΠΈ?Β 

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ΡΡ с ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΈΠΌΠ΅Π½Π΅ΠΌ. Π’ дальнСйшСм ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π½ΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ этому ΠΈΠΌΠ΅Π½ΠΈ-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Π’Π΅Ρ€ΠΌΠΈΠ½ «пСрСмСнная» ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΅Π΅ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ, ΠΎΠ½Π° нСпостоянна.

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π° языкС Python, ΠΊΠ°ΠΊ ΠΈ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… языков, связь ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ устанавливаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π·Π½Π°ΠΊΠ° = (Π·Π½Π°ΠΊ Ρ€Π°Π²Π½ΠΎ). Данная опСрация называСтся присваиваниСм.

НапримСр, Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, прСдставлСнноС Π½ΠΈΠΆΠ΅, ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ собой число 4, находящССся Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ области памяти, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ссылаСтся пСрСмСнная a.

ИмСна ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌΠΈ. Однако Π΅ΡΡ‚ΡŒ нСсколько ΠΎΠ±Ρ‰ΠΈΡ… ΠΏΡ€Π°Π²ΠΈΠ» ΠΈΡ… написания:

  • Π–Π΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ осмыслСнныС ΠΈΠΌΠ΅Π½Π°, говорящиС ΠΎ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ΠΈ ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ.
  • Имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ языка (Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌΠΈ словами).
  • Имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с Π±ΡƒΠΊΠ²Ρ‹ ΠΈΠ»ΠΈ символа подчСркивания, Π½ΠΎ Π½Π΅ с Ρ†ΠΈΡ„Ρ€Ρ‹.
  • Имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ссылаСтся пСрСмСнная, Π½Π°Ρ…ΠΎΠ΄ΡΡΡŒ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°, достаточно Π΅Π΅ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ имя ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ Enter.Β 

ЧисловыС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π² консоли ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter:

>>> 1 + 1

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΡ‹ Ρ‡Π°Ρ‰Π΅ всСго Π±ΡƒΠ΄Π΅ΠΌ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Ρ‚ΡŒΡΡ с Ρ‚Π°ΠΊΠΈΠΌΠΈ числовыми Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (формализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ), ΠΊΠ°ΠΊ Ρ†Π΅Π»Ρ‹Π΅ числа ΠΈ числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ.

Π¦Π΅Π»Ρ‹Π΅ числа (Ρ‚ΠΈΠΏ int)Β β€” это ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ†Π΅Π»Ρ‹Π΅ числа, Π° Ρ‚Π°ΠΊΠΆΠ΅ 0, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: 0, -1, 1, 1827 ΠΈ Ρ‚. Π΄.Β 

Числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ (Ρ‚ΠΈΠΏ float)Β β€” это вСщСствСнныС, числа (Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ + ΠΈΡ€Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ числа), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: 0, -1, 1, 1827, 0.5, -0.76, 3.141592 (число ΠΏΠΈ) ΠΈ Ρ‚.Π΄.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ β€” это Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ дСйствий Π½Π°Π΄ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ (ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°ΠΌΠΈ). ДСйствиС выполняСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ (слоТСниС(+), ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅(*) ΠΈ Ρ‚.ΠΏ. ). Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ зависит ΠΊΠ°ΠΊ ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°, Ρ‚Π°ΠΊ ΠΈ ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ².

ИзмСнСниС Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

Π”Π°Π²Π°ΠΉΡ‚Π΅ создадим Π΄Π²Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ A ΠΈ B, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ присвоим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ значСния:

>>> A = 10
>>> B = 1.24

Π’ зависимости ΠΎΡ‚ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Python ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ опрСдСляСт Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ type(), для этого Π²Π²Π΅Π΄Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

>>> type(A)

ПослС Π²Π²ΠΎΠ΄Π° Π½Π° экранС появится Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ А, Π² нашСм случаС это Π±ΡƒΠ΄Π΅Ρ‚ Ρ†Π΅Π»ΠΎΠ΅ число, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½Π° экранС ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

>>> type(A)
<class 'int'>

ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅ΠΌ Ρ‚Ρƒ ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ со Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½ΠΎΠΉ, Π½Π° экранС ΡƒΠ²ΠΈΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

>>> type(B)
<class 'float'>

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ выясним, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ относится ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

>>> Π‘ = A + B
>>> type(Π‘)
<class 'float'>

Как ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Π² ΠΈΡ‚ΠΎΠ³Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ float.

Π›ΡŽΠ±Ρ‹Π΅ матСматичСскиС дСйствия ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Π΄ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚.Π΅. Π»ΠΈΠ±ΠΎ всС float, Π»ΠΈΠ±ΠΎ всС int ΠΈ Ρ‚.Π΄.

Но Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΌΡ‹ сСйчас смогли это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ? Python ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ произвСсти Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ int(), float():

>>> type(A)
<class 'int'>
>>> A = float(A)
>>> type(A)
<class 'float'>
>>> type(B)
<class 'float'>
>>> B = int(B)
>>> type(B)
<class 'int'>
>>> A
10.0
>>> B
1

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ B Π±Ρ‹Π»ΠΎ ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΎ. Рассмотрим ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ int(), которая ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ вСщСствСнноС число Π² Ρ†Π΅Π»ΠΎΠ΅:

>>> A1 = 0.1
>>> A2 = 0.4
>>> A3 = 0.7
>>> A4 = 1.1
>>> A1 = int(A1)
>>> A2 = int(A2)
>>> A3 = int(A3)
>>> A4 = int(A4)
>>> A1
0
>>> A2
0
>>> A3
0
>>> A4
1

Как ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ происходит Π΄ΠΎ блиТайшСго Ρ†Π΅Π»ΠΎΠ³ΠΎ числа ΠΏΠΎ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ Π² сторону нуля, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² ΠΌΠ΅Π½ΡŒΡˆΡƒΡŽ сторону.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ матСматичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² Python

  • CΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (+) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для получСния  суммы (Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ чисСл), Π±Ρ‹Π»ΠΎ Π½Π°ΠΌΠΈ рассмотрСно Π²Ρ‹ΡˆΠ΅.
  • Π’Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ (-) β€” опСрация, противополоТная слоТСнию.
  • Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅(*) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для получСния произвСдСния сомноТитСлСй.
>>> type(2 * 2)
<class 'int'>
>>> type(0.1 * 2)
<class 'float'>
>>> type(0.2 * 5)
<class 'float'>
  • Π’ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ (**) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для возвСдСния числа Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ числа Π½Π° само сСбя ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·, сколько ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² стСпСни.
>>> 2 ** 3
8
>>> 2 ** 4
16
  • Π”Π΅Π»Π΅Π½ΠΈΠ΅ (/) β€” дСйствиС, ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для получСния частного
>>> 4 / 2
2.0
>>> type(4/2)
<class 'float'>
>>> 2 / 4
0.5

Π”Π°ΠΆΠ΅ Ссли Π΄Π΅Π»ΠΈΠΌΠΎΠ΅ ΠΈ Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами ΠΈ Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ содСрТится Π² Π΄Π΅Π»ΠΈΠΌΠΎΠΌ Ρ†Π΅Π»ΠΎΠ΅ число Ρ€Π°Π·, Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ дСлСния Π±ΡƒΠ΄Π΅Ρ‚ float.

  • ЦСлочислСнноС Π΄Π΅Π»Π΅Π½ΠΈΠ΅ (//) Π½ΡƒΠΆΠ½ΠΎ для получСния цСлочислСнного Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° дСлСния, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ отбрасываСтся дробная Ρ‡Π°ΡΡ‚ΡŒ числа.
>>> 4 // 2
2
>>> type(4 / 2)
<class 'float'>
>>> 2//4
0
>>> type(2 // 4)
<class 'int'>
  • ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ остатка ΠΎΡ‚ дСлСния (%). Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ ΠΎΡ‚ дСлСния, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ дальшС Π΄Π΅Π»ΠΈΡ‚ΡŒ. НапримСр, Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС 4 дСлится Π±Π΅Π· остатка β€” Π² 4 Π΄Π²Π΅ 2, Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС 2 Π½Π΅ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° 4, ΠΎΠ½ΠΎ сразу ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ Π² остаток, Π² Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌ случаС 7 содСрТит Π΄Π²Π΅ 3 (6), Π² остаток ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ 7 β€” 6 = 1.
>>> 4 % 2
0
>>> 2 % 4
2
>>> 7 % 3
1
  • ΠœΠΎΠ΄ΡƒΠ»ΡŒ числа (abs()) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для получСния модуля числа, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ отбрасываСтся Π·Π½Π°ΠΊ ΠΏΠ΅Ρ€Π΅Π΄ числом
>>> abs(-0.1)
0.1
>>> abs(0)
0
>>> abs(-283)
283
>>> abs(45)
45
  • ΠžΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ (round()) β€” данная опСрация округляСт число Π΄ΠΎ блиТайшСго Ρ†Π΅Π»ΠΎΠ³ΠΎ числа, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ int.
>>> round(0.5)
0
>>> round(0.6)
1
>>> round(1.1)
1
>>> round(1.5)
2
>>> round(1.4)
1

ΠšΡƒΡ€ΡΡ‹ Робикс, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… изучаСтся этот ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π».

  1. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python Π² Minecraft
  2. Duckietown Ρ€ΠΎΠ±ΠΎΡ‚ с систСмой Автопилота

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Arduino (ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΠΎΠ΅ руководство)

Π”ΠΎ сих ΠΏΠΎΡ€ Π² Π½Π°ΡˆΠΈΡ… руководствах ΠΌΡ‹ достаточно освСщали Ρ‚Π΅ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΠΈ нас с Arduino, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ; ΠΌΡ‹ углубляСмся Π² ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅.

Π’ этом ΡƒΡ€ΠΎΠΊΠ΅; ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Arduino, ΠΌΡ‹ ΠΈΠ·ΡƒΡ‡ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

  • ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ ΠΊΠ°ΠΊ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ
  • ΠŸΡ€ΠΈΡ€ΠΎΠ΄Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…
  • Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…
  • ОбъявлСниС ΠΈ инициализация ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…
  • ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ имСнования ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…
  • БоглашСния ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Β«CamelCaseΒ»
  • ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ Ρ‚ΠΈΠΏΠΎΠ² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…
  • ΠžΠ±Π»Π°ΡΡ‚ΡŒ дСйствия ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

Быстрая навигация

VARIABLE AS VALUE-CONTAINER

Π’ английском языкС пСрСмСнная относится ΠΊ Ρ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ; константа — это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅ измСняСтся. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Arduino пСрСмСнная прСдставляСт собой Β«ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Β», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠ³ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ значСния. Π­Ρ‚ΠΈ значСния ΠΌΠΎΠ³ΡƒΡ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ, поэтому ΠΎΠ½ΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ, Π½ΠΎ имя сущности, содСрТащСй ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Π½Π΅ мСняСтся.

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΊΠ°ΠΊ Π²Π΅Π΄Ρ€ΠΎ; Π²ΠΎΠ΄Π° ΠΊΠ°ΠΊ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡ΠΈΡ‰Π΅Π½Π° Π² Π²Π΅Π΄Ρ€ΠΎ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π° ΠΈΠ· Π²Π΅Π΄Ρ€Π°. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, это Π²Π΅Π΄Ρ€ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠ², Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π²Π΅Π΄Ρ€ΠΎ камнями ΠΈΠ»ΠΈ Ρ‡Π΅ΠΌ ΡƒΠ³ΠΎΠ΄Π½ΠΎ, Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Π΄Ρ€ΠΎ Π²ΠΌΠ΅Ρ‰Π°Π»ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΌ.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для пСрСноса Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ части ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ; ΠΎΠ΄Π½Π°ΠΊΠΎ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΈΠ»ΠΈ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ остаСтся ΠΏΡ€Π΅ΠΆΠ½ΠΈΠΌ.

Рисунок 1: ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ ΠΊΠ°ΠΊ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°

ΠŸΠ Π˜Π ΠžΠ”Π ΠŸΠ•Π Π•ΠœΠ•ΠΠΠ«Π₯

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ имя ΠΈ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…. Когда пСрСмСнная прСдставляСт собой просто Ρ†Π΅Π»ΠΎΡ‡ΠΈΡΠ»Π΅Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, являСтся Ρ†Π΅Π»Ρ‹ΠΌ числом.

Π£ нас ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ: float , char , double , Boolean ΠΈ Ρ‚. Π΄. ΠœΡ‹ обсудим ΠΈΡ… Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ, Π½ΠΎ просто Π·Π½Π°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ пСрСмСнная содСрТит ΠΈΠ»ΠΈ сохраняСт Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° . НапримСр, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ ΠΈ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π»ΠΈ схСму для измСрСния расстояния Π΄ΠΎ автомобиля-Ρ€ΠΎΠ±ΠΎΡ‚Π° ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Π΅Π³ΠΎ приблиТСния ΠΊ ΠΏΡ€Π΅ΠΏΡΡ‚ΡΡ‚Π²ΠΈΡŽ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ дисплСй, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ расстояниС, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ находится ΠΎΡ‚ прСпятствия, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ значСния ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ€ΠΎΠ±ΠΎΡ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ приблиТаСтся ΠΈΠ»ΠΈ удаляСтся ΠΎΡ‚ прСпятствия.

Π’ΠΎΡ‚, ΠΊΡ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π» Ρ€ΠΎΠ±ΠΎΡ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Π» ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π² ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти Π² качСствС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ для хранСния измСряСмых Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ эти Π΄Π°Π½Π½Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ двиТСния Ρ€ΠΎΠ±ΠΎΡ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒΡΡ ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ . Π­Ρ‚ΠΈ записанныС Π΄Π°Π½Π½Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ записаны ΠΊΠ°ΠΊ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Если Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½, являСтся Ρ†Π΅Π»Ρ‹ΠΌ числом, Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π½Π° экранС, Π±ΡƒΠ΄Π΅Ρ‚ цСлочислСнным Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ, Π½ΠΎ Ссли ΠΎΠ½ Π±Ρ‹Π» Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ для отобраТСния Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΉΠ½ΠΎΠ³ΠΎ числа, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ дСсятичная Ρ‚ΠΎΡ‡ΠΊΠ°. .

ВИПЫ ΠŸΠ•Π Π•ΠœΠ•ΠΠΠ«Π₯ ДАННЫΠ₯

ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Arduino Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… любой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, ΠΈ всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ содСрТимоС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ объявили для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Π½Π°Ρ‡Π°Π»Π΅. Π’ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° рисунок Π½ΠΈΠΆΠ΅.

Рисунок 2: Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹, ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

Как ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ Ρ€Π°Π½Π΅Π΅, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π² Ρ‚ΠΎΠΌ числС цСлочислСнныС, ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅, строковыС, логичСскиС, ΠΏΠ»Π°Π²Π°ΡŽΡ‰ΠΈΠ΅, Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΈ Ρ‚. Π΄. Рисунок Π²Ρ‹ΡˆΠ΅ Π΄Π°Π΅Ρ‚ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎΠ΅ прСдставлСниС ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… выглядят Π½Ρ€Π°Π²ΠΈΡ‚ΡŒΡΡ. Π£ нас Π΅ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для хранСния ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠ² с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ характСристиками, пСрвая Ρ„ΠΈΠ³ΡƒΡ€Π° прСдставляСт собой ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для хранСния ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠ². Если этот ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ (пСрСмСнная) являСтся Ρ†Π΅Π»Ρ‹ΠΌ числом, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π»Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ (ΠΊΡƒΠ±ΠΎΠΈΠ΄Ρ‹), Π² нашСй Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ, ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для хранСния ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Ρ„ΠΈΠ³ΡƒΡ€, ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ любого Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π² эту ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ†Π΅Π»ΠΎΡ‡ΠΈΡΠ»Π΅Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹ΠΌ, Ρ‚ΠΎ ΠΆΠ΅ самоС Π²Π΅Ρ‰ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠ° ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌ.

ΠžΠ‘ΠͺΠ―Π’Π›Π•ΠΠ˜Π• ΠŸΠ•Π Π•ΠœΠ•ΠΠΠžΠ™ И Π˜ΠΠ˜Π¦Π˜ΠΠ›Π˜Π—ΠΠ¦Π˜Π―

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Arduino, трСбуСтся всСго Π΄Π²Π° простых шага.

Π¨Π°Π³ 1: Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

Π¨Π°Π³ 2: Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

Π‘ΠΌ. рисунок Π½ΠΈΠΆΠ΅.

Рисунок 3: ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Arduino

На ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ рисункС строки ΠΊΠΎΠ΄Π° с 1 ΠΏΠΎ 6 ΡΠ²Π»ΡΡŽΡ‚ΡΡ строками ΠΊΠΎΠ΄Π° объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ, Π° ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ. Arduino IDE Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° для отобраТСния Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚Π°ΠΊΠΈΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒ ΠΈΡ… ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… слов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΈ написании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ сразу послС объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, этот процСсс ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ сразу послС Π΅Π΅ объявлСния называСтся ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, см. рис. 4 Π½ΠΈΠΆΠ΅.

Рисунок 4: Π”Π°Π½Π½Ρ‹Π΅, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

ΠžΠ“Π ΠΠΠ˜Π§Π•ΠΠ˜Π― НА Π˜ΠœΠ•ΠΠ˜ Π˜Π”Π•ΠΠ’Π˜Π€Π˜ΠšΠΠ¦Π˜Π˜ ΠŸΠ•Π Π•ΠœΠ•ΠΠΠ«Π₯

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Π·Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎ; Однако Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ограничСния.

  1. Имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈΠ»ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы; ΠΎΠ΄Π½Π°ΠΊΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅. НапримСр. Β«my_NumΒ» ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π½ΠΎ Π½Π΅ my#name.
  2. Π’ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ число, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€. my8num, Π½ΠΎ число Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€. 9myNum Π½Π΅ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌ, ΠΈ Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ просто число для ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
  3. Имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова arduino, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€. void, int, delay, loop ΠΈ Ρ‚. Π΄.

Π£Π‘Π›ΠžΠ’Π˜Π― ΠΠΠ˜ΠœΠ•ΠΠžΠ’ΠΠΠ˜Π― ΠŸΠ•Π Π•ΠœΠ•ΠΠΠ«Π₯ CAMELCASE

Имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ понятным; это Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ слово, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ понял Π±Ρ‹ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, Ρ‡ΠΈΡ‚Π°ΡŽΡ‰ΠΈΠΉ эскиз. Π­Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ слово, ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹ смоТСтС Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ Π΄Π°ΠΆΠ΅ ΠΏΠΎ ΠΏΡ€ΠΎΡˆΠ΅ΡΡ‚Π²ΠΈΠΈ Π³ΠΎΠ΄Π°.

НапримСр, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°Π·Π²Π°Ρ‚ΡŒ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΌ Π΄Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»Π΅), ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π²Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ свСтодиод Π½Π° ΠΏΠ»Π°Ρ‚Π΅ Arduino, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ любоС слово, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Π°ΠΌ нравится, Ссли ΠΎΠ½ΠΎ Π½Π΅ Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΈΠ». Π²Ρ‹ΡˆΠ΅, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π²Ρ‹Π±ΠΎΡ€ ΠΈΠΌΠ΅Π½ΠΈ Ρ‚ΠΈΠΏΠ° Β« cool Β» Π² качСствС ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π΅ являСтся ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, Π½ΠΎ, Ссли Π²Ρ‹ Π²Π΅Ρ€Π½Π΅Ρ‚Π΅ΡΡŒ ΠΊ скСтчу Ρ‡Π΅Ρ€Π΅Π· Π³ΠΎΠ΄, Π²Ρ‹ Π»Π΅Π³ΠΊΠΎ вспомнитС, Ρ‡Ρ‚ΠΎ пСрСмСнная Β« cool Β» Π² ваш эскиз относится ΠΊ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΌΡƒ Π²Ρ‹Π²ΠΎΠ΄Ρƒ, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π²Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ свСтодиод Π² своСм Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ ??? Π― сомнСваюсь, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅!

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Ссли Π²Ρ‹ Π½Π°Π·Π²Π°Π»ΠΈ пСрСмСнная Β« ledPin Β» Π΄Π°ΠΆΠ΅ послС 10 Π»Π΅Ρ‚, Π²Ρ‹ всС Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ это относится ΠΊ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρƒ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находится свСтодиод. связанный. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ использованиС ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΎΡ‡Π΅Π½ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ. Π² объявлСнии ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

NB: ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ name

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ для объяснСния Π΅Π΅ значСния являСтся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ бонусом. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΊ эскизу Arduino.

БущСствуСт соглашСниС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ΅ для имСнования ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, ΠΎΠ½ΠΎ называСтся CamelCase (Ρ‚Π°ΠΊΠΆΠ΅ Β«Π²Π΅Ρ€Π±Π»ΡŽΠΆΠΈΠΉ случай» ΠΈΠ»ΠΈ Β«Π²Π΅Ρ€Π±Π»ΡŽΠΆΠΈΠΉ случай»). Π­Ρ‚ΠΎ соглашСниС ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ…, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ пСрвая Π±ΡƒΠΊΠ²Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ слова Π² составном словС ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ с Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ ledPin, pushButton, buttonState, switchPin ΠΈ Ρ‚. Π΄., Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ имя Π»Π΅Π³ΠΊΠΎ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ.

Когда ΠΌΡ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΌΡ‹ сообщаСм компилятору Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ объСм памяти для хранСния Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ отправляСм Π² это Ρ‚Π°ΠΊ, Ссли Π²Ρ‹ попроситС компилятор ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ, это становится ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, поэтому ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ строго ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ содСрТимого ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

ΠžΠŸΠ Π•Π”Π•Π›Π•ΠΠ˜Π― Π’Π˜ΠŸΠžΠ’ ΠŸΠ•Π Π•ΠœΠ•ΠΠΠ«Π₯ ДАННЫΠ₯

Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΡ… опрСдСлСния

ИМЯ ΠšΠ ΠΠ’ΠšΠžΠ• ΠžΠŸΠ Π•Π”Π•Π›Π•ΠΠ˜Π•
void Used only in function declarations- it means returns nothing
boolean Holds either 1 or 0, true or false, LOW or HIGH
char -128 to 127 and character Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹
unsigned char 0-225
byte 0-225
int -32,768 to 32,768
unsigned int 65,555
word 65,555
long -2,147,483,648 to 2,147,483,647
unsigned long 0 to 4,294,967,295
float -3.4028235E+38to3. 4028235E+38
double -3.4028235E+38to3.4028235E+38
строка Массив символов, опрСдСляСмый ΠΊΠ°ΠΊ char strName[5];
String AStringObject
языка, Π° C++ ΠΈΠΌΠ΅Π΅Ρ‚ свойство, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ видимости ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π•ΡΡ‚ΡŒ Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ области ΠΎΠ½ΠΈ:

  • Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ пСрСмСнная
  • Π›ΠΎΠΊΠ°Π»ΡŒΠ½Π°Ρ пСрСмСнная

ЧВО Π’ΠΠšΠžΠ• Π“Π›ΠžΠ‘ΠΠ›Π¬ΠΠΠ― ΠŸΠ•Π Π•ΠœΠ•ΠΠΠΠ―?

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ пСрСмСнная β€” это простая пСрСмСнная, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ каТдая функция Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

ЧВО Π’ΠΠšΠžΠ• Π›ΠžΠšΠΠ›Π¬ΠΠΠ― ΠŸΠ•Π Π•ΠœΠ•ΠΠΠΠ―?

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π²ΠΈΠ΄Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ функциям, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ½ΠΈ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹. Π’ срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Arduino любая пСрСмСнная, объявлСнная Π²Π½Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ setup(), loop() ΠΈ Ρ‚. Π΄., являСтся глобальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Когда ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ становятся большС ΠΈ слоТнСС, Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ становятся ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ инструмСнтом, Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π° функция ΠΈΠΌΠ΅Π΅Ρ‚ доступ ΠΊ своСй собствСнной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ свСсти ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄Π½Π° функция ΠΏΠΎ нСзнанию измСняСт ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ.

Рисунок 6: Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° с 1 ΠΏΠΎ 6 β€” Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Π° строки ΠΊΠΎΠ΄Π° 15 ΠΈ 16 β€” Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.

ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Π² ΠΈ понял этот ΡƒΡ€ΠΎΠΊ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² скСтчСй Π² arduino IDE ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. Π‘Π»Π΅Π΄ΠΈΡ‚Π΅ Π·Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΡƒΡ€ΠΎΠΊΠΎΠΌ.

21. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ «статичСская» пСрСмСнная ΠΈ ΠΊΠ°ΠΊ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

БСрия руководств ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Arduino

Π―Π·Ρ‹ΠΊ C содСрТит ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Одним ΠΈΠ· Π½ΠΈΡ… являСтся ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово «статичСский». Π’ΠΎ, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½Π΅ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, поэтому я ΠΏΡ€ΠΎΠ²Π΅Π» ΡΠ΅Ρ€ΠΈΡŽ экспСримСнтов, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ.

БтатичСская пСрСмСнная ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для сохранСния значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Когда Π²Ρ‹ ΠΏΠΎΠΌΠ΅Ρ‡Π°Π΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΊΠ°ΠΊ ΡΡ‚Π°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ, Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сохраняСтся Π² вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π΄ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π”ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΎ статичСской ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ ΠΎΠ½Π° Π±Ρ‹Π»Π° глобальной с ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ дСйствия. Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ пСрСмСнная ΠΈΠΌΠ΅Π΅Ρ‚ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ дСйствия ΠΈ сохраняСтся Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° выполняСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. БтатичСская пСрСмСнная ΠΈΠΌΠ΅Π΅Ρ‚ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ дСйствия, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ сохраняСтся Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΡΡ‚Π°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠžΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°ΡŽΡ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° функция Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ, ΠΈ ΠΏΠ΅Ρ€Π΅ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ/ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ статичСской ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Рассмотрим этот ΠΊΠΎΠ΄, Β«ΠΎΠ±Ρ€Π°Π·Π΅Ρ† AΒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π° Github:

Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ скСтч Π½Π° Arduino ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€. ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ этот Π²Ρ‹Π²ΠΎΠ΄:

Π’_функция: 0
Π’_функция: 0
Π’_функция: 0
Π’_функция: 0
Π’_функция: 0
Π’_функция: 0
Π’_функция: 0
Π’_функция: 0

3

23

23

23

23

23 Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ остаСтся «0», ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π°

вызываСтся a_fuction , локальная пСрСмСнная local_variable ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ инициализируСтся Π² Β«0Β». НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π² строкС 16 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ локальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ увСличиваСтся Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ, Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ тСряСтся.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ рассмотрим этот ΠΊΠΎΠ΄, Β«ΠΏΡ€ΠΈΠΌΠ΅Ρ€ BΒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π° Github:

Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ скСтч Π½Π° Arduino ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€. ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ этот Π²Ρ‹Π²ΠΎΠ΄:

Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ_Π°: 0
Π’ Ρ†ΠΈΠΊΠ»Π΅: 1
Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ_Π°: 1
Π’ Ρ†ΠΈΠΊΠ»Π΅: 2
Π’_Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: 2
Π’ Ρ†ΠΈΠΊΠ»Π΅: 3
Π’_Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: 3
Π’ Ρ†ΠΈΠΊΠ»Π΅: 4
Π’_Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: 4
Π’ Ρ†ΠΈΠΊΠ»Π΅: 5
Π’_Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: 5
Π’ Ρ†ΠΈΠΊΠ»Π΅: 6
Π’_Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: 6
Π’ Ρ†ΠΈΠΊΠ»Π΅: 7
Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ_Π°: 7
Π’ Ρ†ΠΈΠΊΠ»Π΅: 8
Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ_Π°: 8
Π’ Ρ†ΠΈΠΊΠ»Π΅: 9
Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ_Π°: 9
Π’ Ρ†ΠΈΠΊΠ»Π΅: 10 ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ Π² строкС 1. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ это глобальная пСрСмСнная, я Ρ€Π΅ΡˆΠΈΠ» ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ исходноС имя, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΅ΠΌΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ local_variable увСличиваСтся Π²Π½ΡƒΡ‚Ρ€ΠΈ a_function , Π° Π½Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ инициализируСтся (ΠΊΠ°ΠΊ это Π±Ρ‹Π»ΠΎ Π² исходной вСрсии скСтча), Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ тСряСтся. Он сохраняСтся ΠΏΡ€ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π²Ρ‹Π·ΠΎΠ²Π°Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ a_function .

Π’Π΅ΠΏΠ΅Ρ€ΡŒ рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΊΠΎΠ΄Π°, Β«ΠΎΠ±Ρ€Π°Π·Π΅Ρ† CΒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π° Github:

Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ скСтч Π½Π° Arduino ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€. ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ этот Π²Ρ‹Π²ΠΎΠ΄:

Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ_Π°: 0
Π’ Ρ†ΠΈΠΊΠ»Π΅: 1
Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ_Π°: 1
Π’ Ρ†ΠΈΠΊΠ»Π΅: 2
Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ_Π°: 2
Π’ Ρ†ΠΈΠΊΠ»Π΅: 3
Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ_Π°: 3
Π’ Ρ†ΠΈΠΊΠ»Π΅: 4
Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ_Π°: 4
Π’ Ρ†ΠΈΠΊΠ»Π΅: 5
Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ_Π°: 5
Π’ Ρ†ΠΈΠΊΠ»Π΅: 6
Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ_Π°: 6
Π’ Ρ†ΠΈΠΊΠ»Π΅: 7
Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ_Π°: 7
Π’ Ρ†ΠΈΠΊΠ»Π΅: 8
Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ_Π°: 8
Π’ Ρ†ΠΈΠΊΠ»Π΅: 9
Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ_Π°: 9
Π’ Ρ†ΠΈΠΊΠ»Π΅: 10

ЕдинствСнная Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ эскизами Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Π’ ΠΈ Π‘ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² Π‘ пСрСмСнная local_variable ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½ ΠΊΠ°ΠΊ статичСский.

Π’Ρ‹Π²ΠΎΠ΄ Π΄Π²ΡƒΡ… эскизов ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π΅Π½.

НаконСц, рассмотрим послСдний Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΊΠΎΠ΄Π°, Β«ΠΏΡ€ΠΈΠΌΠ΅Ρ€ DΒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π° Github:Β 

Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ скСтч Π½Π° Arduino ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€. ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ этот Π²Ρ‹Π²ΠΎΠ΄:

Π’_функция: 0
Π’_функция: 1
Π’_функция: 2
Π’_функция: 3
Π’_функция: 4
Π’_функция: 5
Π’_функция: 6
Π’_функция: 7
Π’_Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: 8
Π’_Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: 9
Π’_Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: 10

Π Π°Π·Π²Π΅ это Π½Π΅ интСрСсно?

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ D пСрСмСнная local_variable ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π° ΠΊΠ°ΠΊ статичСская, Π½ΠΎ Π½Π° этот Ρ€Π°Π· объявлСна ​​ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ a_function . Π’ соотвСтствии с ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ экспСримСнтом Π²Ρ‹ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Π½ΡƒΠ»ΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ пСрСмСнная ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ инициализируСтся Π² строкС 13.

Но это Π½Π΅ Ρ‚Π°ΠΊ.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ локальная_пСрСмСнная ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π° ΠΊΠ°ΠΊ статичСская, Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сохраняСтся, ΠΊΠΎΠ³Π΄Π° функция Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ своС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Он Π½Π΅ инициализируСтся ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ‚ΠΎΠΉ ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Когда содСрТимоС статичСской ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ исчСзнСт? Когда ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ, Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ это происходит для глобальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

ПодвСдСм ΠΈΡ‚ΠΎΠ³ΠΈ этих экспСримСнтов.

Π’ ΠΎΠ±Ρ€Π°Π·Ρ†Π΅ A распСчатка ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ пСрСмСнная всСгда Ρ€Π°Π²Π½Π° 0. ΠœΡ‹ ΠΎΠΆΠΈΠ΄Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ пСрСмСнная ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° функция вызываСтся Π² Ρ†ΠΈΠΊΠ»Π΅, пСрСмСнная пСрСопрСдСляСтся ΠΈ инициализируСтся Π΄ΠΎ 0.

Π’ ΠΎΠ±Ρ€Π°Π·Ρ†Π΅ B пСрСмСнная local_variable являСтся глобальной. Как ΠΈ оТидалось, ΠΊ Π½Π΅ΠΌΡƒ ΠΈΠΌΠ΅ΡŽΡ‚ доступ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π°, ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ a_function. ПослС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ½ΠΎ увСличиваСтся Π½Π° 1 Π²Π½ΡƒΡ‚Ρ€ΠΈ a_function, ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ выводится Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ ΠΈΠ· Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ Ρ†ΠΈΠΊΠ»Π° ΠΈ a_function.

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ C ΠΌΡ‹ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ local_variable ΠΊΠ°ΠΊ ΡΡ‚Π°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ, ΠΈ ΠΈΠ·-Π·Π° Π΅Π΅ полоТСния ΠΎΠ½Π° ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ доступна глобально. РаспСчатка, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Π° Ρ‚ΠΎΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΈΠ· ΠΎΠ±Ρ€Π°Π·Ρ†Π° B. ОбъявлСниС этой глобальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΊΠ°ΠΊ статичСской Π½Π΅ влияСт Π½Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°ΠΆΠ΅ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€.

НаконСц, Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ D ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌ объявлСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²Π½ΡƒΡ‚Ρ€ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ a_function. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ эскиз ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π΅Π½ эскизу ΠΎΠ±Ρ€Π°Π·Ρ†Π° A. Но Π² ΠΎΠ±Ρ€Π°Π·Ρ†Π΅ D ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ static. РаспСчатка ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ сохраняСтся ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ a_function.

Каков практичСский ΡƒΡ€ΠΎΠΊ всСго этого?

1. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ состояниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΅Π΅ ΠΊΠ°ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ. ΠŸΠΎΠΌΠ΅Ρ‚ΠΊΠ° Π΅Π³ΠΎ ΠΊΠ°ΠΊ статичСского Π½Π΅ мСняСт Ρ‚ΠΎΠ³ΠΎ Ρ„Π°ΠΊΡ‚Π°, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒΡΡ Π½Π° протяТСнии всСй ΠΆΠΈΠ·Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Однако глобальная пСрСмСнная ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ доступна Π² любом мСстС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈ это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ошибкам. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… ΠΈ ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρƒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π»ΡŽΠ±ΠΈΡ‚Π΅Π»Π΅ΠΉ Arduino Π½Π΅Ρ‚ доступа ΠΊ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΡƒ, Π»ΡƒΡ‡ΡˆΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Ссли доступ ΠΊ Π½Π΅ΠΉ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ трСбуСтся глобально.

2. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ состояниС локальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΠΎΠΌΠ΅Ρ‚ΡŒΡ‚Π΅ Π΅Π΅ ΠΊΠ°ΠΊ статичСскоС. Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ всС прСимущСства глобально объявлСнной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, описанных Π² ΠΏΡƒΠ½ΠΊΡ‚Π΅ 1.

Π’ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π² Arduino?

Arduino Step by Step Getting Started β€” наш самый популярный курс для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ….

Π­Ρ‚ΠΎΡ‚ курс содСрТит высококачСствСнноС Π²ΠΈΠ΄Π΅ΠΎ, ΠΌΠΈΠ½ΠΈ-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ ΠΈ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для изучСния Arduino с нуля. ΠœΡ‹ ΠΏΠΎΠΌΠΎΠΆΠ΅ΠΌ Π²Π°ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ этапС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ пСрвоклассных инструкций ΠΈ нашСго супСр-ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ пространства для обсуТдСния курсов.

Π£Π·Π½Π°Ρ‚ΡŒ большС

ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅

Π—Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΈ с основами? Π˜Ρ‰Π΅Ρ‚Π΅ Π±ΠΎΠ»Π΅Π΅ слоТныС Ρ‚Π΅ΠΌΡ‹?

Arduino Step by Step Getting Serious β€” это наш Π²ΡΠ΅ΠΎΠ±ΡŠΠ΅ΠΌΠ»ΡŽΡ‰ΠΈΠΉ курс Arduino для людСй, Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ.

Π£Π·Π½Π°ΠΉΡ‚Π΅ ΠΎ Wi-Fi, BLE ΠΈ Ρ€Π°Π΄ΠΈΠΎ, двигатСлях (сСрводвигатСлях, двигатСлях постоянного Ρ‚ΠΎΠΊΠ° ΠΈ ΡˆΠ°Π³ΠΎΠ²Ρ‹Ρ… двигатСлях с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌΠΈ), Π–Πš-дисплСях, OLED- ΠΈ TFT-экранах с ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ ΠΈ сСнсорными интСрфСйсами, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ большими Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Ρ€Π΅Π»Π΅ ΠΈ источники свСта, ΠΈ ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ, ΠΠΠœΠΠžΠ“Πž большС.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *