Π€ΡΠ½ΠΊΡΠΈΡ pgm_read_word ΡΠΈΡΠ°Π΅Ρ ΠΈΠ· ΡΠ»Π΅Ρ-ΠΏΠ°ΠΌΡΡΠΈ ΡΠ»ΠΎΠ²ΠΎ (2 Π±Π°ΠΉΡΠ°). Π Π±ΠΈΠ±Π»ΠΈΠΎΒΡΠ΅ΠΊΠ΅ ΠΈΠΌΠ΅ΡΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ pgm_read_byte ΠΈ pgm_read_dword, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠΈΠ΅ 1 ΠΈ 4 Π±Π°ΠΉΡΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ SD-ΠΊΠ°ΡΡΡ
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ ΡΡΠΎ ΡΠ°ΠΌΠΈ ΠΏΠ»Π°ΡΡ Arduino Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΡΠ»ΠΎΡΠ° Π΄Π»Ρ SD-ΠΊΠ°ΡΡ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ»Π°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ, Π²ΠΊΠ»ΡΡΠ°Ρ Ethernet ΠΈ MP3 (ΡΠΈΡ. 6.6), ΠΈΠΌΠ΅ΡΡ ΡΠ»ΠΎΡΡ Π΄Π»Ρ ΠΊΠ°ΡΡ SD ΠΈΠ»ΠΈ microSD.
ΠΠ»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΡΡ SD ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ SPI (ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΡΡΡ Π² Π³Π»Π°Π²Π΅ 9). Π ΡΡΠ°ΡΡΡΡ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΡΡΡ SD Ρ ΠΏΠ»Π°ΡΠΎΠΉ Arduino, Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΈΡΠ°ΡΡ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ SPI, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π² ΡΠΎΡΡΠ°Π² Arduino IDE Π²Ρ ΠΎΠ΄ΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Ρ ΠΏΡΠΎΡΡΡΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ SD.

Π ΠΈΡ. 6.6. ΠΠ»Π°ΡΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ MP3 ΡΠΎ ΡΠ»ΠΎΡΠΎΠΌ Π΄Π»Ρ ΠΊΠ°ΡΡΡ microSD

Π ΠΈΡ. 6.7. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ° Cardinfo
ΠΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΠΊΠ΅ΡΡΠ΅ΠΉ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΡ ΡΠ°Π·Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΊΠ°ΡΡΠΎΠΉ SD, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΠΎΠΈΡΠΊ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΊΠ°ΡΡΠ΅ SD ΠΈ Π΅Π΅ Π²ΡΠ²ΠΎΠ΄ Π² ΠΌΠΎΠ½ΠΈΡΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ° (ΡΠΈΡ. 6.7).
ΠΠ°ΠΏΠΈΡΡ Π½Π° ΠΊΠ°ΡΡΡ SD Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ ΠΊΠΎΠ΄Π°:
File dataFile = SD.open("datalog.txt", FILE_WRITE);
// ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ» ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, Π·Π°ΠΏΠΈΡΠ°ΡΡ Π² Π½Π΅Π³ΠΎ
if(dataFile) {
Β Β dataFile.println(dataString);
Β Β dataFile.close();
Β Β // Π²ΡΠ²Π΅ΡΡΠΈ ΡΠ°ΠΊΠΆΠ΅ Π² ΠΌΠΎΠ½ΠΈΡΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°
Β Β Serial.println(dataString);
}
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ Π²Ρ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΠΈΡΡ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ Π°ΡΠΏΠ΅ΠΊΡΠ°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² Arduino. Π ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π³Π»Π°Π²Π°Ρ ΠΌΡ Π·Π°ΠΉΠΌΠ΅ΠΌΡΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΈΠ΅ΠΌΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Π² Arduino, Π½Π°ΡΠ°Π² Ρ ΡΠΈΠ½Ρ I2C.
7. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ I2C
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ½Π°Ρ ΡΠΈΠ½Π° I2C (ΠΏΡΠΎΠΈΠ·Π½ΠΎΡΠΈΡΡΡ Β«ΠΈ ΠΊΠ²Π°Π΄ΡΠ°Ρ ΡΠΈΒ») β ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΊ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°ΠΌ. ΠΠ½ΠΎΠ³Π΄Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ I2C Π½Π°Π·ΡΠ²Π°ΡΡ Π΄Π²ΡΡ ΠΏΡΠΎΠ²ΠΎΠ΄Π½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ (Two Wire Interface, TWI). ΠΡΠ΅ ΠΏΠ»Π°ΡΡ Arduino ΠΈΠΌΠ΅ΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ I2C, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΡΠΈΡΠΎΠΊΠΈΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ². ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π½Π° ΡΠΈΡ. 7.1.
ΠΡΠ΅ ΡΡΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π² Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΡΠ΄Ρ Π½Π° ΡΠΈΡ. 7.1 ΡΠ²Π»ΡΡΡΡΡ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π²ΡΠΏΡΡΠΊΠ°Π΅ΠΌΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Adafruit. Π Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΡΠ΄Ρ ΡΠ»Π΅Π²Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π£ΠΠ-ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ° TEA5767. ΠΡΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΡΠΈ Π½Π° ΡΠ°ΠΉΡΠ΅ eBay ΠΈΠ»ΠΈ Π³Π΄Π΅-ΡΠΎ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ Π·Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΠ»Π»Π°ΡΠΎΠ². ΠΡΠΈΠΎΠ±ΡΠ΅ΡΠ°Ρ ΠΌΠΎΠ΄ΡΠ»Ρ TEA5767, Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΉ ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊ Π£ΠΠ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠ°ΡΡΠΎΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ I2C. Π ΡΠ΅Π½ΡΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ°ΡΠΎΠ² ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ (Real-Time Clock, RTC), Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠΉ ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌΡ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΠΈΠ½Ρ I2C ΠΈ ΠΊΠ²Π°ΡΡΠ΅Π²ΡΠΉ ΡΠ΅Π·ΠΎΠ½Π°ΡΠΎΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠΉ Π²ΡΡΠΎΠΊΡΡ ΡΠΎΡΠ½ΠΎΡΡΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΠ² ΡΠ΅ΠΊΡΡΠΈΠ΅ Π²ΡΠ΅ΠΌΡ ΠΈ Π΄Π°ΡΡ ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ I2C, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΠ΅ΠΊΡΡΠΈΠ΅ Π²ΡΠ΅ΠΌΡ ΠΈ Π΄Π°ΡΡ ΡΠ΅ΡΠ΅Π· ΡΠΎΡ ΠΆΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ I2C. ΠΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ°ΠΊΠΆΠ΅ Π»ΠΈΡΠΈΠ΅Π²ΡΡ Π±Π°ΡΠ°ΡΠ΅ΠΉΠΊΡ Ρ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΡΠΎΠΊΠΎΠΌ ΡΠ»ΡΠΆΠ±Ρ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΡΡ ΡΠ°Π±ΠΎΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π°ΠΆΠ΅ Π² ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΡΠ»Π΅ΠΊΡΡΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΎΡ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΠΏΡΠ°Π²Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ 16-ΠΊΠ°Π½Π°Π»ΡΠ½ΡΠΉ Π¨ΠΠ/ΡΠ΅ΡΠ²ΠΎΠΏΡΠΈΠ²ΠΎΠ΄, Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΠΈΠΉ ΠΊ Π²Π°ΡΠ΅ΠΉ ΠΏΠ»Π°ΡΠ΅ Arduino 16 Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΡ Π²ΡΡ ΠΎΠ΄ΠΎΠ².

Π ΠΈΡ. 7.1. Π£ΡΡΡΠΎΠΉΡΡΠ²Π° Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ I2C
Π‘ΡΠ°Π½Π΄Π°ΡΡ I2C ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΡΡΠ°Π½Π΄Π°ΡΡ ΡΠΈΠ½Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΡΡΡΠΎΠΉΡΡΠ² Π΄ΡΡΠ³ ΠΊ Π΄ΡΡΠ³Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠΆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ»ΠΈ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ ΠΊ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ, ΠΊ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΠ°ΡΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² Π½Π° Β«Π²Π΅Π΄ΡΡΠ΅ΠΌΒ» ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΡΠ΅Π»ΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Β«Π²Π΅Π΄ΠΎΠΌΡΡ Β» ΡΡΡΡΠΎΠΉΡΡΠ². ΠΠ»Π°ΡΠ° Arduino Π²ΡΡΡΡΠΏΠ°Π΅Ρ Π² ΡΠΎΠ»ΠΈ Β«Π²Π΅Π΄ΡΡΠ΅Π³ΠΎΒ» ΡΡΡΡΠΎΠΉΡΡΠ²Π°, Π° Π²ΡΠ΅ Β«Π²Π΅Π΄ΠΎΠΌΡΠ΅Β» ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈΠΌΠ΅ΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ Π°Π΄ΡΠ΅ΡΠ°, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΡΡΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π½Π° ΡΠΈΠ½Π΅.
ΠΠ° ΡΠΈΡ. 7.2 ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°Ρ ΡΡ Π΅ΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΠΏΠ»Π°ΡΠ΅ Arduino Π΄Π²ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² I2C: ΡΠ°ΡΠΎΠ² ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄ΠΈΡΠΏΠ»Π΅Ρ.
Π§Π΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ I2C ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π΄Π²Π΅ ΠΏΠ»Π°ΡΡ Arduino ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ΄Π½Π° ΠΈΠ· ΠΏΠ»Π°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π½Π°ΡΡΡΠΎΠ΅Π½Π° ΠΊΠ°ΠΊ Π²Π΅Π΄ΡΡΠ΅Π΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ, Π° Π΄ΡΡΠ³Π°Ρ β ΠΊΠ°ΠΊ Π²Π΅Π΄ΠΎΠΌΠΎΠ΅.

Π ΠΈΡ. 7.2. Arduino ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π²ΡΠΌΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ I2C
ΠΠΏΠΏΠ°ΡΠ°ΡΠ½Π°Ρ ΡΠ°ΡΡΡ I2C
ΠΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΈ Π»ΠΈΠ½ΠΈΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° I2C ΠΌΠΎΠ³ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΡΠΈΡΡΠΎΠ²ΡΠΌ Π²ΡΡ ΠΎΠ΄Π°ΠΌ ΠΈΠ»ΠΈ Π²Ρ ΠΎΠ΄Π°ΠΌ (ΠΈΡ ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡ Π²ΡΠ²ΠΎΠ΄Π°ΠΌΠΈ Ρ ΡΡΠ΅ΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡΠΌΠΈ). Π ΡΡΠ΅ΡΡΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π»ΠΈΠ½ΠΈΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π½Π΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π½ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ, HIGH ΠΈΠ»ΠΈ LOW, Π° ΠΈΠΌΠ΅ΡΡ ΠΏΠ»Π°Π²Π°ΡΡΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π²ΡΡ ΠΎΠ΄Ρ ΡΠ²Π»ΡΡΡΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΎΡΠΎΠΌ, ΡΠΎ Π΅ΡΡΡ ΠΎΠ½ΠΈ ΡΡΠ΅Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ ΡΠΎΠΏΡΠΎΡΠΈΠ²Π»Π΅Π½ΠΈΡ. ΠΡΠΈ ΡΠΎΠΏΡΠΎΡΠΈΠ²Π»Π΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ Π½ΠΎΠΌΠΈΠ½Π°Π» 4,7 ΠΊΠΠΌ, ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° ΠΏΠ°ΡΠ° ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² Π½Π° Π²ΡΠ΅ΠΉ ΡΠΈΠ½Π΅ I2C Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°ΡΡΠ΅Π΅ ΡΠΎΠΏΡΠΎΡΠΈΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊ ΡΠΈΠ½Π΅ ΠΏΠΈΡΠ°Π½ΠΈΡ 3,3 Π ΠΈΠ»ΠΈ 5 Π Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΡΠΎΠ²Π½Ρ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΡΠΈΠ½Π°. ΠΡΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π½Π° ΡΠΈΠ½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π΄ΡΡΠ³ΠΎΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΈΡΠ°Π½ΠΈΡ, Π΄Π»Ρ Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΡΠΎΠ²Π½Ρ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ. ΠΠ»Ρ ΡΠΈΠ½Ρ I2C ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π΄Π²ΡΠ½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ BSS138, Π²ΡΠΏΡΡΠΊΠ°Π΅ΠΌΡΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Adafruit (www.adafruit.com/products/757).
ΠΠ° ΡΠ°Π·Π½ΡΡ ΠΌΠΎΠ΄Π΅Π»ΡΡ Arduino ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ I2C ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ ΡΠ°Π·Π½ΡΠΌ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ°ΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ Uno ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ A4 ΠΈ A5 β Π»ΠΈΠ½ΠΈΠΈ SDA ΠΈ SCL ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π° Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ Leonardo ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ D2 ΠΈ D3. (ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ Π»ΠΈΠ½ΠΈΡΡ SDA ΠΈ SCL ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅.) ΠΠ° ΠΎΠ±Π΅ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΡΡ Π»ΠΈΠ½ΠΈΠΈ SDA ΠΈ SCL Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π½Π° ΠΊΠΎΠ»ΠΎΠ΄ΠΊΡ, Π½Π°Ρ ΠΎΠ΄ΡΡΡΡΡΡ ΡΡΠ΄ΠΎΠΌ Ρ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠΌ AREF (ΡΠΈΡ. 7.3).
Π ΡΠ°Π±Π». 7.1 ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΡΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠ»Π°ΡΡ Arduino ΠΈ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ I2C.

Π ΠΈΡ. 7.3. ΠΠΎΠ½ΡΠ°ΠΊΡΡ I2C Π½Π° ΠΏΠ»Π°ΡΠ΅ Arduino Uno
Π’Π°Π±Π»ΠΈΡΠ° 7.1. ΠΠΎΠ½ΡΠ°ΠΊΡΡ I2C Π² ΡΠ°Π·Π½ΡΡ ΠΌΠΎΠ΄Π΅Π»ΡΡ Arduino
ΠΠΎΠ΄Π΅Π»Ρ
ΠΠΎΠ½ΡΠ°ΠΊΡΡ
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ
Uno
A4 (SDA) ΠΈ A5 (SCL)
ΠΠΎΠ½ΡΠ°ΠΊΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Ρ SCL ΠΈ SDA ΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΡΡΠ΄ΠΎΠΌ Ρ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠΌ AREF. ΠΡΠΈ Π»ΠΈΠ½ΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ A4 ΠΈ A5
Leonardo
D2 (SDA) ΠΈ D3 (SCL)
ΠΠΎΠ½ΡΠ°ΠΊΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Ρ SCL ΠΈ SDA ΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΡΡΠ΄ΠΎΠΌ Ρ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠΌ AREF. ΠΡΠΈ Π»ΠΈΠ½ΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ D2 ΠΈ D3
Mega2560
D20 (SDA) ΠΈ D21 (SCL)
β
Due
D20 (SDA) ΠΈ D21 (SCL)
ΠΠΎΠ΄Π΅Π»Ρ Due ΠΈΠΌΠ΅Π΅Ρ Π²ΡΠΎΡΡΡ ΠΏΠ°ΡΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² I2C, ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΡ SDA1 ΠΈ SCL1
ΠΡΠΎΡΠΎΠΊΠΎΠ» I2C
ΠΠ»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΈ ΠΏΡΠΈΠ΅ΠΌΠ° Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ I2C ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π²Π΅ Π»ΠΈΠ½ΠΈΠΈ (ΠΎΡΡΡΠ΄Π° Π²ΡΠΎΡΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ β Π΄Π²ΡΡ ΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Two Wire Interface). ΠΡΠΈ Π΄Π²Π΅ Π»ΠΈΠ½ΠΈΠΈ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΠΊΡΠΎΠ²ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ (Serial Clock Line, SCL) ΠΈ Π»ΠΈΠ½ΠΈΠ΅ΠΉ Π΄Π°Π½Π½ΡΡ (Serial Data Line, SDA). ΠΠ° ΡΠΈΡ. 7.4 ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΡΠΈΠ³Π½Π°Π»Π°, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ I2C.

Π ΠΈΡ. 7.4. ΠΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΡΠΈΠ³Π½Π°Π»Π°, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ I2C
ΠΠ΅Π΄ΡΡΠ΅Π΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΠ°ΠΊΡΠΎΠ²ΡΠ΅ ΠΈΠΌΠΏΡΠ»ΡΡΡ Π½Π° Π»ΠΈΠ½ΠΈΠΈ SCL, ΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΈΠΌΠ΅ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ, ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ (Π²Π΅Π΄ΡΡΠ΅Π΅ ΠΈΠ»ΠΈ Π²Π΅Π΄ΠΎΠΌΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ) Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π»ΠΈΠ½ΠΈΡ SDA ΠΈΠ· ΡΡΠ΅ΡΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ (Π² ΡΠ΅ΠΆΠΈΠΌ ΡΠΈΡΡΠΎΠ²ΠΎΠ³ΠΎ Π²ΡΡ ΠΎΠ΄Π°) ΠΈ ΠΏΠΎΡΡΠ»Π°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π² Π²ΠΈΠ΄Π΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ Π½ΡΠ»Π΅ΠΉ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ Π² ΠΌΠΎΠΌΠ΅Π½ΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠΌΠΏΡΠ»ΡΡΠΎΠ² ΡΠ°ΠΊΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π°. ΠΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π²ΡΠ²ΠΎΠ΄ ΡΠ°ΠΊΡΠΎΠ²ΡΡ ΠΈΠΌΠΏΡΠ»ΡΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½, ΠΈ Π»ΠΈΠ½ΠΈΡ SDA Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π² ΡΡΠ΅ΡΡΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Wire
ΠΠΎΠΆΠ½ΠΎ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΡΠ°Π½Π΅Π΅ ΠΈΠΌΠΏΡΠ»ΡΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ, ΡΠΏΡΠ°Π²Π»ΡΡ Π±ΠΈΡΠ°ΠΌΠΈ, ΡΠΎ Π΅ΡΡΡ Π²ΠΊΠ»ΡΡΠ°Ρ ΠΈ Π²ΡΠΊΠ»ΡΡΠ°Ρ ΡΠΈΡΡΠΎΠ²ΡΠ΅ Π²ΡΡ ΠΎΠ΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ. ΠΠΎ ΡΡΠΎΠ±Ρ ΡΠΏΡΠΎΡΡΠΈΡΡ Π½Π°ΠΌ ΠΆΠΈΠ·Π½Ρ, Π² ΡΠΎΡΡΠ°Π²Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Arduino ΠΈΠΌΠ΅Π΅ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Wire, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠ°Ρ Π½Π° ΡΠ΅Π±Ρ Π²ΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ, ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ Π½Π°ΠΌ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΡΡΠ»Π°ΡΡ ΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π±Π°ΠΉΡΡ Π΄Π°Π½Π½ΡΡ .