Π’ΠΎΠΊ ΠΈ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΡ
ΠΡΠ° ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ Π½Π΅ Π±ΡΠ΄Ρ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π½Π° ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠΈ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠΎΠ² Π΄ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ. ΠΠ° ΡΠΈΡ. 5.2 ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Ρ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠ»Π°Ρ Arduino.
Π‘Π»Π΅Π²Π° Π²Π²Π΅ΡΡ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ ΡΠΈΠ»ΠΈΠ½Π΄ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π»ΠΈΡΠΈΠΉ-ΠΏΠΎΠ»ΠΈΠΌΠ΅ΡΠ½ΡΠΉ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ Π΅ΠΌΠΊΠΎΡΡΡΡ 2400 ΠΌΠΒ·Ρ. ΠΠΈΠΆΠ΅ β Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΠ»ΠΎΡΠΊΠΈΠΉ Π»ΠΈΡΠΈΠΉ-ΠΏΠΎΠ»ΠΈΠΌΠ΅ΡΠ½ΡΠΉ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ Π΅ΠΌΠΊΠΎΡΡΡΡ 850 ΠΌΠΒ·Ρ. ΠΠΈΡΠΈΠΉ-ΠΏΠΎΠ»ΠΈΠΌΠ΅ΡΠ½ΡΠ΅ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΡ ΠΈΠΌΠ΅ΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Π²Π΅Ρ, ΠΌΠΎΠ³ΡΡ ΠΏΠ΅ΡΠ΅Π·Π°ΡΡΠΆΠ°ΡΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π· ΠΈ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»ΡΡΡΡ Π΅ΠΌΠΊΠΎΡΡΡ Π΄Π»Ρ ΡΠ²ΠΎΠΈΡ Π²Π΅ΡΠ° ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ². Π‘ΠΏΡΠ°Π²Π° Π²Π²Π΅ΡΡ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ 9-Π²ΠΎΠ»ΡΡΠΎΠ²ΡΠΉ Π½ΠΈΠΊΠ΅Π»Ρ-ΠΌΠ΅ΡΠ°Π»Π»Π³ΠΈΠ΄ΡΠΈΠ΄Π½ΡΠΉ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ Π΅ΠΌΠΊΠΎΡΡΡΡ 200 ΠΌΠΒ·Ρ. ΠΡΠΎΡ
Π ΠΈΡ. 5.2. ΠΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΡ Π΄Π»Ρ ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠ»Π°Ρ Arduino
Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ ΡΠΎΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅Π·Π°ΡΡΠ΄ΠΊΡ, Π½ΠΎ ΡΠΎΠ·Π΄Π°Π½ ΠΏΠΎ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅ΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ 9 Π, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠ»Π°Ρ Arduino ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π· Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·Π°ΡΠΎΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΡΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π·Π°ΠΆΠΈΠΌΡ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠ° ΠΊ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ°ΠΌ ΠΏΠΈΡΠ°Π½ΠΈΡ Arduino. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΠΏΡΠ°Π²Π° Π²Π½ΠΈΠ·Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π° 3-Π²ΠΎΠ»ΡΡΠΎΠ²Π°Ρ Π½Π΅Π·Π°ΡΡΠΆΠ°Π΅ΠΌΠ°Ρ Π»ΠΈΡΠΈΠ΅Π²Π°Ρ Π±Π°ΡΠ°ΡΠ΅Ρ (CR2025) Π΅ΠΌΠΊΠΎΡΡΡΡ ΠΎΠΊΠΎΠ»ΠΎ 160 ΠΌΠΒ·Ρ.
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ Π² ΡΠ°ΡΠ°Ρ , Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ ΠΏΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ°Π·ΡΡΠ΄ΠΈΡΡΡ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π΅ΠΌΠΊΠΎΡΡΡ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠ° Π² ΠΌΠΈΠ»Π»ΠΈΠ°ΠΌΠΏΠ΅Ρ-ΡΠ°ΡΠ°Ρ [ΠΌΠΒ·Ρ] Π½Π° ΡΠΈΠ»Ρ ΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠΎΠΊΠ° Π² ΠΌΠΈΠ»Π»ΠΈΠ°ΠΌΠΏΠ΅ΡΠ°Ρ [ΠΌΠ]:
ΠΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Π±Π°ΡΠ°ΡΠ΅ΠΈ = ΠΠΌΠΊΠΎΡΡΡ Π±Π°ΡΠ°ΡΠ΅ΠΈ/ΠΠΎΡΡΠ΅Π±Π»ΡΠ΅ΠΌΡΠΉ ΡΠΎΠΊ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π΄Π»Ρ ΠΏΠΈΡΠ°Π½ΠΈΡ 3-Π²ΠΎΠ»ΡΡΠΎΠ²ΠΎΠΉ ΠΏΠ»Π°ΡΡ Mini Pro ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±Π°ΡΠ°ΡΠ΅Ρ CR2025, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΆΠΈΠ΄Π°ΡΡ, ΡΡΠΎ Π΅Π΅ Ρ Π²Π°ΡΠΈΡ Π½Π° 20 ΡΠ°ΡΠΎΠ² (160 ΠΌΠΒ·Ρ/8 ΠΌΠ). ΠΡΠ»ΠΈ ΡΡ ΠΆΠ΅ ΠΏΠ»Π°ΡΡ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΎΡ Π»ΠΈΡΠΈΠΉ-ΠΏΠΎΠ»ΠΈΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠ° Π΅ΠΌΠΊΠΎΡΡΡΡ 2400 ΠΌΠΒ·Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π΄Π΅ΡΡΡΡΡ, ΡΡΠΎ Π΅Π³ΠΎ Ρ Π²Π°ΡΠΈΡ Π½Π° 300 ΡΠ°ΡΠΎΠ² (2400 ΠΌΠΒ·Ρ /8 ΠΌΠ).
Π‘Π½ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΠ°ΡΡΠΎΡΡ
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΠ»Π°Ρ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° Arduino ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΡΠ°ΠΊΡΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΠΎΡΠΎΠΉ 16 ΠΠΡ. ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΊΡΡΠΎΡΠ½Π΅ΡΠ³ΠΈΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠΌ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΠΌΠΎΠΌΠ΅Π½ΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΠ°ΠΊΡΠΎΠ²ΡΠΉ ΡΠΈΠ³Π½Π°Π» ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΈΠ· ΡΠΎΡΡΠΎΡΠ½ΠΈΡ HIGH Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ LOW, ΡΠΎ Π΅ΡΡΡ ΡΠ°ΡΡΠΎΡΠ°, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ, ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅ΠΌΡΠΉ ΡΠΎΠΊ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΡΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΠΎΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, ΡΡΠΎ, Π²ΠΏΡΠΎΡΠ΅ΠΌ, ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ.
Π‘Π½ΠΈΠ·ΠΈΡΡ ΡΠ°Π±ΠΎΡΡΡ ΡΠ°ΡΡΠΎΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ATmega328 ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΡΠΌΠΎ ΠΈΠ· ΡΠΊΠ΅ΡΡΠ°. ΠΠ»Ρ ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Arduino Prescaler (http://playground.arduino.cc/Code/Prescaler).
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Prescaler Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡΡ ΡΠ°ΡΡΠΎΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, Π½ΠΎ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ²ΠΎΠΈ Π²Π΅ΡΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ millis ΠΈ delay Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ trueMillis ΠΈ trueDelay. Π’Π°ΠΊΠ°Ρ Π·Π°ΠΌΠ΅Π½Π° ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΡΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΠΎΡΡ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ Π² ΡΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΎΠΏΠΎΡΡΠΈΠΈ.
Π‘ΠΊΠ΅ΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ L Π½Π° 1 Ρ ΠΈ Π·Π°ΡΠ΅ΠΌ Π²ΡΠΊΠ»ΡΡΠ°Π΅Ρ Π½Π° 5 Ρ, Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅ΠΌΡΠΉ ΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅ΡΡΠ»ΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°ΡΡΠΎΡΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ Prescaler.
// sketch_05_01_prescale
#include <Prescaler.h>
void setup()
{
Β Β pinMode(13, OUTPUT);
Β Β setClockPrescaler(CLOCK_PRESCALER_256);
}
void loop()
{
Β Β digitalWrite(13, HIGH);
Β Β trueDelay(1000);
Β Β digitalWrite(13, LOW);
Β Β trueDelay(5000);
}
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°ΠΊΡΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΠΎΡΡ. Π’Π°ΠΊ, ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° CLOCK_PRESCALER_1 ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΊΡΠΎΠ²ΡΡ ΡΠ°ΡΡΠΎΡΡ 16 ΠΠΡ, Π° ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Π°Ρ Π΅ΠΉ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° CLOCK_PRESCALER_256 Π΄Π΅Π»ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΊΡΠΎΠ²ΡΡ ΡΠ°ΡΡΠΎΡΡ Π½Π° 256, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Ρ Π΅Π΅ Π½Π° ΡΡΠΎΠ²Π½Π΅ Π²ΡΠ΅Π³ΠΎ 62,5 ΠΊΠΡ.
Π ΡΠ°Π±Π». 5.2 ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠΎΠΊΠ° Π½Π° Π²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΡΠ°ΡΡΠΎΡΠ°Ρ , Π° Π½Π° ΡΠΈΡ. 5.3 ΡΠ΅ ΠΆΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π² Π²ΠΈΠ΄Π΅ Π³ΡΠ°ΡΠΈΠΊΠ°. ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠ΅, ΠΊΡΠΈΠ²Π°Ρ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΡΠΎΠΊΠ° Π±ΡΡΡΡΠΎ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°ΡΡΠΎΡΠ° 1 ΠΠΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡΠΎΠΌ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°ΡΡΠΎΡΠΎΠΉ ΠΈ ΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅ΠΌΡΠΌ ΡΠΎΠΊΠΎΠΌ.
Π’Π°Π±Π»ΠΈΡΠ° 5.2. ΠΠΎΡΡΠ΅Π±Π»ΡΠ΅ΠΌΡΠΉ ΡΠΎΠΊ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ°ΠΊΡΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΠΎΡΡ
ΠΠΎΠ½ΡΡΠ°Π½ΡΠ°
ΠΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Π°Ρ ΡΠ°ΠΊΡΠΎΠ²Π°Ρ ΡΠ°ΡΡΠΎΡΠ°
Π’ΠΎΠΊ (ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ Π²ΡΠΊΠ»ΡΡΠ΅Π½), ΠΌΠ
CLOCK_PRESCALER_1
16 ΠΠΡ
7,8
CLOCK_PRESCALER_2
8 ΠΠΡ
5,4
CLOCK_PRESCALER_4
4 ΠΠΡ
4,0
CLOCK_PRESCALER_8
2 ΠΠΡ
3,2
CLOCK_PRESCALER_16
1 ΠΠΡ
2,6
CLOCK_PRESCALER_32
500 ΠΊΠΡ
2,3
CLOCK_PRESCALER_64
250 ΠΊΠΡ
2,2
CLOCK_PRESCALER_128
125 ΠΊΠΡ
2,1
CLOCK_PRESCALER_256
62,5 ΠΊΠΡ
2,1
Π ΠΈΡ. 5.3. ΠΡΠ°ΡΠΈΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠΎΠΊΠ° ΠΎΡ ΡΠ°ΠΊΡΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΠΎΡΡ
ΠΠΎΠΌΠΈΠΌΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ millis ΠΈ delay ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΡΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΠΎΡΡ Π²Π»Π΅ΡΠ΅Ρ Π·Π° ΡΠΎΠ±ΠΎΠΉ Π΅ΡΠ΅ ΡΡΠ΄ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΉ. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π»ΡΠ±Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΠΊΡΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΠΎΡΡ, ΡΠ°ΠΊΠ°Ρ ΠΊΠ°ΠΊ Π²ΡΠ²ΠΎΠ΄ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² PWM ΠΈΠ»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΎΠΏΡΠΈΠ²ΠΎΠ΄Π°ΠΌΠΈ, Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π΅ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ.
ΠΠΎΠ»ΡΡΠ°Ρ Π΄ΠΎΠ»Ρ ΡΠΎΠΊΠ° ΠΈΠ· 2,1 ΠΌΠ, ΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΉ Π½ΠΈΠ·ΠΊΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΠΈ, Π²Π΅ΡΠΎΡΡΠ½Π΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ³Π»ΠΎΡΠ΅Π½Π° ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ΠΎΠΌ On, ΠΏΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ Π²Π°Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π°Π±ΠΎΡΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΡΠ½Π΅ΡΠ³ΠΎΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ, Π²Π°ΠΌ ΡΡΠΎΠΈΡ Π°ΠΊΠΊΡΡΠ°ΡΠ½ΠΎ Π²ΡΠΏΠ°ΡΡΡ Π΅Π³ΠΎ ΠΈΠ· ΠΏΠ»Π°ΡΡ.
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π½Π° ΠΏΠ»Π°ΡΠ΅
ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ATmega ΠΈΠΌΠ΅ΡΡ ΡΠΈΡΠΎΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΊΡΡΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ, Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠΎΠΊΠΈΠ΅, ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ±Π½Ρ ΠΎΡΠΊΠ»ΡΡΠ°ΡΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π½Π° ΠΏΠ»Π°ΡΠ΅, ΡΡΠΎΠ±Ρ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅ΠΌΡΠΉ ΡΠΎΠΊ.
ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΈ Π²ΡΠΊΠ»ΡΡΠ°ΡΡ ΠΏΡΡΠΌΠΎ ΠΈΠ· ΡΠΊΠ΅ΡΡΠ°. Π’ΠΎ Π΅ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΠ¦Π Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ analogRead ΠΈ Π·Π°ΡΠ΅ΠΌ Π²ΡΠΊΠ»ΡΡΠ°ΡΡ Π΅Π³ΠΎ.
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΊΡΡΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ avr/power.h, Π²ΠΊΠ»ΡΡΠ°ΡΡΠ΅ΠΉ ΠΏΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ/Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ power_adc_disable ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΊΠ»ΡΡΠΈΡΡ ΠΠ¦Π, Π° Π²ΡΠ·ΠΎΠ²ΠΎΠΌ power_adc_enable Π²Π½ΠΎΠ²Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ.
ΠΠ΄Π½Π°ΠΊΠΎ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ ΡΠ»Π΅ΠΊΡΡΠΎΡΠ½Π΅ΡΠ³ΠΈΠΈ Π·Π° ΡΡΠ΅Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡΡΡ Π½Π΅ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ. Π Ρ ΠΎΠ΄Π΅ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠ² Ρ ΠΏΠ»Π°ΡΠΎΠΉ Mini Pro, ΠΏΠΈΡΠ°ΡΡΠ΅ΠΉΡΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ 5 Π ΠΈ Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠ΅ΠΉ Π½Π° ΡΠ°ΡΡΠΎΡΠ΅ 16 ΠΠΡ, Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ», ΡΡΠΎ, ΠΊΠΎΠ³Π΄Π° Π²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ, ΠΎΠ½Π° ΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅Ρ ΡΠΎΠΊ 16,4 ΠΌΠ, Π° ΠΊΠΎΠ³Π΄Π° Π²ΡΠΊΠ»ΡΡΠ΅Π½Ρ β ΡΡΠΎ-ΡΠΎ ΠΎΠΊΠΎΠ»ΠΎ 14,9 ΠΌΠ, ΡΠΎ Π΅ΡΡΡ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΡΡΠ°Π²ΠΈΠ»ΠΎ Π²ΡΠ΅Π³ΠΎ Π½Π° 1,5 ΠΌΠ. ΠΠ»Ρ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΊΠ΅ΡΡ:
// sketch_05_02_powering_off
#include <avr/power.h>
void setup()
{
Β Β pinMode(13, OUTPUT);
//Β Β power_adc_disable();
Β Β power_spi_disable();
//Β Β power_twi_disable();
//Β Β power_usart0_disable();
//Β Β power_timer0_disable();
//Β Β power_timer1_disable();
//Β Β power_timer2_disable();
//Β Β power_all_disable();
}
void loop()
{
}
ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Π² ΡΠ°Π±Π». 5.3. ΠΠ°ΠΆΠ΄Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠ°ΡΡ Ρ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠ΅ΠΌ enable Π²ΠΌΠ΅ΡΡΠΎ disable Π² ΠΈΠΌΠ΅Π½ΠΈ.
Π’Π°Π±Π»ΠΈΡΠ° 5.3. Π€ΡΠ½ΠΊΡΠΈΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΊΡΡΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ ATmega Arduino
Π€ΡΠ½ΠΊΡΠΈΡ
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
power_adc_disable
ΠΡΠΊΠ»ΡΡΠ°Π΅Ρ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΠ΅ Π²Ρ ΠΎΠ΄Ρ
power_spi_disable
ΠΡΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ SPI
power_twi_disable
ΠΡΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ TWI (I2C)
power_usart0_disable
ΠΡΠΊΠ»ΡΡΠ°Π΅Ρ Π£Π‘ΠΠΠ (UART, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ ΡΠ΅ΡΠ΅Π· USB)
power_timer0_disable
ΠΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ°ΠΉΠΌΠ΅Ρ 0 (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ millis ΠΈ delay)
power_timer1_disable
ΠΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ°ΠΉΠΌΠ΅Ρ 1
power_timer2_disable
ΠΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ°ΠΉΠΌΠ΅Ρ 2
power_all_disable
ΠΡΠΊΠ»ΡΡΠ°Π΅Ρ Π²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π²ΡΡΠ΅
ΠΠ½Π΅ΡΠ³ΠΎΡΠ±Π΅ΡΠ΅Π³Π°ΡΡΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ
Π‘Π°ΠΌΡΠΉ Π΄Π΅ΠΉΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΈ ΡΠ»Π΅ΠΊΡΡΠΎΡΠ½Π΅ΡΠ³ΠΈΠΈ β ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΠΏΠ»Π°ΡΡ Arduino Π² ΡΠΏΡΡΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π²ΡΠ΅ΠΌΡ, ΠΏΠΎΠΊΠ° ΠΎΠ½Π° Π½Π΅ ΡΠΎΠ²Π΅ΡΡΠ°Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ.