diff --git a/content/posts/2023/arduino/running-indicator.md b/content/posts/2023/arduino/running-indicator.md new file mode 100644 index 0000000..d7d0538 --- /dev/null +++ b/content/posts/2023/arduino/running-indicator.md @@ -0,0 +1,66 @@ +--- +title: "πŸ”΄ Π˜Π½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ardiuno" +date: 2023-02-24T19:06:07+03:00 +draft: false +tags: [arduino, tips] +--- + +Написал ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая ΠΌΠΎΡ€Π³Π°Π΅Ρ‚ встроСнным свСтодиодом, +ΠΊΠΎΠ³Π΄Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΊΠ° запускаСтся. + +Π€ΡƒΠ½ΠΊΡ†ΠΈΡŽ `init_blink()` Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ†ΠΈΠΊΠ»Π΅ `setup()`, +ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция `delay()`, +Π²Ρ‹Π·ΠΎΠ² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π² `loop()` ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½ΠΎ ΠΏΠΎΠ²Π»ΠΈΡΡ‚ΡŒ Π½Π° выполнямый ΠΊΠΎΠ΄. + +```c +void init_blink(int times) { + for (int count = 0; count < times; count++) { + digitalWrite(LED_BUILTIN, HIGH); + delay(200); + digitalWrite(LED_BUILTIN, LOW); + delay(200); + } +} +``` + +Ѐункция ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ `times`, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ цисловоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. + +Он ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° количСство ΠΌΠΎΡ€Π³Π°Π½ΠΈΠΉ свотодиодом ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. + +Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π½ΡƒΠΆΠ½ΠΎ Ρ‚Π°ΠΊ: + +```c +void setup() { + // ΠΊΠΎΠ΄ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ + + init_blink(5); +} +``` + +Π‘Π²Π΅Ρ‚ΠΎΠ΄ΠΈΠΎΠ΄ ΠΌΠΎΡ€Π³Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 200 милисСкунд. + +### Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ врСмя ΠΌΠ΅ΠΆΠ΄Ρƒ Π·Π°ΠΆΠΈΠ³Π°Π½ΠΈΠ΅ΠΌ свСтодиода + +Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ врСмя моргания свСтодиодом, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ +Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ `delay()`, Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π±ΠΎΠ»Π΅Π΅ элСгатно, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π°Ρ€Π³ΡƒΠΌΠ΅Ρ‚. + +```c +void init_blink(int times, int delay) { + for (int count = 0; count < times; count++) { + digitalWrite(LED_BUILTIN, HIGH); + delay(delay); + digitalWrite(LED_BUILTIN, LOW); + delay(delay); + } +} +``` + +Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Ρ‚Π°ΠΊ: + +```c +void setup() { + // ΠΊΠΎΠ΄ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ + + init_blink(5, 200); +} +```