Загрузка данных


#include <Wire.h>

// Стандартный I2C адрес для PCA9634 (может отличаться, обычно 0x60 или 0x00)
#define CHIP_ADDR 0x60 

void setup() {
  Wire.begin(); // Инициализация шины I2C
  Serial.begin(9600);

  // Настройка микросхемы: выводим её из режима сна
  Wire.beginTransmission(CHIP_ADDR);
  Wire.write(0x00); // Режимный регистр MODE1
  Wire.write(0x00); // Устанавливаем в 0 (нормальная работа)
  Wire.endTransmission();

  // Настройка всех выходов на управление через ШИМ
  Wire.beginTransmission(CHIP_ADDR);
  Wire.write(0x08); // Регистр LEDOUT0
  Wire.write(0xAA); // 0xAA включает ШИМ-управление для первых 4 каналов
  Wire.endTransmission();
}

void loop() {
  Serial.println("Звук включен");
  beep(200); // Громкость от 0 до 255
  delay(500);

  Serial.println("Звук выключен");
  beep(0);
  delay(1000);
}

// Функция для управления зуммером
void beep(byte volume) {
  Wire.beginTransmission(CHIP_ADDR);
  // На плате Rex Audio зуммер обычно висит на одном из первых каналов (например, PWM0)
  Wire.write(0x02); // Регистр PWM0
  Wire.write(volume); 
  Wire.endTransmission();
}