2019-05-17 (F) Weekly Summary

The Little Drummer Bot kept getting new modes. In Setting Mode, the tempo could be sped up or slowed down at ten and fifty-millisecond intervals with four buttons. I tried to add a relay output that would close each time the loop started over, but I didn't use one with adequate isolation, so the coil injected a lot of noise into the microcontroller and was scrapped. Two panic buttons were programmed, which would sequentially turn off all notes.
(1:06) Setting Mode can change tempo on the fly

The last mode was a metronome that played a single instrument according to the tempo. In this mode, the instrument was not limited to the eight referenced on the labels. The same buttons responsible for changing the speed in the Settings Mode worked the same way in this mode.
(0:49) Instruments and tempo changes in metronome mode

All the programming was supposed to be done for the LittleDB so it was connected to the Electronic WindChimes project and it was plain to see incoming data, but it was not what I expected. The columns of numbers should have been 99, 60, 45, which translates to activating middle-C on channel 10 with a velocity of 0x45. While the data was consistent, it was not usable.
Unusable serial input

I made a laundry list of what could be wrong with the data connection. A different data cable was swapped in, the metal case was bypassed, and a clean power source was run to the power pins. None of this resulted in improved data reception. It was frustrating.
Getting power as clean as possible

The next test was using a different controller. A few different Arduinos were considered, but I picked the Arduino Mini because it worked for the first Electronic WindChimes and I had plenty to spare. Another reason was that all but three of the pins lined up with the microcontroller socket and those three were jumpered with test wires.
Ill-fitting Arduino Mini

Receiving MIDI was supposed to take a half-hour, but it took all week. I finally got it to work by plugging the serial lines directly into one another and bypassing all the interposing hardware. This removed the 220Ω resistor on the output and the optoisolator on the input. Since this worked, I hypothesized that the optoisolators could not keep up with the baud rate.
Rx and Tx pins connected directly

The rest of the summary posts have been arranged by date.

First time here?

Completed projects from year 1
Completed projects from year 2
Completed projects from year 3
Completed projects from year 4
Completed projects from year 5
Completed projects from year 6

Disclaimer for http://24hourengineer.blogspot.com and 24HourEngineer.com




