Quantcast
Channel: fritzing forum - Latest posts
Viewing all articles
Browse latest Browse all 29620

Schematic to breadboard layout

$
0
0

The 1n914 is the same as the 1n4148 so no problem there, you only need to get a 6n137 to change to that if you choose. The posts I saw on the 6n138 say that the slow rise time because of the open collector output some times cause serial errors on the mega UART which manifests as either no midi output or the wrong command because of an error in the serial data coming in. If you don’t see this problem the 6n138 should work fine (unfortunatly it may work fine most of the time but fail sometimes which is why I would use the 6n137 solution.) The resistor connected to pin7 on the 6n138 is intended to speed up the rise time of the output, but getting a proper value may need you to have an oscilloscope to look at the wave form (which you probably don’t have). A way to test this if you can arrange it is to have the midi device that connects to din2 to send the same midi message over and over to the mega. On the mega you would need to write code that receives and checks the value of the midi message. If the message is the same every time and none of the messages are missing (based on time or a count of how many messages the midi device sent) then you don’t have a problem. If messages are missing then the 6n137 (which can be tested the same way) is probably a better bet. As I said I’d use the 6n137 because it is likely to be more reliable and simpler (doesn’t need the tuning resistor) but either will probably work.

Then you can delete din1 and its associated resistors completely as its only purpose is to pass the received data on to the next midi device. That simplifies your board by a bit.

That is because there is an error in schematic. If in schematic view you click on any +5V or ground connection you will see that both +5V and ground connections highlight yellow indicating there is a short between 5V and ground which is causing the routing problem in breadboard. It looks like you moved the top neo pixel part at some point and that moved the wire from +5V that should go to the neo pixel part to ground causing the short and the routing problem. As well a number of other parts were moved creating non straight lines. To avoid this problem you may want to lock the all the parts by clicking on them one at a time and clicking “lock part” with that set you can’t move the part by accident (and need to unclick it if you want to move the part).

If both neo pixels connect at the same place you can probably only use a single capacitor at that point. The reason for the large capacitor on the neo pixel is that they draw a lot of current, and the current draw varies with time (as the individual clocks in the neo pixels drift in time). I would use separate wires from the power supply (which needs to be able to source the entire current drawn by all neo pixels being on at the same time because that will sometimes happen!). I would be tempted to put a 1 amp or higher schottky diode (for low diode drop) followed by a 100uf capacitor between the power supply and the circuitry other than the neo pixels. What can happen when the neo pixels all come on at once is that the 5V line will momentarily drop below 5v (the 1000uf capacitor is supposed to stop that but it may not be able to do so) and that can cause the mega to reset or otherwise malfunction sometimes which can be very frustrating to find. The shottky diode blocks the drop from the neopixel getting to the mega and the 100uf cap supplies power to the mega with a steady 5V until the power supply catches up again. Another alternative is two power supplies, one that supplies the mega and one that supplies the neopixels, but the first solution is cheaper and easier. Below is your sketch with the various lines straightened and the short removed and rewired to the neopixel correctly.

Chewie 2_fixed_3.fzz (122.9 KB)

Peter


Viewing all articles
Browse latest Browse all 29620

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>