Is it likely that I’ll need to have all the data lines connected before it responds? Does the presence of a 6v line imply that it needs 6v data signals? Any suggestions would be welcome!
From that service manual, we see that the input stages are discrete circuits with resistors and a transistor: you need reasonable current drive here, not just voltage levels. It might be that you need a TTL buffer. (Should be possible to estimate the voltage and current needed, but I don’t quite have the skills for that.)
I was worried it might be something like that, although this guy seems to just have the Arduino plugged straight into it.
I am hopeful that a DC power supply might give the GPIO pins more juice than the USB from my laptop. I’m also wondering if I could run the Arduino from the 6v output on the machine to ensure they have the same ground level.
Looking at it, with 5V on the input pins, you get 1.39V on the base of the first transistors and the current is a bit low at 0.17mA. The emitter of all these transistors however is connected to the collector of another transistor (V10) that seems to be related to the PI signal, and the Holes and Tape Feed settings. The current @ 5V is minimal, and the 1.39V on the bases of V1-9 should hopefully be enough if V10 is enabled, so I don’t think any external supply will make much difference. However, if V10 isn’t enabled, none of the data inputs will do anything. I’d be checking all the other pins to make sure they’re getting signals.
All that said, there’s mention of a serial interface board (5163 interface, pg 31+ of the PDF) in that doc as well> It mentions that if the serial board is installed, that these inputs either won’t work, or that using them could actually damage the device.
If you check voltages on pins 2, 3, 8 and 20 in reference to pin 7 (as GND) and get either +12V or -12V, then you might be looking at a serial port instead.
Yep, once you upload the program to the Arduino it runs entirely off the inbuilt flash memory. The PC actually sends the characters to print via serial, but the physical connection happens via USB.
We shouldn’t even need to use the software serial port, it looks like pins 0 and 1 on the Mega are pre-configured to act as a serial port. I don’t think we’d even need to change the code!