ΠΠΎΠΊΠ° Π½Π° ΡΠΈΠ½Π΅ ΠΎΠ΄ΠΈΠ½ slave Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π½ΠΎ ΡΡΠΎΠΈΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ ESP8266 Π½Π°ΡΠΈΠ½Π°Π΅Ρ Π²ΠΈΡΠ½ΡΡΡ Ρ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ. ΠΠΈΠ±Π° wire.h ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΡΡΠ΅Π½ΠΈΠ΅, Π° slave Π½Π΅ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ² ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π²Π΅ΡΠ°Π΅Ρ SDA Π½Π° Π·Π΅ΠΌΠ»Ρ ΠΈ ΠΆΠ΄Π΅Ρ ΠΎΡ ΠΌΠ°ΡΡΠ΅ΡΠ° SCL, ΡΡΠΎΠ± ΠΎΡΠ΄Π°ΡΡ ΠΎΡΡΠ°Π²ΡΠΈΠΉΡΡ ΠΊΡΡΠΎΠΊ Π±Π°ΠΉΡΠ°. ΠΡΠ°ΠΉΠ²Π΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ ΡΠ°ΠΊ, ΡΡΠΎ ΠΎΠ½ ΠΎΠ± ΡΡΠΎΠΌ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π½Π° ΡΡΠΎΡ ΠΈΠ»ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ slave Π½ΠΎΠ²ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅. Π£ΡΡΡΠΎΠΉΡΡΠ²Π° Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠΊ Π½Π°Ρ slave ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ SDA. ΠΠΈΠ±Π° Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ² Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΡΠ°ΡΡΡΠ³ΠΈΠ²Π°ΡΡ SCL. ΠΠΎΠ³Π΄Π° ΡΠ°ΡΡΡΠ³ΠΈΠ²Π°ΡΡ ΡΠΆΠ΅ Π½Π΅ΠΊΡΠ΄Π°, Π³Π»Π°Π²Π½ΡΠΉ ΡΠΈΠΊΠ» Π²ΡΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΎΠΌ. Π§Π΅ΡΠ΅Π· ~3 ΡΠ΅ΠΊΡΠ½Π΄Ρ, ΠΏΠΎΡΠ»Π΅ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ loop(), ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ WDT ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ°Π΅ΡΡΡ. Π‘Π°ΠΌΡΠΉ ΡΡΠ΅Ρ ΠΈ ΡΠ³Π°Ρ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Π΅ΡΠ»ΠΈ slave — ΡΡΠΎ ΡΠ°ΡΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Ρ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΠΌ ΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ. ESP8266 ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΈΠ»ΡΡ, Π° ΡΠ°ΡΡ Π²ΡΠ΅ ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ SDA ΠΈ ΠΆΠ΄ΡΡ ΠΊΠΎΠ³Π΄Π° ΠΆΠ΅ wire.h Ρ Π½ΠΈΠΌΠΈ Π·Π°ΠΊΠΎΠ½ΡΠΈΡ. Π§Π΅ΡΠ΅Π· ~3 ΡΠ΅ΠΊΡΠ½Π΄Ρ ΠΎΠΏΡΡΡ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ WDT ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ½ΠΎΠ²Π° ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΡΡ. ΠΡΡΠ³ Π·Π°ΠΌΠΊΠ½ΡΠ»ΡΡ. ΠΠ΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π΄Π°ΠΆΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π΅ΡΠ³ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΊ ΡΠ°ΡΠΈΠΊΠΈ Π² ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠΈΡΠ°ΡΡΡΡ ΠΎΡ Π±Π°ΡΠ°ΡΠ΅ΠΉΠΊΠΈ.
Arduino ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ ΠΈ ΠΌΠΎΠ΄Π΅ΡΠ°ΡΠΎΡΡ ΡΠΎΡΡΠΌΠ° esp8266.ru ΠΌΠΎΡΠΎΠ·ΠΈΠ»ΠΈΡΡ:
— Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΠΉΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°
— Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ i2c ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° spi
— Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΠ Ρ Π½Π°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ i2c ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΠΉΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² esp ΠΏΠΎ uart
— Ρ ΠΌΠ΅Π½Ρ Ρ ΠΎΠ΄Π½ΠΈΠΌ slave Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ…
Π’Π°ΠΊΠΎΠ΅ ΡΡΠ²ΡΡΠ²ΠΎ, ΡΡΠΎ ΠΎΠ½ΠΈ Π²ΡΠ΅ Π½Π° Π·Π°ΠΏΠ»Π°ΡΠ΅ Ρ Espressif. ΠΠΎΠΌΡΡΠΈΠ²ΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΌΠ΅ΡΡΡΠ΅Π² ΠΈ ΠΏΠΎΠΊΡΡΠΈΠ² ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ datasheet Π½Π° i2c ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π» Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΎΠ±Π΅ΡΡΠΊΡ ΠΏΠΎΠ΄ Arduino. Π’Π΅ΠΏΠ΅ΡΡ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²ΠΈΡΠ½Π΅Ρ ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎ. Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π» Π½Π° ΡΠΊΠΎΡΠΎΡΡΡΡ ΡΠΈΠ½Ρ 10KHz, 15KHz, 25KHz, 50KHz 100KHz, 200KHz, 250KHz, 300KHz, 400kHz ΠΈ ΡΠ°ΡΡΠΎΡΠ΅ ΠΊΠ°ΠΌΠ½Ρ 80MHz.
ΠΠ°Π±ΠΈΡΠ°ΡΡ ΡΡΡ.
UDP: ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΡΠ°Π½Π΄Π°ΡΡ Π½Π° i2c ΡΠΈΠ½Ρ Π·Π΄Π΅ΡΡ.
UDP2: ΠΠ°ΡΠΎΠ΄ ΡΠ°Π·ΡΡΠΈΠ»ΡΡ ΡΠΈΡΠ°ΡΡ read.me ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΎΠ΄ΡΠ±Π»ΠΈΡΡΡ ΡΡΡ.
Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ twi.h ΠΈ core_esp8266_si2c.cpp Π² ΠΏΠ°ΠΏΠΊΠ΅ %USERPROFILE%\AppData\Local\Arduino15\pa
Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ Wire.h ΠΈ Wire.cpp Π² ΠΏΠ°ΠΏΠΊΠ΅ %USERPROFILE%\AppData\Local\Arduino15\pa
Π¦ΠΈΡΡΡ 2.5.2 ΠΌΠΎΠ³ΡΡ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ, Π·Π°Π²ΠΈΡΡΡ ΠΎΡ Π²Π΅ΡΡΠΈΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΄ΡΠ°. ΠΠ°ΠΌΠ΅Π½ΠΈΡΡ Π·Π½Π°ΡΠΈΡ ΡΠ΄Π°Π»ΠΈΡΡ ΡΡΠ°ΡΡΠΉ ΠΈ Π½Π° Π΅Π³ΠΎ ΠΌΠ΅ΡΡΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π½ΠΎΠ²ΡΠΉ. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ — ΠΏΡΠΎΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊ — twi.h.OLD ΠΈ Ρ. Π΄. ΠΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΡΠΈΠ±ΠΊΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ Π»ΠΈΠ½ΠΊΠΎΠ²ΡΠΈΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΡΠ΅ΠΌ ΡΡΠΎ Π²Π½ΡΡΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² *.h ΠΈ *.cpp, Π° Π½Π΅ Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ. ΠΡΠΎ Π²Π°ΠΌ Π½Π΅ windows!!!
UDP3: ΠΠΎΡ ΠΎΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ²Π°Π»ΠΈΠ»ΠΈΡΡ Ρ Π»ΡΠ½Ρ ΠΈ Π½Π΅ Π·Π½Π°ΡΡ, ΡΡΠΎ Π΄Π»Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ i2c ΡΠΈΠ½Ρ Π»ΠΈΠ½ΠΈΠΈ SDA ΠΈ SCL Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΠΎΠ΄ΡΡΠ½ΡΡΡ ΠΊ ΠΏΠΈΡΠ°Π½ΠΈΡ. ΠΠΎΡΠ΅ΠΌΡ, ΡΠΈΡΠ°Π΅ΠΌ ΡΡΡ ΠΈ ΡΡΡ.
UDP4: ΠΠ»Ρ ΡΠ΅Π½ΡΠΎΡΠ½ΡΡ
ΠΏΠ°Π½Π΅Π»Π΅ΠΉ ΠΈ Π΄Π»ΠΈΠ½Π½ΡΡ
ΠΏΡΠΎΠ²ΠΎΠ΄ΠΎΠ² Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΊΡΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΡ
ΡΠΊΠΎΡΠΎΡΡΠ΅ΠΉ: 10KHz, 15KHz, 25KHz, 50KHz. ΠΠ°ΡΠΎΡΠΊΡ Π±ΡΡΡΡΡΡ
Π΄Π»Ρ ΡΠ°Π·Π³ΠΎΠ½Π°: 250KHz, 300KHz, 600KHz. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΊΡΠ°Π½ Π½Π° PCF8574 Π»Π΅Π³ΠΊΠΎ Π²Π·ΡΠ» ΠΎΡΠΌΠ΅ΡΠΊΡ Π² 600KHz. Π‘ΠΊΠΎΡΠΎΡΡΡ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠ°ΠΊ — Wire.setClock(15000), Π³Π΄Π΅ ΡΠΈΡΠ»ΠΎ Π² Π³Π΅ΡΡΠ°Ρ
. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ² Π²ΠΎΠ²ΡΠ΅ΠΌΡ ΠΎΡΠ²Π΅Ρ, Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΡΠ°ΡΡΡΠ³ΠΈΠ²Π°ΡΡ SCL Π΄ΠΎ 250 ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄, Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠΌΠ΅Π½ΡΡΠ°Ρ ΡΠ°ΡΡΠΎΡΡ Π΄ΠΎ 4KHz. ΠΠΎ ΡΠΎΠ²Π΅ΡΡ gihub ΡΠ·Π΅ΡΠ° Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π½ΡΠ»Π΅Π²ΠΎΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π’Π΅ΠΏΠ΅ΡΡ Π΅ΡΠ»ΠΈ Π² setup() ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠΈ ΠΠ‘ΠΠ₯ ΡΡΡΡΠΎΠΉΡΡΠ² Π½Π° I2C Π²ΠΏΠΈΡΠ°ΡΡ Wire.setClockStretchLimit(0), Π³Π΄Π΅ ΡΠΈΡΠ»ΠΎ Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
. ΠΡΠ°ΠΉΠ²Π΅Ρ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΡΠ³ΠΈΠ²Π°ΡΡ SCL Π΄ΠΎ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΡΡΠΈ, ΡΠ΅ 0Hz. ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ — Π΅ΡΠ»ΠΈ Π½Π° ΡΠΈΠ½Π΅ Π±Π΅Π΄Π°, Π²ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΠ΄Π²ΠΈΡΠ½Π΅Ρ Π² Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΡΠΈΠΊΠ»Π΅. Π ΠΎΠ±ΡΠ΅ΠΌ ΡΠΈΡΠ° Π΄Π»Ρ ΠΎΡΡΠ°ΡΠ½Π½ΡΡ
. ΠΡΡΡΠ΅ Π²ΠΏΠΈΡΠ°ΡΡ 1250 ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄ — ΡΠΊΠΎΡΠΎΡΡΠΈ 0.8Hz Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ
Π²Π°ΡΠΈΡΡ Π»ΡΠ±ΠΎΠΌΡ ΡΠΎΡΠΌΠΎΠ·Ρ. Π¨ΠΈΡΠΈΠ½Ρ ΠΈΠΌΠΏΡΠ»ΡΡΠΎΠ² ΡΠΌΠΎΡΡΠ΅Π» ΠΊΠ»ΠΎΠ½ΠΎΠΌ Saleae Logic.
ΠΡΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Arduino Uno βΊ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅. ΠΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΡΠ΄ΡΠΈΠ½ΠΎ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ².
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ ΠΡΠ΄ΡΠΈΠ½ΠΎ Π΄Π΅Π»ΡΡΡΡ Π½Π° Π΄Π²Π΅ Π³ΡΡΠΏΠΏΡ β ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅. ΠΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Arduino IDE Π² ΠΏΠ°ΠΏΠΊΠ΅ Program Files\Arduino\libraries ΠΈΠΌΠ΅Π΅ΡΡΡ Π½Π°Π±ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π΄Π»Ρ Π±Π°Π·ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π²ΠΈΠ΄ΠΎΠ², ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΠ»Π°ΡΡ ΠΈ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ²: ΡΠ΅ΡΠ²ΠΎΠΌΠΎΡΠΎΡΠΎΠ², ΡΠ°Π³ΠΎΠ²ΡΡ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Π΅ΠΉ, LCD-Π΄ΠΈΡΠΏΠ»Π΅Π΅Π² ΠΈ Ρ.Π΄. Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠΊΠ°ΡΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅ www.arduino.cc.
EEPROM β ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΡ Π² ΡΠ½Π΅ΡΠ³ΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΠΏΠ°ΠΌΡΡΡ (ΡΠΊΠ°ΡΠ°ΡΡ eeprom.h)
Ethernet β ΡΠ²ΡΠ·Ρ Ρ ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Ethernet Shield (ΡΠΊΠ°ΡΠ°ΡΡ ethernet.h)
Firmata β Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Arduino ΠΈ ΠΠ (ΡΠΊΠ°ΡΠ°ΡΡ firmata.h)
GSM β ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ ΠΏΠΎ GSM/GRPS ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ Π΄Π»Ρ GSM Shield (ΡΠΊΠ°ΡΠ°ΡΡ gsm.h)
LiquidCrystal β ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ LCD Π΄ΠΈΡΠΏΠ»Π΅Π΅ΠΌ (ΡΠΊΠ°ΡΠ°ΡΡ liquidcrystal.h)
SD β ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΡ Π² SD ΠΊΠ°ΡΡΡ (ΡΠΊΠ°ΡΠ°ΡΡ sd.h)
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΈ ΠΏΠ»Π°Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΡΠ΄ΡΠΈΠ½ΠΎ. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΡΠ΄ΡΠΈΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π° ΡΠ°ΠΉΡΠ΅ GitHub. ΠΡΠΎ ΡΠ΅ΡΠ²ΠΈΡ Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ IT-ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ»Π΅Π΄ΠΈΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠΉΡΠΈ ΡΡΠΎΠΊΠΈ ΠΡΠ΄ΡΠΈΠ½ΠΎ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ , Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ Π·Π°Π½ΡΡΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Arduino UNO ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ Π·Π΄Π΅ΡΡ:
TroykaCurrent β ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² ΠΠΌΠΏΠ΅ΡΡ (ΡΠΊΠ°ΡΠ°ΡΡ TroykaCurrent.h)
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Arduino IDE Ρ ΡΠ°Π½ΡΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Program Files\Arduino\libraries. ΠΡΠ»ΠΈ Π²Π°ΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π΄Π»Ρ ΠΡΠ΄ΡΠΈΠ½ΠΎ, ΡΠΎ Π°ΡΡ ΠΈΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ Π² ΡΡΠΎΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΈΠ»ΠΈ Π² ΠΏΠ°ΠΏΠΊΡ ΠΠΎΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ\Arduino\libraries. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈ ΡΠ΅ΡΠ΅Π· ΠΌΠ΅Π½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΡΠ΄ΡΠΈΠ½ΠΎ IDE. ΠΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΌΡ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π»ΠΈ (ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΊ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Π²ΡΡΠ΅).
Arduino IDE Π΄Π»Ρ ESP8266 ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΈΡΠ°ΡΡ ΡΠΊΠ΅ΡΡΠΈ ΠΈ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΊΠ»ΠΈΠΊΠΎΠΌ Π² ESP8266 Π² Π·Π½Π°ΠΊΠΎΠΌΠΎΠΉ ΡΡΠ΅Π΄Π΅ (Ρ Π±Ρ Π΄Π°ΠΆΠ΅ ΡΠΊΠ°Π·Π°Π» Β«Π΄ΠΎ Π±ΠΎΠ»ΠΈ Π·Π½Π°ΠΊΠΎΠΌΠΎΠΉΒ») Arduino IDE. ΠΠ»Ρ ΡΠ΅Ρ ΠΊΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Arduino IDE Π½Π΅ ΠΎΡΠ΅Π½Ρ ΠΏΠΎ Π΄ΡΡΠ΅, Π΅ΡΡΡΒ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠ»Π°Π³ΠΈΠ½Π° Π΄Π»Ρ Eclipse. ΠΡΠ°ΠΊ, ΠΎΠ±ΠΎ Π²ΡΠ΅ΠΌ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ. Π‘Π°ΠΌΡΠ΅ Π½Π΅ΡΠ΅ΡΠΏΠ΅Π»ΠΈΠ²ΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΡΠ°Π·Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ Arduino IDE Π΄Π»Ρ ESP8266: Π±ΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ
Arduino IDE Π΄Π»Ρ ESP8266 ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΈ ΠΏΡΠΎΡΠΈΠ²Π°ΡΡ ΠΈΡ Π² ESP8266 ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π²Ρ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΠ΅ Ρ Arduino. ΠΡΠΈ ΡΡΠΎΠΌ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΏΠ»Π°Ρ Arduino Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, ΡΡΠΎ Π½Π΅ ΡΠΎΡ ΡΠ»ΡΡΠ°ΠΉ, ΠΊΠΎΠ³Π΄Π° ESP8266 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ WiFi ΡΠΈΠ»Π΄Π° Π΄Π»Ρ Arduino. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅ Arduino Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Ρ ESP8266 ΠΏΠΎΡΠ»Π΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠΈ. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠΆΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π½ΠΎ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Ρ ESP8266, Π½ΠΎ ΠΎ Π½ΠΈΡ ΡΡΡΡ Π½ΠΈΠΆΠ΅.
Arduino IDE Π΄Π»Ρ ESP8266 ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ ΠΌΠΎΠ΄ΡΠ»ΠΈ ESP8266 (ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΈ ΠΎΡΠΎΠ±ΠΎ ΠΈ Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ), Π²ΠΊΠ»ΡΡΠ°Ρ ΠΌΠΎΠ΄ΡΠ»ΠΈ Ρ ΡΠ»Π΅Ρ Π±ΠΠ»ΡΡΠ΅Π³ΠΎ, ΡΠ΅ΠΌ 512k ΠΎΠ±ΡΠ΅ΠΌΠ°. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ NodeMCU (Π²ΡΠ΅Ρ Π²Π΅ΡΡΠΈΠΉ), Olimex-MOD-WiFi-ESP8266.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠ΅ΠΆΠΈΠΌ Π°Π²ΡΠΎΡΠ΅ΡΡΠ°ΡΡΠ° ΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΏΠΎ RTS+DTR, ΠΊΠ°ΠΊ Ρ ΠΎΠ±ΡΡΠ½ΠΎΠΉ Arduino, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ USB-TTL Π°Π΄Π°ΠΏΡΠ΅Ρ Ρ ΡΠ°Π·Π²Π΅Π΄Π΅Π½Π½ΡΠΌΠΈ ΠΏΠΈΠ½Π°ΠΌΠΈ DTR ΠΈ RTS. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΠΎΠ»ΡΠΊΠΎ RX, TX ΠΈ GND Π½Π° USB-TTL, ΡΠΎ ΠΏΡΠΈΠ΄Π΅ΡΡΡΒ ΠΏΠΎ-ΡΡΠ°ΡΠΈΠ½ΠΊΠ΅ Π²ΡΡΡΠ½ΡΡ ΠΏΡΠΈΡΡΠ³ΠΈΠ²Π°ΡΡ ΠΊ Π·Π΅ΠΌΠ»Π΅ GPIO0 ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π΅ΡΠ³ΠΈΠ²Π°ΡΡ ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ.
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ GPIO ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ pin Π΄Π»Ρ arduino: pinMode, digitalRead, digitalWrite, Β analogWrite ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ. GPIO Π½ΡΠΌΠ΅ΡΡΡΡΡΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΌΡ ΡΠΆΠ΅ ΠΏΡΠΈΠ²ΡΠΊΠ»ΠΈ: Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ GPIO2 Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ digitalRead(2)
GPIO0-GPIO15 ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ INPUT, OUTPUT, INPUT_PULLUP, ΠΈ INPUT_PULLDOWN. GPIO16 ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ INPUT, OUTPUT ΠΈΠ»ΠΈ INPUT_PULLDOWN. ΠΠΎΠΌΠ°Π½Π΄Π° analogRead(A0) ΡΡΠΈΡΡΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ADC (ΠΠ¦Π) Ρ TOUT.
ΠΠΎΠΌΠ°Π½Π΄Π° analogWrite(pin, value) Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ PWM (Π¨ΠΠ) Π½Π° ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ GPIO. ΠΠΎΠΌΠ°Π½Π΄Π° analogWrite(pin, 0) ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ PWM. value ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ 0 Π΄ΠΎ PWMRANGE. ΠΠΎΠ½ΡΡΠ°Π½ΡΠ° PWMRANGE Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠ°Π²Π½Π° 1023.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ attachInterrupt, detachInterrupt. ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π½Π° Π»ΡΠ±ΠΎΠΉ GPIO, ΠΊΡΠΎΠΌΠ΅ GPIO16. Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Arduino CHANGE, RISING, FALLING ΡΠΎΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ.
ESP8266 β ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΈΠ½ΠΎΠ²
Π€ΡΠ½ΠΊΡΠΈΠΈ millis ΠΈ micros Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Ρ ΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΠΏΡΠΎΡΠ΅Π΄ΡΠΈΠ΅ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΡΠ°ΡΡΠ° ΠΌΠΎΠ΄ΡΠ»Ρ. ΠΡΠ±ΠΈΠΌΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡ delay ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΈ ΠΏΡΠΈΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΊΠ΅ΡΡΠ° Π½Π° ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°Ρ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌ WiFi ΠΈ TCP/IP. Π€ΡΠ½ΠΊΡΠΈΡ delayMicroseconds ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°Π΄Π°Π΅ΡΡΡ Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄Π°Ρ .
ΠΠΎΠΌΠ½ΠΈΡΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ WiFi ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅, Π΅ΠΌΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΎΠ½ΠΎΠ²ΡΡ Π·Π°Π΄Π°Ρ, ΠΊΡΠΎΠΌΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΡΠΊΠ΅ΡΡΠ°. WiFi ΠΈ TCP/IP ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ SDK ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° Π²Π°ΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ loop() ΠΈΠ»ΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ delay(…). ΠΡΠ»ΠΈ Π² Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ Π΅ΡΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ 50 ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄, ΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΒ delay(…) Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΡΠ΅ΠΊΠ° WiFi.
Π’Π°ΠΊΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ yield(), ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Π° delay(0). Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΡΡΠ½ΠΊΡΠΈΡ delayMicroseconds Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΡ Π·Π°Π΄Π°Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ ΡΠ²ΡΡΠ΅ 20 ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ.
ΠΠ±ΡΠ΅ΠΊΡ Serial ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Ρ Arduino. ΠΠΎΠΌΠΈΠΌΠΎ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ FIFO (ΠΏΠΎ 128 Π±Π°ΠΉΡ Π΄Π»Ρ ΠΏΡΠΈΠ΅ΠΌΠ° ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ) ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ Π±ΡΡΠ΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ ΠΏΠΎ 256 Π±Π°ΠΉΡ Π΄Π»Ρ ΠΏΡΠΈΠ΅ΠΌΠ° ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ . ΠΡΠΈΠ΅ΠΌ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π°Π½Π½ΡΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡΠΌ, ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΡΠΊΠ΅ΡΡΠ°. Π€ΡΠ½ΠΊΡΠΈΠΈ Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΡΡΠ΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠΈΡΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΊΠ΅ΡΡΠ° ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ³Π΄Π° Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΉ FIFO ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ Π±ΡΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½ΡΡΡΡΡ.
Serial ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΉ UART0, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Π½Π° GPIO1(TX) ΠΈ GPIO3(RX). ΠΡΠΈ ΠΏΠΈΠ½Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π½Π° GPIO15 (TX) ΠΈ GPIO13 (RX) Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ Serial.swap(); ΠΏΠΎΡΠ»Π΅ Serial.begin();. ΠΠΎΠ²ΡΠΎΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² Serial.swap(); Π²Π΅ΡΠ½Π΅Ρ Π²ΡΠ΅ Π½Π° ΡΠ²ΠΎΠΈ ΠΌΠ΅ΡΡΠ°.
Serial1 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΉ UART1, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ. UART1 TX ΡΡΠΎ GPIO2. ΠΠ»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Serial1 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Serial1.begin();
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΎΡΠ»Π°Π΄ΠΎΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ WiFi Π²ΡΠΊΠ»ΡΡΠ°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π²ΡΠ·ΡΠ²Π°Π΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ Serial.begin();. ΠΠ»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π½Π° UART0 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Serial.setDebugOutput(true); ΠΠ»Ρ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄Π° ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π½Π° UART1 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Serial1.setDebugOutput(true);
Π Serial ΠΈ Serial1 ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ 5, 6, 7, 8 Π±ΠΈΡ Π΄Π°Π½Π½ΡΡ , odd (O), even (E), ΠΈ no (N) ΡΠ΅ΠΆΠΈΠΌΡ ΡΠ΅ΡΠ½ΠΎΡΡΠΈ, ΠΈ 1 ΠΈΠ»ΠΈ 2 ΡΡΠΎΠΏ Π±ΠΈΡΠ°. ΠΠ»Ρ Π²ΡΠ±ΠΎΡΠ° Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° Π²ΡΠ·ΡΠ²Π°ΠΉΡΠ΅ Serial.begin(baudrate, SERIAL_8N1); ΠΈΠ»ΠΈ Serial.begin(baudrate, SERIAL_6E2); ΠΈ Ρ.Π΄.
ΠΠ°ΠΊΡΠΎΡ PROGMEM ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ Π² Arduino, ΠΏΠΎΠΌΠ΅ΡΠ°Ρ read only Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ (Π»ΠΈΡΠ΅ΡΠ°Π»Ρ) Π²ΠΎ ΡΠ»Π΅Ρ ΠΏΠ°ΠΌΡΡΡ, Π²ΡΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Ρ HEAP. ΠΠ°ΠΆΠ½ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π² ESP8266 ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ Π»ΠΈΡΠ΅ΡΠ°Π»Ρ Π½Π΅ Ρ ΡΠ°Π½ΡΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ Π²Π½ΡΡΡΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ F(«») ΠΈ/ΠΈΠ»ΠΈ PSTR(«») ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ°ΡΡ ΠΎΠ΄ΠΎΠ²Π°Π½ΠΈΡ ΡΠ»Π΅Ρ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈΒ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ Π΄Π»Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΡ ΠΎΠ΄ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅ΡΡΠ° Π²ΠΎ ΡΠ»Π΅Ρ ΠΏΠ°ΠΌΡΡΠΈ.
Π€ΡΠ½ΠΊΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ WiFi ESP8266 ΠΎΡΠ΅Π½Ρ ΡΡ ΠΎΠΆΠΈ Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ WiFi ΡΠΈΠ»Π΄Π°.
Π‘ΠΏΠΈΡΠΎΠΊ ΠΎΡΠ»ΠΈΡΠΈΠΉ:
ΠΠ»Π°ΡΡ WiFiUDP ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΡΠΈΠ΅ΠΌ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ multicast ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. ΠΠ»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ multicast ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ udp.beginPacket(addr, port) ΡΡΠ½ΠΊΡΠΈΡ udp.beginPacketMulticast(addr, port, WiFi.localIP()). ΠΠΎΠ³Π΄Π° Π²Ρ ΠΎΠΆΠΈΠ΄Π°Π΅ΡΠ΅ multicast ΠΏΠ°ΠΊΠ΅ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ udp.begin(port) ΡΡΠ½ΠΊΡΠΈΡ udp.beginMulticast(WiFi.localIP(), multicast_ip_addr, port). ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ udp.destinationIP() Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΎΠ³ΠΎ, Π±ΡΠ» Π»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ Π½Π° multicast Π°Π΄ΡΠ΅Ρ ΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ°Π»ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Π°ΠΌ. Multicast ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠΎΡΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ°.
WiFiServer, WiFiClient, ΠΈ WiFiUDP ΡΠ°Π±ΠΎΡΠ°Ρ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ WiFi ΡΠΈΠ»Π΄Π°. Π§Π΅ΡΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΈΠ΄Π΅Ρ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ΅ Ρ ΡΡΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Ticker ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ ΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ ΡΠ΅ΡΠ΅Π· ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ. ΠΠ²Π° ΠΏΡΠΈΠΌΠ΅ΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π² ΠΏΠΎΡΡΠ°Π²ΠΊΡ.
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° (ΡΠ΅ΡΡ, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΡΡ, ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ) Π² callback ΡΡΠ½ΠΊΡΠΈΡΡ ΡΠΈΠΊΠ΅ΡΠ°. ΠΠΌΠ΅ΡΡΠΎ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΠΉΡΠ΅ ΡΠ»Π°Π³ Π² callback ΡΡΠ½ΠΊΡΠΈΡΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠΉΡΠ΅ ΡΡΠΎΡ ΡΠ»Π°Π³ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠΈΠΊΠ»Π΅.
ΠΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Arduino EEPROM. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ EEPROM.begin(size) ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ ΡΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΠΈ, ΡΠ°Π·ΠΌΠ΅Ρ (ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π² Π±Π°ΠΉΡΠ°Ρ ) ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π½Π°ΠΌΠ΅ΡΠ΅Π²Π°Π΅ΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² EEPROM. Π Π°Π·ΠΌΠ΅Ρ Π΄Π°Π½Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ 4 Π΄ΠΎ 4096 Π±Π°ΠΉΡ.
Π€ΡΠ½ΠΊΡΠΈΡ EEPROM.write Π½Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ Π·Π°ΠΏΠΈΡΡ Π΄Π°Π½Π½ΡΡ Π²ΠΎ ΡΠ»Π΅Ρ ΠΏΠ°ΠΌΡΡΡ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ EEPROM.commit() ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΏΠ°ΠΌΡΡΡ. Π€ΡΠ½ΠΊΡΠΈΡ EEPROM.end() ΡΠΎΠΆΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ Π·Π°ΠΏΠΈΡΡ Π΄Π°Π½Π½ΡΡ , Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΎΡ Π΄Π°Π½Π½ΡΡ , Π·Π°ΠΏΠΈΡΡ ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π°. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° EEPROM ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ΅ΠΊΡΠΎΡ Π²ΠΎ ΡΠ»Π΅Ρ ΠΏΠ°ΠΌΡΡΠΈ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π°Π΄ΡΠ΅ΡΠ° 0x7b000 Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ . Π ΠΏΠΎΡΡΠ°Π²ΠΊΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ ΡΡΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ°Π±ΠΎΡΡ Ρ EEPROM.
Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΆΠΈΠΌ Π²Π΅Π΄ΡΡΠ΅Π³ΠΎ, ΡΠ°ΡΡΠΎΡΠ° ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²ΠΎΡΠ½ΠΎ Π΄ΠΎ 450 ΠΊΠΡ. ΠΠ΅ΡΠ΅Π΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΠ½Ρ I2C, Π½ΡΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΠΈΠ½Ρ SDA ΠΈ SCL ΠΏΡΡΠ΅ΠΌ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ Wire.pins(int sda, int scl), Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Wire.pins(0, 2) Π΄Π»Ρ ΠΌΠΎΠ΄ΡΠ»Ρ ESP-01. ΠΠ»Ρ Π΄ΡΡΠ³ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΏΠΈΠ½Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 4(SDA) ΠΈ 5(SCL).
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° SPI ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π²Π΅ΡΡ Arduino SPI API, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΠ°Π·Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ (CPHA). Clock polarity (CPOL) ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ (SPI_MODE2 ΠΈ SPI_MODE3 Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ).
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ Π΄Π»Ρ ESP8266 (ΡΠ΅ΠΆΠΈΠΌ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ³ΠΎ ΡΠ½Π° ΠΈ ΡΡΠΎΡΠΎΠΆΠ΅Π²ΠΎΠΉ ΡΠ°ΠΉΠΌΠ΅Ρ), ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ ESP. Π€ΡΠ½ΠΊΡΠΈΡ ESP.deepSleep(microseconds, mode) ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π² ΡΠ΅ΠΆΠΈΠΌ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ³ΠΎ ΡΠ½Π°. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ mode ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ: WAKE_DEFAULT, WAKE_RFCAL, WAKE_NO_RFCAL, WAKE_RF_DISABLED. GPIO16 Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ Ρ RESET Π΄Π»Ρ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΡΠ΅ΠΆΠΈΠΌΠ° Π³Π»ΡΠ±ΠΎΠΊΠΎΠ³ΠΎ ΡΠ½Π°.
Π€ΡΠ½ΠΊΡΠΈΠΈ ESP.wdtEnable(), ESP.wdtDisable(), ΠΈ ESP.wdtFeed() ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΡΠΎΡΠΎΠΆΠ΅Π²ΡΠΌ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠΌ.
ESP.reset() ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΠΌΠΎΠ΄ΡΠ»Ρ
ESP.getFreeHeap() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ
ESP.getFreeHeap() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ
ESP.getChipId() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ESP8266 chip IDE, int 32bit
ESP.getFlashChipId() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ flash chip ID, int 32bit
ESP.getFlashChipSize() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ»Π΅Ρ ΠΏΠ°ΠΌΡΡΠΈ Π² Π±Π°ΠΉΡΠ°Ρ , ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ SDK (ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°).
ESP.getFlashChipSpeed(void) Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°ΡΡΠΎΡΡ ΡΠ»Π΅Ρ ΠΏΠ°ΠΌΡΡΠΈ, Π² ΠΡ.
ESP.getCycleCount() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΊΠ»ΠΎΠ² CPU Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΡΠ°ΡΡΠ°, unsigned 32-bit. ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½Π° Π΄Π»Ρ ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠΌΠΈΠ½Π³Π° ΠΎΡΠ΅Π½Ρ ΠΊΠΎΡΠΎΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° OneWire Π±ΡΠ»Π° Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π½Π° Π΄Π»Ρ ESP8266 (Π²Π½Π΅ΡΠ΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² OneWire.h) ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° OneWire Π² ΠΏΠ°ΠΏΠΊΡ Arduino/libraries, ΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½Π°, Π° Π½Π΅ ΠΈΠ· ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ° ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π² Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΎΡΠ²Π΅Ρ Π½Π° ΠΌΡΠ»ΡΡΠΈΠΊΠ°ΡΡΠΎΠ²ΡΠ΅ DNS Π·Π°ΠΏΡΠΎΡΡ Π΄Π»Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π·ΠΎΠ½Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Β«esp8266.localΒ». Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° Π·ΠΎΠ½Π°. ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ WEB ΡΠ΅ΡΠ²Π΅ΡΡ ESP8266 ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ, Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ IP Π°Π΄ΡΠ΅ΡΡ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ Π² ΠΏΡΠΈΠ»Π°Π³Π°Π΅ΠΌΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈ Π² ΡΠ°ΠΉΠ»Π΅ readme Π΄Π°Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ΅ΡΠ²ΠΎΠΌΠΎΡΠΎΡΠ°ΠΌΠΈ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π΄ΠΎ 24 ΡΠ΅ΡΠ²ΠΎΠΏΡΠΈΠ²ΠΎΠ΄ΠΎΠ² Π½Π° Π»ΡΠ±ΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ GPIO. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΡΠ΅ 12 ΡΠ΅ΡΠ²ΠΎΠΏΡΠΈΠ²ΠΎΠ΄ΠΎΠ² Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Timer0 ΠΈ Π±ΡΠ΄ΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡ ΠΎΡ Π»ΡΠ±ΡΡ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ 12 ΡΠ΅ΡΠ²ΠΎΠΏΡΠΈΠ²ΠΎΠ΄ΠΎΠ² Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Timer1 ΠΈ Π±ΡΠ΄ΡΡ ΡΠ°Π·Π΄Π΅Π»ΡΡΡ ΡΠ΅ΡΡΡΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΌΠΈ Timer1. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ΅ΡΠ²ΠΎΠΏΡΠΈΠ²ΠΎΠ΄ΠΎΠ² Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠΌ ΡΠΈΠ³Π½Π°Π»ΠΎΠΌ ESP8266 3,3Π², Π½ΠΎ Π½Π΅ ΡΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠΈ 3,3Π² ΠΈ ΠΏΠΎΡΡΠ΅Π±ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΏΠΈΡΠ°Π½ΠΈΡ. ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΎΠ±ΡΠΈΠΉ ΠΏΡΠΎΠ²ΠΎΠ΄ GND ΡΡΠΎΠ³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° Ρ GND ESP8266
ΠΠΎΡΡΠΈ Π²ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅Π³ΠΈΡΡΡΠ°ΠΌ ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° AVR Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ Π΄ΠΎΡΠ°Π±ΠΎΡΠΎΠΊ. ΠΠ° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½Ρ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ:
ΠΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ESP8266 Π΄Π»Ρ Arduino IDE
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ESP8266 | ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ | USB-TTL |
---|---|---|
VCC | ESP8266 ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΠΉΡΠ΅ ΠΊ Π²Π½Π΅ΡΠ½Π΅ΠΌΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΡ ΠΏΠΈΡΠ°Π½ΠΈΡ >300ΠΌΠ, 3,3V | |
GND | Π²ΡΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ GND Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Ρ Π²ΠΌΠ΅ΡΡΠ΅: ESP8266, USB-TTL ΠΈ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΠΏΠΈΡΠ°Π½ΠΈΡ | GND |
TX (UTXD) | RX | |
RX (URXD) | TX | |
GPIO0 | ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°ΡΡΠΈΠΉ ΠΊ ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ΅Π·ΠΈΡΡΠΎΡ 10k | DTR (Π΅ΡΠ»ΠΈ Π½Π° Π²Π°ΡΠ΅ΠΌ USB-TTL Π½Π΅ ΡΠ°Π·Π²Π΅Π΄Π΅Π½ ΠΏΠΈΠ½ DTR, ΡΠΎ Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π²ΡΡΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡ GPIO0 Π½Π° Π·Π΅ΠΌΠ»Ρ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ESP8266 Π² ΡΠ΅ΠΆΠΈΠΌ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ) |
RESET (RSBT, REST) | ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°ΡΡΠΈΠΉ ΠΊ ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ΅Π·ΠΈΡΡΠΎΡ 10k, ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ RESET ΠΈ GND Π΄Π»Ρ ΡΡΡΠ½ΠΎΠ³ΠΎ ΡΠ±ΡΠΎΡΠ° ΠΌΠΎΠ΄ΡΠ»Ρ | RTS (Π΅ΡΠ»ΠΈ Π½Π° Π²Π°ΡΠ΅ΠΌ USB-TTL Π½Π΅ ΡΠ°Π·Π²Π΅Π΄Π΅Π½ ΠΏΠΈΠ½ RTS, ΡΠΎ Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π²ΡΡΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ ) |
CH_PD (CH_EN) | ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°ΡΡΠΈΠΉ ΠΊ ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ΅Π·ΠΈΡΡΠΎΡ 10k | |
GPIO15 (MTDO) | ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°ΡΡΠΈΠΉ ΠΊ Π·Π΅ΠΌΠ»Π΅ ΡΠ΅Π·ΠΈΡΡΠΎΡ 10k (Π΄Π»Ρ ΡΠ΅Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, Π³Π΄Π΅ Π²ΡΠ²Π΅Π΄Π΅Π½ ΠΏΠΈΠ½ GPIO15) | |
GPIO2 | ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°ΡΡΠΈΠΉ ΠΊ ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ΅Π·ΠΈΡΡΠΎΡ 10k (Π½Π° ΡΡ Π΅ΠΌΠ΅ Π½Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½, Π½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ) | |
GPIO16 | Π΄Π»Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΡΠ΅ΠΆΠΈΠΌΠ° Deep Sleep Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΏΠΈΠ½Ρ ESP8266 GPIO16 ΠΈ RESET ΡΠ΅ΡΠ΅Π· ΡΠ΅Π·ΠΈΡΡΠΎΡ 470 ΠΠΌ (Π½Π° ΡΡ Π΅ΠΌΠ΅ Π½Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½) |
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ.
1. ΠΠ΅ Π½Π° Π²ΡΠ΅Ρ ΠΌΠΎΠ΄ΡΠ»ΡΡ Π²ΡΠ²Π΅Π΄Π΅Π½Ρ Π²ΡΠ΅ ΠΏΠΈΠ½Ρ. ΠΠ΅ΡΠ΅Π΄ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ Π²ΠΈΠ΄Π°ΠΌΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΈ ΠΈΡ ΡΠ°ΡΠΏΠΈΠ½ΠΎΠ²ΠΊΠΎΠΉ.
2. ΠΡΠ»ΠΈ Π½Π° Π²Π°ΡΠ΅ΠΌ USB-TTL ΠΊΠΎΠ½Π²Π΅ΡΡΠ΅ΡΠ΅ Π²ΡΠ²Π΅Π΄Π΅Π½Ρ ΠΏΠΈΠ½Ρ CTS ΠΈ DSR β Π΄Π»Ρ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΎΠ½ΠΈ Π²Π°ΠΌ Π½Π΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ, Ρ.ΠΊ. ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π²Ρ ΠΎΠ΄.
3.Β ΠΠ»Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ESP8266 ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΈΡΠ°Π½ΠΈΡ 3,3 Π²ΠΎΠ»ΡΡ, ΡΠΎΠΊ Π±ΠΎΠ»Π΅Π΅ 250 ΠΌΠΈΠ»Π»ΠΈΠ°ΠΌΠΏΠ΅Ρ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΎΡ USB-TTL ΠΊΠΎΠ½Π²Π΅ΡΡΠ΅ΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π½Π΅ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ Π² ΡΠ°Π±ΠΎΡΠ΅.
ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ESP8266
ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ESP8266 (ΠΏΠΎΠ²ΡΡΠ΅Π½Π½Π°Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ)
ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ, ΡΠΎ Π²ΡΠ΅ΠΌΠΈ Π΄Π΅ΡΠ°Π»ΡΠΌΠΈ, ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ESP8266 Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π² Π½Π°ΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅Β ESP8266 β ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ
1. ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ USB-TTL ΠΊ USB
2. ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ESP8266 ΠΊ USB-TTL ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ. ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ»ΠΈ ESP8266 ΠΏΠΎ ΡΡ Π΅ΠΌΠ΅ Π±Π΅Π· ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ (Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Ρ DTR ΠΈ RTS), ΡΠΎ Π²ΡΡΡΠ½ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅ GPIO0 Ρ Π·Π΅ΠΌΠ»Π΅ΠΉ, ΠΏΠ΅ΡΠ΅Π΄Π΅ΡΠ½ΠΈΡΠ΅ ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ β Π²ΡΠ΅ Π³ΠΎΡΠΎΠ²ΠΎΒ Π΄Π»ΡΒ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ
3. ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ Arduino IDE
4. Π ΠΌΠ΅Π½Ρ ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ β ΠΠ»Π°ΡΠ° β Generic ESP8266 board (Π² ΡΠ°ΠΌΠΎΠΌ Π½ΠΈΠ·Ρ)
5. Π ΠΌΠ΅Π½Ρ ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΠΎΡΡ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ Π½Π°Ρ USB-TTL
6. Π ΠΌΠ΅Π½Ρ ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ βΒ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΠ΅ ΡΠ°ΡΡΠΎΡΡ, ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ»Π΅Ρ ΠΏΠ°ΠΌΡΡΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ
7. Π ΠΌΠ΅Π½Ρ Π€Π°ΠΉΠ» β ΠΡΠΈΠΌΠ΅ΡΡ (ΠΠ±ΡΠ°Π·ΡΡ) β ESP8266WiFi β WiFiWebServer
8. Π ΡΠΊΠ΅ΡΡΠ΅Β Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ SSID ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ Π²Π°ΡΠ΅ΠΉ WiFi ΡΠ΅ΡΠΈ
9. ΠΠΌΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠΊΠ΅ΡΡΠ°
10. ΠΠ΄Π΅ΠΌ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°Β ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ. ΠΠΎΡΠ»Π΅ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ, Π΅ΡΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΏΠΎ ΡΡ Π΅ΠΌΠ΅ Π±Π΅Π· ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π°Π²ΡΠΎΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ, ΠΎΡΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅ GPIO0 ΠΎΡ Π·Π΅ΠΌΠ»ΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π΅ΡΠ½ΠΈΡΠ΅ ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ Π±Π΅Π· ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ USB-TTL ΠΎΡ ΠΏΠΈΡΠ°Π½ΠΈΡ
11. Π ΠΌΠ΅Π½Ρ ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ β ΠΠΎΠ½ΠΈΡΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°
12. ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ ΡΠΊΠΎΡΠΎΡΡΡ 115200
13. Π‘ΠΌΠΎΡΡΠΈΠΌ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅
14. ΠΠΎΠ³Π΄Π° ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡ ΠΊ ΡΠ΅ΡΠΈ, ΡΠΎ ΠΏΠΎΡΠ²ΡΡΡΡ Π½Π°Π΄ΠΏΠΈΡΠΈ Π² ΠΌΠΎΠ½ΠΈΡΠΎΡΠ΅ Β«WiFi connectedΒ» ΠΈ Β«Server startedΒ»
15. ΠΠΈΠΆΠ΅ Π±ΡΠ΄Π΅Ρ IP Π°Π΄ΡΠ΅Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ ESP8266, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ 192.168.1.248
16. ΠΡΠΊΡΡΠ²Π°Π΅ΡΠ΅ Π»ΡΠ±ΠΎΠΉ Π±ΡΠ°ΡΠ·Π΅Ρ, Π² ΡΡΡΠΎΠΊΠ΅ Π°Π΄ΡΠ΅ΡΠ° Π²Π±ΠΈΠ²Π°Π΅ΡΠ΅ Β«http://192.168.1.248/gpio/1Β»
17. Π‘ΠΌΠΎΡΡΠΈΡΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΡΡΠ° ΠΈ Π΅ΡΠ»ΠΈ ΠΊ ESP8266 ΠΊ GPIO2 Ρ Π²Π°Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ (ΡΠ΅ΡΠ΅Π· ΡΠ΅Π·ΠΈΡΡΠΎΡ, ΡΠ°Π·ΡΠΌΠ΅Π΅ΡΡΡ), ΡΠΎ ΠΎΠ½ Π²ΠΊΠ»ΡΡΠΈΡΡΡ.
18. Profit!
ΠΠ²ΡΠΎΡΠΎΠΌ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π°Π΄Π°ΠΏΡΠ°ΡΠΈΠΈ Arduino IDE Π΄Π»Ρ ESP8266 ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°Ρ ΡΠΎΠΎΡΠ΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΈΠΊ ΠΈΠ· Π‘Π°Π½ΠΊΡ-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³Π° ΠΠ²Π°Π½ ΠΡΠΎΡ ΠΎΡΠΊΠΎΠ².
Π‘ΠΊΠ°ΡΠ°ΡΡ Arduino IDE Π΄Π»Ρ ESP8266 Ρ github
Π‘ΠΊΠ°ΡΠ°ΡΡ Arduino IDE Π΄Π»Ρ ESP8266 Ρ build ΡΠ΅ΡΠ²Π΅ΡΠ°
Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄Β Arduino IDE Π΄Π»Ρ ESP8266
ΠΠ°Π΄Π°ΡΡ Π²ΠΎΠΏΡΠΎΡΡ Π°Π²ΡΠΎΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΠ²Π°Π½Ρ ΠΡΠΎΡ ΠΎΡΠΊΠΎΠ²Ρ akaΒ igrr ΠΈΠ»ΠΈ ΡΠΎΠΎΠ±ΡΠΈΡΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π²Β Arduino IDE Π΄Π»Ρ ESP8266 ΠΌΠΎΠΆΠ½ΠΎ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠΎΡΡΠΌΠ΅.
Β Β ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²
Β
OWISWBitFunction.h
OWISWBitFunction.c
OWIUARTBitFunction.c
Β
OWIHighLevelFunction.h
OWIHighLevelFunction.c
Β
OWIPolled.h
compilers.h
Β
OWIdefs.h
OWIdevicespecific.h
OWIcrc.h
OWIcrc.c
ΠΡΠΎΡΠ΅ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ 1-Wire Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ: — ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ»Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π² ΠΏΠ°ΠΏΠΊΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°— ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΠΈΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΡ
OWIHighFunction.c
OWISWBitFunction.c
OWIUARTBitFunction.c
— Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² main.c
#include «OWIPolled.h»
#include «OWIHighLevelFunctions.h»
#include «OWIBitFunctions.h»
#include «common_files\OWIcrc.h» — Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ» OWIPolled.h— Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ OneWire ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° β ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡΒ
Β Β Β Β #define Β Β OWI_SOFTWARE_DRIVER Β Β
Β Β Β Β //#define Β Β OWI_UART_DRIVER— Π·Π°Π΄Π°Π΅ΠΌ ΡΠ°ΠΊΡΠΎΠ²ΡΡ ΡΠ°ΡΡΠΎΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°
Β Β Β Β #define Β Β CPU_FREQUENCY Β 16.000—Β Π·Π°Π΄Π°Π΅ΠΌ ΠΏΠΎΡΡ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π° OneWire ΡΠΈΠ½Π°
Β Β Β Β #define Β Β OWI_PORT Β Β Β PORTD Β //!< 1-Wire PORT Data register.
Β Β Β Β #define Β Β OWI_PIN Β Β Β Β PIND Β Β //!< 1-Wire Input pin register.
Β Β Β Β #define Β Β OWI_DDR Β Β Β Β DDRD Β Β //!< 1-Wire Data direction register.— Π² main.c Π·Π°Π΄Π°Π΅ΠΌ Π²ΡΠ²ΠΎΠ΄, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π° OneWire ΡΠΈΠ½Π°
Β Β Β Β #define BUS Β OWI_PIN_7
Β
ΠΠ»Ρ GCC ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π² makefile Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²ΡΠ΅ ΡΠΈΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ.Β
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊ:
Β
SRC = $(TARGET).c bcd.c lcd_lib.c OWISWBitFunctions.c OWIHighLevelFunctions.c OWIUARTBitFunctions.c Β common_files/OWIcrc.c
Application note AVR318: Dallas 1-WireΠΡΠΎΠ΅ΠΊΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ»ΠΈΡΡ Π² ΠΆΠ΅Π»Π΅Π·Π΅ ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π½Π°ΡΠ΅ΠΊΠ°Π½ΠΈΠΉ Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π»ΠΈ. Π Proteus`Π΅ Ρ ΠΈΡ ΡΠΎΠΆΠ΅ Π·Π°ΠΏΡΡΡΠΈΠ», Π½ΠΎ Π½Π΅ ΡΡΠ°Π·Ρ. ΠΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π°ΡΡΠΈΠΊΠ°ΠΌ DS18B20 ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ Π°Π΄ΡΠ΅ΡΠ°. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π΄Π°ΡΡΠΈΠΊΠΎΠ² Π°Π΄ΡΠ΅ΡΠ° Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΏΡΠ°Π²ΠΈΡΡ ΡΡΡΠΊΠ°ΠΌΠΈ.
ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π±ΡΠ΄Π΅Ρ ΡΠΆΠ΅ Π² Π½ΠΎΠ²ΠΎΠΌ Π³ΠΎΠ΄Ρ…