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
}
// 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
}