/*
PWM
PWM pin
PWM pin frequency
*/
//#define flex_frequency 2289 or 2288?
//#define quad_frequency 2289 or 2288?
#define flex_frequency 2288.82
#define quad_frequency 2288.82
#define start_PWM 300
void setup()
{
Serial.begin(115200);
pinMode(2, OUTPUT);
digitalWrite(2, LOW);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
// pinMode(28, OUTPUT);
// pinMode(29, OUTPUT);
pinMode(13, OUTPUT);
// pinMode(33, OUTPUT);
// pinMode(36, OUTPUT);
// pinMode(37, OUTPUT);
pinMode(14, OUTPUT);
pinMode(15, OUTPUT);
pinMode(18, OUTPUT);
pinMode(19, OUTPUT);
pinMode(22, OUTPUT);
pinMode(23, OUTPUT);
analogWriteFrequency(3, flex_frequency);
analogWriteFrequency(4, flex_frequency);
analogWriteFrequency(5, flex_frequency);
analogWriteFrequency(6, flex_frequency);
analogWriteFrequency(9, flex_frequency);
analogWriteFrequency(10, quad_frequency); // Quad timer
analogWriteFrequency(11, quad_frequency); // Quad timer
// analogWriteFrequency(28, flex_frequency);
// analogWriteFrequency(29, flex_frequency);
analogWriteFrequency(13, quad_frequency); // Quad timer. Indicator
// analogWriteFrequency(33, flex_frequency);
// analogWriteFrequency(36, flex_frequency);
// analogWriteFrequency(37, flex_frequency);
analogWriteFrequency(14, quad_frequency); // Quad timer
analogWriteFrequency(15, quad_frequency); // Quad timer
analogWriteFrequency(18, quad_frequency); // Quad timer
analogWriteFrequency(19, quad_frequency); // Quad timer
analogWriteFrequency(22, flex_frequency);
analogWriteFrequency(23, flex_frequency);
analogWriteResolution(16);
setall(start_PWM);
}
void loop() {
// if there's any serial available, read it:
while (Serial.available() > 0)
{
// look for the next valid integer in the incoming serial stream:
long PWM = Serial.parseInt();
if (Serial.read() == '\n')
{
setall(PWM);
}
else
{
byte pin = Serial.parseInt();
if (Serial.read() == '\n')
{
analogWrite(pin, PWM);
}
else
{
long freq = Serial.parseInt();
analogWriteFrequency(pin, freq);
analogWrite(pin, PWM);
}
}
}
}
void setall(long PWM_value)
{
analogWrite(3, PWM_value);
analogWrite(4, PWM_value);
analogWrite(5, PWM_value);
analogWrite(6, PWM_value);
analogWrite(9, PWM_value);
analogWrite(10, PWM_value);
analogWrite(11, PWM_value);
// analogWrite(28, PWM_value);
// analogWrite(29, PWM_value);
analogWrite(13, PWM_value);
// analogWrite(33, PWM_value);
// analogWrite(36, PWM_value);
// analogWrite(37, PWM_value);
analogWrite(14, PWM_value);
analogWrite(15, PWM_value);
analogWrite(18, PWM_value);
analogWrite(19, PWM_value);
analogWrite(22, PWM_value);
analogWrite(23, PWM_value);
}