Π’Ρ‹ Π΄Π΅Ρ€ΠΆΠΈΡ‚Π΅ Π² Ρ€ΡƒΠΊΠ°Ρ… устройство с надписями VCC, DATA1, DATA2 ΠΈ GND, Π½ΠΎ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, ΠΊΡƒΠ΄Π° ΠΈ ΠΊΠ°ΠΊ ΠΈΡ… ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ? Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°, ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ошибок ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° β€” Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ связи ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½ΠΎΠ΅ устройство. ΠœΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ стандарты распиновки, различия ΠΌΠ΅ΠΆΠ΄Ρƒ DATA1 ΠΈ DATA2, Π° Ρ‚Π°ΠΊΠΆΠ΅ объясним, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠΌΡƒ Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΡŽ ΠΈΠ»ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Ρƒ ΠΈΠ· строя микросхСмы ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.

Π§Π°Ρ‰Π΅ всСго Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π² интСрфСйсах I2C, SPI, UART, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² модулях Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, BMP280, DS18B20) ΠΈΠ»ΠΈ дисплСях (OLED 128x64). Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с Arduino, Raspberry Pi ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌΠΈ, ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ этих ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ для ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π”Π°Π»Π΅Π΅ β€” ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹Π΅ инструкции, схСмы ΠΈ прСдупрСТдСния ΠΎ рисках.

Π§Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ VCC, DATA1, DATA2 ΠΈ GND

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°, разбСрёмся Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ:

  • πŸ”‹ VCC (Voltage Common Collector) β€” ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ устройства. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это +3.3Π’ ΠΈΠ»ΠΈ +5Π’, Π½ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ 1.8Π’ ΠΈΠ»ΠΈ 12Π’. ВсСгда провСряйтС Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚!
  • πŸ“Š DATA1 ΠΈ DATA2 β€” Π»ΠΈΠ½ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ I2C это SDA (Π΄Π°Π½Π½Ρ‹Π΅) ΠΈ SCL (Ρ‚Π°ΠΊΡ‚Ρ‹), Π² UART β€” TX ΠΈ RX. Иногда DATA1 ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ основным ΠΊΠ°Π½Π°Π»ΠΎΠΌ, Π° DATA2 β€” Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Π΄Π²ΡƒΠ½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠΉ связи).
  • ⚑ GND (Ground) β€” "зСмля" ΠΈΠ»ΠΈ ΠΎΠ±Ρ‰ΠΈΠΉ минус. ВсСгда ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ GND источника питания ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ ΠΎΠ±Ρ‰Π΅Π³ΠΎ GND β€” самая частая ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π½Π΅Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… соСдинСний.

Π’Π°ΠΆΠ½ΠΎ: Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… схСмах DATA1 ΠΈ DATA2 ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ D+ ΠΈ D- (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² USB ΠΈΠ»ΠΈ Differential Pair). Если Π½Π° ΠΌΠΎΠ΄ΡƒΠ»Π΅ Π½Π΅Ρ‚ ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ, ΠΈΡ‰ΠΈΡ‚Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΈΠ»ΠΈ схСму ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΎΡ‚ производитСля.

πŸ“Š Π‘ ΠΊΠ°ΠΊΠΈΠΌ интСрфСйсом Π²Ρ‹ Ρ‡Π°Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅?
  • I2C
  • SPI
  • UART
  • 1-Wire
  • Π”Ρ€ΡƒΠ³ΠΎΠΉ

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ схСмы распиновки для популярных устройств

Распиновка зависит ΠΎΡ‚ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΈ устройства. НиТС β€” Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ для распространённых ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ:

Устройство VCC DATA1 DATA2 GND ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ
Arduino Uno (I2C) 5V A4 (SDA) A5 (SCL) GND ΠŸΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ рСзисторы 4.7кОм ΡƒΠΆΠ΅ установлСны
Raspberry Pi (I2C) 3.3V (Pin 1) GPIO2 (SDA, Pin 3) GPIO3 (SCL, Pin 5) GND (Pin 6) НС ΠΏΠΎΠ΄Π°Π²Π°ΠΉΡ‚Π΅ 5V β€” сгорит ΠΏΠΎΡ€Ρ‚!
DS18B20 (1-Wire) 3.3V–5V DATA (DQ) β€” GND ВрСбуСтся ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ рСзистор 4.7кОм ΠΊ VCC
HC-05 (Bluetooth) 3.6V–6V TXD RXD GND Π£Ρ€ΠΎΠ²Π½ΠΈ 3.3V β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ напряТСния для Arduino 5V

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если Π½Π° ΠΌΠΎΠ΄ΡƒΠ»Π΅ Π΅ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ VIN вмСсто VCC, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ напряТСний (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 7–12V для ESP8266). Но внутрСнняя Π»ΠΎΠ³ΠΈΠΊΠ° всё Ρ€Π°Π²Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΡ‚ 3.3V β€” Π½Π΅ ΠΏΡƒΡ‚Π°ΠΉΡ‚Π΅!

Π£Π±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² совмСстимости напряТСний VCC

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… рСзисторов

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ GND ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ (Π΄ΠΎ ΠΏΠΎΠ΄Π°Ρ‡ΠΈ питания)

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Ρ‚Ρ€ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ³ΠΎ замыкания

-->

Пошаговая инструкция: ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ VCC, DATA1, DATA2 ΠΈ GND

Рассмотрим ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ I2C-модуля (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, BME280) ΠΊ Arduino Nano:

  1. Π¨Π°Π³ 1. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ напряТСниС питания.

    На ΠΌΠΎΠ΄ΡƒΠ»Π΅ BME280 ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΎ 3.3V. Если ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊ 5V Π½Π° Arduino, сгорит сСнсор. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ 3.3V с ΠΏΠ»Π°Ρ‚Ρ‹ ΠΈΠ»ΠΈ внСшний стабилизатор.

  2. Π¨Π°Π³ 2. Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅ GND.

    ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ GND модуля ΠΊ GND Arduino. Π­Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ²ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ соСдиняСтС (ΠΈ послСдний, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚Π΅).

  3. Π¨Π°Π³ 3. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ DATA1 (SDA) ΠΈ DATA2 (SCL).

    Для Arduino Nano это ΠΏΠΈΠ½Ρ‹ A4 (SDA) ΠΈ A5 (SCL). Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ESP32, ΠΈΡ‰ΠΈΡ‚Π΅ ΠΏΠΈΠ½Ρ‹ GPIO21 (SDA) ΠΈ GPIO22 (SCL).

  4. Π¨Π°Π³ 4. ΠŸΠΎΠ΄Π°ΠΉΡ‚Π΅ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ (VCC).

    Волько послС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ всСх соСдинСний ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ VCC. Если ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ напряТСниС Π½Π° ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°Ρ….

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если послС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ нагрСваСтся ΠΈΠ»ΠΈ ΠΈΠ·Π΄Π°Ρ‘Ρ‚ Π·Π°ΠΏΠ°Ρ… Π³Π°Ρ€ΠΈ, Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅! Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ³ΠΎ замыкания ΠΈΠ»ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ напряТСния. Π§Π°Ρ‰Π΅ всСго "сгораСт" стабилизатор напряТСния Π½Π° ΠΌΠΎΠ΄ΡƒΠ»Π΅.

πŸ’‘

Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Wire.h (I2C) ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Wire.begin(). Если соСдинСниС Π½Π΅ устанавливаСтся, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ адрСс устройства ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ I2CScanner.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ ΠΊΠ°ΠΊ ΠΈΡ… ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ

Π”Π°ΠΆΠ΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Ρ‹ ΠΈΠ½ΠΎΠ³Π΄Π° Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ошибки ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ. Π’ΠΎΡ‚ самыС распространённыС:

  • πŸ”₯ ΠŸΠ΅Ρ€Π΅ΠΏΠ»ΡŽΡΠΎΠ²ΠΊΠ° VCC ΠΈ GND. МгновСнно Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΈΠ· строя ΠΌΠΎΠ΄ΡƒΠ»ΡŒ. ВсСгда провСряйтС ΠΏΠΎΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ "ΠΏΡ€ΠΎΠ·Π²ΠΎΠ½ΠΊΠΈ".
  • πŸ”„ ΠŸΡƒΡ‚Π°Π½ΠΈΡ†Π° DATA1 ΠΈ DATA2. Π’ UART TX ΠΎΠ΄Π½ΠΎΠ³ΠΎ устройства Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠ΄Ρ‚ΠΈ Π½Π° RX Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ (ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚). Π’ I2C SDA ΠΈ SCL ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ.
  • πŸ“‰ ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ ΠΎΠ±Ρ‰Π΅Π³ΠΎ GND. Π‘Π΅Π· ΠΎΠ±Ρ‰Π΅ΠΉ "Π·Π΅ΠΌΠ»ΠΈ" сигналы Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ, Π΄Π°ΠΆΠ΅ Ссли всё ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ.
  • ⚑ НСсовпадСниС ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ напряТСния. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ 5V-устройства ΠΊ 3.3V-Π»ΠΎΠ³ΠΈΠΊΠ΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Arduino β†’ Raspberry Pi) Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ прСобразоватСля ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ (level shifter).

πŸ’‘ Π‘ΠΎΠ²Π΅Ρ‚: Если ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½ΠΎ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ подаётся ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅:

  1. ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€.
  2. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠ² (ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΠ±Ρ€Ρ‹Π²Ρ‹ Π±Ρ‹Π²Π°ΡŽΡ‚ Π²Π½ΡƒΡ‚Ρ€ΠΈ изоляции).
  3. Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π° Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ.
Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π΅ опрСдСляСтся?

Если устройство Π½Π΅ отзываСтся ΠΏΠΎ I2C, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅:

1. ΠŸΠΎΠ΄Ρ‚ΡΠ½ΡƒΡ‚Ρ‹ Π»ΠΈ Π»ΠΈΠ½ΠΈΠΈ SDA/SCL рСзисторами 4.7кОм ΠΊ VCC.

2. Π‘ΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ‚ Π»ΠΈ адрСс устройства (ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΠ½ мСняСтся ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π½ΠΎΠΆΠ΅ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρƒ ADS1115).

3. НСт Π»ΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² адрСсов (Π΄Π²Π° устройства с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ адрСсом Π½Π° ΠΎΠ΄Π½ΠΎΠΉ шинС).

Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ

ΠœΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Ρ‚Ρ€ β€” ваш Π³Π»Π°Π²Π½Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅. Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ:

  1. НапряТСниС Π½Π° VCC.

    УстановитС ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Ρ‚Ρ€ Π² Ρ€Π΅ΠΆΠΈΠΌ измСрСния постоянного напряТСния (DC 20V). ΠšΡ€Π°ΡΠ½Ρ‹ΠΉ Ρ‰ΡƒΠΏ β€” Π½Π° VCC, Ρ‡Ρ‘Ρ€Π½Ρ‹ΠΉ β€” Π½Π° GND. Π”ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ 3.3V ΠΈΠ»ΠΈ 5V (Π² зависимости ΠΎΡ‚ модуля).

  2. ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠ΅.

    Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ "ΠΏΡ€ΠΎΠ·Π²ΠΎΠ½ΠΊΠΈ" ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π½Π΅ звонятся Π»ΠΈ VCC ΠΈ GND ΠΌΠ΅ΠΆΠ΄Ρƒ собой. Если ΠΏΠΈΡ‰ΠΈΡ‚ β€” ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠ΅!

  3. Π¦Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π»ΠΈΠ½ΠΈΠΉ DATA.

    ΠŸΡ€ΠΎΠ·Π²ΠΎΠ½ΠΈΡ‚Π΅ DATA1 ΠΈ DATA2 ΠΎΡ‚ модуля Π΄ΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. Если ΠΎΠ±Ρ€Ρ‹Π² β€” ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ паяныС соСдинСния ΠΈΠ»ΠΈ Ρ€Π°Π·ΡŠΡ‘ΠΌΡ‹.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Никогда Π½Π΅ измСряйтС сопротивлСниС ΠΈΠ»ΠΈ напряТСниС Π½Π° линиях DATA ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½ΠΎΠΌ ΠΏΠΈΡ‚Π°Π½ΠΈΠΈ! Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈΡ‚ΡŒ ΠΏΠΎΡ€Ρ‚Ρ‹ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡ€ΠΎΠ·Π²ΠΎΠ½ΠΊΠΎΠΉ.

πŸ’‘

Если ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Ρ‚Ρ€ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ напряТСниС Π½Π° DATA-линиях (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 1.5V), это Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ β€” Ρ‚Π°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ рСзисторы. Π“Π»Π°Π²Π½ΠΎΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ³ΠΎ замыкания Π½Π° GND ΠΈΠ»ΠΈ VCC.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ²

Π Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ Π½ΡŽΠ°Π½ΡΡ‹ для самых популярных интСрфСйсов:

1. I2C (Inter-Integrated Circuit)

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΄Π²Π΅ Π»ΠΈΠ½ΠΈΠΈ: SDA (DATA1) ΠΈ SCL (DATA2). ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ рСзисторы ΠΊ VCC (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ 4.7кОм). ΠŸΡ€ΠΈΠΌΠ΅Ρ€ для Arduino:


#include <Wire.h>

void setup() {

Wire.begin(); // Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ I2C

}

void loop() {

// Код ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ

}

2. UART (Universal Asynchronous Receiver/Transmitter)

Π—Π΄Π΅ΡΡŒ DATA1 β€” это TX (ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊ), Π° DATA2 β€” RX (ΠΏΡ€ΠΈΡ‘ΠΌΠ½ΠΈΠΊ). Π’Π°ΠΆΠ½ΠΎ: TX ΠΎΠ΄Π½ΠΎΠ³ΠΎ устройства соСдиняСтся с RX Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ! ΠŸΡ€ΠΈΠΌΠ΅Ρ€ для ESP8266:


Serial.begin(9600); // Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΎΠ±ΠΌΠ΅Π½Π°

Serial.println("Hello, UART!"); // ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…

3. 1-Wire

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΠ΄Π½Ρƒ линию DATA (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ DATA1) + GND ΠΈ VCC. ВрСбуСтся ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ рСзистор 4.7кОм ΠΊ VCC. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ для DS18B20:


#include <OneWire.h>

OneWire ds(2); // Пин DATA ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Ρ‘Π½ ΠΊ GPIO2

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы (FAQ)

МоТно Π»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ VCC 5V ΠΊ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ Π½Π° 3.3V?

НСт! Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π½Π° 3.3V Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ пСрСнапряТСния. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ (level shifter) ΠΈΠ»ΠΈ Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ напряТСния Π½Π° рСзисторах. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ β€” Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ с встроСнным стабилизатором (уточняйтС Π² Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚Π΅).

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚, Ссли ΠΏΠ΅Ρ€Π΅ΠΏΡƒΡ‚Π°Ρ‚ΡŒ DATA1 ΠΈ DATA2 Π² I2C?

Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв соСдинСниС просто Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ (устройство Π½Π΅ опрСдСлится). Однако Π² Ρ€Π΅Π΄ΠΊΠΈΡ… случаях это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°ΠΌ Π½Π° шинС, особСнно Ссли Π½Π° Π»ΠΈΠ½ΠΈΠΈ SCL Π±ΡƒΠ΄ΡƒΡ‚ Π»ΠΎΠΆΠ½Ρ‹Π΅ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΡ‹. ВсСгда ΡΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ΡΡŒ со схСмой!

НуТно Π»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ GND, Ссли Ρƒ мСня Π±Π°Ρ‚Π°Ρ€Π΅ΠΉΠ½ΠΎΠ΅ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅?

Π”Π°, ΠΎΠ±Ρ‰ΠΈΠΉ GND обязатСлСн! Π‘Π΅Π· Π½Π΅Π³ΠΎ сигналы Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠΏΠΎΡ€Π½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ, ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π½Π΅ смоТСт ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅. Π­Ρ‚ΠΎ касаСтся Π΄Π°ΠΆΠ΅ бСспроводных ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, NRF24L01).

Как ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ DATA1, Π° ΠΊΠ°ΠΊΠΎΠΉ DATA2, Ссли Π½Π΅Ρ‚ ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ?

Π˜Ρ‰ΠΈΡ‚Π΅ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚ ΠΏΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ модуля. Если Π΅Π³ΠΎ Π½Π΅Ρ‚, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ·Π²ΠΎΠ½ΠΈΡ‚ΡŒ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ:

  1. НайдитС GND (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ это срСдний ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚).
  2. ΠžΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π½Π° сопротивлСниС: линия SCL (DATA2) Π² I2C часто ΠΈΠΌΠ΅Π΅Ρ‚ подтяТку ΠΊ VCC.

Π’ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΌ случаС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π°ΡƒΡ‡Π½ΠΎΠ³ΠΎ Ρ‚Ρ‹ΠΊΠ°, Π½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°ΠΉΡ‚Π΅ с Π½ΠΈΠ·ΠΊΠΎΠ²ΠΎΠ»ΡŒΡ‚Π½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ (3.3V).

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ источник VCC для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ?

Π”Π°, Π½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ суммарный Ρ‚ΠΎΠΊ потрСблСния. НапримСр, Ссли источник Π²Ρ‹Π΄Π°Ρ‘Ρ‚ 500мА, Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ потрСбляСт 100мА, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 4–5 устройств. Π’Π°ΠΊΠΆΠ΅ слСдитС Π·Π° ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ΠΌ напряТСния Π½Π° ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°Ρ… (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ толстыС ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° для Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… соСдинСний).