void setup()
{
Β Β Serial.begin(9600);
}
void loop()
{
Β Β int delayPeriod = random(2000, 8000);
Β Β delay(delayPeriod);
Β Β int messageIndex = random(4);
Β Β Serial.println(messages[messageIndex]);
}
ΠΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΠΈ, ΠΊΠ°ΠΊ ΡΠ°ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΈΠΌΠ΅ΡΡ ΡΠΈΠΏ char*. Π‘ΠΈΠΌΠ²ΠΎΠ» Π·Π²Π΅Π·Π΄ΠΎΡΠΊΠΈ (*) Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΠΎ-ΡΠΎ. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ± ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π² Π³Π»Π°Π²Π΅ 6. ΠΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ([]) Π² ΠΊΠΎΠ½ΡΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΡΡΠΎ Π΄Π°Π½Π½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Ρ ΡΠ°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ² Π΄Π°Π½Π½ΡΡ ΡΠΈΠΏΠ° char*, Π° Π½Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ char*.
ΠΠ½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ loop ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ delayPeriod ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΎΡ 2000 Π΄ΠΎ 7999 (Π²ΡΠΎΡΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ random Π½Π΅ Π²Ρ ΠΎΠ΄ΠΈΡ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½). ΠΠ°ΡΠ΅ΠΌ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ delay Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠ°ΡΠ·Π°, ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π²Π½Π° ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠΌΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΡ.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ messageIndex ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ random, Π½ΠΎ Π½Π° ΡΡΠΎΡ ΡΠ°Π· Π΅ΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ΅Π³ΠΎ ΠΎΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ 0 Π΄ΠΎ 3, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π² ΠΌΠΎΠ½ΠΈΡΠΎΡ ΠΏΠΎΡΡΠ°.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, Π½Π°Ρ ΠΎΠ΄ΡΡΠ΅Π΅ΡΡ Π² Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ, ΠΏΠΎΡΡΠ»Π°Π΅ΡΡΡ Π² ΠΌΠΎΠ½ΠΈΡΠΎΡ ΠΏΠΎΡΡΠ°. ΠΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΡΠΎΡ ΡΠΊΠ΅ΡΡ, Π½Π΅ Π·Π°Π±ΡΠ² ΠΎΡΠΊΡΡΡΡ ΠΎΠΊΠ½ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°.
ΠΠ½Π°Π»ΠΎΠ³ΠΎΠ²ΡΠ΅ Π²Ρ ΠΎΠ΄Ρ
ΠΠΎΠ½ΡΠ°ΠΊΡΡ Ρ ΠΌΠ΅ΡΠΊΠ°ΠΌΠΈ ΠΎΡ A0 Π΄ΠΎ A5 Π½Π° ΠΏΠ»Π°ΡΠ΅ Arduino ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊ Π½ΠΈΠΌ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ. Π£ΡΠΎΠ²Π΅Π½Ρ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ 0 Π΄ΠΎ 5 Π. ΠΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ analogRead, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ 0 Π΄ΠΎ 1023: Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 0 ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ 0 Π, Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 1023 β Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ 5 Π. Π’ΠΎ Π΅ΡΡΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΡΠΈΡΠ»ΠΎ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π½Π°Ρ ΠΎΠ΄ΡΡΠ΅Π΅ΡΡ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ 0 Π΄ΠΎ 5, Π½ΡΠΆΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π½Π° 5: 1023/5 = 204,6.
Π’ΠΈΠΏ Π΄Π°Π½Π½ΡΡ int Π½Π΅ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π°, Π° Π½Π°ΠΌ Π±ΡΠ»ΠΎ Π±Ρ ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΠΈΠ΄Π΅ΡΡ ΡΠ°ΠΊΠΆΠ΅ Π΄ΡΠΎΠ±Π½ΡΡ ΡΠ°ΡΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ float.
ΠΠ°Π³ΡΡΠ·ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΊΠ΅ΡΡ Π² ΠΏΠ»Π°ΡΡ Arduino ΠΈ Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΌΠΊΠ½ΠΈΡΠ΅ ΡΠΊΡΠ΅ΠΏΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ A0 ΠΈ 3.3V (ΡΠΈΡ. 1.15).
Π ΠΈΡ. 1.15. Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² A0 ΠΈ 3.3V
// sketch 01_06_analog
int analogPin = A0;
void setup()
{
Β Β Serial.begin(9600);
}
void loop()
{
Β Β int rawReading = analogRead(analogPin);
Β Β float volts = rawReading / 204.6;
Β Β Serial.println(volts);
Β Β delay(1000);
}
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°, ΠΈ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΏΠΎΡΠΎΠΊ ΡΠΈΡΠ΅Π» (ΡΠΈΡ. 1.16). Π§ΠΈΡΠ»Π° Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π±Π»ΠΈΠ·ΠΊΠΈ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 3,3.
Π ΠΈΡ. 1.16. ΠΡΠ²ΠΎΠ΄ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ
ΠΠΠΠΠΠΠΠ
ΠΠ΅ Π·Π°ΠΌΡΠΊΠ°ΠΉΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠΏΠΈΡΠ°Π½ΠΈΡ (5V, 3.3V ΠΈ GND). ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π²ΡΡ ΠΎΠ΄Ρ ΠΈΠ· ΡΡΡΠΎΡ ΠΏΠ»Π°ΡΡ Arduino, Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ, ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°.
ΠΡΠ»ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ½Π΅Ρ ΡΠΊΡΠ΅ΠΏΠΊΠΈ ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΠΌ Ρ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠΌ A0, Π° Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΊ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ 5V, ΡΠΈΡΠ»Π° Π² ΠΌΠΎΠ½ΠΈΡΠΎΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡ ΠΈ Π±ΡΠ΄ΡΡ Π±Π»ΠΈΠ·ΠΊΠΈ ΠΊ 5 Π. Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡ A0 Ρ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠΌ GND, ΠΈ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠΈΡΠ»Π° 0 Π.
ΠΠ½Π°Π»ΠΎΠ³ΠΎΠ²ΡΠ΅ Π²ΡΡ ΠΎΠ΄Ρ
ΠΠ»Π°ΡΠ° Arduino Uno Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π½Π°ΡΡΠΎΡΡΠΈΡ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΡ Π²ΡΡ ΠΎΠ΄ΠΎΠ² (ΡΠ°ΠΊΠΈΠ΅ Π²ΡΡ ΠΎΠ΄Ρ Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ Π½Π° ΠΏΠ»Π°ΡΠ΅ Arduino Due), Π½ΠΎ ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΡ ΠΎΠ΄ΠΎΠ² Ρ ΡΠΈΡΠΎΡΠ½ΠΎ-ΠΈΠΌΠΏΡΠ»ΡΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄ΡΠ»ΡΡΠΈΠ΅ΠΉ (Pulse-Width Modulation, PWM). ΠΠ½ΠΈ ΠΈΠΌΠΈΡΠΈΡΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΠ΅ Π²ΡΡ ΠΎΠ΄Ρ, ΡΠΏΡΠ°Π²Π»ΡΡ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΠΈΠΌΠΏΡΠ»ΡΡΠΎΠ² (ΡΠΈΡ. 1.17).
Π ΠΈΡ. 1.17. Π¨ΠΈΡΠΎΡΠ½ΠΎ-ΠΈΠΌΠΏΡΠ»ΡΡΠ½Π°Ρ ΠΌΠΎΠ΄ΡΠ»ΡΡΠΈΡ
Π§Π΅ΠΌ Π΄Π»ΠΈΠ½Π½Π΅Π΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΠΌΠΏΡΠ»ΡΡ, ΡΠ΅ΠΌ Π²ΡΡΠ΅ ΡΡΠ΅Π΄Π½Π΅Π΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠΌΠΏΡΠ»ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡ Ρ ΡΠ°ΡΡΠΎΡΠΎΠΉ 500 ΡΠ°Π· Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ, Π° Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π°ΠΌ Π΄ΠΎΠ²Π΅Π΄Π΅ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΠΊ Π²ΡΡ ΠΎΠ΄Π°ΠΌ PWM, Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠΉ ΡΠ΅Π°ΠΊΡΠΈΠ΅ΠΉ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΡΡΡΠ΅ΠΊΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ.
ΠΠΎΠ½ΡΠ°ΠΊΡΡ, ΠΎΡΠΌΠ΅ΡΠ΅Π½Π½ΡΠ΅ Π½Π° ΠΏΠ»Π°ΡΠ΅ Arduino Uno Π·Π½Π°ΡΠΊΠΎΠΌ ~ (ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ 3, 5, 6, 9, 10 ΠΈ 11), ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΠ΅ Π²ΡΡ ΠΎΠ΄Ρ.
Π ΠΈΡ. 1.18. ΠΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ Π²ΠΎΠ»ΡΡΠΌΠ΅ΡΡ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π½Π° Π½Π΅ΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ 0β¦20 Π ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ ΡΠΎΠΊΠ° ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΡΠΏ ΠΊ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ 6, Π° ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ β ΠΊ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ GND (ΡΠΈΡ. 1.18). ΠΠ°ΡΠ΅ΠΌ Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΊΠ΅ΡΡ.
// sketch 01_07_pwm
int pwmPin = 6;
void setup()
{
Β Β pinMode(pwmPin, OUTPUT);
Β Β Serial.begin(9600);
}
void loop()
{
Β Β if (Serial.available())
Β Β {
Β Β Β Β int dutyCycle = Serial.parseInt();
Β Β Β Β analogWrite(pwmPin, dutyCycle);
Β Β }
}
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ° ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠΈΡΠ»ΠΎ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ 0 Π΄ΠΎ 255 Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π² Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΊΠ½Π°, ΡΠ»Π΅Π²Π° ΠΎΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Send (ΠΡΠΏΡΠ°Π²ΠΈΡΡ). ΠΠ°ΡΠ΅ΠΌ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Send (ΠΡΠΏΡΠ°Π²ΠΈΡΡ) β Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊ Π½Π° ΠΌΡΠ»ΡΡΠΈΠΌΠ΅ΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ ΠΏΠΎΡΠ»Π°ΡΡ ΡΠΈΡΠ»ΠΎ 0, Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΏΠ°ΡΡΡ Π΄ΠΎ 0. ΠΡΠΏΡΠ°Π²ΠΊΠ° ΡΠΈΡΠ»Π° 127 Π΄ΠΎΠ»ΠΆΠ½Π° Π΄Π°ΡΡ ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Ρ ΠΌΠ΅ΠΆΠ΄Ρ 0 ΠΈ 5 Π (2,5 Π), Π° ΡΠΈΡΠ»ΠΎ 255 Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π΄Π°ΡΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΊΠΎΠ»ΠΎ 5 Π.
Π ΡΡΠΎΠΌ ΡΠΊΠ΅ΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ loop Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° if. Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ Π΄Π»Ρ if ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Serial.available(). Π’ΠΎ Π΅ΡΡΡ Π΅ΡΠ»ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ° ΠΏΠΎΠ»ΡΡΠΈΠ» ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½ΒΠ΄Ρ Π²Π½ΡΡΡΠΈ ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° Serial.parseInt ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΡΠ΅ΠΊΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π² ΠΎΠΊΠ½Π΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ° ΠΏΠΎΡΡΠ°, Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° int, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ analogWrite Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠΌΠΏΡΠ»ΡΡΠΎΠ² Π½Π° ΠΊΠΎΠ½ΡΠ°ΠΊΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠ»Π°ΡΡ Arduino ΠΎΠ±Π»Π°Π΄Π°ΡΡ Π²Π΅ΡΡΠΌΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΌΠΎΠΌ ΠΏΠ°ΠΌΡΡΠΈ, ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅ ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ Π² ΠΏΠ»Π°ΡΠ΅, ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ. ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π΄ΠΎΠ±ΠΈΡΡΡΡ ΡΡΠΎΠ³ΠΎ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. Π Arduino ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π² ΡΠ·ΡΠΊΠ΅ C ΠΏΠΎΠ΄ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Arduino IDE Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π½ΡΠΌ ΠΆΠΈΠ΄ΠΊΠΎΠΊΡΠΈΡΡΠ°Π»Π»ΠΈΡΠ΅ΡΠΊΠΈΠΌ Π΄ΠΈΡΠΏΠ»Π΅Π΅ΠΌ. ΠΠ½Π° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 1,5 ΠΠ±Π°ΠΉΡ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠΌΡΡΠ»Π° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°ΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ.
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ² #include Π² Π½Π°ΡΠ°Π»ΠΎ ΡΠΊΠ΅ΡΡΠ°. ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ include Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π»ΡΠ±ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ Π² ΡΠΎΡΡΠ°Π²Π΅ Arduino IDE, ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠ½ΠΊΡΠΎΠ² ΠΌΠ΅Π½Ρ Sketchβ>Import Libraryβ¦ (Π‘ΠΊΠ΅ΡΡβ>ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ).
Π ΡΠΎΡΡΠ°Π² Arduino IDE Π²Ρ ΠΎΠ΄ΠΈΡ Π±ΠΎΠ»ΡΡΠ°Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅:
β’ EEPROM β Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΈΡΠ°Π΅ΠΌΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΡ ΠΏΠ°ΠΌΡΡΡ (ΠΠ‘ΠΠΠΠ£) (Electrically Erasable Programmable Read-Only Memory);
β’ Ethernet β Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΡΠ΅Π²ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΉ;
β’ Firmata β ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΡΡ;
β’ LiquidCrystal β Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π°Π»ΡΠ°Π²ΠΈΡΠ½ΠΎ-ΡΠΈΡΡΠΎΠ²ΡΠΌΠΈ ΠΆΠΈΠ΄ΠΊΠΎΠΊΡΠΈΡΡΠ°Π»Π»ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π΄ΠΈΡΠΏΠ»Π΅ΡΠΌΠΈ;
β’ SD β Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π΄Π°Π½Π½ΡΡ Π½Π° ΠΊΠ°ΡΡΡ ΡΠ»Π΅Ρ-ΠΏΠ°ΠΌΡΡΠΈ;
β’ Servo β Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΎΠΏΡΠΈΠ²ΠΎΠ΄Π°ΠΌΠΈ;
β’ SPI β Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΏΠΎ ΡΠΈΠ½Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°;
β’ Software Serial β Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΏΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΌ Π»ΠΈΠ½ΠΈΡΠΌ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π»ΡΠ±ΡΡ ΡΠΈΡΡΠΎΠ²ΡΡ Π²ΡΡ ΠΎΠ΄ΠΎΠ²;
β’ Stepper β Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°Π³ΠΎΠ²ΡΠΌΠΈ ΡΠ»Π΅ΠΊΡΡΠΎΠΌΠΎΡΠΎΡΠ°ΠΌΠΈ;
β’ WiFi β Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΎΠΉ ΡΠ΅ΡΠΈ WiFi;
β’ Wire β Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Ρ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠ΅ΠΉ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ I2C.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΏΠ»Π°Ρ Arduino:
β’ Keyboard β ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ»Π°ΡΠ°ΠΌ Arduino ΠΈΠΌΠΈΡΠΈΡΠΎΠ²Π°ΡΡ USB-ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ (Leonardo, Due ΠΈ Micro);
β’ Mouse β ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ»Π°ΡΠ°ΠΌ Arduino ΠΈΠΌΠΈΡΠΈΡΠΎΠ²Π°ΡΡ USB-ΠΌΡΡΡ (Leonardo, Due ΠΈ Micro);