ΠΠ°ΠΊ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π½Π° Arduino. ΠΠ°ΠΊΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π²ΠΈΠ΄Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ. ΠΠ°ΠΊ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠ΅ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ. ΠΠ°ΠΊ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π΄ΡΠ΅Π±Π΅Π·Π³Π° ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ².
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΎΠ½ΠΈ Π½ΡΠΆΠ½Ρ
ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ — ΡΡΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΡ, Π½Π΅ ΡΡΠ°ΡΡ ΡΠ΅ΡΡΡΡΡ Π½Π° ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΉ ΠΎΠΏΡΠΎΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π²Ρ ΠΎΠ΄ΠΎΠ². ΠΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΈΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ, ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ-ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ:
- ΠΠ³Π½ΠΎΠ²Π΅Π½Π½Π°Ρ ΡΠ΅Π°ΠΊΡΠΈΡ Π½Π° ΡΠΎΠ±ΡΡΠΈΠ΅ Π±Π΅Π· Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ
- ΠΠΊΠΎΠ½ΠΎΠΌΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°
- Π£ΠΏΡΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
- ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ
ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΉ ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΡΠ½ΠΊΠΎΠ΄Π΅ΡΠΎΠ² ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ². ΠΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΡΠ·ΡΠ²ΡΠΈΠ²ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
ΠΠΈΠ΄Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ Π½Π° Arduino
ΠΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ Arduino ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΈΠΏΠ° ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ:

1. ΠΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ
ΠΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°. ΠΠ½ΠΈ ΠΈΠΌΠ΅ΡΡ Π½Π°ΠΈΠ²ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΡ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ:
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΏΠΈΠ½Π°Ρ
- ΠΠΎΠ³ΡΡ ΡΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΠΎ ΡΡΠΎΠ½ΡΡ ΠΈΠ»ΠΈ ΡΡΠΎΠ²Π½Ρ ΡΠΈΠ³Π½Π°Π»Π°
- ΠΠΌΠ΅ΡΡ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π½ΠΎΠΌΠ΅ΡΠ° Π²Π΅ΠΊΡΠΎΡΠΎΠ² ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ
2. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ Arduino API. ΠΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°:
- Π Π°Π±ΠΎΡΠ°ΡΡ Π½Π° Π»ΡΠ±ΠΎΠΌ ΡΠΈΡΡΠΎΠ²ΠΎΠΌ ΠΏΠΈΠ½Π΅
- ΠΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ
- ΠΡΠΎΡΠ΅ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ
ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»ΡΡΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΡ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΌΠΈ.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ:
«`cpp const int buttonPin = 2; volatile bool buttonPressed = false; void setup() { Serial.begin(9600); pinMode(buttonPin, INPUT_PULLUP); attachInterrupt(digitalPinToInterrupt(buttonPin), buttonISR, FALLING); } void loop() { if (buttonPressed) { Serial.println(«ΠΠ½ΠΎΠΏΠΊΠ° Π½Π°ΠΆΠ°ΡΠ°!»); buttonPressed = false; } } void buttonISR() { buttonPressed = true; } «` Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
- ΠΠ½ΠΎΠΏΠΊΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π° ΠΊ ΠΏΠΈΠ½Ρ 2 (ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ)
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΠΏΠΎΠ΄ΡΡΠΆΠΊΠ° INPUT_PULLUP
- ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΎ Π½Π° ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΏΠ°Π΄Π°ΡΡΠ΅ΠΌΡ ΡΡΠΎΠ½ΡΡ (FALLING)
- Π ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ (ISR) ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ»Π°Π³ buttonPressed
- ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΈΠΊΠ» ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΠ»Π°Π³ ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ PinChangeInterrupt. ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
«`cpp #include- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° PinChangeInterrupt
- ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π½Π°ΡΠΈΡΡ Π½Π° Π»ΡΠ±ΠΎΠΉ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΏΠΈΠ½
- ΠΠΌΠ΅ΡΡΠΎ attachInterrupt ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ attachPCINT
Π£ΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΄ΡΠ΅Π±Π΅Π·Π³Π° ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ²
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ Π²Π°ΠΆΠ½ΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ ΡΡΡΠ΅ΠΊΡ Π΄ΡΠ΅Π±Π΅Π·Π³Π° ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΠ΅Π· ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π΄ΡΠ΅Π±Π΅Π·Π³Π° ΠΎΠ΄Π½ΠΎ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ.

Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π΄ΡΠ΅Π±Π΅Π·Π³Π°:
1. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½Π°Ρ Π·Π°Π΄Π΅ΡΠΆΠΊΠ°
Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± — Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΡ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ:
«`cpp volatile unsigned long lastInterruptTime = 0; const unsigned long debounceDelay = 200; void buttonISR() { unsigned long interruptTime = millis(); if (interruptTime — lastInterruptTime > debounceDelay) { buttonPressed = true; lastInterruptTime = interruptTime; } } «`2. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠΌΠ΅ΡΠ°
ΠΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± — ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠΌΠ΅Ρ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΠ΅ΡΠ΅Π· Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ:
«`cpp #includeΠ ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅:

- ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΏΡΠΈ Π»ΡΠ±ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ
- Π ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
- Π’Π°ΠΉΠΌΠ΅Ρ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΠΏΡΠΎΡΠ»ΠΎ Π»ΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
- ΠΡΠ»ΠΈ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΡΠ»ΠΎ, ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡΠΌΠΈ
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π°ΠΆΠ½ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ:
- Π€ΡΠ½ΠΊΡΠΈΡ-ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΊΠΎΡΠΎΡΠΊΠΎΠΉ
- Π ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, delay())
- ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π² ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΈ ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅, Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ ΠΊΠ°ΠΊ volatile
- ΠΡΠΆΠ½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΡΠ΅ΠΆΠΈΠΌ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ (RISING, FALLING, CHANGE)
- ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ ΡΡΠΈΡΡΠ²Π°ΠΉΡΠ΅ ΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ — ΠΌΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΡΠ·ΡΠ²ΡΠΈΠ²ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² Π½Π° Π±Π°Π·Π΅ Arduino. ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π΄ΡΠ΅Π±Π΅Π·Π³Π° ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ»ΡΡΡΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΎΠΏΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π²Π°ΡΠΈΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ.

ΠΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°ΠΌΠΈ ΠΈ Π²ΡΠ±ΠΈΡΠ°ΠΉΡΠ΅ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ. ΠΠΎΠΌΠ½ΠΈΡΠ΅ ΠΎ Π²Π°ΠΆΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° Π² ΡΠ΅Π°Π»ΡΠ½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
Π£ΡΠΎΠΊ 5. Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Π΅ΠΌ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ ΡΠΎΠΊΠ° ESP32 ΠΈ MicroPython.
ΠΡΠΈΠ²Π΅ΡΡΡΠ²ΡΡ Π²Π°Ρ Π½Π° ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ESP32 Π½Π° MicroPython
Π Π½Π°ΡΠ½ΡΠΌ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ Ρ Π΄Π°Π½Π½ΡΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΈΠ· ΠΏΡΠΎΡΠ»ΠΎΠ³ΠΎ ΡΡΠΎΠΊΠ°, Π³Π΄Π΅ ΠΌΡ Π²ΠΊΠ»ΡΡΠ°Π»ΠΈ ΠΈ Π²ΡΠΊΠ»ΡΡΠ°Π»ΠΈ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π΄Π°Π²Π°ΠΉΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΌΠ΅Π½ΡΡΠΈΠΌ ΠΊΠΎΠ΄, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΠ·Π±Π°Π²ΠΈΠΌΡΡ ΠΎΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Β«machineΒ» Π² ΠΊΠΎΠ΄Π΅.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΊΠΎΠ΄ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ Ρ
import machine
Π½Π°
from machine import Pin
Π’ΠΎ Π΅ΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡ Pin ΠΈΠ· ΠΌΠΎΠ΄ΡΠ»Ρ machine. Π ΡΠ΅ΠΉΡΠ°Ρ Π² ΠΊΠΎΠ΄Π΅ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ Β«PinΒ» Π²ΠΌΠ΅ΡΡΠΎ Β«machine.PinΒ».
ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π² MycroPython ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ.
button.irq(trigger=Pin.IRQ_FALLING, handler=my_button)
button.irq(trigger=Pin.IRQ_FALLING, handler=my_button) β Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½ ΠΏΡΠΈ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠΈ ΡΠΈΠ³Π½Π°Π»Π° Π·Π°ΠΏΡΡΠΊΠ°. ΠΡΠ»ΠΈ ΠΊΠΎΠ½ΡΠ°ΠΊΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Pin.IN, ΡΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ ΡΠΈΠ³Π½Π°Π»Π° Π·Π°ΠΏΡΡΠΊΠ° Π±ΡΠ΄Π΅Ρ ΡΠ»ΡΠΆΠΈΡΡ Π²Π½Π΅ΡΠ½Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ°. ΠΡΠ»ΠΈ ΠΊΠΎΠ½ΡΠ°ΠΊΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Pin.OUT, ΡΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ ΡΠΈΠ³Π½Π°Π»Π° Π·Π°ΠΏΡΡΠΊΠ° Π±ΡΠ΄Π΅Ρ ΡΠ»ΡΠΆΠΈΡΡ Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠΉ Π±ΡΡΠ΅Ρ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ°. ΠΠΎ Π΅ΡΠ»ΠΈ ΠΊΠΎΠ½ΡΠ°ΠΊΡ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Pin.OPEN_DRAIN, ΡΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ ΡΠΈΠ³Π½Π°Π»Π° Π·Π°ΠΏΡΡΠΊΠ° Π±ΡΠ΄Π΅Ρ ΡΠ»ΡΠΆΠΈΡΡ Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠΉ Π±ΡΡΠ΅Ρ (Π΄Π»Ρ Β«0Β») ΠΈ Π²Π½Π΅ΡΠ½Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ° (Π΄Π»Ρ Β«1Β»).
trigger β ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅:
- Pin.IRQ_FALLING β ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ Π½Π° Π·Π°Π΄Π½Π΅ΠΌ ΡΡΠΎΠ½ΡΠ΅.
- Pin.IRQ_RISING β ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠΏΠ΅ΡΠ΅Π΄Π½Π΅ΠΌ ΡΡΠΎΠ½ΡΠ΅.
handler β ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ·Π²Π°ΡΡ ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ, Π² ΠΌΠΎΡΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ my_button. Π€ΡΠ½ΠΊΡΠΈΡ handler Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π»ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° Pin.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΠΊΠΎΠ΄ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π° ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Β«bootΒ» ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΠΈΠ· ΠΏΡΠΎΡΠ»ΠΎΠ³ΠΎ ΡΡΠΎΠΊΠ°, Π½ΠΎ ΡΠΆΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ.
ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ my_button ΠΌΠ΅Π½ΡΠ΅ΠΌ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ°, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄. Π’Π΅ΠΌ ΡΠ°ΠΌΡΠΌ Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΈ Π²ΡΠΊΠ»ΡΡΠ°Π΅ΠΌ Π΅Π³ΠΎ.
ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ, Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π²ΠΈΠ΄ΠΈΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π½ΠΎΠΌΠ΅ΡΠ΅ ΠΏΠΈΠ½Π°, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ°.
ΠΡΠ»ΠΈ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ trigger=Pin.IRQ_RISING ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΎΡΠΏΡΡΠΊΠ°ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ. ΠΠΎΡ Π² ΡΡΠΌ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ.
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ.
trigger=Pin.IRQ_FALLING | Pin.IRQ_RISING
Π’Π΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ Π±ΡΠ΄Π΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ, Π° ΠΏΡΠΈ ΠΎΡΠΏΡΡΠΊΠ°Π½ΠΈΠΈ Π²ΡΠΊΠ»ΡΡΠ°ΡΡΡΡ. ΠΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΠ· ΠΏΡΠΎΡΠ»ΠΎΠ³ΠΎ ΡΡΠΎΠΊΠ°, Π½ΠΎ ΡΠΆΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ.
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Π΅ΠΌ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ ΡΠΎΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ESP32 ΠΈ MycroPython.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ
Π‘Ρ Π΅ΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ESP32, Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° L298n ΠΈ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ ΡΠΎΠΊΠ°.

Π ΠΊΠΎΠ΄Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ. Π§ΡΠΎΠ±Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°ΡΡΠΈΠ΅ ΡΠ΅Π·ΠΈΡΡΠΎΡΡ, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°ΡΡΠΈΠΌΠΈ ΡΠ΅Π·ΠΈΡΡΠΎΡΠ°ΠΌΠΈ ΠΏΠ»Π°ΡΡ ESP32. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΠΏΠΈΠ½Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Pin.PULL_UP.
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ Π΄Π²Π° ΠΏΠΈΠ½Π° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°ΠΌΠΈ.
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΄Π²Π΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅:
- press — Π±ΡΠ΄Π΅Ρ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠ»Π°Π³ ΡΡΠΎΡΠ½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
- n_pin β Π½ΠΎΠΌΠ΅Ρ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ° ΠΊΠ½ΠΎΠΏΠΊΠΈ (pin).
Π€ΡΠ½ΠΊΡΠΈΡ my_button Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°ΡΡ ΡΠ»Π°Π³ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ n_pin Π½ΠΎΠΌΠ΅Ρ ΠΏΠΈΠ½Π° Π½Π°ΠΆΠ°ΡΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½ΠΎΠΌΠ΅Ρ ΠΏΠΈΠ½Π° Π² Π²ΠΈΠ΄Π΅ ΡΠΈΡΠ»Π°, Π½ΡΠΆΠ½ΠΎ Π²Π·ΡΡΡ ΠΈΠ· ΡΡΡΠΎΠΊΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΏΠΎΡΠ»Π΅ ΡΠ΅ΡΠ²ΡΡΡΠΎΠ³ΠΎ ΠΈ Π±Π΅Π· ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΡΡΡΠΎΠΊΠΈ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π² ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ my_button.
Π Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ Π±ΡΠ΄Π΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.
Π‘ΠΏΠ΅ΡΠ²Π° ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ press. ΠΡΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ° Π±ΡΠ»Π° Π½Π°ΠΆΠ°ΡΠ°, ΡΠΎΠ³Π΄Π° Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ Π² ΠΌΠΎΠ½ΠΈΡΠΎΡ Π½ΠΎΠΌΠ΅Ρ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ° Π½Π°ΠΆΠ°ΡΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ ΠΎΡΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠ»Π°Π³ press.
ΠΠ°Π»Π΅Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΠΊΠ°ΠΊΠ°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° Π±ΡΠ»Π° Π½Π°ΠΆΠ°ΡΠ°. ΠΡΠ»ΠΈ Π»Π΅Π²Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°, ΡΠΎ Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ Π²ΡΠ°ΡΠ°ΡΡ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Ρ Π²ΠΏΡΠ°Π²ΠΎ ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ Π² ΠΌΠΎΠ½ΠΈΡΠΎΡ Π½Π°Π΄ΠΏΠΈΡΡ ΠΎ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π²ΡΠ°ΡΠ΅Π½ΠΈΡ. ΠΡΠ»ΠΈ ΡΡΠ°Π±ΠΎΡΠ°Π»Π° ΠΏΡΠ°Π²Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°, ΡΠΎ ΠΌΠ΅Π½ΡΠ΅ΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ Π² ΠΌΠΎΠ½ΠΈΡΠΎΡ Π½Π°Π΄ΠΏΠΈΡΡ Β«ΠΠ»Π΅Π²ΠΎΒ».
Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅ΠΌ.
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Π² ΠΌΠΎΠ½ΠΈΡΠΎΡΠ΅ Π²ΡΠ΅ΠΌΡ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΡΠ΅ΠΊ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠΈΠ½ΠΎΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½Π½ΠΎ Ρ Π΄ΡΠ΅Π±Π΅Π·Π³ΠΎΠΌ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ². Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΡΡΠΎ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΏΠΎΠ²Π»ΠΈΡΠ΅Ρ Π½Π° ΡΠ°Π±ΠΎΡΡ, Π° Π² Π΄ΡΡΠ³ΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡ ΡΠ΅ΡΡΡΠ·Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ. ΠΠΎΡΡΠΎΠΌΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΡΡΠΎΠΊΠΎΠ² ΡΠ°Π·Π±Π΅ΡΡΠΌ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΡΠ°Π½ΠΈΡΡ Π΄ΡΠ΅Π±Π΅Π·Π³ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠΎΠΊΠ΅ Π½Π°ΡΠ½ΡΠΌ ΠΈΠ·ΡΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Π¨ΠΠ.
ΠΠΎΠ½ΡΠ°Π²ΠΈΠ»ΡΡ Π£ΡΠΎΠΊ 5. Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Π΅ΠΌ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ ΡΠΎΠΊΠ° ESP32 ΠΈ MicroPython? ΠΠ΅ Π·Π°Π±ΡΠ΄Ρ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Ρ Π΄ΡΡΠ·ΡΡΠΌΠΈ Π² ΡΠΎΡ. ΡΠ΅ΡΡΡ
.
Π ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡΡΡ Π½Π° Π½Π°Ρ ΠΊΠ°Π½Π°Π» Π½Π° YouTube, Π²ΡΡΡΠΏΠΈΡΡ Π² Π³ΡΡΠΏΠΏΡ ΠΠΊΠΎΠ½ΡΠ°ΠΊΡΠ΅, Π² Π³ΡΡΠΏΠΏΡ Π½Π° Facebook.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅!
Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ!
Π€ΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ ΠΊ ΡΡΠ°ΡΡΠ΅
Π€Π°ΠΉΠ»Ρ Π΄Π»Ρ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ
Π‘ΠΊΠ°ΡΠΈΠ²Π°Ρ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π», Ρ ΡΠΎΠ³Π»Π°ΡΠ°ΡΡΡ Ρ ΠΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ².
ΠΡΠΈΠΌΠ΅Ρ 1. ΠΠ·Π±Π°Π²ΠΈΠΌΡΡ ΠΎΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Β«machineΒ» Π² ΠΊΠΎΠ΄Π΅.py | 1 Kb | 245 | Π‘ΠΊΠ°ΡΠ°ΡΡ | |
ΠΡΠΈΠΌΠ΅Ρ 2. ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅ ESP32 Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ·ΡΠΊΠ° MycroPython.![]() | 1 Kb | 250 | Π‘ΠΊΠ°ΡΠ°ΡΡ | |
ΠΡΠΈΠΌΠ΅Ρ 3. Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Π΅ΠΌ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ ΡΠΎΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ESP32 ΠΈ MycroPython.py | 1 Kb | 261 | Π‘ΠΊΠ°ΡΠ°ΡΡ |
ΠΡΠ΄ΡΠΈΠ½ΠΎ. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ GPIO.
ΠΠ΅Π²Π°Ρ ΡΡΠΎΡΠΎΠ½Π°. Π‘Π²Π΅ΡΡ Ρ Π²Π½ΠΈΠ·. | ||||||||||||
β Π²ΡΠ²ΠΎΠ΄Π° | ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ²ΠΎΠ΄Π° | GPIO | Input | Output | I/O | ADC | TOUCH | Π¨ΠΠ PWM | DAC | Β | Β | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
Β | Β | Β | Β | Β | Β | Β | Β | Β | Β | Β | Β | Β |
2 | 3V3 | Β | Β | Β | Β | Β | Β | Β | Β | Β | Β | ΠΠΈΡΠ°Π½ΠΈΠ΅: +3,3Π |
3 | EN | Β | Β | Β | Β | Β | Β | Β | Β | Β | Β | Π‘Π±ΡΠΎΡ |
4 | SENSOR VP | 36 | OK | Β | Β | ADC0 | Β | + | Β | Β | Β | input only |
5 | SENSOR VP | 39 | OK | Β | Β | ADC3 | Β | + | Β | Β | Β | input only |
6 | IO34 | 34 | OK | Β | Β | ADC6 | Β | + | Β | Β | Β | input only |
7 | IO35 | 35 | OK | Β | Β | ADC7 | Β | + | Β | Β | Β | input only |
8 | IO32 | 32 | OK | OK | Β | ADC4 | TOUCH9 | + | Β | Β | Β | Β |
9 | IO33 | 33 | OK | OK | Β | ADC5 | TOUCH8 | + | Β | Β | Β | Β |
10 | IO25 | 25 | OK | OK | Β | ADC18 | Β | + | DAC_1 | Β | Β | Β |
11 | IO26 | 26 | OK | OK | Β | ADC19 | Β | + | DAC_2 | Β | Β | Β |
12 | IO27 | 27 | OK | OK | Β | ADC17 | TOUCH7 | + | Β | Β | Β | Β |
13 | IO14 | 14 | OK | OK | Β | ADC16 | TOUCH6 | + | Β | HSPICLK | HS2 CLK | outputs PWM signal at boot |
14 | IO12 | 12 | OK | OK | Β | ADC15 | TOUCH5 | + | Β | HSPIC | HS DATA2 | boot fail if pulled high |
1 | GND | Β | Β | Β | Β | Β | Β | Β | Β | Β | Β | Β |
16 | IO13 | 13 | OK | OK | Β | ADC14 | TOUCh5 | + | Β | HSPID | HS DATA3 | Β |
17 | SD2 | 9 | x | x | Β | Β | Β | + | Β | Β | Β | connected to the integrated SPI flash |
18 | SD3 | 10 | x | x | Β | Β | Β | + | Β | Β | Β | connected to the integrated SPI flash |
Β | GND | Β | Β | Β | Β | Β | Β | Β | Β | Β | Β | Β |
Β | +5V | Β | Β | Β | Β | Β | Β | Β | Β | Β | Β | ΠΠΈΡΠ°Π½ΠΈΠ΅: +5Π |
Β | Β | Β | Β | Β | Β | Β | Β | Β | Β | Β | Β | Β |
ΠΡΠ°Π²Π°Ρ ΡΡΠΎΡΠΎΠ½Π°.![]() | ||||||||||||
β Π²ΡΠ²ΠΎΠ΄Π° | ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ²ΠΎΠ΄Π° | GPIO | Input | Output | I/O | ADC | TOUCH | Π¨ΠΠ PWM | DAC | Β | Β | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
Β | Β | Β | Β | Β | Β | Β | Β | Β | Β | Β | Β | Β |
Β | GND | Β | Β | Β | Β | Β | Β | Β | Β | Β | Β | Β |
37 | IO23 | 23 | OK | OK | Β | Β | Β | + | Β | VSIPID | HS1 STROBE | Β |
36 SCL | IO22 | 22 | OK | OK | Β | Β | Β | + | Β | VSPIWP | Β | Β |
35 TXD0 | Β | 1 | Β | Β | Β | Β | Β | + | Β | Β | Β | debug output at boot |
34 RXD0 | Β | 3 | OK | Β | Β | Β | Β | + | Β | Β | Β | HIGH at boot |
33 SDA | IO21 | 21 | OK | OK | Β | Β | Β | + | Β | VSIHD | Β | Β |
Β | GND | Β | Β | Β | Β | Β | Β | Β | Β | Β | Β | Β |
31 | IO19 | 19 | OK | OK | Β | Β | Β | + | Β | VSPIQ | Β | Β |
30 | IO18 | 18 | OK | OK | Β | Β | Β | + | Β | VSPICLK | HS1-DATA7 | Β |
29 | IO05 | 5 | OK | OK | Β | Β | Β | + | Β | VSPICSO | HS1-DATA6 | outputs PWM signal at boot |
28 | IO17 | 17 | OK | OK | Β | Β | Β | + | Β | Β | HS1-DATA5 | Β |
27 | IO16 | 16 | OK | OK | Β | Β | Β | + | Β | Β | HS1-DATA4 | Β |
26 | IO4 | 4 | OK | OK | Β | ADC10 | TOUCH0 | + | Β | HSPIHD | HS1-DATA1 | Β |
25 | IO0 | 0 | Β | Β | Β | ADC11 | TOUCh2 | + | Β | Β | Β | Β |
24 | IO2 | 2 | OK | OK | Β | ADC12 | TOUCh3 | + | Β | HSPIWP | HS2-DATA0 | connected to on-board LED |
23 | IO15 | 15 | OK | OK | Β | ADC13 | TOUCh4 | + | Β | HSPICSO | HS2-CMD | Β |
22 | SD1 | 8 | x | x | Β | Β | Β | + | Β | SPID | HS1-DATA1 | connected to the integrated SPI flash |
21 | SD0 | 7 | x | x | Β | Β | Β | + | Β | SPIQ | HS1-DATA0 | connected to the integrated SPI flash |
20 | CLK | 6 | x | x | Β | Β | Β | + | Β | SPICLK | HS1-CLK | connected to the integrated SPI flash |
Β | Β | Β | Β | Β | Β | Β | Β | Β | Β | Β | Β | Β |
Β | Β | 0 | pulled up | OK | Β | Β | Β | Β | Β | Β | Β | outputs PWM signal at boot |
Β | Β | 11 | x | x | Β | Β | Β | Β | Β | Β | Β | connected to the integrated SPI flash |
Π ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΡΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌ ESP32 ΠΎΡΠ½ΠΎΡΡΡΡΡ:
- 18 ΠΠ°Π½Π°Π»ΠΎΠ² Π°Π½Π°Π»ΠΎΠ³ΠΎ-ΡΠΈΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Ρ (ΠΠ¦Π )
- 3 ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° SPI3
- ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ UART2
- ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ I2C16
- ΠΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΊΠ°Π½Π°Π»Ρ Π¨ΠΠ
- 2 Π¦ΠΈΡΡΠΎ-Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Ρ (Π¦ΠΠ)
- 2 ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° I2S10
- ΠΠΌΠΊΠΎΡΡΠ½ΡΠ΅ ΡΡΠΈΡΡΠ²Π°ΡΡΠΈΠ΅ GPIO
Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΠ¦Π (Π°Π½Π°Π»ΠΎΠ³ΠΎ-ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Ρ) ΠΈ Π¦ΠΠ (ΡΠΈΡΡΠΎ-Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΠΉ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Ρ) Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ ΡΡΡΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΌ ΠΏΠΈΠ½Π°ΠΌ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π²Ρ ΡΠ°ΠΌΠΈ ΡΠ΅ΡΠ°Π΅ΡΠ΅, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ Π±ΡΠ΄ΡΡ ΠΎΡΠ²Π΅Π΄Π΅Π½Ρ ΠΏΠΎΠ΄ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ UART, I2C, SPI, PWM ΠΈ Ρ. Π΄. — ΠΎΠ½ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π² ΠΊΠΎΠ΄Π΅ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ. ΠΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΡΠ»ΡΡΠΈΠΏΠ»Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΏΠ° ESP32.
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΏΠΈΠ½Ρ,Β Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠΈΡΡΠ½ΠΊΠ΅ (ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠ»Π°ΡΡ ESP32 DEVKIT V1 DOIT Ρ 36 ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ°ΠΌΠΈ — ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΠΌΠ΅Π½ΡΡΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ). ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΅ΡΡΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅Π»Π°ΡΡ ΠΈΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΌΠΈ ΠΈΠ»ΠΈ Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΌΠΈ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ Π²ΡΠ²ΠΎΠ΄Ρ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Ρ ΠΎΠ΄ΠΎΠ², Π²ΡΡ ΠΎΠ΄ΠΎΠ², Π° Ρ ΠΊΠ°ΠΊΠΈΠΌΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΎΠ±Π»ΡΠ΄Π°ΡΡ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΡ.
ΠΠΎΠ½ΡΠ°ΠΊΡΡ, Ρ «ΠΠ», ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠΈΠ½Ρ Π±Π΅Π· «ΠΠ», ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π½Π° Π½ΠΈΡ Β Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅.Β
GPIO Ρ 34 ΠΏΠΎ 39 ΡΠ²Π»ΡΡΡΡΡ GPI — ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ
ΠΎΠ΄Π½ΡΠ΅. ΠΡΠΈ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ Π½Π΅ ΠΈΠΌΠ΅ΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ
ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°ΡΡΠΈΡ
ΠΈΠ»ΠΈ ΠΏΠΎΠ½ΠΈΠΆΠ°ΡΡΠΈΡ
ΡΠ΅Π·ΠΈΡΡΠΎΡΠΎΠ². ΠΠ½ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ ΠΊΠ°ΠΊ Π²ΡΡ
ΠΎΠ΄Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠΈ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΠΊ Π²Ρ
ΠΎΠ΄Ρ:
- GPIO 34
- GPIO 35
- GPIO 36
- GPIO 39
ΠΡ GPIO 6 Π΄ΠΎ GPIO 11 ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΠ»Π°ΡΠ°Ρ ESP32. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΈ ΠΏΠΈΠ½Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Ρ ΠΊ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΡΠ»ΡΡ-ΠΏΠ°ΠΌΡΡΠΈ SPI Π½Π° ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌΠ΅ ESP-WROOM-32 ΠΈΡ Β ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠ΅Π»Π΅ΠΉ. ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΈΡ ΠΏΠΈΠ½ΠΎΠ²:
- GPIO 6 (SCK / CLK)
- GPIO 7 (SDO / SD0)
- GPIO 8 (SDI / SD1)
- GPIO 9 (SHD / SD2)
- GPIO 10 (SWP / SD3)
- GPIO 11 (CSC / CMD)
ESP32 ΠΈΠΌΠ΅Π΅Ρ 10 Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ
Π΅ΠΌΠΊΠΎΡΡΠ½ΡΡ
ΡΠ΅Π½ΡΠΎΡΠ½ΡΡ
Π΄Π°ΡΡΠΈΠΊΠΎΠ². ΠΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Π²ΡΡ, ΡΡΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π·Π°ΡΡΠ΄, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,Β ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΠ΅ ΠΏΡΠΈ ΠΊΠ°ΡΠ°Π½ΠΈΠΈ ΠΏΠ°Π»ΡΡΠ°ΠΌΠΈ GPIO. ΠΡΠΈ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π»Π΅Π³ΠΊΠΎ Π²ΡΡΡΠΎΠ΅Π½Ρ Π² Π΄Π°ΡΡΠΈΠΊΠΈ ΠΊΠ°ΡΠ°Π½ΠΈΡ ΠΈ Π·Π°ΠΌΠ΅Π½ΡΡΡ ΠΌΠ΅Ρ
Π°Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΠΌΠΊΠΎΡΡΠ½ΡΠ΅ ΡΠ΅Π½ΡΠΎΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π΄Π»Ρ ΠΏΡΠΎΠ±ΡΠΆΠ΄Π΅Π½ΠΈΡ ESP32 ΠΎΡ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ³ΠΎ ΡΠ½Π°.
ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΡΠ΅Π½ΡΠΎΡΠ½ΡΠ΅ Π΄Π°ΡΡΠΈΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Ρ ΠΊ ΡΡΠΈΠΌ GPIO:
- T0 (GPIO 4)
- T1 (GPIO 0)
- T2 (GPIO 2)
- T3 (GPIO 15)
- T4 (GPIO 13)
- T5 (GPIO 12)
- T6 (GPIO 14)
- T7 (GPIO 27)
- T8 (GPIO 33)
- T9 (GPIO 32)
ESP32 ΠΈΠΌΠ΅Π΅Ρ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ ΠΊΠ°Π½Π°Π»Ρ ΠΠ¦Π 18 x 12 Π±ΠΈΡ. ΠΡΠΎ GPIO, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΠ¦Π:
- ADC1_CH0 (GPIO 36)
- ADC1_Ch2 (GPIO 37)
- ADC1_Ch3 (GPIO 38)
- ADC1_Ch4 (GPIO 39)
- ADC1_Ch5 (GPIO 32)
- ADC1_CH5 (GPIO 33)
- ADC1_CH6 (GPIO 34)
- ADC1_CH7 (GPIO 35)
- ADC2_12 GPO (0)
- ADC2_Ch3 (GPIO 2)
- ADC2_Ch4 (GPIO 15)
- ADC2_Ch5 (GPIO 13)
- ADC2_CH5 (GPIO 12)
- ADC2_CH6 (GPIO 14)
- ADC2_CH7 (GPIO 27)
- ADC2_CH8 (GPIO 25)
- ADC2_CH9 (GPIO 26)
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ ADC2 Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Wi-Fi. ΠΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Wi-Fi ΠΈ Ρ Π²Π°Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΡ GPIO ADC2, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ GPIO ADC1, ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ΅ΡΠΈΡΡ Π²Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
ΠΡ ΠΎΠ΄Π½ΡΠ΅ ΠΊΠ°Π½Π°Π»Ρ ΠΠ¦Π ΠΈΠΌΠ΅ΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ 12 Π±ΠΈΡ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ 0 Π΄ΠΎ 4095, Π² ΠΊΠΎΡΠΎΡΡΡ 0 ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ 0 Π, Π° 4095 — 3,3 Π. Π£ Π²Π°Ρ ΡΠ°ΠΊΠΆΠ΅ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²Π°ΡΠΈΡ ΠΊΠ°Π½Π°Π»ΠΎΠ² Π² ΠΊΠΎΠ΄Π΅, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΠ¦Π.
ΠΡΠ²ΠΎΠ΄Ρ ΠΠ¦Π ESP32 ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ.Β ΠΠ± ΡΡΠΎΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π²ΡΠ²ΠΎΠ΄ΠΎΠ² ΠΠ¦Π. ΠΠΈΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π³ΡΠ°ΡΠΈΠΊ ΠΏΠΎΠ»ΡΡΠ΅ΠΌΡΡ Β Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ:
ΠΠ° ESP32 ΠΈΠΌΠ΅ΡΡΡΡ Π΄Π²Π° 8-Π±ΠΈΡΠ½ΡΡ ΠΊΠ°Π½Π°Π»Π° Π¦ΠΠ Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠΎΠ²ΡΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² Π² Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΠ΅ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠΈΠ³Π½Π°Π»Ρ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ. ΠΠΈΠ½Ρ Π¦ΠΠ:
- Π¦ΠΠ1 (GPIO25)
- Π¦ΠΠ2 (GPIO26)
ΠΠ° ESP32 Π΅ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° RTC GPIO. GPIO, ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΡΠ΅ΠΌΡΠ΅ Π² ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ Ρ Π½ΠΈΠ·ΠΊΠΈΠΌ ΡΠ½Π΅ΡΠ³ΠΎΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΠΌ RTC, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° ESP32 Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ³ΠΎ ΡΠ½Π°. ΠΡΠΈ RTC GPIO ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π²ΡΡ
ΠΎΠ΄Π° ESP32 ΠΈΠ· Π³Π»ΡΠ±ΠΎΠΊΠΎΠ³ΠΎ ΡΠ½Π°, ΠΊΠΎΠ³Π΄Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡ Ultra Low Power (ULP). Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ GPIO ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΠΏΡΠΎΠ±ΡΠΆΠ΄Π΅Π½ΠΈΡ.
- RTC_GPIO0 (GPIO36)
- RTC_GPIO3 (GPIO39)
- RTC_GPIO4 (GPIO34)
- RTC_GPIO5 (GPIO35)
- RTC_GPIO6 (GPIO25)
- RTC_GPIO7 (GPIO26)
- RTC_GPIO8 (GPIO33)
- RTC_GPIO9 (GPIO32)
- RTC_GPIO10 (GPIO4)
- RTC_GPIO11 (GPIO0)
- RTC_GPIO12 (GPIO2)
- RTC_GPIO13 (GPIO15)
- RTC_GPIO14 ( GPIO13)
- RTC_GPIO15 (GPIO12)
- RTC_GPIO16 (GPIO14)
- RTC_GPIO17 (GPIO27)
Π¨ΠΠ-ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ESP32 ΠΈΠΌΠ΅Π΅Ρ 16 Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ
ΠΊΠ°Π½Π°Π»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ Π¨ΠΠ-ΡΠΈΠ³Π½Π°Π»ΠΎΠ² Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ. ΠΡΠ΅ Π²ΡΠ²ΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΡΡΡΡΠΏΠ°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²ΡΡ
ΠΎΠ΄ΠΎΠ², ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²ΡΠ²ΠΎΠ΄ΠΎΠ² Π¨ΠΠ (GPIO Ρ 34 ΠΏΠΎ 39 Π½Π΅ ΠΌΠΎΠ³ΡΡ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π¨ΠΠ).
Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΈΠ³Π½Π°Π» Π¨ΠΠ, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π² ΠΊΠΎΠ΄Π΅:
- Π§Π°ΡΡΠΎΡΠ° ΡΠΈΠ³Π½Π°Π»Π°;
- Π Π°Π±ΠΎΡΠΈΠΉ ΡΠΈΠΊΠ»;
- Π¨ΠΠ-ΠΊΠ°Π½Π°Π»;
- GPIO, Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΈΠ³Π½Π°Π».
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ESP32 Ρ Arduino IDE ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ²ΠΎΠ΄Ρ ESP32 I2C ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ Wire):
- GPIO 21 (SDA)
- GPIO 22 (SCL)
ΠΠΈΠ½Ρ Π΄Π»Ρ SPI ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ:
SPI | MOSI | MISO | CLK | CS |
VSPI | GPIO 23 | GPIO 19 | GPIO 18 | GPIO 5 |
HSPI | GPIO 13 | GPIO 12 | GPIO 14 | GPIO 15 |
ΠΡΠ΅ GPIO ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π°ΡΡΡΠΎΠ΅Π½Ρ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ.
Strapping pin — ΡΠ²ΡΠ·ΡΠ²Π°ΡΡΠΈΠΉ Π²ΡΠ²ΠΎΠ΄, ΡΠ²ΡΠ·ΡΠ²Π°ΡΡΠΈΠΉ ΠΊΠΎΠ½ΡΠ°ΠΊΡ (ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠΉ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΡ Π²ΡΠ²ΠΎΠ΄ΠΎΠ² ΠΏΡΠΈ ΠΏΠΎΠ΄Π°ΡΠ΅ Π½Π° Π½Π΅Π³ΠΎ ΡΠΈΠ³Π½Π°Π»Π°)
- GPIO 0
- GPIO 2
- GPIO 4
- GPIO 5
- GPIO 12
- GPIO 15
ΠΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ESP32 Π² ΡΠ΅ΠΆΠΈΠΌ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ° ΠΈΠ»ΠΈ Π² ΡΠ΅ΠΆΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ. ΠΠ° Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΠΏΠ»Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ USB / Serial Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΡΡΡ ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΡΡΠΈΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ². ΠΠ»Π°ΡΠ° ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ Π² ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΈΠ»ΠΈ ΡΠ΅ΠΆΠΈΠΌΠ° Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ ΠΊ ΡΡΠΈΠΌ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ°ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Ρ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, Ρ Π²Π°Ρ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄, ΠΏΠ΅ΡΠ΅ΠΏΡΠΎΡΠΈΡΡΒ ESP32Β ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΏΠ»Π°ΡΡ.Β
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ GPIO ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ²ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° Hight ΠΈΠ»ΠΈ Π²ΡΠ²ΠΎΠ΄ΡΡ Π¨ΠΠ-ΡΠΈΠ³Π½Π°Π»Ρ ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΠΈΠ»ΠΈ ΡΠ±ΡΠΎΡΠ΅. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ Π²ΡΡ
ΠΎΠ΄Ρ, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΠΊ ΡΡΠΈΠΌ GPIO, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΠΈΠ»ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ESP32.
- GPIO 1
- GPIO 3
- GPIO 5
- GPIO 6 — GPIO 11 (ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΡΒ ΠΊ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΡΠ»ΡΡ-ΠΏΠ°ΠΌΡΡΠΈ SPI ESP32 — ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ).
- GPIO 14
- GPIO 15
En (Enable) / RST (Reset) — ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡ, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ° ESP32.
ΠΠ»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΌΠΎΠ΄ΡΠ»Ρ — ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠ½Π΄Π΅Π½ΡΠ°ΡΠΎΡ 10ΠΌΠΊΠ€ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ²ΠΎΠ΄Π°ΠΌΠΈ EN ΠΈ GND!!! ΠΠ΅Π· ΠΊΠΎΠ½Π΄Π΅Π½ΡΠ°ΡΠΎΡΠ° Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΆΠΈΠ²Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ «boot/En/RST».
Π’Π°ΠΊΠΆΠ΅, Π½Π΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΡΠ°Π΅Π΄ΠΈΠ½ΠΈΡΡ Π²ΡΠ²ΠΎΠ΄(Ρ) GND ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Ρ ΡΠΈΠ½ΠΎΠΉ GND ΠΌΠ°ΠΊΠ΅ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡ!!! ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ ΠΌΠ°ΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ Π½Π΅ΡΠ²ΠΎΠ².
ΠΠ±ΡΠΎΠ»ΡΡΠ½ΡΠΉ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠΎΠΊ, ΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅ΠΌΡΠΉΒ GPIO, ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 40 ΠΌΠ.
ESP32 ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π΄Π°ΡΡΠΈΠΊ Π₯ΠΎΠ»Π»Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΌΠ°Π³Π½ΠΈΡΠ½ΠΎΠΌ ΠΏΠΎΠ»Π΅ Π² Π΅Π³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ.
Β
ΠΠΎΡ ΠΎΠΆΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΏΠΎ ΡΠ΅ΠΌΠ΅:
ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Raspberry Pi Pico ΠΈ ΡΡΠ΅Π±Π½ΠΈΠΊ ΠΏΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ MicroPython.

Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ Ρ Raspberry Pi Pico RP2040 ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π»ΠΈΠ±ΠΎ ΠΠΏΡΠΎΡ , Π»ΠΈΠ±ΠΎ ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ . ΠΠ΄Π΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ·Π½Π°ΡΡ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ ΠΈ ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠ·Π½Π°Π΅ΠΌ ΠΎΠ± ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠΈ Π΄ΡΠ΅Π±Π΅Π·Π³Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΡΡ Π²Π²ΠΎΠ΄ΠΎΠ². ΠΠΎΠ΄ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° MicroPython. ΠΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Raspberry Pi Pico, Π²ΠΊΠ»ΡΡΠ°Ρ 9.0003 ΠΠ°Π»ΠΈΠ½Π° ΠΠΈ ΠΠΈΠΊΠΎ W .
ΠΠ½ΠΎΠΏΠΊΠΈ Π΄Π΅ΠΉΡΡΠ²ΡΡΡ ΠΊΠ°ΠΊ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π²Π²ΠΎΠ΄Π° Π΄Π»Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, ΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΈΡ
ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅. ΠΠ½ΠΎΠΏΠΊΠ°, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½Π°Ρ ΠΊ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, Π±ΡΠ΄Π΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π²ΡΡΠΎΠΊΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ (1), Π° ΠΊΠ½ΠΎΠΏΠΊΠ°, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½Π°Ρ ΠΊ Π·Π΅ΠΌΠ»Π΅, Π±ΡΠ΄Π΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π½ΠΈΠ·ΠΊΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ (0). Raspberry Pi Pico ΠΏΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° RP2040, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ 36 ΠΌΠ½ΠΎΠ³ΠΎΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ
ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ (GPIO) . ΠΡΠ΅ Π²ΡΠ²ΠΎΠ΄Ρ GPIO Raspberry Pi Pico ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΊΠ°ΠΊ Π²Ρ
ΠΎΠ΄Π½ΡΠ΅ ΠΈΠ»ΠΈ Π²ΡΡ
ΠΎΠ΄Π½ΡΠ΅. ΠΡΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ GPIO ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π°ΡΡΡΠΎΠ΅Π½Ρ ΠΊΠ°ΠΊ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ .
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
ΠΠΏΡΠΎΡ ΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅
ΠΠΏΡΠΎΡ ΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ β ΡΡΠΎ Π΄Π²Π° ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»ΡΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ, ΡΠΈΡΡΠΎΠ²Π°Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ° ΠΈ Ρ. Π΄. ΠΠΏΡΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΡΡΡΠΎΠΉΡΡΠ²Ρ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°.
ΠΠΏΡΠΎΡ | ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ |
ΠΠΏΡΠΎΡ β ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° Π¦Π ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠΎΠ΄, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ Π»ΠΈ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ. | Π ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈΠ»ΠΈ ΡΠ΅Π³ΠΈΡΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»ΡΠ΅Ρ Π¦Π ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΡΡΠ²Π°. |
CPU Π·Π°Π±ΠΎΡΠΈΡΡΡ ΠΎΠ± ΠΎΠΏΡΠΎΡΠ΅.![]() | ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ. |
ΠΠΏΡΠΎΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠ΅Π· ΡΠ°Π²Π½ΡΠ΅ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°. | ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ Π² Π»ΡΠ±ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ. |
ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΡΠ°ΡΡΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ (ISR). ΠΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅, Π¦Π Π½Π°ΡΠΈΠ½Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² ΡΠ°ΠΌΠΊΠ°Ρ ΡΡΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ. ΠΠΎΠ³Π΄Π° Π·Π°Π΄Π°ΡΠ° Π² ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π·Π°Π²Π΅ΡΡΠ΅Π½Π°, ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Ρ ΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ°, Π³Π΄Π΅ ΠΎΠ½ Π±ΡΠ» ΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½.
ΠΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°
- Raspberry Pi Pico ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ MicroPython.
- ΠΠ½ΠΎΠΏΠΊΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΡΠΉ ΡΠ°ΠΊΡΠΈΠ»ΡΠ½ΡΠΉ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ).
- Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ²ΠΎΠ΄Π° ΠΈ ΠΌΠ°ΠΊΠ΅ΡΠ½Π°Ρ ΠΏΠ»Π°ΡΠ°.
ΠΠ°ΠΌ Π½ΡΠΆΠ΅Π½ Raspberry Pi Pico Ρ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ MicroPython UF2 . ΠΡΠ»ΠΈ Π²Ρ Π½ΠΎΠ²ΠΈΡΠΎΠΊ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ Π½Π°ΡΠΈΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΠΌ β Π£ΡΠ΅Π±Π½ΠΎΠ΅ ΠΏΠΎΡΠΎΠ±ΠΈΠ΅ ΠΏΠΎ Raspberry Pi Pico Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
β ΠΠ°ΡΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΡ Ρ MicroPython ΠΈ Thonny, ΡΡΠΎΠ±Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΈ Π½Π°ΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Pico.
ΠΠ½ΠΎΠΏΠΊΠΈ ΡΡΠ΅Π½ΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠΏΡΠΎΡΠ° Π² Raspberry Pi Pico (RP2040).
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ½Π°ΡΠ°Π»Π° ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄ ΠΎΠΏΡΠΎΡΠ° ΡΡΠ΅Π½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΊ Π²Π°ΡΠ΅ΠΌΡ Pico, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΡ Π΅ΠΌΠ΅ Π½ΠΈΠΆΠ΅.
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Raspberry Pi Pico. Π Π°Π·ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ Fritzing. Π Π°Π·ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ FritzingRaspberry Pi Pico ΠΈΠΌΠ΅Π΅Ρ 26 Π»Π΅Π³ΠΊΠΎΠ΄ΠΎΡΡΡΠΏΠ½ΡΡ GPIO Π½Π° ΡΠ²ΠΎΠ΅ΠΉ ΠΊΠΎΠΌΠΌΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΠ»Π°ΡΠ΅. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· ΡΡΠΈΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² GPIO Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ. ΠΠΎΡ ΡΡ Π΅ΠΌΠ° ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² Raspberry Pi Pico W Π΄Π»Ρ ΡΠΏΡΠ°Π²ΠΊΠΈ. Π Π°ΡΠΏΠΈΠ½ΠΎΠ²ΠΊΠ°
Raspberry Pi Pico W. ΠΡΡΠΎΡΠ½ΠΈΠΊ: Datasheet ΠΡ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΡΠΊΡΠΈΠΏΡ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΠ«Π‘ΠΠΠΠ ΠΈΠ»ΠΈ ΠΠΠΠΠΠ. ΠΠΈΠΊΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄ΡΡΠ½ΡΡΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡ ΠΊ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠ΅Π·ΠΈΡΡΠΎΡΠ°. ΠΠ°ΡΠ΅ΠΌ Π½ΡΠΆΠ΅Π½ ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°ΡΡΠΈΠΉ ΡΠ΅Π·ΠΈΡΡΠΎΡ? ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ Π±Π΅Π· Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡ Π±ΡΠ΄Π΅Ρ Π΄Π°Π²Π°ΡΡ ΡΡΠΌΠ½ΡΠΉ Π²Π²ΠΎΠ΄, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π² ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ.
ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ Pico ΠΊ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΊΡΠΈΠΏΡ:
Π―Π·ΡΠΊ ΠΊΠΎΠ΄Π°: Python (python)
Ρ PIN-ΠΊΠΎΠ΄Π° ΠΈΠΌΠΏΠΎΡΡΠ° ΠΌΠ°ΡΠΈΠ½Ρ ΡΡΠ΅ΡΡΠΈΠΊ=0 Π²ΡΠ²ΠΎΠ΄ = Π²ΡΠ²ΠΎΠ΄ (5, Π²ΡΠ²ΠΎΠ΄.IN, Π²ΡΠ²ΠΎΠ΄.PULL_UP) ΠΏΠΎΠΊΠ° Π²Π΅ΡΠ½ΠΎ: Π΅ΡΠ»ΠΈ pin.value()==0: print("ΠΠ½ΠΎΠΏΠΊΠ° Π½Π°ΠΆΠ°ΡΠ°") ΡΡΠ΅ΡΡΠΈΠΊ+=1 print("Count={}".format(counter))
Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ» Π½Π° Raspberry Pi Pico Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ Β«.pyΒ». ΠΠΎΡΠ»Π΅ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π²ΡΠ²ΠΎΠ΄, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΠ«Π‘ΠΠΠΠ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Π° Π½Π΅ Π² ΠΠΠΠΠΠ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ PULL_DOWN Π²ΠΌΠ΅ΡΡΠΎ PULL_UP ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:
Π―Π·ΡΠΊ ΠΊΠΎΠ΄Π°: Python (python)
ΠΈΠ· ΠΏΠΈΠ½Π° ΠΈΠΌΠΏΠΎΡΡΠ° ΠΌΠ°ΡΠΈΠ½Ρ ΡΡΠ΅ΡΡΠΈΠΊ=0 ΠΊΠΎΠ½ΡΠ°ΠΊΡ = ΠΊΠΎΠ½ΡΠ°ΠΊΡ (5, ΠΊΠΎΠ½ΡΠ°ΠΊΡ.
IN, ΠΊΠΎΠ½ΡΠ°ΠΊΡ.PULL_DOWN) ΠΏΠΎΠΊΠ° Π²Π΅ΡΠ½ΠΎ: Π΅ΡΠ»ΠΈ pin.value() ΡΠ°Π²Π½ΠΎ 1: ΡΡΠ΅ΡΡΠΈΠΊ+=1 print("ΠΠ½ΠΎΠΏΠΊΠ° Π½Π°ΠΆΠ°ΡΠ°") print("Count={}".format(counter))
ΠΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° :
- ΠΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡ Pin ΠΈΠ· ΠΌΠΎΠ΄ΡΠ»Ρ ΠΌΠ°ΡΠΈΠ½Ρ , ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ°ΠΌΠΈ GPIO. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ counter Π΄Π»Ρ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π½Π°ΠΆΠ°ΡΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ.
Π―Π·ΡΠΊ ΠΊΠΎΠ΄Π°: JavaScript (javascript)
ΠΎΡ ΡΡΠΈΡΡΠ° ΠΈΠΌΠΏΠΎΡΡΠ° ΠΌΠ°ΡΠΈΠ½Ρ counter=0
- Π‘ΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ pin , ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ 3 Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. ΠΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΠΌ GPIO 5 ΠΊΠ°ΠΊ Π²Ρ ΠΎΠ΄ Ρ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΌ PULL_UP.
Π―Π·ΡΠΊ ΠΊΠΎΠ΄Π°: Python (python)
pin = Pin(5, Pin.
IN, Pin.PULL_UP)
- ΠΠ½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° while ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΠ°Π²Π½ΠΎ Π»ΠΈ pin.value() 0, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΊΠΎΠ½ΡΠ°ΠΊΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΊ Π·Π΅ΠΌΠ»Π΅ (Ρ. Π΅. ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π°ΠΆΠ°ΡΠ°). ΠΡΠ»ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΎ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΌΡ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΠΈ ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ°.
Π―Π·ΡΠΊ ΠΊΠΎΠ΄Π°: Python (python)
, Π΅ΡΠ»ΠΈ pin.value() ΡΠ°Π²Π½ΠΎ 1: ΡΡΠ΅ΡΡΠΈΠΊ+=1 print("ΠΠ½ΠΎΠΏΠΊΠ° Π½Π°ΠΆΠ°ΡΠ°") ΠΏΠ΅ΡΠ°ΡΡ("Π‘ΡΠ΅ΡΡΠΈΠΊ={}".ΡΠΎΡΠΌΠ°Ρ(ΡΡΠ΅ΡΡΠΈΠΊ))
Π£ΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΄ΡΠ΅Π±Π΅Π·Π³Π° ΠΏΠΈΠ½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ MicroPython Π² Raspberry Pi Pico
ΠΡ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ Π² ΡΠΊΡΠΈΠΏΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ Π²ΡΡΠ΅? ΠΠ΄Π½ΠΎ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΡΡΠ΅ΡΡΠΈΠΊ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΅Π΄ΠΈΠ½ΠΈΡ. ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΎΠΌ ΠΌΠ΅Ρ
Π°Π½ΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² Π² ΠΊΠ½ΠΎΠΏΠΊΠ΅ ΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π΄ΡΠ΅Π±Π΅Π·Π³ΠΎΠΌ. Π£ΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΄ΡΠ΅Π±Π΅Π·Π³Π° β ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π΄ΡΠ΅Π±Π΅Π·Π³Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΡΠ΅Π·ΠΈΡΡΠΎΡ-ΠΊΠΎΠ½Π΄Π΅Π½ΡΠ°ΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π΄ΡΠ΅Π±Π΅Π·Π³Π° ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ. Π ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅ΡΡΠ΅ΡΡΡ Π²ΡΠ΅ΠΌΡ, ΠΏΡΠΎΡΠ΅Π΄ΡΠ΅Π΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Π½Π°ΠΆΠ°ΡΠΈΡΠΌΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΈ Π΅ΡΠ»ΠΈ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π²ΠΎΠ΄ΠΎΠ², ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π²Π²ΠΎΠ΄.
Π§ΡΠΎΠ±Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΄ΡΠ΅Π±Π΅Π·Π³Π°, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½Π°Ρ ΡΠΊΡΠΈΠΏΡ, ΡΡΠΎΠ±Ρ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π»ΠΈΡΡ Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ time Π² MicroPython. ΠΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠ½ΠΊΡΠΈΡ time.ticks_ms() , ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Β«Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΠΈΠΉΡΡ ΡΡΠ΅ΡΡΠΈΠΊ ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΒ». Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ (Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°Ρ ), ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π΄ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π° ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ.
ΠΠ°Π³ΡΡΠ·ΠΈΡΠ΅ ΡΡΠΎΡ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ ΠΈ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ» Π½Π° Raspberry Pi Pico Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π° Β«. pyΒ»:
Π―Π·ΡΠΊ ΠΊΠΎΠ΄Π°: Python (python)
ΠΈΠ· PIN-ΠΊΠΎΠ΄Π° ΠΈΠΌΠΏΠΎΡΡΠ° ΠΌΠ°ΡΠΈΠ½Ρ. Π²ΡΠ΅ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠ° ΡΡΠ΅ΡΡΠΈΠΊ=0 debounce_time = 0 Π²ΡΠ²ΠΎΠ΄ = Π²ΡΠ²ΠΎΠ΄ (5, Π²ΡΠ²ΠΎΠ΄.IN, Π²ΡΠ²ΠΎΠ΄.PULL_UP) ΠΏΠΎΠΊΠ° Π²Π΅ΡΠ½ΠΎ: Π΅ΡΠ»ΠΈ ((pin.value() ΡΠ°Π²Π½ΠΎ 0) ΠΈ (time.ticks_ms()-debounce_time) > 300): ΡΡΠ΅ΡΡΠΈΠΊ+=1 debounce_time=time.ticks_ms() print("ΠΠ½ΠΎΠΏΠΊΠ° Π½Π°ΠΆΠ°ΡΠ°") print("Count={}".format(counter))
ΠΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ debounce_time . ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, Π½Π΅ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ Π»ΠΈ Π²ΡΠ΅ΠΌΡ, ΠΏΡΠΎΡΠ΅Π΄ΡΠ΅Π΅ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ, 300 ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ (time.ticks_ms()-debounce_time) > 300) . ΠΡΠ»ΠΈ ΡΡΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΡΠΎ ΠΌΡ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΡΡΠ΅ΡΡΠΈΠΊ Π½Π°ΠΆΠ°ΡΠΈΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ debounce_time Π½Π° ΡΠ΅ΠΊΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ time. ticks_ms() . ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ
ΠΎΠΆΠ΅ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ millis() 9Π€ΡΠ½ΠΊΡΠΈΡ 0004 Π² Arduino.
ΠΠ½Π΅ΡΠ½ΠΈΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π² Raspberry Pi Pico (RP2040)
ΠΡΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ GPIO Π² Raspberry Pi Pico ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π½Π° ΡΡΠΈ ΡΠΈΠΏΠ°:
- ΠΡΡΠΎΠΊΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ
- ΠΠΈΠ·ΠΊΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ : ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π½Π° Π²ΡΠ²ΠΎΠ΄Π΅ Π½ΠΈΠ·ΠΊΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΠΈΠ»ΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ 0.
- ΠΠ°ΡΠ°ΡΡΠ°ΡΡΠΈΠΉ ΡΡΠΎΠ½Ρ : ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ½ΡΠ°ΠΊΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΈΠ· ΠΠΠΠΠΠΠ Π² ΠΠ«Π‘ΠΠΠΠ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅.
- Falling Edge : ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ½ΡΠ°ΠΊΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΈΠ· ΡΠΎΡΡΠΎΡΠ½ΠΈΡ HIGH Π² LOW.
ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΡΠΎΠ²Π½Ρ Π² Pico Π½Π΅ ΡΠΈΠΊΡΠΈΡΡΡΡΡΡ, Ρ.Π΅. ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΡΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ GPIO ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ²ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Ρ HIGH Π½Π° LOW ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΠ°Ρ ΡΡΠ°ΡΡΡ: OLED-Π΄ΠΈΡΠΏΠ»Π΅ΠΉ Raspberry Pi Pico SSD1306 Π£ΡΠ΅Π±Π½ΠΎΠ΅ ΠΏΠΎΡΠΎΠ±ΠΈΠ΅ ΠΏΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ MicroPython
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ Raspberry Pi Pico Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ. Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΠ°Π΄Π°ΡΡΠΈΠΉ ΡΡΠΎΠ½Ρ (ΠΈΠ»ΠΈ Π½ΠΈΠ·ΠΊΠΈΠΉ ΡΡΠΎΠ½Ρ) Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ Π½Π° Π²ΡΠ²ΠΎΠ΄Π΅ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ. 9Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ 0003 Π±ΡΠ΄ΡΡ ΡΠ΅ΠΌΠΈ ΠΆΠ΅ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π΄Π»Ρ ΠΎΠΏΡΠΎΡΠ° Π²Ρ
ΠΎΠ΄Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ, Ρ.Π΅. ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ°ΠΌΠΈ GP5 ΠΈ GND .
- Π Thonny IDE ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ΅Π½Π°ΡΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π½Π° Pi Pico.
Π―Π·ΡΠΊ ΠΊΠΎΠ΄Π°: Python (python)
ΠΎΡ ΡΡΠΈΡΡΠ° ΠΈΠΌΠΏΠΎΡΡΠ° ΠΌΠ°ΡΠΈΠ½Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅_ΡΠ»Π°Π³ = 0 ΠΊΠΎΠ½ΡΠ°ΠΊΡ = ΠΊΠΎΠ½ΡΠ°ΠΊΡ (5, ΠΊΠΎΠ½ΡΠ°ΠΊΡ. ΠΠ₯ΠΠ, ΠΊΠΎΠ½ΡΠ°ΠΊΡ. PULL_UP) ΠΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² Π·Π°ΡΠΈΡΡ (ΠΏΠΈΠ½): Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ ΡΠ»Π°Π³_ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅_ΡΠ»Π°Π³ = 1 pin.irq(ΡΡΠΈΠ³Π³Π΅Ρ=Pin.IRQ_FALLING, ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ=ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ²) ΠΏΠΎΠΊΠ° Π²Π΅ΡΠ½ΠΎ: Π΅ΡΠ»ΠΈ ΡΠ»Π°Π³_ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΠ°Π²Π΅Π½ 1: print("ΠΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅") ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅_ΡΠ»Π°Π³=0
- ΠΠ°ΠΆΠΌΠΈΡΠ΅ Π·Π½Π°ΡΠΎΠΊ Run ΠΈΠ»ΠΈ F5 , ΡΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ.
- Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π² Pico ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ interrupt.py ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ Π»ΡΠ±ΡΠΌ Π΄ΡΡΠ³ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ Β«.pyΒ».
ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΡ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΡΡΠΎΠΊΡ Β«ΠΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅Β», ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΡ Π² ΠΎΠΊΠ½Π΅ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Thonny ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
ΠΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡΠ‘Π½Π°ΡΠ°Π»Π° ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡ Pin ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ interrupt_flag Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ 0. ΠΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ. ΠΠ»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² MicroPython Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ pin ΠΊΠ»Π°ΡΡΠ° Pin . GPIO 5 Π½Π°ΡΡΡΠΎΠ΅Π½ ΠΊΠ°ΠΊ Π²Ρ ΠΎΠ΄ Ρ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΌ PULL_UP .
Π―Π·ΡΠΊ ΠΊΠΎΠ΄Π°: Python (python)
ΠΎΡ ΡΡΠΈΡΡΠ° ΠΈΠΌΠΏΠΎΡΡΠ° ΠΌΠ°ΡΠΈΠ½Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅_ΡΠ»Π°Π³ = 0 ΠΊΠΎΠ½ΡΠ°ΠΊΡ = ΠΊΠΎΠ½ΡΠ°ΠΊΡ (5, ΠΊΠΎΠ½ΡΠ°ΠΊΡ.
IN, ΠΊΠΎΠ½ΡΠ°ΠΊΡ. PULL_UP)
ΠΠ°Π»Π΅Π΅ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ callback() Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ. ΠΠΎΠ΄ Π²Π½ΡΡΡΠΈ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠ°ΠΊΡΡ-Π»ΠΈΠ±ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΡ Π·Π°Π΄Π°ΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΅ΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡΡΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π¦Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅. ΠΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ interrupt_flag ΠΊΠ°ΠΊ 1. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ global , ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΌΠ΅Π½ΡΠ΅ΠΌ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ.
Π―Π·ΡΠΊ ΠΊΠΎΠ΄Π°: Python (python)
ΠΎΡΠ²Π΅Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° (ΠΏΠΈΠ½-ΠΊΠΎΠ΄): Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ ΡΠ»Π°Π³_ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅_ΡΠ»Π°Π³=1
Π§ΡΠΎΠ±Ρ ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΠΊ ΠΏΠΈΠ½Ρ, ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ irq() . ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°:
ΡΡΠΈΠ³Π³Π΅Ρ : ΡΡΠΈΠ³Π³Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠΈΠΏΠΎΠ²-
(1) Pin. IRQ_FALLING β ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ Π·Π°Π΄Π½Π΅ΠΌΡ ΡΡΠΎΠ½ΡΡ.
(2) Pin.IRQ_RISING β ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΠ΅ΡΠ΅Π΄Π½Π΅ΠΌΡ ΡΡΠΎΠ½ΡΡ.
(3) Pin.IRQ_LOW_LEVEL β ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΠΠΠΠΠΠ£ ΡΡΠΎΠ²Π½Ρ.
(4) Pin.IRQ_HIGH_LEVEL -
ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΠ«Π‘ΠΠΠΠΠ£ ΡΡΠΎΠ²Π½Ρ.
(5) Pin.IRQ_FALLING | Pin.IRQ_RISING β ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎ ΠΏΠ΅ΡΠ΅Π΄Π½Π΅ΠΌΡ, ΡΠ°ΠΊ ΠΈ ΠΏΠΎ Π·Π°Π΄Π½Π΅ΠΌΡ ΡΡΠΎΠ½ΡΡ.
ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ : ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ.
Π―Π·ΡΠΊ ΠΊΠΎΠ΄Π°: Python (python)
pin.irq(ΡΡΠΈΠ³Π³Π΅Ρ=Pin.IRQ_FALLING, ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ=ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ²)
Π ΡΠΈΠΊΠ»Π΅ while ΠΌΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ interrupt_flag . ΠΡΠ»ΠΈ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Β«1Β», ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅. ΠΡ ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² Β«0Β», ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΌΠΎΠ³Π»Π° Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° ββΡΠ½ΠΎΠ²Π° ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ.
ΠΡ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΡΡΠΎΠΊΠ° Β«ΠΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅Β» ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΡΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΡΠΎ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΡΠ»ΡΡΠ°ΠΉ Ρ ΠΏΠΎΠ΄ΠΏΡΡΠ³ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΎΠ±ΡΡΠΆΠ΄Π°Π»ΠΈ ΡΠ°Π½Π΅Π΅ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅. ΠΡΡ Π·Π°Π΄Π°ΡΡ ΠΌΡ ΡΠ΅ΡΠΈΠΌ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π³Π΅.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ MicroPython
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ Raspberry Pi Pico ΠΈ ΡΡΡΡΠ°Π½ΠΈΡΡ Π΄ΡΠ΅Π±Π΅Π·Π³ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ. ΠΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ, ΠΊΠ°ΠΊ Π±ΡΠ΄ΡΠΎ ΠΌΡ ΡΠΆΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π°Π»ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ°Π½Π΅Π΅ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅.
Π―Π·ΡΠΊ ΠΊΠΎΠ΄Π°: Python (python)
# ΠΡΡΠΎΡΠ½ΠΈΠΊ: Electrocredible.com, ΡΠ·ΡΠΊ: MicroPython ΠΈΠ· ΠΈΠΌΠΏΠΎΡΡΠ° ΠΌΠ°ΡΠΈΠ½Ρ Pin Π²ΡΠ΅ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅_ΡΠ»Π°Π³ = 0 debounce_time = 0 Π²ΡΠ²ΠΎΠ΄ = Π²ΡΠ²ΠΎΠ΄ (5, Π²ΡΠ²ΠΎΠ΄.
IN, Π²ΡΠ²ΠΎΠ΄.PULL_UP) ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ = ΠΊΠΎΠ½ΡΠ°ΠΊΡ (Β«ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Β», ΠΊΠΎΠ½ΡΠ°ΠΊΡ. ΠΠ«Π₯.) ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ = 0 ΠΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² Π·Π°ΡΠΈΡΡ (ΠΏΠΈΠ½): Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ interrupt_flag, debounce_time Π΅ΡΠ»ΠΈ (time.ticks_ms()-debounce_time) > 500: ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅_ΡΠ»Π°Π³ = 1 debounce_time=time.ticks_ms() pin.irq(ΡΡΠΈΠ³Π³Π΅Ρ=Pin.IRQ_FALLING, ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ=ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ²) ΠΏΠΎΠΊΠ° Π²Π΅ΡΠ½ΠΎ: Π΅ΡΠ»ΠΈ ΡΠ»Π°Π³_ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΠ°Π²Π΅Π½ 1: ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅_ΡΠ»Π°Π³ = 0 print("ΠΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅") led.toggle()
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΡΠΌΠΈ ON ΠΈ OFF.
ΠΠΏΡΠΎΡ ΠΈΠ»ΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅? ΠΠ°ΠΊΠΎΠΉ ΠΈΠ· Π½ΠΈΡ Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ?
ΠΡΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΈ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ, ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ. ΠΡΠ»ΠΈ Π²Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΎΡΡΠ°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΡΠΎΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π½Π΅ΡΠ½ΠΈΡ
Π²ΡΠ²ΠΎΠ΄ΠΎΠ², ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΡ
Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡΠΌΠΈ. ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°, Π²Π°ΠΌ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡΡΡ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΎΠΏΡΠΎΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π²ΡΠ΅Π³Π΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ.
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠ° ΡΡΠ°ΡΡΡ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ Π² Raspberry Pi Pico ΠΎΠΊΠ°Π·Π°Π»Π°ΡΡ Π΄Π»Ρ Π²Π°Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ. ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΏΠΎΠ΄Π΅Π»ΠΈΡΠ΅ΡΡ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΌΡΡΠ»ΡΠΌΠΈ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ Π½ΠΈΠΆΠ΅. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΡΡΠ΅Π½ΠΈΠ΅.
Π§ΠΈΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ :
- Π£ΡΠ΅Π±Π½ΠΎΠ΅ ΠΏΠΎΡΠΎΠ±ΠΈΠ΅ ΠΏΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΌΡ Π΄Π°ΡΡΠΈΠΊΡ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ Raspberry Pi Pico Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ MicroPython.
- Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ Π¨ΠΠ Π΄Π»Ρ Raspberry Pi Pico.
- Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΠΠ¦Π Raspberry Pi Pico Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ MicroPython.
- I2C Π² Raspberry Pi Pico.
Arduino Workshop — ΠΠ»Π°Π²Π° 5 — ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ ΡΠ»ΡΡΠ°Π»ΠΈ ΠΎ Π½ΠΈΡ ΡΠ°Π½ΡΡΠ΅, ΠΈ ΡΡΠΎ ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ²ΡΡΠΈΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΌΠΈ Π²Ρ ΠΎΠ΄Π°ΠΌΠΈ.
ΠΠΎ Π²ΡΠ΅Ρ
ΡΠ°Π·Π΄Π΅Π»Π°Ρ
, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π΄ΠΎ ΡΠΈΡ
ΠΏΠΎΡ, ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Ρ
ΠΎΠ΄Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΡΡ
ΠΎΠ΄Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ, Π° Π² ΡΠ»ΡΡΠ°Π΅ Ρ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΠ»ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ ΠΈ Ρ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΠ°ΡΡΠΎΡΠΎΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΡΡΠΎΠ±Ρ ΠΌΡ Π½Π΅ ΠΏΡΠΎΠΏΡΡΡΠΈΠ»ΠΈ Π΅Π΅ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΡΠΏΡΡΠΊΠ°Π½ΠΈΠ΅. ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΊΠ°ΠΊ ΠΎΠΏΡΠΎΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²Ρ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΠ΅ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΉ ΠΎΠΏΡΠΎΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΡΠΎ Π²ΡΠ΅ Ρ
ΠΎΡΠΎΡΠΎ Π΄Π»Ρ ΠΏΡΠΎΡΡΡΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π² ΠΊΠΎΡΠΎΡΡΡ
ΠΌΠ°Π»ΠΎ ΡΡΠΎ Π΅ΡΠ΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΡΠ°ΡΡΠΈ ΠΈ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ, ΠΎΠΏΡΠΎΡ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΊΡΡΠ° Π΄ΡΡΠ³ΠΈΡ
Π²Π΅ΡΠ΅ΠΉ, ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΡΡΠΈΡ
ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. ΠΡΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ, ΡΡΠΎΠ±Ρ Π²Π°Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π» Π²ΡΠ΅, ΡΡΠΎ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ, ΠΈ ΡΠ°ΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ» ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΠ½Π° ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΡΠ°Π½ΡΡΠ΅, ΠΊ ΡΡΠ°ΡΡΡΡ, Π΅ΡΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΡΠΈΡΡΠ²Π°Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠΈΡΡΠΎΠ²ΠΎΠ³ΠΎ Π²Ρ
ΠΎΠ΄Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ ΡΠ»ΡΡΠ°Π»ΠΈ ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡΡ
ΡΠ°Π½ΡΡΠ΅ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ»ΠΈ ΠΈΡ
ΠΊΠ°ΠΊ ΠΏΡΠ³Π°ΡΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, Π½ΠΎ Arduino Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Ρ
ΠΎΡΠΎΡΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ ΡΠ΅ΠΌ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΡ
Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΡΠ΄ΠΎΠ±Π½ΡΠΌΠΈ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΡΠ°ΠΊ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅? ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ β ΡΡΠΎ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½Π°Ρ ΡΠ°ΡΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΏΠΎΡΠΎΠ±Π½Π° ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²Ρ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π° ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°ΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π²ΠΎ Π²ΡΠ΅ΠΌ, ΡΡΠΎ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ, ΡΡΠΎΠ±Ρ ΡΠΎΠΎΠ±ΡΠΈΡΡ Π΅ΠΌΡ, ΡΡΠΎ Π΅ΡΡΡ Π³ΠΎΡΠΎΠ²ΡΠΉ Π²Π΅ΠΊΡΠΎΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²ΡΠ²ΠΎΠ΄Π°. ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΡΡ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΠΎΠ½ Π²ΡΡΠΎΠΊΠΈΠΌ ΠΈΠ»ΠΈ Π½ΠΈΠ·ΠΊΠΈΠΌ. ΠΡΠ΅Π»Π΅ΡΡΡ ΡΡΠΎΠ³ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ
ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡΡ
Π·Π°Π±ΠΎΡΡΡΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠ΅ ΡΠ»Π°Π³ΠΈ ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ΅Π½Ρ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π΄Π΅Π»Π°ΠΌΠΈ, Π½Π΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΡΡΡ ΠΎ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ ΡΠ°Π³Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ. Π₯ΠΎΡΠΎΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± Π΄ΡΠΌΠ°ΡΡ ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡΡ
β ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ, ΡΡΠΎ Π²Ρ ΠΎΠΆΠΈΠ΄Π°Π΅ΡΠ΅ ΠΏΠΈΡΡΠΌΠΎ ΠΎΡ ΠΏΠΎΡΡΠ°Π»ΡΠΎΠ½Π°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΡ
ΠΎΠ΄ΠΈΡΡ ΠΈ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΏΠΎΡΡΠΎΠ²ΡΠΉ ΡΡΠΈΠΊ ΠΊΠ°ΠΆΠ΄ΡΠ΅ Π΄Π²Π΅ ΠΌΠΈΠ½ΡΡΡ ΠΈΠ»ΠΈ ΡΠ°ΡΠ΅, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ, Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΎ Π»ΠΈ ΠΎΠ½ΠΎ, ΡΡΠΎ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΌΠ½ΠΎΠ³ΠΎ. ΡΠ΄Π΅Π»Π°ΡΡ Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠ΅, ΠΈΠ»ΠΈ Ρ Π²Π°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΡΡΠΎΠ²ΡΠΉ ΡΡΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ·Π΄Π°Π΅Ρ Π³ΡΠΎΠΌΠΊΠΈΠΉ ΡΡΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΈΡΡΠΌΠΎ Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΎ, ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π·Π°Π±ΡΡΡ ΠΎ Π½Π΅ΠΌ, Π½ΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΡΡΠ°Π·Ρ ΠΆΠ΅, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ΠΎ ΠΏΡΠΈΠ±ΡΠ²Π°Π΅Ρ, ΠΎΡΡΠ°Π²Π»ΡΡ Π²Π°Ρ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠΌΠΈ Π΄Π΅Π»Π°ΡΡ Π²ΡΠ΅, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠ°Π²ΠΈΡΡΡ, Π΄ΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°.
ΠΠ°ΠΊ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡ ΡΠ°Π½Π΅Π΅, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ
ΡΠΈΠΏΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ: ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅. ΠΠΎΠ³Π΄Π° Π²Ρ ΡΠΎΠΎΠ±ΡΠ°Π΅ΡΠ΅ Arduino, ΡΡΠΎ Ρ
ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π±ΡΠ»ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅, Π²Ρ ΡΠΎΠΎΠ±ΡΠ°Π΅ΡΠ΅ Π΅ΠΌΡ, ΠΏΡΠΈ ΠΊΠ°ΠΊΠΈΡ
ΡΡΠ»ΠΎΠ²ΠΈΡΡ
Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ Π²ΡΠ·Π²Π°ΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅. ΠΠ° ΠΏΠ΅ΡΠ΅Π΄Π½Π΅ΠΌ ΡΡΠΎΠ½ΡΠ΅ ΡΠΈΠ³Π½Π°Π» ΠΈΠ΄Π΅Ρ ΠΎΡ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΠΊ Π²ΡΡΠΎΠΊΠΎΠΌΡ, Π½Π° Π·Π°Π΄Π½Π΅ΠΌ ΡΡΠΎΠ½ΡΠ΅ ΡΠΈΠ³Π½Π°Π» ΠΈΠ΄Π΅Ρ ΠΎΡ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΠΊ Π½ΠΈΠ·ΠΊΠΎΠΌΡ ΠΈΠ»ΠΈ Π»ΠΈΠ±ΠΎ Π½Π°ΡΠ°ΡΡΠ°Π΅Ρ, Π»ΠΈΠ±ΠΎ ΠΏΠ°Π΄Π°Π΅Ρ, ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ. ΠΠΎΠ³Π΄Π° ΡΡΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ, Π²Π°Ρ Arduino Π·Π°ΠΏΡΡΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ. ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ·Π²Π΅ΡΡΠ½Π° ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ISR, ΠΊΠ°ΠΊ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π½Π°Π·ΡΠ²Π°ΡΡ Π΅Π΅. ΠΠ»ΡΡΠΎΠΌ ΠΊ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π² Π²Π°ΡΠ΅ΠΌ ISR, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΡΠΎΡΠ΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΎΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅Ρ ΠΈΠ· ΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ°, Π³Π΄Π΅ Π²Π°Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π±ΡΠ» Π² Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΠΈ ΠΎΠ±ΡΠ»ΡΠΆΠΈΡ ΠΏΡΠ΅ΡΠ²Π°Π½Π½ΠΎΠ΅, Π·Π°Π²Π΅ΡΡΠΈΡΠ΅ ISR Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ. ΠΌΠΎΠΆΠ΅Ρ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΡΠΎΠΌΡ ΠΌΠ΅ΡΡΡ, Π³Π΄Π΅ ΠΎΠ½ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΡΡ, ΠΈ ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π΄Π΅Π»Π°ΡΡ Π½ΠΈΡΠ΅Π³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ, ΠΏΠΎΠΊΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ISR, ΠΏΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΠ-Π΄ΠΈΡΠΏΠ»Π΅ΠΉ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΊ ΡΠ΅ΡΠΈ Wi-Fi ΠΈΠ»ΠΈ ΡΡΠΎ-ΡΠΎ, ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΆΠ΅ΡΡΠΊΠΎΠΉ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ, ΡΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ ΡΠ°ΡΡΠΎ Π²ΡΡ
ΠΎΠ΄ΡΡ ΠΈΠ· ΡΡΡΠΎΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ, Ρ
ΠΎΡΡ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΊΠ°Π·Π°ΡΡΡΡ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠΌΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠ½ΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, Π΅ΡΠ»ΠΈ Π²Π°Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½, Π²ΡΠΏΠΎΠ»Π½ΡΡ ISR, ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π΄Π΅Π»Π°ΡΡ.
ΠΠΎΠΏΡΡΠΊΠ° Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ Π²ΡΠ΅, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ, ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ±ΠΈΡΡ Ρ ΡΠΎΠ»ΠΊΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π²ΠΎΡ ΡΠΏΠΈΡΠΎΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΠΎΡΠ½ΠΎΠ²Π½ΡΡ
ΠΏΡΠ°Π²ΠΈΠ», ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ ΡΠ΅Π³ΠΎ Π½Π΅Π»ΡΠ·Ρ Π΄Π΅Π»Π°ΡΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ Ρ Arduino.
ΠΠ΅ΡΠΆΠΈΡΠ΅ ISR ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ, ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ»ΠΈ ΠΏΡΠΈΡΠΈΠ½Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΡΠΎΡΠ΅. ΠΠ±ΡΡΠ½ΠΎ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΡΠΈ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ»Π°Π³Π° ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, Π° Π½Π΅ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Π³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π° ΠΊΠΎΠ΄Π°. ISR Π½Π΅ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ Π² ΡΡΠ½ΠΊΡΠΈΠΈ Β«ΠΌΠΈΠ»Π»ΠΈΡΒ», Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ Π² Arduino, ΠΎΠ½ΠΈ Π½Π΅ Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²Π½ΡΡΡΠΈ ISR, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΈ ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° ΡΡΠ½ΠΊΡΠΈΡΡ
ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ, ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅. ΠΠ°Π΄Π΅ΡΠΆΠ°Π½Π½ΡΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΠ½ΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΡΡ ΠΈ ΠΈΠ·ΠΌΠ΅ΡΡΡΡ Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
, Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡΡ
. ΠΡΠ±Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π²Π½ΡΡΡΠΈ ISR, Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° ββΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ volatile, ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π²ΡΠ²ΠΎΠ΄Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ. ΠΠ° Arduino Uno ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΡΠΎΠ²ΡΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ 2 ΠΈ 3 ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ, ΠΈ ΠΈΠΌΠ΅ΠΉΡΠ΅ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ Π½Π΅ Π²ΡΠ΅ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π²ΡΠ΅ ΡΡΠΈ ΡΠΈΠΏΠ° ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ Π½Π° Π²ΡΠ΅Ρ
ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ°Ρ
. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ ΠΌΠΎΠ³ΡΡ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΠ°ΡΡΠ΅Ρ ΠΈΠ»ΠΈ ΠΏΠ°Π΄Π°Π΅Ρ ΡΠΈΠ³Π½Π°Π», Π½ΠΎ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠ΅Π½ΠΎ Π½Π° Π»ΡΠ±ΠΎΠΌ ΠΈΠ· Π½ΠΈΡ
, ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²Ρ
ΠΎΠ΄Π°, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, Π±ΡΠ» Π»ΠΈ ΠΎΠ½ Π½Π°ΡΠ°ΡΡΠ°ΡΡΠΈΠΌ ΠΈΠ»ΠΈ ΠΏΠ°Π΄Π°ΡΡΠΈΠΌ. ΠΊΡΠ°ΠΉ.
ΠΠ»Ρ Π΄ΡΡΠ³ΠΈΡ
Π²ΡΠ²ΠΎΠ΄ΠΎΠ² Π±ΡΠ΄ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π²ΡΠ΅ ΡΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π³ΠΎ Π΄Π»Ρ ΡΠΏΠ°Π΄Π°ΡΡΠ΅Π³ΠΎ ΡΡΠΎΠ½ΡΠ°, Π½Π°ΡΠ°ΡΡΠ°ΡΡΠ΅Π³ΠΎ ΡΡΠΎΠ½ΡΠ° ΠΈΠ»ΠΈ ΡΠΌΠ΅Π½Ρ ΡΡΠΈΡΡΠ°. Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΈΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΡΠ°ΠΊ, Ρ Π²Π·Π³Π»ΡΠ½Ρ Π½Π° Arduino IDE. ΠΡΠ°ΠΊ, Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ Π±Π°Π·ΠΎΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΈ ΠΎΠ½Π° Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΠΏΠΎΡ
ΠΎΠΆΠ° Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Β«Π΅ΡΠ»ΠΈΒ», Π³Π΄Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Β«ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΄ΡΠ΅Π±Π΅Π·Π³Π°Β» ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ Β«FΒ» ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
. ΡΡΠΎΠ±Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Β«DebouncingΒ», ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π½Π°ΡΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»ΠΈ Π½Π°ΠΆΠΈΠΌΠ°ΡΡΡΡ ΡΠ΅ΡΠΊΠΎ, ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Β«ifΒ», ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, Π±ΡΠ»ΠΎ Π»ΠΈ ΠΎΠ½ΠΎ Π·Π°Π΄Π΅ΡΠΆΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΎΡΠΏΡΡΠ΅Π½ΠΎ. ΠΡΠ°ΠΊ, ΡΡΠΎ ΠΏΠΎΡΡΠΈ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ, ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΈ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ Π·Π΄Π΅ΡΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ Π·Π°ΠΌΠ΅ΡΠΈΡΠ΅, ΡΡΠΎ ΡΡΠΎΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠΈΠ²ΡΠΉ ΡΠ»Π°Π³ ΠΊΠ½ΠΎΠΏΠΊΠΈ int. Π’Π΅ΠΏΠ΅ΡΡ ΡΠ»Π°Π³ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΈΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ»Π°Π³Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΠ»ΠΈ Π½ΡΠ»Ρ, ΠΊΠ°ΠΊ ΠΈ Π»ΡΠ±ΡΡ Π΄ΡΡΠ³ΡΡ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ volatile, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ, ΡΡΠΎ ΡΡΠΎ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π±Π΅Π· Π²Π΅Π΄ΠΎΠΌΠ° ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠ΅Π»Π° Arduino ΠΎ Π΅Π³ΠΎ Π²Π²ΠΎΠ΄Π΅. Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ, Π²Π΅ΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠ΅Π½ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ, ΠΈ Π½Π΅ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΊΠ°ΠΊ volatile, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Arduino Π·Π½Π°Π΅Ρ, ΡΡΠΎ ΡΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡΡ Π² Π»ΡΠ±ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²Π½ΡΡΡΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ.
Π£ Π½Π°Ρ Π΅ΡΡΡ Π½Π°ΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Β«DebounceΒ», ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ, ΠΎΠ±ΡΡΠ²Π»ΡΡΡΠ°Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΠΆΠΈΠΌΡ Π²ΡΠ²ΠΎΠ΄ΠΎΠ², ΠΈ Π·Π΄Π΅ΡΡ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΠΌΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΡΡΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄ΠΎΠ². ΠΡΠ°ΠΊ, ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»Π΅Π½Π½ΡΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ, Π·Π°ΡΠ΅ΠΌ Π²Π½ΡΡΡΠΈ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ Π²ΡΠ²ΠΎΠ΄ Π΄Π»Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ ΠΈ Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ
Π²ΡΠ²ΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅, ΡΡΠΎΠ±Ρ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π΅Π³ΠΎ Ρ Β«2Β» Π½Π° Π²ΡΠ²ΠΎΠ΄ ΠΊΠ½ΠΎΠΏΠΊΠΈ, Β«2Β» ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅, ΡΡΠΎ ΠΌΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π° Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ. ΠΠ°ΡΠ΅ΠΌ Β«, ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΈΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Β«ISR_buttonΒ» β ΡΡΠΎ ΠΎΠ±ΡΠ΅Π΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π΄Π»Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅ ΠΊΠ°ΠΊ ISR. ΠΡΠ°ΠΊ, ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π° Π·Π°ΡΠ΅ΠΌ ΠΌΡ Ρ
ΠΎΡΠΈΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° Π·Π°ΠΏΡΡΠΊΠ°Π»Π°ΡΡ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ, ΡΠΎ Π΅ΡΡΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π΅ ΠΎΡ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΠΊ Π½ΠΈΠ·ΠΊΠΎΠΌΡ ΡΠΈΠ³Π½Π°Π»Ρ ΠΈΠ»ΠΈ ΠΎΡ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΠΊ Π²ΡΡΠΎΠΊΠΎΠΌΡ ΡΠΈΠ³Π½Π°Π»Ρ ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²Π°ΠΌ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ Π²ΡΠ²ΠΎΠ΄ Π΄Π»Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ, Π²Π½ΡΡΡΠΈ Arduino Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΠΎΡΠΌΠ°ΡΠΎΠ² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ Π²ΡΠ²ΠΎΠ΄ Π΄Π»Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌΡΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΌ, ΡΡΠΎ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠ»Π°ΡΡ Arduino, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅. Π½ΠΎ, Π²ΠΎΠΎΠ±ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ Π²ΡΠ²ΠΎΠ΄ Π΄Π»Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ, Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΌ Π²ΡΠ²ΠΎΠ΄, Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΠ»Π°Ρ Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±Π΅Π· ΡΡΡΠΊΠ° ΠΈ Π·Π°Π΄ΠΎΡΠΈΠ½ΠΊΠΈ.
Π’Π΅ΠΏΠ΅ΡΡ Π² ΡΡΠΎΠΌ ΠΏΡΡΡΠΎΠΌ ΡΠΈΠΊΠ»Π΅ Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π΄Π»Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π΄ΡΠ΅Π±Π΅Π·Π³Π°, ΡΠ°ΠΊ ΡΡΠΎ ΠΌΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π΄ΠΎΠ»Π³ΠΎ. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΠ°Π·Π½ΠΈΡΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, Π²Ρ
ΠΎΠ΄ΠΈΡ Π»ΠΈ Π½Π°ΡΠ° Arduino Π² ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π΄ΡΠ΅Π±Π΅Π·Π³Π° Π΄ΡΡ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ, Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ Π½Π°Ρ Π±ΡΠ»ΠΎ Β«((millis ()β LastPress) > debounceTimeΒ», Π΅ΡΠ»ΠΈ ΡΡΠΎ Π²Π΅ΡΠ½ΠΎ, ΡΠΎ ΠΌΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΡ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ°ΡΡΡ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΠ°Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π»Π°, ΡΡΠΎ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠ°ΡΡΠΎΡΠΎΠΉ, ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²ΡΠ²Π°Ρ ΡΡΠΎΡ ΡΡΠΌ. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π΄Π»Ρ ΠΏΠΎΠΌΠ΅ΡΠΊΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ. Π€Π»Π°Π³ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΈΡΡΠΈΠ½Π½ΡΠΌ ΠΈΠ»ΠΈ ΠΎΠ΄Π½ΠΈΠΌ, ΡΡΠΎΠ±Ρ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π²ΠΎΠΎΠ±ΡΠ΅, ΠΈ ΠΏΡΠΈΡΠΈΠ½Π° ΡΡΠΎΠ³ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΎΠ±ΠΎΠΉΡΠΈ Π²ΡΠ΅ ΡΡΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Β«Π΅ΡΠ»ΠΈΒ» Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΠΈ ΡΠΈΠΊΠ» Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ, Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Ρ, ΠΈ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ±, ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π°Π³ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π²Π΅Π½ 1, ΡΡΠΎ Π΅ΡΠ»ΠΈ Β« ISR_Button», Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° 2. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠ΅, ΡΡΠΎ ΠΎΠ½Π° Π΄Π΅Π»Π°Π΅Ρ, ΡΡΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ»Π°Π³ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΈ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ°ΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ»Π°Π³Π° ΠΎΡΠ΅Π½Ρ ΠΊΠΎΡΠΎΡΠΎΠΊ. ΠΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Ρ
ΠΎΡΠΎΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ, ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π²Π΅ΡΡ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π² ΡΠ΅ΡΠ²Π΅Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ. Π΅ΡΠ»ΠΈ Π±Ρ ΠΌΡ Ρ
ΠΎΡΠ΅Π»ΠΈ, ΠΈ ΡΡΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π±Ρ Π² ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, Π½ΠΎ Π΅ΡΠ»ΠΈ Π±Ρ Ρ Π½Π°Ρ Π±ΡΠ»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈΡ
Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΡ
ΡΠΎΠ½ΠΎΠ²ΡΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΡΡΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π»ΠΎ Π±Ρ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π° Π·Π°ΡΠ΅ΠΌ Arduino Π·Π°ΡΡΡΡΠ» Π² ΡΡΠΎΠΉ ΡΠ»ΡΠΆΠ΅Π±Π½ΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ, Π΅ΡΠ»ΠΈ Π±Ρ ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π² ΡΠΈΠΊΠ»Π΅ void, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΠ΅Π»ΡΡ ΠΊΡΡΡ Π΄ΡΡΠ³ΠΈΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΎ ΠΊΠΎΡΠΎΡΡΡ
ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Π·Π½Π°Π΅ΡΠ΅ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠ»ΡΠΆΠ±, ΠΊΠΎΡΠΎΡΡΠ΅, Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎ, Π±ΡΠ΄ΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠΈΠΊΠ» void, Π½ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·Π²Π΅ΡΠ²Π»ΡΡΡΡΡ Π½Π° ΡΡΠΎ Π΅ΡΠ΅ ΠΎΠ΄Π½Π° ΡΠΊΡΡΡΠ°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΡΠΎΠ½ΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΡ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΡΠΈΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ ΡΠ°ΡΡΡΠΌ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅, Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π²Π½ΡΡΡΠΈ ΡΡΠΎΠ³ΠΎ ISR, ΡΡΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π±ΡΠ» Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠΎΡΠΎΡΠΊΠΈΠΌ, ΠΈ ΡΠΎΠ³Π΄Π° ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΠΆΠ΅ Π±ΡΠ»Π° Π·Π°ΠΏΡΡΠ΅Π½Π°. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΈΠ»ΠΈ ΠΎΡΠΏΡΡΠΊΠ°Π½ΠΈΡ, ΠΈ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅, ΡΡΠΎ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ, ΡΡΠΎ ΡΠ»Π°Π³ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΡΠ°Π²Π½ΡΠΉ Β«0Β», Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, Π²ΠΊΠ»ΡΡΠ°Ρ Π²ΡΠ΅ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΄ΡΠ΅Π±Π΅Π·Π³Π°, Π½Π΅Ρ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, Π±ΡΠ»ΠΎ Π»ΠΈ ΡΡΠΎ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΡΠΏΡΡΠΊΠ°Π½ΠΈΠ΅, Π΄Π»Ρ ΡΠ»Π°Π³Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«0Β», ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΡΠΎΡ ΡΠ°Π·Π΄Π΅Π» ΠΊΠΎΠ΄Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄ΠΎ ΡΠ΅Ρ
ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠ΅Π½Π° ΡΠ½ΠΎΠ²Π° Π΄Π»Ρ ΡΠ±ΡΠΎΡΠ° ΡΡΠΎΠ³ΠΎ ΡΠ»Π°Π³Π°.
ΠΡΠ°ΠΊ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΠΌ Π΅Π³ΠΎ, ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Ρ Π½Π΅Π³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, Π½Π°ΠΆΠΌΠΈΡΠ΅ Β«ΠΠ°Π³ΡΡΠ·ΠΈΡΡΒ», ΠΈ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π½Π°Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ ΡΠΎΠΉ ΠΆΠ΅ ΡΠ΅Π»ΠΈ, Π½ΠΎ Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ Π² Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅ΠΌ ΠΎΠ±ΡΠ΅ΠΌΠ΅. ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π΅Π³ΠΎ, ΡΡΠΎ Ρ
ΠΎΡΠΎΡΠΈΠΉ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ ΡΡΠΌΠ±Π»Π΅Ρ. Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡ 3 Π·Π΄Π΅ΡΡ, Π½ΠΎ Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡ 13 ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½ΡΠ°ΠΊΡ Π΄Π»Ρ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π°. ΠΠ΄Π½Π°ΠΊΠΎ Π²Π°ΠΆΠ½ΠΎ ΡΠΎ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ° ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΡΠ°ΠΊΡ 2 ΠΈΠ»ΠΈ 3, ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ ΠΌΠΎΠ³ΡΡ ΠΏΡΠ΅ΡΡΠ²Π°ΡΡΡΡ, ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ³ΡΠ³Π»ΠΈΠ² Π΄ΠΎΡΠΊΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΏΠΎΠΈΡΠΊ Β«ΠΠΈΠ½Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Arduino UnoΒ» ΠΈΠ»ΠΈ Β« Pins ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ TeensyΒ» ΠΈΠ»ΠΈ Π»ΡΠ±ΡΡ Π΄ΡΡΠ³ΡΡ ΠΏΠ»Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅, Π±ΡΡΡΡΡΠΉ Google ΠΎΡΠΊΡΠΎΠ΅Ρ Π»ΠΈΡΡ Π΄Π°Π½Π½ΡΡ
ΠΈΠ»ΠΈ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈ ΡΠΎΠΎΠ±ΡΠΈΡ Π²Π°ΠΌ, ΡΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ Π΄Π΅Π»ΠΎ Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ Π΄Π΅Π»ΠΎ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΡΠ΅ΠΌΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈΠ±ΡΡΠΈΠ΅ , ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅, ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ. ΠΡΠ°ΠΊ, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ, ΠΎΠ½ΠΈ Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΠΌΠΎΡΠ½ΡΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π΅Π»Π°ΡΡ Ρ Π½ΠΈΠΌΠΈ Π²ΡΠ΅ ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΠ²ΠΎΠ΄ΠΎΠ² ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈ ΡΠΎΠΌΡ ΠΆΠ΅ ISR ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡ ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ»Π΅Π΄ΡΠ΅ΡΠ΅ ΡΠ΅ΠΌ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΈΠ·Π»ΠΎΠΆΠΈΠ»ΠΈ ΡΠ°Π½Π΅Π΅ Π΄Π»Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ
ΠΎΠ±ΡΠΈΡ
ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΉ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ.