Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

imden10
2022-05-02 21:10:11

Я задав адреса і все запрацювало. Дякую!

imden10
2022-05-02 10:51:07

Цікаво, нігде не бачив про це, буду пробувати, дякую!

г0сть
2022-05-02 10:46:29

На кожній з м/сх за допомогою пінів А0-А2 необхідно задати свою і2с адресу. https://ibb.co/jW4hvnZ
Потім відповідно цю адресу вказати в коді

imden10
2022-05-02 10:15:57

Ні, а що це і як мінять?

г0сть
2022-05-02 10:05:56

Адреса у м/с поменял?

imden10
2022-05-02 09:42:55

Добрий день!
Хочу розширити цифрові виходи для ESP32 через i2c. Найшов як це можна зробити за допомогою мікросхеми MCP23017.
Хочу підключити 2 мікросхеми що б було 32 цифрових виходів. Знайшов код, як підключити одну. Чуть переписав на дві але воно працює як одна, тобто, до кожної із мікросхем, підключено по одному світлодіоду, які повинні рагоратись по черзі, а вони мигають разом.

Ось скетч:

// Blinks an LED attached to a MCP23XXX pin.

// ok to include only the one needed
// both included here to make things simple for example
#include <Adafruit_MCP23X17.h>

#define LED_PIN_1 0     // MCP23XXX pin LED is attached to
#define LED_PIN_2 0     // MCP23XXX pin LED is attached to

// uncomment appropriate line
Adafruit_MCP23X17 mcp1;
Adafruit_MCP23X17 mcp2;

void setup() {
  Serial.begin(9600);
  //while (!Serial);
  Serial.println("MCP23xxx Blink Test!");

  // uncomment appropriate mcp.begin

  if (!mcp1.begin_I2C()) {
    Serial.println("Error mcp1.");
    while (1);
  }

delay(1000);

  if (!mcp2.begin_I2C()) {
    Serial.println("Error mcp2.");
    while (1);
  }

  // configure pin for output
    mcp1.pinMode(LED_PIN_1, OUTPUT);
    mcp2.pinMode(LED_PIN_2, OUTPUT);

  Serial.println("Looping...");
}

void loop() {
  mcp1.digitalWrite(LED_PIN_1, HIGH);
  delay(1000);
  mcp1.digitalWrite(LED_PIN_1, LOW);
  delay(1000);
  mcp2.digitalWrite(LED_PIN_2, HIGH);
  delay(1000);
  mcp2.digitalWrite(LED_PIN_2, LOW);
  delay(1000);
}

Підвал форуму