This repository has been archived on 2025-10-20. You can view files and clone it, but cannot push or open issues or pull requests.
Files
2bki21/INF/libraries/PCA9685/examples/FrequencySweep/FrequencySweep.ino
2025-04-02 11:33:52 +02:00

42 lines
901 B
C++

#include <Arduino.h>
#include <PCA9685.h>
#include "Constants.h"
PCA9685 pca9685;
PCA9685::Frequency frequency_min;
PCA9685::Frequency frequency_max;
PCA9685::Frequency frequency;
void setup()
{
pca9685.setupSingleDevice(Wire,constants::device_address);
pca9685.setupOutputEnablePin(constants::output_enable_pin);
pca9685.enableOutputs(constants::output_enable_pin);
pca9685.setOutputsNotInverted();
PCA9685::Time time_min = pca9685.getTimeMin();
PCA9685::Time time_max = pca9685.getTimeMax();
pca9685.setAllChannelsOnAndOffTime(time_min,time_max/4);
frequency_min = pca9685.getFrequencyMin();
frequency_max = pca9685.getFrequencyMax();
frequency = frequency_min;
}
void loop()
{
if (frequency > frequency_max)
{
frequency = frequency_min;
}
pca9685.setToFrequency(frequency);
frequency += constants::frequency_increment;
delay(constants::loop_delay);
}