super easy.. but im super new and super dumb... pitch bend and pulse width modulatio

Status
Not open for further replies.

Oddball

Active member
so, this is my first project. its functions are simple. produce 12 square waves on 12 pwm pins. got help with that one, it works (and I would hope so, Paul wrote it lol). but I want to be able to vary the frequency on all outputs simultaneously and pwm based on 0-3.3v reference from two of the analog in pins, whats the code, where does it go in the sketch and can someone explain how it works? also I have the commands commented out that I don't want to use.. can I just delete them? thanks!

// Top Octave Generator (Teensy 4.0)

void setup() {
analogWriteFrequency(2, 1046.50);
analogWriteFrequency(4, 1108.73);
analogWriteFrequency(5, 1174.66);
analogWriteFrequency(6, 1244.51);
analogWriteFrequency(7, 1318.51);
analogWriteFrequency(10, 1396.91);
analogWriteFrequency(11, 1479.98);
analogWriteFrequency(12, 1567.98);
analogWriteFrequency(13, 1661.22);
analogWriteFrequency(14, 1760.00);
analogWriteFrequency(15, 1864.66);
analogWriteFrequency(18, 1975.53);
analogWrite(2, 128);
analogWrite(4, 128);
analogWrite(5, 128);
analogWrite(6, 128);
analogWrite(7, 128);
analogWrite(10, 128);
analogWrite(11, 128);
analogWrite(12, 128);
analogWrite(13, 128);
analogWrite(14, 128);
analogWrite(15, 128);
analogWrite(18, 128);

// Also generate 6 more frequencies, just to
// show that more than 12 are possible...
// going to hold these for future dco's etc
// analogWriteFrequency(19, 1200);
// analogWriteFrequency(22, 1300);
// analogWriteFrequency(28, 1400); // bottom side
//analogWriteFrequency(34, 1500); // bottom side
//analogWriteFrequency(36, 1600); // bottom side
//analogWriteFrequency(38, 1700); // bottom side
//analogWrite(19, 128);
//analogWrite(22, 128);
//analogWrite(28, 128);
//analogWrite(34, 128);
//analogWrite(36, 128);
//analogWrite(38, 128);
}

void loop() {
// asm("wfi"); // optional, put CPU to sleep
}
 
Status
Not open for further replies.
Back
Top