Β Β Β Β digitalWrite(ledPin, LOW);
Β Β Β Β delay(delayPeriod);
Β Β }
}
Π€ΡΠ½ΠΊΡΠΈΡ setup ΡΠ΅ΠΏΠ΅ΡΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΡ flash(10, 100);. ΠΠ½Π° ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ: Β«ΠΌΠΈΠ³Π½ΡΡΡ 10 ΡΠ°Π· Ρ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΎΠΌ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ delayPeriod 100 ΠΌΡΒ». ΠΠΎΠΌΠ°Π½Π΄Π° flash Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Arduino β Π²Ρ ΡΠΎΠ·Π΄Π°Π΄ΠΈΡΠ΅ ΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ°ΠΌΠΈ.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΠΊΠ΅ΡΡΠ°. ΠΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ
void flash(int n, int delayPeriod)
ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Arduino, ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π½ΠΎΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ flash, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, ΠΎΠ±Π° ΡΠΈΠΏΠ° int. ΠΠ΅ΡΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ n, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΌΠΈΠ³Π½ΡΡΡ, Π° Π²ΡΠΎΡΠΎΠΉ, Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ delayPeriod, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ ΠΏΠ°ΡΠ·Ρ ΠΏΠΎΡΠ»Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π°.
ΠΡΠΈ Π΄Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. Π’Π°ΠΊ, n ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ for, Π³Π΄Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠΉ ΡΠΈΠΊΠ»Π°, Π° delayPeriod β Π²Π½ΡΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ delay.
Π€ΡΠ½ΠΊΡΠΈΡ loop ΡΠΊΠ΅ΡΡΠ° ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ flash, Π½ΠΎ Ρ Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΠ½Π½ΡΠΌ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΎΠΌ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ delayPeriod ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠΉ, ΡΠ°Π²Π½ΡΠΌ 1. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ loop, ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ½ΠΎΠ²Π° ΠΈ ΡΠ½ΠΎΠ²Π°, Π·Π°ΡΡΠ°Π²Π»ΡΡ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ ΠΌΠΈΠ³Π°ΡΡ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎ.
Π¦ΠΈΡΡΠΎΠ²ΡΠ΅ Π²Ρ ΠΎΠ΄Ρ
Π§ΡΠΎΠ±Ρ ΠΈΠ·Π²Π»Π΅ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΏΠΎΠ»ΡΠ·Ρ ΠΈΠ· Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π°, Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ ΠΊΡΡΠΎΠΊ ΠΏΡΠΎΠ²ΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΌΠ΅ΡΠ°Π»Π»ΠΈΡΠ΅ΡΠΊΡΡ ΡΠΊΡΠ΅ΠΏΠΊΡ.
ΠΠ°Π³ΡΡΠ·ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΊΠ΅ΡΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Π΅Π³ΠΎ:
// sketch 01_03_paperclip
int ledPin = 13;
int switchPin = 7;
void setup()
{
Β Β pinMode(ledPin, OUTPUT);
Β Β pinMode(switchPin, INPUT_PULLUP);
}
void loop()
{
Β Β if (digitalRead(switchPin) == LOW)
Β Β {
Β Β Β Β flash(100);
Β Β }
Β Β else
Β Β {
Β Β Β Β flash(500);
Β Β }
}
void flash(int delayPeriod)
{
Β Β digitalWrite(ledPin, HIGH);
Β Β delay(delayPeriod);
Β Β digitalWrite(ledPin, LOW);
Β Β delay(delayPeriod);
}
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΡΡΠΎΠΊ ΠΏΡΠΎΠ²ΠΎΠ΄Π° ΠΈΠ»ΠΈ Π²ΡΠΏΡΡΠΌΠ»Π΅Π½Π½ΡΡ ΡΠΊΡΠ΅ΠΏΠΊΡ, Π·Π°ΠΌΠΊΠ½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ GND ΠΈ 7, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡ. 1.13. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ Π½Π° Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ ΠΏΠ»Π°ΡΠ΅ Arduino, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ Π²ΡΠ³ΡΡΠ·ΠΊΠΈ Π² Π½Π΅Π΅ ΡΠΊΠ΅ΡΡΠ°. ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π½Π΅ΠΊΠΈΠΉ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΡΠΊΠ΅ΡΡ ΠΌΠΎΠ³ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡ 7 Π½Π° ΡΠ°Π±ΠΎΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π²ΡΡ ΠΎΠ΄Π° β Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠ΅ Π½Π° GND ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ²ΡΠ΅Π΄ΠΈΡΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΠΊΠ΅ΡΡ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅Ρ ΠΊΠΎΠ½ΡΠ°ΠΊΡ 7 Π½Π° ΡΠ°Π±ΠΎΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π²Ρ ΠΎΠ΄Π°, Π΅Π³ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡ Ρ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠΌ GND.
ΠΠΎΡ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅: ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ Π·Π°ΠΌΠΊΠ½ΡΡΡ, ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ ΠΌΠΈΠ³Π°Π΅Ρ ΡΠ°ΡΠ΅, Π° ΠΊΠΎΠ³Π΄Π° Π½Π΅ Π·Π°ΠΌΠΊΠ½ΡΡΡ β ΡΠ΅ΠΆΠ΅.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΈΡΡΠ»Π΅Π΄ΡΠ΅ΠΌ ΡΠΊΠ΅ΡΡ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
Π ΠΈΡ. 1.13. ΠΠΏΡΡ Ρ ΡΠΈΡΡΠΎΠ²ΡΠΌ Π²Ρ ΠΎΠ΄ΠΎΠΌ
ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Π² ΡΠΊΠ΅ΡΡΠ΅ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π½ΠΎΠ²Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ switchPin. ΠΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ Π½ΠΎΠΌΠ΅Ρ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ° 7. Π‘ΠΊΡΠ΅ΠΏΠΊΠ° Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ΅ ΠΈΠ³ΡΠ°Π΅Ρ ΡΠΎΠ»Ρ Π²ΡΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ. Π ΡΡΠ½ΠΊΡΠΈΠΈ setup ΠΊΠΎΠ½ΡΠ°ΠΊΡ 7 Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΡΠ°Π±ΠΎΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π²Ρ ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ pinMode. ΠΠΎ Π²ΡΠΎΡΠΎΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ pinMode ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π½Π΅ ΠΏΡΠΎΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ INPUT, Π° INPUT_PULLUP. ΠΠ½ΠΎ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΏΠ»Π°ΡΠ΅ Arduino, ΡΡΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²Ρ ΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΡΡΠΎΠ²Π΅Π½Ρ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ HIGH, Π΅ΡΠ»ΠΈ Π½Π° Π½Π΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π°Π½ ΡΡΠΎΠ²Π΅Π½Ρ LOW ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ° Ρ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠΌ GND (ΡΠΊΡΠ΅ΠΏΠΊΠΎΠΉ).
Π ΡΡΠ½ΠΊΡΠΈΠΈ loop ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ digitalRead Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠΎΠ²Π½Ρ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ Π½Π° Π²Ρ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ΅. ΠΡΠ»ΠΈ ΠΎΠ½ ΡΠ°Π²Π΅Π½ LOW (ΡΠΊΡΠ΅ΠΏΠΊΠ° Π·Π°ΠΌΡΠΊΠ°Π΅Ρ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ), Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ flash ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ 100 (Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ delayPeriod). ΠΡΠΎ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ ΠΌΠΈΠ³Π°ΡΡ ΡΠ°ΡΠ΅.
ΠΡΠ»ΠΈ Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΠ°ΠΊΡ ΠΈΠΌΠ΅Π΅Ρ ΡΡΠΎΠ²Π΅Π½Ρ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ HIGH, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ else ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ if. ΠΠ΄Π΅ΡΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΠ° ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΡ flash, Π½ΠΎ Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ, Π·Π°ΡΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ ΠΌΠΈΠ³Π°ΡΡ ΡΠ΅ΠΆΠ΅. Π€ΡΠ½ΠΊΡΠΈΡ flash ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΏΡΠΎΡΠ΅Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ flash ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΡΠΊΠ΅ΡΡΠ°, ΠΎΠ½Π° ΠΏΡΠΎΡΡΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈ Π²ΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Ρ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ.
Π¦ΠΈΡΡΠΎΠ²ΡΠ΅ Π²Ρ ΠΎΠ΄Ρ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ Ρ ΡΠΈΡΡΠΎΠ²ΡΠΌΠΈ Π²ΡΡ ΠΎΠ΄Π°ΠΌΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΡΡΡ Π½Π΅ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π²ΡΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ, Π½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ΅ ΠΆΠ΅ ΡΡΠΎΠ²Π½ΠΈ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ HIGH ΠΈ LOW. Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ pinMode ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ INPUT Π²ΠΌΠ΅ΡΡΠΎ INPUT_PULLUP.
Π¦ΠΈΡΡΠΎΠ²ΡΠ΅ Π²ΡΡ ΠΎΠ΄Ρ
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΎ ΡΠΈΡΡΠΎΠ²ΡΡ Π²ΡΡ ΠΎΠ΄Π°Ρ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠ² Ρ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠΌ 13, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² Π½Π° ΡΠ°Π±ΠΎΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠΈΡΡΠΎΠ²ΡΡ Π²ΡΡ ΠΎΠ΄ΠΎΠ² ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π² ΡΡΠ½ΠΊΡΠΈΠΈ setup Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
pinMode(outputPin, OUTPUT);
Π§ΡΠΎΠ±Ρ Π½Π° ΡΠΈΡΡΠΎΠ²ΠΎΠΌ Π²ΡΡ ΠΎΠ΄Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΠΎΠ²Π΅Π½Ρ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ HIGH ΠΈΠ»ΠΈ LOW, Π½ΡΠΆΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ digitalWrite:
digitalWrite(outputPin, HIGH);
ΠΠΎΠ½ΠΈΡΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠ»Π°ΡΠ° Arduino ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΡΡ USB, Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΡΡΠ»Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Arduino IDE, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΎΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ° (Serial Monitor). ΠΠ»Ρ ΠΈΠ»Π»ΡΡΡΡΠ°ΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΡΠΊΠ΅ΡΡ 01_03 ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π²ΠΌΠ΅ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΡΡΠΎΡΡ ΠΌΠΈΠ³Π°Π½ΠΈΡ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π° ΠΏΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΡΠΎΠ²Π½Ρ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ LOW Π½Π° ΡΠΈΡΡΠΎΠ²ΠΎΠΌ Π²Ρ ΠΎΠ΄Π΅ 7 ΠΎΠ½ ΠΏΠΎΡΡΠ»Π°Π» ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
ΠΠ°Π³ΡΡΠ·ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΊΠ΅ΡΡ:
// sketch 01_04_serial
int switchPin = 7;
void setup()
{
Β Β pinMode(switchPin, INPUT_PULLUP);
Β Β Serial.begin(9600);
}
void loop()
{
Β Β if (digitalRead(switchPin) == LOW)
Β Β {
Β Β Β Β Serial.println("Paperclip connected");
Β Β }
Β Β else
Β Β {
Β Β Β Β Serial.println("Paperclip NOT connected");
Β Β }
Β Β delay(1000);
}
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ° Π² Arduino IDE, ΡΠ΅Π»ΠΊΠ½ΡΠ² Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡΠΈΠΌ Π»ΡΠΏΡ. ΠΡ ΡΡΠ°Π·Ρ ΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΏΠΎΡΠ²Π»ΡΡΡΠΈΡ ΡΡ ΠΎΠ΄Π½ΠΎ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ (ΡΠΈΡ. 1.14).
Π ΠΈΡ. 1.14. ΠΠΎΠ½ΠΈΡΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°
Π Π°Π·ΡΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ, ΡΠ±ΡΠ°Π² ΡΠΊΡΠ΅ΠΏΠΊΡ, ΠΈ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ ΡΠ΅ΠΊΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΡΡ.
Π’Π°ΠΊ ΠΊΠ°ΠΊ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ Π² ΡΡΠΎΠΌ ΡΠΊΠ΅ΡΡΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΠΎΡΠΏΠ°Π»Π° ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ledPin. ΠΠ°ΡΠΎ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π½ΠΎΠ²Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Serial.begin, Π·Π°ΠΏΡΡΠΊΠ°ΡΡΠ°Ρ ΠΎΠ±ΠΌΠ΅Π½ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΡΡ. ΠΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΡΡ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π² Π³Π»Π°Π²Π΅ 13.
Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π² ΠΌΠΎΠ½ΠΈΡΠΎΡ ΠΏΠΎΡΡΠ°, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½ΒΠ΄Ρ Serial.println.
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Arduino ΠΏΠΎΡΡΠ»Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΠΌΠΎΠ½ΠΈΡΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°.
ΠΠ°ΡΡΠΈΠ²Ρ ΠΈ ΡΡΡΠΎΠΊΠΈ
ΠΠ°ΡΡΠΈΠ²Ρ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠΎΠ² Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΠΌ Π²ΡΡΡΠ΅ΡΠ°Π»ΠΈΡΡ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ, ΠΌΠΎΠ³Π»ΠΈ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΈΠΏΠ° int. ΠΠ°ΡΡΠΈΠ², Π½Π°ΠΏΡΠΎΡΠΈΠ², ΠΌΠΎΠΆΠ΅Ρ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ ΠΏΠΎ ΠΈΡ ΠΏΠΎΠ·ΠΈΡΠΈΡΠΌ Π² ΡΠΏΠΈΡΠΊΠ΅.
Π C, ΠΊΠ°ΠΊ ΠΈ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ 0, Π° Π½Π΅ Ρ 1. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½ΡΠ»Π΅Π²ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ.
ΠΡ ΡΠΆΠ΅ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΠ΅ΠΉ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅, Π³Π΄Π΅ Π·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΠΈΡΡ Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΎΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°. Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Β«Paperclip NOT connectedΒ» (ΡΠΊΡΠ΅ΠΏΠΊΠ° Π½Π΅ Π·Π°ΠΌΡΠΊΠ°Π΅Ρ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ), Π½Π°Π·ΡΠ²Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΠΌΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°ΡΡΠΈΠΌ Arduino ΠΏΠΎΡΡΠ»Π°ΡΡ Π² ΠΌΠΎΠ½ΠΈΡΠΎΡ ΠΏΠΎΡΡΠ° Π²ΡΡΠΊΡΡ ΡΠ΅ΠΏΡΡ Ρ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΊΠ΅ΡΡ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ°ΡΡΠΈΠ² ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΠ½ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΠΈΡ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ Π² ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΈ ΠΏΠΎΡΡΠ»Π°Π΅Ρ Π² ΠΌΠΎΠ½ΠΈΡΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ° ΡΠ΅ΡΠ΅Π· ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠΎΠΏΡΡΠ½ΠΎ ΡΡΠΎΡ ΡΠΊΠ΅ΡΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ Π² Arduino ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΡΠΈΡΠ»Π°.
// sketch 01_05_gibberish
char* messages[] = {
Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β "My name is Arduino",
Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β "Buy books by Simon Monk",
Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β "Make something cool with me",
Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β "Raspberry Pis are fruity"};