Вопрос по управлению выводами с помощью расширения ввода-вывода PCA9534PW
Имеется расширитель ввода-вывода PCA9534PW, Arduino UNO. Я не очень понимаю, как я могу управлять этим расширителем, используя UNO через I2C.
Я нашел пример, но вот режим чтения.
Что мне нужно: Установите вывод IO0 в режим выхода, установите уровень HIGH/LOW на IO0.
В даташите я только что понял, что для входа в режим настроек - нужно написать Wire.write(0x03). Как мне это сделать?
@Delta, 👍0
Обсуждение1 ответ
Лучший ответ:
Вы устанавливаете режим вывода, настраивая регистр конфигурации.
Wire.beginTransmission(0x20);
Wire.write(0x03); // Регистр конфигурации
Wire.write(0xfe); // Вход IO7-IO1, выход IO0
Wire.endTransmission();
Затем запишите в регистр выходного порта значения HIGH и LOW.
Wire.beginTransmission(0x20);
Wire.write(0x01); // Регистр выходного порта
Wire.write(0x01); // IO0 ВЫСОКИЙ
Wire.endTransmission();
delay(500);
Wire.beginTransmission(0x20);
Wire.write(0x01); // Регистр выходного порта
Wire.write(0x00); // IO0 НИЗКИЙ
Wire.endTransmission();
Но использовать библиотеку гораздо проще. См., например, https://github.com/alotaiba/PCA9534.
Большое спасибо за пример! Я видел эту библиотеку, но она не компилируется под Arduino. https://github.com/alotaiba/PCA9534/issues/1, @Delta
Портировать из Particle должно быть очень легко. Пробовали ли вы закомментировать эту строку https://github.com/alotaiba/PCA9534/blob/master/src/PCA9534.h#L14 или просто создать пустой файл с именем «Particle.h»., @Mikael Patel
- Использовать все контакты как цифровые входы/выходы
- Отправка и получение различных типов данных через I2C в Arduino
- Что такое ICSP pin (разъём)?
- Как работают функции вне цикла void?
- Как отображать переменные на 0,96-дюймовом OLED-дисплее с библиотекой u8glib?
- Сколько датчиков может поддерживать один модуль Arduino?
- OVF в последовательном мониторе вместо данных
- Как вызвать функции C из скетча ардуино?
Подсказка: более или менее всегда есть кто-то, кто сделал это до вас и поделился этим. См., например, https://github.com/alotaiba/PCA9534., @Mikael Patel
Ответ: Запишите в регистр конфигурации, чтобы установить режим вывода. См. https://github.com/alotaiba/PCA9534/blob/master/src/PCA9534.cpp#L14., @Mikael Patel