I have no spare UNO pins. Most are in use as inputs, taken low briefly by buttons. But I need a way to take the UNO’s reset pin very briefly low. Could I briefly change an existing button pin to an output to achieve this, and then restore it as an input?
If the low pulse was a mere ms or two I’m reasonably confident it would not activate that button’s intended logic, but should be long enough to reset the UNO. I gather that Reset is internally connected high by a 30k resistor. So am I right that its permanent connection to the ‘dual purpose’ button pin (INPUT PULL_UP) should not be an issue?
Presumably, there is an output from "something else" connected to this input-pin and that will also be connected to the reset pin and that's likely to foul things up! It might cause unwanted resets.
In general you should not "short" two outputs together. When the Arduino-pin is an output you don't it want it "fighting" with another output.
If you are very-careful to make sure that only one output at a time is active it can be OK. Some chips have an output-enable pin but with the Arduino you'd have to switch it to an input.
And some chips are open-collector or open drain. These are used with a pull-up resistor and can be "or'd" together so one or the other or both can safely pull-down the shared signal line.
I cannot change the circuitry by adding another IC. The veroboard is in place already and has no free space. I’m intending when my breadboard development is ‘finished’, to simply mount the 328.
Can you advise those other seeding methods please?
As for why I need to reset, that’s probably going to be another post.
Thanks, and yes, I will reply to the natural questions several respondents have raised about why I want to reset. In a fresh post in the near future I will attempt to reduce my 700 line program to a minimum, but that still exhibits the problem I’ve been trying to fix. In brief: the program runs OK directly from the IDE upload, but when only external power is applied for startup, by any means, it does not. I have a few unsatisfactory work arounds, but…