Модуль-расширение для микроконтроллеров Arduino, позволит ввести в ваш проект дополнительные 16 линий ввода вывода с возможностью ШИМодуляции для управления светодиодами. Управление осуществляется по интерфейсу I2C.
Программное обеспечение.
Специально для этого проекта нами была создана библиотека для языка WIRING. Её можно скачать с нашего сайта. На странице продукта на нашем сайте есть примеры.
Скачать:
Библиотеку ЗДЕСЬ
Описание команд.
1.Задание периода ШИМ.
void MP1092::SetPeriod (int MP1092_address, byte Channel, long Period)
входные параметры:
int MP1092_address - адрес MP1092 на шине I2C (задается резисторами R1, R3, R5; по умолчанию 0x60);
byte Channel - номер канала ШИМ; принимает значение 0 или 1;
long Period - значение периода в мс
2. Задание длительности импульса по отношению к периоду
void MP1092::SetDutyCycle (int MP1092_address, byte Channel, float DutyCycle)
int MP1092_address - адрес MP1092 на шине I2C (задается резисторами R1, R3, R5; по умолчанию 0x60);
float DutyCycle - длительности импульса по отношению к периоду в %, принимаемые значения: от 0 до 100(%)
3.Конфигурация определенного выхода
void MP1092::LEDConfig (int MP1092_address, byte LEDNum, byte Mode)
byte LEDNum - номер выхода модуля MP1092: от 0 до 15;
byte Mode - режим работы выхода: 0, 1, 2 или 3
0 - на выходе логическая единица;
1 - на выходе логический ноль;
2 - на выходе импульсы с канала ШИМ_0;
3 - на выходе импульсы с канала ШИМ_1;
4. Чтение состояний линий 0...15
byte MP1092::ReadInputState (int MP1092_address, byte InputReg)
byte InputReg - номер регистра для чтения; принимает значение 0 или 1;
регистр 0 отражает состояния линий 0...7;
регистр 1 отражает состояния линий 8...15;
Посмотреть схему