ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π² Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π² Arduino: ΠΏΠΎΠ»Π½ΠΎΠ΅ руководство ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ ΠΈ синтаксису

КакиС основныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Arduino. Как ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ арифмСтичСскиС, логичСскиС ΠΈ Π±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π² скСтчах. КакиС особСнности ΠΈΠΌΠ΅Π΅Ρ‚ синтаксис Arduino.

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

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

Arduino ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ синтаксис языка C++, поэтому Π² Π½Π΅ΠΌ доступны всС стандартныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ этого языка. Π˜Ρ… ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° нСсколько основных ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ:

  • АрифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹
  • ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сравнСния
  • ЛогичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹
  • Π‘ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹
  • ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ присваивания
  • ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ

Рассмотрим ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡŽ ΠΈ особСнности ΠΈΡ… использования Π² Arduino.

АрифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π² Arduino

АрифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для выполнСния Π±Π°Π·ΠΎΠ²Ρ‹Ρ… матСматичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ:

  • + (слоТСниС)
  • — (Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅)
  • * (ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅)
  • / (Π΄Π΅Π»Π΅Π½ΠΈΠ΅)
  • % (остаток ΠΎΡ‚ дСлСния)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²:

int a = 10;
int b = 3;

int sum = a + b; // 13
int diff = a - b; // 7  
int prod = a * b; // 30
int quot = a / b; // 3
int rem = a % b; // 1

Π’Π°ΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠΈ Ρ†Π΅Π»Ρ‹Ρ… чисСл Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ округляСтся Π΄ΠΎ Ρ†Π΅Π»ΠΎΠ³ΠΎ. Для получСния Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ части Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ.


ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сравнСния Π² Arduino

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сравнСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для сравнСния Π΄Π²ΡƒΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ являСтся Π±ΡƒΠ»Π΅Π²ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true ΠΈΠ»ΠΈ false:

  • == (Ρ€Π°Π²Π½ΠΎ)
  • != (Π½Π΅ Ρ€Π°Π²Π½ΠΎ)
  • < (мСньшС)
  • > (большС)
  • <= (мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ)
  • >= (большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² сравнСния:

int x = 5;
int y = 10;

bool isEqual = (x == y); // false
bool isNotEqual = (x != y); // true
bool isLess = (x < y); // true
bool isGreater = (x > y); // false
bool isLessOrEqual = (x <= y); // true
bool isGreaterOrEqual = (x >
= y); // false

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сравнСния часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² условных конструкциях для принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

ЛогичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π² Arduino

ЛогичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±ΡƒΠ»Π΅Π²Ρ‹ выраТСния:

  • && (логичСскоС И)
  • || (логичСскоС Π˜Π›Π˜)
  • ! (логичСскоС НЕ)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²:

bool a = true;
bool b = false;

bool result1 = a && b; // false
bool result2 = a || b; // true
bool result3 = !a; // false

ЛогичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ часто ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π² условных выраТСниях для создания слоТных условий.


Π‘ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π² Arduino

Π‘ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π±ΠΈΡ‚Π°ΠΌΠΈ числа:

  • & (ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ И)
  • | (ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ Π˜Π›Π˜)
  • ^ (ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π˜Π›Π˜)
  • ~ (ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ НЕ)
  • << (сдвиг Π²Π»Π΅Π²ΠΎ)
  • >> (сдвиг Π²ΠΏΡ€Π°Π²ΠΎ)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²:

int a = 5;  // 00000101 Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅
int b = 3;  // 00000011 Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅

int c = a & b; // 00000001 (1 Π² дСсятичном)
int d = a | b; // 00000111 (7 Π² дСсятичном)
int e = a ^ b; // 00000110 (6 Π² дСсятичном)
int f = ~a;    // 11111010 (-6 Π² дСсятичном)
int g = a << 1; // 00001010 (10 Π² дСсятичном)
int h = a >> 1; // 00000010 (2 Π² дСсятичном)

Π‘ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для эффСктивной Ρ€Π°Π±ΠΎΡ‚Ρ‹ с рСгистрами ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π°.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ присваивания Π² Arduino

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ присваивания ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для присвоСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ:

  • = (простоС присваиваниС)
  • += (присваиваниС с ΠΏΡ€ΠΈΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ)
  • -= (присваиваниС с Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ΠΌ)
  • *= (присваиваниС с ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ)
  • /= (присваиваниС с Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ)
  • %= (присваиваниС с остатком ΠΎΡ‚ дСлСния)
  • &= (присваиваниС с ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΌ И)
  • |= (присваиваниС с ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΌ Π˜Π›Π˜)
  • ^= (присваиваниС с ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΌ ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΌ Π˜Π›Π˜)
  • <<= (присваиваниС со сдвигом Π²Π»Π΅Π²ΠΎ)
  • >>= (присваиваниС со сдвигом Π²ΠΏΡ€Π°Π²ΠΎ)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² присваивания:


int x = 10;

x += 5; // эквивалСнтно x = x + 5;
x -= 3; // эквивалСнтно x = x - 3;
x *= 2; // эквивалСнтно x = x * 2;
x /= 4; // эквивалСнтно x = x / 4;
x %= 3; // эквивалСнтно x = x % 3;
x &= 0xF0; // эквивалСнтно x = x & 0xF0;
x |= 0x0F; // эквивалСнтно x = x | 0x0F;
x ^= 0xFF; // эквивалСнтно x = x ^ 0xFF;
x <<= 2; // эквивалСнтно x = x << 2;
x >>= 1; // эквивалСнтно x = x >> 1;

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ присваивания ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Π² Arduino

Arduino Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с указатСлями, ΠΊΠ°ΠΊ ΠΈ стандартный C++. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с указатСлями:

  • * (Ρ€Π°Π·Ρ‹ΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ указатСля)
  • & (ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ адрСса ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ:

int x = 10;
int* ptr = &x; // ptr содСрТит адрСс ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ x

*ptr = 20; // измСняСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ x Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ

Serial.println(x); // Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ 20

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

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ использования ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π² Arduino

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ Π² Arduino слСдуСт ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ нСсколько Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ²:


  1. ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ². ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ порядкС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ скобок.
  2. Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ зависит ΠΎΡ‚ Ρ‚ΠΈΠΏΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ². НапримСр, Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ†Π΅Π»Ρ‹Ρ… чисСл Π΄Π°Π΅Ρ‚ цСлочислСнный Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.
  3. ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с числами Π½ΡƒΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ, особСнно Π½Π° 8-Π±ΠΈΡ‚Π½Ρ‹Ρ… ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ….
  4. ΠŸΠΎΠ±ΠΎΡ‡Π½Ρ‹Π΅ эффСкты. НСкоторыС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ ΠΈ Π΄Π΅ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚, ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Π΅ эффСкты.

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π² условных конструкциях

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² условных конструкциях, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ if-else ΠΈ switch-case. Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

int sensorValue = analogRead(A0);

if (sensorValue > 500 && sensorValue < 800) {
  digitalWrite(LED_BUILTIN, HIGH);
} else if (sensorValue >= 800 || sensorValue <= 200) {
  digitalWrite(LED_BUILTIN, LOW);
} else {
  // МигаСм свСтодиодом
  digitalWrite(LED_BUILTIN, HIGH);
  delay(100);
  digitalWrite(LED_BUILTIN, LOW);
}

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сравнСния ΠΈ логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ для создания слоТного условия, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ опрСдСляСт ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ встроСнного свСтодиода Π² зависимости ΠΎΡ‚ значСния Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ Π²Ρ…ΠΎΠ΄Π°.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΊΠΎΠ΄Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²

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


#define STATE_A 0x01
#define STATE_B 0x02
#define STATE_C 0x04

byte states = 0;

// Установка состояния
states |= STATE_A;

// ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° состояния
if (states & STATE_B) {
  // БостояниС B Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ
}

// Бброс состояния
states &= ~STATE_C;

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ позволяСт эффСктивно Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄ΠΎ 8 Π±ΡƒΠ»Π΅Π²Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ΠΎΠ΄Π½ΠΎΠΌ Π±Π°ΠΉΡ‚Π΅.


Π£Ρ€ΠΎΠΊΠΈ ΠΏΠΎ Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΡ‚Π΅Ρ…Π½ΠΈΠΊΠ΅ β€” Π£Ρ€ΠΎΠΊ β„–4. Условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈΠ»ΠΈ "Как Ардуино ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ"

Для занятия Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° установлСнная Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ…Β ΡΡ€Π΅Π΄Π° программирования miniBloq ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° для Arduino.

ΠœΠ°ΠΊΠ΅Ρ‚Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° ΠΏΠ°ΠΏΠ°-ΠΏΠ°ΠΏΠ°

Мин. 8 ΡˆΡ‚Β 

Β 

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Arduino UNO

1 ΡˆΡ‚

Π‘Π²Π΅Ρ‚ΠΎΠ΄ΠΈΠΎΠ΄

1 ΡˆΡ‚

БСспаСчная макСтная ΠΏΠ»Π°Ρ‚Π°

1 ΡˆΡ‚

РСзистор 10 кОм

1 ΡˆΡ‚

РСзистор 220 Ом

1 ΡˆΡ‚

Вактовая ΠΊΠ½ΠΎΠΏΠΊΠ° 1 ΡˆΡ‚ Β  Β  Β 

Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь, рСбята.

Π”ΠΎ сих ΠΏΠΎΡ€ наши устройства Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ ΠΏΠΎ Π·Π°Ρ€Π°Π½Π΅Π΅ созданной Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Но Π½Π° этом возмоТности Arduino, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, Π½Π΅ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ: наши ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Ρ€Π°Π·Π²Π΅Ρ‚Π²Π»ΡΡ‚ΡŒ β€” Для этого сущСствуСт Π±Π»ΠΎΠΊ условиС Π•Π‘Π›Π˜-Π˜ΠΠΠ§Π• (Рис.1)Β 

Рис. 1 Π‘Π»ΠΎΠΊΒ Π•Π‘Π›Π˜-Π˜ΠΠΠ§Π•

Β 

Π”Π°Π²Π°ΠΉΡ‚Π΅ установим Π΅Π³ΠΎ Π² Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. (Рис.2)

Рис.2 Π‘Π»ΠΎΠΊ Если-Π˜Π½Π°Ρ‡Π΅

Β 

Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠ½ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Если выполняСтся Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π² Π±Π»ΠΎΠΊΠ΅ "Ссли" условиС,

Ρ‚ΠΎ Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ всС Π±Π»ΠΎΠΊΠΈ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ "Ссли" ΠΈ "ΠΈΠ½Π°Ρ‡Π΅".

Если ΠΆΠ΅ условиС Π½Π΅ выполнится, Ρ‚ΠΎ Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ обработаСт всС Π±Π»ΠΎΠΊΠΈ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ "ΠΈΠ½Π°Ρ‡Π΅" ΠΈ "ΠΊΠΎΠ½Π΅Ρ† Ссли".

Β 

Π”Π°Π²Π°ΠΉΡ‚Π΅ напишСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая Π±ΡƒΠ΄Π΅Ρ‚ Π² случаС выполнСния Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ условия Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ свСтодиод Π½Π° ΠΏΠΈΠ½Π΅ β„– 5, Π° ΠΈΠ½Π°Ρ‡Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π΅Π³ΠΎ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ. (Рис.3)

Рис.3

ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нашС устройство Π½Π°Π΄ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Π±Π»ΠΎΠΊΡƒ Ссли ΠΊΠ°ΠΊΠΎΠ΅ Π»ΠΈΠ±ΠΎ условиС.

Π― ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Π²Π°ΠΌ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΈ Ссли ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π°ΠΆΠ°Ρ‚Π° β€” Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ свСтодиод, ΠΈΠ½Π°Ρ‡Π΅ β€” Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ.

Β 

Π”Π΅Π» Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹ΠΌΠΈ ΠΏΠΈΠ½Π°ΠΌΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π² Π½ΠΈΡ… Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ ΠΈΠ»ΠΈ ноль ΠΈΠ»ΠΈ ШИМ, Π½ΠΎ ΠΈ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ с Π½ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

ЗначСния ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π°: Π»ΠΈΠ±ΠΎ логичСский 0 (зСмля, минус), Π»ΠΈΠ±ΠΎ логичСская 1 (5v).

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² нашСм условии ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠΈΠ½Π° Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π±Π»ΠΎΠΊ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π½Π° рисункС, Π½Π°ΠΆΠ°Π² Π½Π° ΠΊΡ€Π°ΡΠ½ΡƒΡŽ стрСлку Π² условии (Рис.4):

Рис.4

Β 

ПослС этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠΈΠ½, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΌΡ‹ Π² дальнСйшСм ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ. ΠŸΡƒΡΠΊΠ°ΠΉ это Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΈΠ½ β„– 3. (Рис.5)

Рис.5. Π’Ρ‹Π±ΠΎΡ€ ΠΏΠΈΠ½Π° для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ.

Β 

Β 

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° написана, ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ устройство. (Рис. 6)

Рис.6. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° наТатия Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ

Β 

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΠ½Π° соСдняСт ΠΊΡ€Π°ΡΠ½ΡƒΡŽ ΡˆΠΈΠ½Ρƒ (5v) ΠΈ ΠΏΠΈΠ½ΠΎΠΌ β„– 3 Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ.

Но Π΅ΡΡ‚ΡŒ Π² этой схСмС ΠΎΠ΄ΠΈΠ½ нСпонятный ΠΌΠΎΠΌΠ΅Π½Ρ‚ - это рСзистор Π½Π° 10кОм ΠΎΠΊΠΎΠ»ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠΈ. БоСдиняСт ΠΏΠΈΠ½ β„–3 с минусом ΠΈ Π±Π΅Π· Π½Π΅Π³ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.Β 

Π­Ρ‚ΠΎΡ‚ рСзистор называСтся ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌ. И Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π±Π΅Π· Ρ‚Π°ΠΊΠΎΠ³ΠΎ рСзистора, ΠΏΠΈΠ½ β„– 3 становится ΠΊΠ°ΠΊ Π±Ρ‹ ΠΏΠΎΠ΄Π²Π΅ΡˆΠ΅Π½Π½Ρ‹ΠΌ Π² Π²ΠΎΠ·Π΄ΡƒΡ…Π΅, ΠΈ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Π½Π΅ΡˆΠ½ΠΈΡ… Π½Π°Π²ΠΎΠ΄ΠΎΠΊ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ: Π±Ρ‹Ρ‚ΡŒ логичСской Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅ΠΉ ΠΈΠ»ΠΈ Π½ΡƒΠ»Π΅ΠΌ.

НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎ Π½Π΅Π³ΠΎ ΠΈ Π² Π²Π°ΡˆΠΈΡ… схСмах.

Β 

Π—Π°Π³Ρ€ΡƒΠ·ΠΈΠΌ Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² Arduino. ВсС Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

Β 

1. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ свСтодиод свСтился, ΠΊΠΎΠ³Π΄Π° ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΎΡ‚ΠΏΡƒΡ‰Π΅Π½Π°, Π° ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΆΠ°Ρ‚Π° β€” Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π»ΡΡ.

2. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ послС наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ свСдодиод Π²ΠΊΠ»ΡŽΡ‡Π°Π»ΡΡ Π½Π° 5 сСкунд.

Β 

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹
  • setup()
  • loop()

Π£ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

  • if
  • if..else
  • for
  • switch case
  • while
  • do..while
  • break
  • continue
  • return
  • goto

Бинтаксис

  • ; (Ρ‚ΠΎΡ‡ΠΊΠ° с запятой)
  • {} (Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки)
  • // (одностроковый ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ)
  • /* */ (многостроковый ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ)
  • #define
  • #include

АрифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

  • = (присваивания)
  • + (слоТСниС)
  • - (Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅)
  • * (ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅)
  • / (Π΄Π΅Π»Π΅Π½ΠΈΠ΅)
  • % (остаток ΠΎΡ‚ дСлСния)

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сравнСния

  • == (Ρ€Π°Π²Π½ΠΎ)
  • != (Π½Π΅ Ρ€Π°Π²Π½ΠΎ)
  • < (мСньшС)
  • > (большС)
  • <= (мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ)
  • >= (большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ)

ЛогичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

  • && (И)
  • || (Π˜Π›Π˜)
  • ! (НЕ)

Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ

  • * (ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ)
  • & (ссылка)

Π‘ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

  • & (ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ И)
  • | (ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ Π˜Π›Π˜)
  • ^ (ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ XOR ΠΈΠ»ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π˜Π›Π˜)
  • ~ (ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ НЕ)
  • << (ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΉ сдвиг Π²Π»Π΅Π²ΠΎ)
  • >> (ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΉ сдвиг Π²ΠΏΡ€Π°Π²ΠΎ)

БоставныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

  • ++ (ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚)
  • -- (Π΄Π΅ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚)
  • += (составноС слоТСниС)
  • -= (составноС Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅)
  • *= (составноС ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅)
  • /= (составноС Π΄Π΅Π»Π΅Π½ΠΈΠ΅)
  • &= (составноС ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ И)
  • |= (составноС ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ Π˜Π›Π˜)

Π”Π°Π½Π½Ρ‹Π΅

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

  • HIGH | LOW
  • INPUT | OUTPUT| INPUT_PULLUP
  • true | false
  • ЦСлочислСнныС константы
  • ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

  • void
  • boolean
  • char
  • unsigned char
  • byte
  • int
  • unsigned int
  • word
  • long
  • unsigned long
  • short
  • float
  • double
  • string (массив символов)
  • array (массив)

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

  • char()
  • byte()
  • int()
  • word()
  • long()
  • float()

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

  • ΠžΠ±Π»Π°ΡΡ‚ΡŒ видимости ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ
  • static (статичная)
  • volatile
  • const (константа)

Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

  • sizeof()

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

  • EEPROM

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π¦ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ Π²Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄

  • pinMode()
  • digitalWrite()
  • digitalRead()

Аналоговый Π²Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄

  • analogReference()
  • analogRead()
  • analogWrite()

Волько для Due

  • analogReadResolution()
  • analogWriteResolution()

Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ Π²Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄

  • tone()
  • noTone()
  • shiftOut()
  • shiftIn()
  • pulseIn()

Π Π°Π±ΠΎΡ‚Π° со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ

  • millis()
  • micros()
  • delay()
  • delayMicroseconds()

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

  • min()
  • max()
  • abs()
  • constrain()
  • map()
  • pow()
  • sq()
  • sqrt()

ВригономСтричСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

  • sin()
  • cos()
  • tan()

Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ случайных чисСл

  • randomSeed()
  • random()

Π‘ΠΈΡ‚Ρ‹ ΠΈ Π±Π°ΠΉΡ‚Ρ‹

  • lowByte()
  • highByte()
  • bitRead()
  • bitWrite()
  • bitSet()
  • bitClear()
  • bit()

Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ прСрывания

  • attachInterrupt()
  • detachInterrupt()

ΠŸΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡ

  • interrupts()
  • noInterrupts()

Наши Ρ€ΡƒΠ±Ρ€ΠΈΠΊΠΈ
ΠœΠΎΠ΄ΡƒΠ»ΠΈ
Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ
АвторскиС ΡΡ‚Π°Ρ‚ΡŒΠΈ
Π£Ρ€ΠΎΠΊΠΈ
Мои подСлки
Π›ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Π½Π° Arduino
ΠžΠ±Π·ΠΎΡ€Ρ‹
Моддинг
ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‹

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅

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


Sparkfun Education β€” видСорСсурсы ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Arduino

  • Главная
  • ВидСорСсурсы
  • ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ВидСорСсурсы

ΠŸΠΎΡ‚ΠΎΠΊ управлСния Arduino

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Arduino выполняСтся ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈ ΠΊΠ°ΠΊ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ Π±Π»ΠΎΠΊ-схСмы, ΠΈΠ·ΡƒΡ‡ΠΈΠ² всСгда популярный ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Blink. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° Arduino ΠΈ срСдой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Arduino: Установка Arduino IDE

Бинтаксис программирования Arduino

Π—Π½Π°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ компиляции ΠΈ запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Набор ΠΏΡ€Π°Π²ΠΈΠ», ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΡ…, ΠΊΠ°ΠΊ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ваш ΠΊΠΎΠ΄, извСстСн ΠΊΠ°ΠΊ «синтаксис», ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Π³ΠΎ ΠΌΡ‹ рассмотрим Π² этом выпускС Β«ΠŸΡ€ΠΈΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ Π² Π½Π°ΡƒΠΊΠ΅Β», продолТая Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… Π½Π°ΡƒΠΊΠ°Ρ…. ΠœΡ‹ рассмотрим ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ языков C ΠΈ C++ ΠΈ Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π° синтаксиса ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Arduino.

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Arduino

Π’ этом выпускС Adventures in Science ΠΌΡ‹ исслСдуСм Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Arduino ΠΈ способы использования Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ² ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π² C Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 3 основных Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…, Arduino ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Β«longΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Β«long intΒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ 4 Π±Π°ΠΉΡ‚Π° (вмСсто 2 Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ систСм).

АрифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Arduino

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ углубимся ΠΈ рассмотрим Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π² C ΠΈ C++, особСнно Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² срСдС Arduino.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ всСго 6: присваиваниС, слоТСниС, Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ рассмотрим составныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ присваивания; ΠΊΠ°ΠΊ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для выполнСния матСматичСской ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ сохранСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

УсловныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Arduino

ΠœΡ‹ исслСдуСм всСгда Π²Π°ΠΆΠ½Ρ‹ΠΉ условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ для C ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΡƒ if/else/then. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… эффСктивно, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ Π΄Π²Π° числа (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π°Π²Π½Ρ‹ Π»ΠΈ Π΄Π²Π° числа?). Π—Π½Π°Π½ΠΈΠ΅ этого ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Π±Ρ‹Π»Π° Π»ΠΈ Π½Π°ΠΆΠ°Ρ‚Π° ΠΊΠ½ΠΎΠΏΠΊΠ° Π² Arduino.

ЛогичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Arduino

ΠœΡ‹ рассмотрим основныС логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π² C ΠΈ способы ΠΈΡ… использования для создания составных условных ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ². ИмСя Π΄Π΅Π»ΠΎ с Π±ΡƒΠ»Π΅Π²ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π΄Π²ΡƒΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ: истинноС ΠΈΠ»ΠΈ Π»ΠΎΠΆΠ½ΠΎΠ΅. ΠžΡ‚ΡΡŽΠ΄Π° Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ основных ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°: НЕ, И, Π˜Π›Π˜. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… для выполнСния Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π˜Π›Π˜ (XOR). Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ эти ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ составныС условныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для поиска ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ.

ΠŸΠ΅Ρ‚Π»ΠΈ Arduino

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° ΠΏΠ΅Ρ‚Π»ΠΈ Π² Arduino. Π’ частности, ΠΌΡ‹ рассмотрим Ρ†ΠΈΠΊΠ»Ρ‹ while, do while ΠΈ for ΠΈ способы ΠΈΡ… примСнСния Π² Π½Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…. По сути, Ρ†ΠΈΠΊΠ»Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ΄Π° Π±Π΅Π· нСобходимости копирования ΠΈ вставки. Они Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ Ρ…ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ способ выполнСния Ρ†ΠΈΠΊΠ»ΠΎΠ², ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² ΠΈΡ… условия, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Β«breakΒ» ΠΈ Β«continueΒ».

Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ

Набор изобрСтатСля SparkFun (SIK) β€” ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ способ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ взаимодСйствиС с ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π° языкС программирования Arduino. SIK Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для выполнСния 16 схСм/ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΡƒΡ‡Π°Ρ‚ вас ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ показания Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π° Π–Πš-дисплСС, ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ двигатСлями ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌΡƒ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ.

  • Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΏΠΎΠ»Π½ΠΎΡ†Π²Π΅Ρ‚Π½ΠΎΠ΅ руководство с ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΌΠΈ инструкциями, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΊΠΎΠ΄Π° ΠΈ совСтами ΠΏΠΎ ΡƒΡΡ‚Ρ€Π°Π½Π΅Π½ΠΈΡŽ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ для 16 ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²
  • Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Π½ΠΎΠ²ΡƒΡŽ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ схСму Simon Says со всСми Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ свСтодиодами ΠΈ Ρ‚Π°ΠΊΡ‚ΠΈΠ»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ
  • Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ всС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹
  • РСкомСндуСтся для Π΄Π΅Ρ‚Π΅ΠΉ ΠΎΡ‚ 10 Π»Π΅Ρ‚ ΠΈ ΡΡ‚Π°Ρ€ΡˆΠ΅ 6 Π»Π΅Ρ‚
  • НС Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΠΏΡ‹Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с элСктроникой, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ ΠΏΠ°ΠΉΠΊΠΎΠΉ
ΠšΠžΠœΠŸΠ›Π•ΠšΠ’-12060 Набор изобрСтатСля SparkFun β€” V3.2 (ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚)
ЛАБ-13109 Π›Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ SparkFun Inventor's Kit V3.2 (10 ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ΠΎΠ² плюс 2 смСнных ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ)

РСкомСндуСтся ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹Ρ… Π΄Π²ΡƒΡ… ΡƒΡ‡Π΅Π½ΠΈΠΊΠΎΠ².

Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ с элСктронным тСкстилСм, элСктронным ΡˆΠΈΡ‚ΡŒΠ΅ΠΌ ΠΈ элСктронным ΡˆΠΈΡ‚ΡŒΠ΅ΠΌ

ΠšΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ LilyPad Design Kit (LDK) β€” ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ способ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с элСктронным тСкстилСм, элСктронным ΡˆΠΈΡ‚ΡŒΠ΅ΠΌ ΠΈ элСктронным ΡˆΠΈΡ‚ΡŒΠ΅ΠΌ. LDK Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для выполнСния 6 простых экспСримСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΡƒΡ‡Π°Ρ‚ вас ΡΡˆΠΈΠ²Π°Ρ‚ΡŒ основныС схСмы, Π·Π°ΠΆΠΈΠ³Π°Ρ‚ΡŒ свСтодиоды, ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ Π΄ΠΈΠ·Π°ΠΉΠ½Ρ‹ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

  • Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π»Π΅Π³ΠΊΠΎ Π²ΡˆΠΈΡ‚ΡŒ Π² ΠΎΠ΄Π΅ΠΆΠ΄Ρƒ β€” ΠΈΡ… Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‚ΠΈΡ€Π°Ρ‚ΡŒ!
  • Доступны Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ‹ Π²Π²ΠΎΠ΄Π°, Π²Ρ‹Π²ΠΎΠ΄Π°, питания ΠΈ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ²
  • Онлайн-руководство содСрТит ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹Π΅ инструкции ΠΏΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ†Π΅ΠΏΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΈΠ»Π°Π³Π°Π΅ΠΌΡ‹Ρ… Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ
  • Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ совСты, ΠΏΡ€ΠΈΠ΅ΠΌΡ‹ ΠΈ способы устранСния Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ
  • РСкомСндуСтся для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² любого возраста, ΡƒΠΌΠ΅ΡŽΡ‰ΠΈΡ… Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΈΠ³Π»Ρƒ

LilyPad β€” это носимая тСхнология, разработанная Π›ΠΈΠ΅ΠΉ Π‘ΡŒΡŽΡ‡Π»ΠΈ ΠΈ совмСстно разработанная Π›ΠΈΠ΅ΠΉ ΠΈ SparkFun. Π§Π°ΡΡ‚ΡŒ этой ΠΏΡ€ΠΎΠ΄Π°ΠΆΠΈ возвращаСтся Π΄ΠΎΠΊΡ‚ΠΎΡ€Ρƒ Π›ΠΈΠΈ Π‘ΡŽΡ‡Π»ΠΈ для дальнСйшСго развития ΠΈ обучСния элСктронному Ρ‚Π΅ΠΊΡΡ‚ΠΈΠ»ΡŽ.

ΠšΠžΠœΠŸΠ›Π•ΠšΠ’-12073 ДизайнСрский ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ Lilypad (ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚)
Π”Π•Π’-11032 ProtoSnap β€” Π½Π°Π±ΠΎΡ€ для элСктронного ΡˆΠΈΡ‚ΡŒΡ LilyPad (ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚)
Π”Π­Π’-11201 ProtoSnap β€” LilyPad Development Simple (ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚)

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Из-Π·Π° Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΏΠΎ доставкС Π±Π°Ρ‚Π°Ρ€Π΅ΠΉ Π² этом ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π·Π°ΠΊΠ°Π·ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, поэтому доставка Π² Ρ‚ΠΎΡ‚ ΠΆΠ΅ дСнь Π½Π΅ допускаСтся. ΠŸΡ€ΠΈΠ½ΠΎΡΠΈΠΌ извинСния Π·Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ нСудобства.

УчСбная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° для Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния

Π”ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΎΠ± этом ΠΊΠ°ΠΊ ΠΎ Π½Π°Π±ΠΎΡ€Π΅ изобрСтатСля SparkFun Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Π΅! Цифровая пСсочница (DS) β€” это учСбная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ задСйствованы ΠΌΠΈΡ€Ρ‹ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ, Ρ‚Π°ΠΊ ΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния. Он питаСтся ΠΎΡ‚ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π²Ρ…ΠΎΠ΄Π°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ свСта ΠΈΠ»ΠΈ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ управляя свСтодиодами, двигатСлями ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π°ΠΌΠΈ.

  • ΠžΡΠ½Π°Ρ‰Π΅Π½ всСм Π½Π° Π±ΠΎΡ€Ρ‚Ρƒ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ 13 экспСримСнтов/ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²
  • Π”Π°Π΅Ρ‚ учащимся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ свСтодиодом, ΠΈΠ·ΠΌΠ΅Ρ€ΡΡ‚ΡŒ Π³Ρ€ΠΎΠΌΠΊΠΎΡΡ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠ², ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρƒ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅
  • Π›Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ USB (Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚) для программирования
  • Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΎΠ½Π»Π°ΠΉΠ½-руководство с ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΌΠΈ инструкциями ΠΈ ΠΊΠΎΠ΄ΠΎΠΌ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°
  • .
  • ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ учащимся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС экспСримСнты с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ простого графичСского интСрфСйса вмСсто написания ΠΊΠΎΠ΄Π°
  • НС Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΠ°ΠΉΠΊΠΈ ΠΈ рСкомСндуСтся для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… Π² возрастС ΠΎΡ‚ 8 Π»Π΅Ρ‚.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π’ руководство DS Guide Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Ρ‚Ρ€ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… экспСримСнта со схСмами, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… потрСбуСтся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ Digital Sandbox.

Π”Π­Π’-12651 Цифровая пСсочница SparkFun (ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚)
ЛАБ-13111 SparkFun Digital Sandbox Lab Pack (10 ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ΠΎΠ² Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ пСсочницы; 10 Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²)
ΠšΠžΠœΠŸΠ›Π•ΠšΠ’-12963 Π”ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ для Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ пСсочницы SparkFun (ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚)

РСкомСндуСтся ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹Ρ… Π΄Π²ΡƒΡ… ΡƒΡ‡Π΅Π½ΠΈΠΊΠΎΠ².

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° Π²Π΅Ρ‰Π΅ΠΉ ΠΈ Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΡ‚Π΅Ρ…Π½ΠΈΠΊΠΈ

J5IK позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΊ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Π½Π° основС JavaScript, объСдиняя вСздСсущий язык с ΠΎΠ΄Π½ΠΎΠΏΠ»Π°Ρ‚Π½Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ Tessel 2 ΠΈ нСсколькими ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³Π»ΠΈ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅. Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚:

  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΌΠΎΡ‰Π½ΡƒΡŽ основу для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² IoT
  • Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ 14 схСм/ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²
  • НС Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΠΏΡ‹Ρ‚Π° программирования ΠΈΠ»ΠΈ ΠΏΠ°ΠΉΠΊΠΈ
  • ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ с ΠΏΡ€ΠΎΡ†Π²Π΅Ρ‚Π°ΡŽΡ‰ΠΈΠΌ сообщСством ΠΈ ΠΎΠ±Ρ€Π°Π·Ρ†ΠΎΠ²ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²

Π₯отя возмоТности примСнСния Π±Π΅Π·Π³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹, ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ с Π²Π½Π΅ΡˆΠ½ΠΈΡ… Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ дисплССв, ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ двигатСлями, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ JavaScript.

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ ΠΊ ΠœΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠΌΡƒ дню NodeBots 2016!

ΠšΠžΠœΠŸΠ›Π•ΠšΠ’-13847 Набор изобрСтатСля Johnny Five
Π”Π•Π’-13841 ВСссСль 2

ЛогичСский ΠΈ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΉ | Π Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° странного ΠΊΠΎΠ΄Π° Arduino

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ

ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° это руководство.

ПослС Π²Ρ…ΠΎΠ΄Π° Π² систСму Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΊ этому руководству ΠΈ смоТСтС ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° Π½Π΅Π³ΠΎ.

Другая ситуация с ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌ ΠΈ Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌ символом Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ логичСскими ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ (ΠΎΡ†Π΅Π½ΠΊΠ° истинного / Π»ΠΎΠΆΠ½ΠΎΠ³ΠΎ условия ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°) ΠΈ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΌΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ (ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ матСматичСских ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ ΠΊ числам).

 if (flag1 || flag2) { // Π­Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π›ΠžΠ“Π˜Π§Π•Π‘ΠšΠžΠ• Π˜Π›Π˜
  Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅1 | Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅2; // Π­Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠŸΠžΠ‘Π˜Π’ΠžΠ’ΠžΠ• Π˜Π›Π˜
} 

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Ρ€Π΅Π΄ΠΊΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Ссли Π²Ρ‹ ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΏΡƒΡ‚Π°Π΅Ρ‚Π΅, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ†Π΅Π»Ρ‹Π΅ числа ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ†Π΅Π½Π΅Π½Ρ‹ ΠΊΠ°ΠΊ истина (Π½Π΅ ноль) ΠΈΠ»ΠΈ лоТь (ноль).

|| β€” это логичСский ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π˜Π›Π˜ , истина, Ссли истинСн ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ с любой стороны .

&& являСтся логичСским ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ И , истинным, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли истинны ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ с ΠΎΠ±Π΅ΠΈΡ… сторон .

! - это логичСскоС НЕ , ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΡ‚Ρ€ΠΈΡ†Π°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π·Π° Π½ΠΈΠΌ. true становится false ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ это всСго лишь 9 ΠΈ ~ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΌΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ OR , AND , XOR ΠΈ NOT . << ΠΈ >> β€” это ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сдвига , Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π΅ смоТСм провСсти Π΅Π΄ΠΈΠ½ΡƒΡŽ Π²ΡΠ΅ΠΎΠ±ΡŠΠ΅ΠΌΠ»ΡŽΡ‰ΡƒΡŽ Π΄ΠΈΡ„Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠ°Ρ†ΠΈΡŽ Β«ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΎΡ‚ΠΈΠ² Π΄Π²ΡƒΡ… символов». ΠœΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ Π²Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π² подробности самих ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ освСщСны Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ мСстС. Как ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ страницС, любой ΠΈΠ· Π½ΠΈΡ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ связан с Π·Π°Π΄Π°Π½ΠΈΠ΅ΠΌ ( = ) ΠΊΠ°ΠΊ ΡΡ‚Π΅Π½ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ.

ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ сдвиги ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ интСрСсным свойством дСлСния ΠΈΠ»ΠΈ умноТСния Ρ†Π΅Π»Ρ‹Ρ… чисСл Π½Π° стСпСни двойки…

 a = b << 1; // Π£ΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ Π½Π° 2
Π° = Π± << 2; // Π£ΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ Π½Π° 4
Π° = Π± << 3; // Π£ΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ Π½Π° 8 ΠΈ Ρ‚.Π΄...
Π° = Π± >> 1; // Π”Π΅Π»ΠΈΠΌ Π½Π° 2
Π° = Π± >> 2; // Π”Π΅Π»ΠΈΠΌ Π½Π° 4
Π° = Π± >> 3; // Π”Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° 8 ΠΈ Ρ‚.Π΄... 

Π’ ΠΊΠΎΠ΄Π΅ старой ΡˆΠΊΠΎΠ»Ρ‹ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ мноТСство ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… сдвигов, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π² Ρ‚ΠΎ врСмя Π±Ρ‹Π»ΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ дорогостоящими опСрациями. Но соврСмСнныС компиляторы Π·Π°ΠΌΠ΅Ρ‡Π°ΡŽΡ‚ эту Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈ автоматичСски Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, Ссли это Π²Ρ‹Π³ΠΎΠ΄Π½ΠΎ, Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ Β«Π½ΠΈΠ·ΠΊΠΈΡ…Β» настройках. Π˜Ρ‚Π°ΠΊβ€¦ Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ число Π½Π° 8, просто Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅ Π½Π° 8, читаСтся Π»ΡƒΡ‡ΡˆΠ΅ . Π’ Π΄Ρ€ΡƒΠ³ΠΈΡ… ситуациях Π±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ сдвиги ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΎΡ‡Π΅Π½ΡŒ умСстны… Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ сдвиг пиксСлов Π²Π»Π΅Π²ΠΎ ΠΈΠ»ΠΈ Π²ΠΏΡ€Π°Π²ΠΎ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ количСство Π±ΠΈΡ‚ΠΎΠ². ВсС зависит ΠΎΡ‚ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ ΠΈΠ΄Π΅ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ донСсти.

Β Π‘Ρ€Π°Π²Π½ΠΈΡ‚ΡŒ ΠΈ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ

Π­Ρ‚ΠΎ руководство Π±Ρ‹Π»ΠΎ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ 10 августа 2022 Π³.

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

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