Midi In Hardware not working Midiclock

It was working fine, but stopped working this weekend.
Same code is working on UNO .
Checked the pin(14) by blinking a Led.
What could be the Problem?
Did i fry Pin 14?

Can someone check if my Midiclock code is working?

#include "DaisyDuino.h"
#include <MIDI.h>

//  Midi clock to Led Blink
MIDI_CREATE_DEFAULT_INSTANCE();

static DaisyHardware hw;

void setup() {
 
  MIDI.begin(MIDI_CHANNEL_OMNI);
  Serial.begin(31250); // MIDI baud rate
  MIDI.turnThruOff();
  pinMode(LED_BUILTIN, OUTPUT);

}

void loop(){
 
   while (MIDI.read()) 
  {
    (MIDI.read()); 
  
    if (MIDI.getType() == midi::Clock) 
    {
         
      i++; 
      
      if ( i <=  2) {digitalWrite(LED_BUILTIN, HIGH);}
      if ( i >=  3) {digitalWrite(LED_BUILTIN, LOW);}
      if ( i >=  6) {i = 0;}
      
    }   
    
  }
  
}

Hi Philoop!

It’ll be a bit tricky to troubleshoot if it used to work but now it doesn’t.
So did the onboard LED stop blinking during the weekend? If so, could you run the blink example that comes with the Arduino IDE to check that the LED still works?

And if it does work, then I recommend serial printing the MIDI data to see what’s going on.

I checked the blink example, and LED is blinking. Then i checked if i can blink via inputPins . This is not working on the daisy seed, but on the UNO. Conclusion: I must have fried all the inputs, while the outputs are still working Using only 3.3V everywhere. yikes Now i have a SEED without inputs. Audio in/out still working.

You’re getting input from MIDI, correct? What’s your hardware set up like? Let me know more about how things are connected together. You may have to set things up differently compared to Uno.
And if what went into the Daisy’s input didn’t exceed 3.3 volt, you most likely did not fry anything.

Also, I highly recommend serial printing. What’s being displayed when you’re sending MIDI?
And if you have a button, you can connect it to the pins that you think you may fried and test to see if it works or not.

I would be happy to troubleshoot further when you provide these details :slight_smile:

Hello Takumi!
I cannot Serial.print anymore. I checked all Inputs. All unresponsive. I can output tho. And load examples.
I went a little overboard …2 Multiplexer for 32 Pots and 2 shiftregister for 16 LEDs.

I know i shorted Vcc to Gnd while building.

As you can see on the left, i am using an UNO for powering the LEDs/shiftregisters. I didnt share ground between the Seed and UNO…could this be the culprit?

Ah I see, it looks like there are several variables to consider here. Let’s simplify way more.

Is it possible for you to take that Daisy Seed out and put it on a breadboard? If so, you can connect a single potentiometer and test to see if your ADC pins are working. And then put together the MIDI input circuit on that breadboard and see if you can send MIDI to it. Are you sending the MIDI from a MIDI keyboard?

Otherwise, if you’re sending a MIDI and serial print isn’t displaying anything expected, something could be wrong with the hardware. Your setup is a bit more complicated than I thought, so you most likely need to scale things down in order to troubleshoot.

2 Likes

I waited for a fresh SEED to arrive from Schneidersladen. Now I took the Daisys to my breadbord and uploaded the button example. I could verify that input 2 and 14(midi in) are indeed still working. But i have to edit the code to pinMode(buttonPin, INPUT_PULLDOWN);. The new seed works! I am recieving midi clock from a clock source. Now i am afraid to add my controllers again :woozy_face: I will triple check…I am recieving midi clock from a clock source. How to add Serial.print to the button example? I dont understand how the seed handles serial.print.

You can use it like how you would with an Arduino :slight_smile:
For example, the AnalogReadSerial example that comes with the IDE works with the Daisy without any modification if I remember correctly. So you can reference that and instead of printing out the ADC variable, you can print out the button state variable.

You can try something along this line (I’m using Pod which has a button connected to pin D27):

#include "DaisyDuino.h"

Switch button;

void setup() {
  Serial.begin(9600);
  // setup the button
  // update at 1kHz, no invert, on pin D27
  button.Init(1000, true, 27, INPUT_PULLUP);

  pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
  // Debounce the button
  button.Debounce();

  // If the button is pressed, turn the LED on
  digitalWrite(LED_BUILTIN, button.Pressed());

  Serial.println(button.Pressed());

  // wait 1 ms
  delay(1);
}

A little christmas wonder…the old Seed is working again. I dont know why i had so many problems testing it. :man_facepalming:

1 Like