propa
Well-known member
Hello,
I'm not sure on the answer to this question, I have a minijack connecting to the DAC on the teensy, should I also attach the ground of the jack to the ground on the teensy?.. and as I haven't done this when using it over the last few days, could that be responsible for not getting any signal out of the dac anymore?
I was working all last night and half of today, and have come back to the project in the same situation now not working. I'm wondering if me not grounding the dac had any influence.
Is there a way I can check with a multimeter to see if the dac is outputting anything?
I haven't been using it with an opamp circuit, just been giving it a really decent work out over the last few days.
Tried with example code to rule that out, and nothing
Has anyone else had a similar issue with the 3.2 DAC?
I'm not sure on the answer to this question, I have a minijack connecting to the DAC on the teensy, should I also attach the ground of the jack to the ground on the teensy?.. and as I haven't done this when using it over the last few days, could that be responsible for not getting any signal out of the dac anymore?
I was working all last night and half of today, and have come back to the project in the same situation now not working. I'm wondering if me not grounding the dac had any influence.
Is there a way I can check with a multimeter to see if the dac is outputting anything?
I haven't been using it with an opamp circuit, just been giving it a really decent work out over the last few days.
Tried with example code to rule that out, and nothing
Has anyone else had a similar issue with the 3.2 DAC?
Code:
// Waveform Modulation Example - Create waveforms with
// modulated frequency
//
// This example is meant to be used with 3 buttons (pin 0,
// 1, 2) and 2 knobs (pins 16/A2, 17/A3), which are present
// on the audio tutorial kit.
// [url]https://www.pjrc.com/store/audio_tutorial_kit.html[/url]
//
// Use an oscilloscope to view the 2 waveforms.
//
// Button0 changes the waveform shape
//
// Knob A2 changes the amount of frequency modulation
//
// Knob A3 varies the shape (only for Pulse & Variable Triangle)
//
// This example code is in the public domain.
#include <Audio.h>
#include <Wire.h>
#include <SPI.h>
#include <SD.h>
#include <SerialFlash.h>
#include <Bounce.h>
AudioSynthWaveformSine sine1; //xy=131,97
AudioSynthWaveformSine sine2; //xy=152,170
AudioSynthWaveformModulated waveformMod1; //xy=354,69
AudioOutputAnalog dacs1; //xy=490,209
AudioOutputI2S i2s1; //xy=532,140
AudioConnection patchCord1(sine1, 0, i2s1, 1);
AudioConnection patchCord2(sine1, 0, dacs1, 1);
AudioConnection patchCord3(sine1, 0, waveformMod1, 0);
AudioConnection patchCord4(sine2, 0, waveformMod1, 1);
AudioConnection patchCord5(waveformMod1, 0, i2s1, 0);
AudioConnection patchCord6(waveformMod1, 0, dacs1, 0);
Bounce button0 = Bounce(5, 15);
Bounce button1 = Bounce(6, 15);
Bounce button2 = Bounce(7, 15);
int current_waveform=0;
extern const int16_t myWaveform[256]; // defined in myWaveform.ino
void setup() {
Serial.begin(9600);
pinMode(5, INPUT_PULLUP);
pinMode(6, INPUT_PULLUP);
pinMode(7, INPUT_PULLUP);
delay(300);
Serial.println("Waveform Modulation Test");
// Audio connections require memory to work. For more
// detailed information, see the MemoryAndCpuUsage example
AudioMemory(12);
// Confirgure both to use "myWaveform" for WAVEFORM_ARBITRARY
waveformMod1.arbitraryWaveform(myWaveform, 172.0);
// Configure for middle C note without modulation
waveformMod1.frequency(261.63);
waveformMod1.amplitude(1.0);
sine1.frequency(20.3); // Sine waves are low frequency oscillators (LFO)
sine2.frequency(1.2);
current_waveform = WAVEFORM_TRIANGLE_VARIABLE;
waveformMod1.begin(current_waveform);
// uncomment to try modulating phase instead of frequency
//waveformMod1.phaseModulation(720.0);
}
void loop() {
// Read the buttons and knobs, scale knobs to 0-1.0
button0.update();
button1.update();
button2.update();
float knob_A2 = (float)analogRead(14) / 1023.0;
float knob_A3 = (float)analogRead(15) / 1023.0;
// use Knobsto adjust the amount of modulation
sine1.amplitude(knob_A2);
sine2.amplitude(knob_A3);
// Button 0 or 2 changes the waveform type
if (button0.fallingEdge() || button2.fallingEdge()) {
switch (current_waveform) {
case WAVEFORM_SINE:
current_waveform = WAVEFORM_SAWTOOTH;
Serial.println("Sawtooth");
break;
case WAVEFORM_SAWTOOTH:
current_waveform = WAVEFORM_SAWTOOTH_REVERSE;
Serial.println("Reverse Sawtooth");
break;
case WAVEFORM_SAWTOOTH_REVERSE:
current_waveform = WAVEFORM_SQUARE;
Serial.println("Square");
break;
case WAVEFORM_SQUARE:
current_waveform = WAVEFORM_TRIANGLE;
Serial.println("Triangle");
break;
case WAVEFORM_TRIANGLE:
current_waveform = WAVEFORM_TRIANGLE_VARIABLE;
Serial.println("Variable Triangle");
break;
case WAVEFORM_TRIANGLE_VARIABLE:
current_waveform = WAVEFORM_ARBITRARY;
Serial.println("Arbitary Waveform");
break;
case WAVEFORM_ARBITRARY:
current_waveform = WAVEFORM_PULSE;
Serial.println("Pulse");
break;
case WAVEFORM_PULSE:
current_waveform = WAVEFORM_SAMPLE_HOLD;
Serial.println("Sample & Hold");
break;
case WAVEFORM_SAMPLE_HOLD:
current_waveform = WAVEFORM_SINE;
Serial.println("Sine");
break;
}
waveformMod1.begin(current_waveform);
}
}