555 touch switch usage with arduino

Hello,
In the most recent project of mine I'm trying to employ a 555 timer based capacitance (single contact) touch switch, schematics of which can be found here. It works fine as expected when tested with an LED, the issue arises when trying to digitalRead the output (#3 in schematic) instead by connecting it to Arduino digital pin. I'm powering the timer circuit with 9V converted via standard 7809 circuit from 12V which is received from a mains adapter (I need 9v in this setup for the project).
When the pin is set to INPUT and the output pin of 555 is connected directly via resistor, I get floating values when not touching the wire used as switch, which is understandable, but the values float when I hold the wire as well for a while (might be 555 related?), however me touching the wire causes the state of pin to change if it was low previously, so something clearly is detected. How do I use a pullup/pulldown resistor to avoid floating values with a 555 circuit like this, if that's possible at all?
I have also tried setting an arduino pin to both output and input and grounding it through a NPN and a resistor with the base connected to 555 output. I expected that this setup would give me a low reading of the output pin on arduino, when the cap sensitive wire is touched, but that didn't happen, I always got a high reading on that (pin was set to high).
When I tried to see what's going on by connecting the 555 output to arduino analog pin via resistor of course, the values alternating between 0 and 1023 constantly, without any reaction to me touching the cap sensitive wire.
When powered by the 5V from an arduino board the 555 circuit worked, but it was somewhat vague, the response was slow and not constant. The output was somewhat accurate however.
I also tried implementing both of the capacitive sensing libraries arduino has without luck before, but 555 circuit kind of suits my needs better here since I'm going to use a fairly large metallic area for one of the switches. The idea is to get it latching in code (after I get it to give me proper input on arduino).
The code I used for the first variation measuring input is simple and I doubt there's even a need to post it, but I'm just putting it here:

int incoming = 8;

void setup() {
  Serial.begin(9600);
  pinMode(incoming, INPUT);
}
void loop() {
  int whatsup = digitalRead(incoming);
  if (whatsup == 1) {
    Serial.println("ON");
    delay(200);
  }
    else if (whatsup == 0) {
      Serial.println("OFF");
      delay(200);
    }
}

And this is the one I used with transistor, with a base hooked to the 555 output:

int sui = 8;


void setup() {
  
  Serial.begin(9600);
  
  pinMode (sui, INPUT);
  digitalWrite (sui, HIGH);
}

void loop() {
  int whatsup = digitalRead(sui);
  if (whatsup == 0) {
  Serial.println("ON");
  delay(200);
  }
  else if (whatsup == 1) {
    Serial.println("OFF");
  delay(200);
  }
}

I have also tested the circuit voltages and what caught my attention is that the output of 555 has around 0.05V voltage even when it should be off. Otherwise, with the LED on output it is as expected: around 7.5V ahead of the 1K0 resistor I have on output and around 1.8V ahead of LED, after the resistor on output.

Any ideas where I went wrong with all of this and how to get it working properly? Just please, keep it relatively simple (at least in terms I can google properly) since I'm not very experienced with arduino or electronics/programming in general. Thanks!

You don't need a 555 to make a touch sensor, just the Arduino and a resistor.

See here: Arduino Playground - CapacitiveSensor

As I mentioned, I have some issues with that.

Raitis:
I also tried implementing both of the capacitive sensing libraries arduino has without luck before, but 555 circuit kind of suits my needs better here since I'm going to use a fairly large metallic area for one of the switches. The idea is to get it latching in code (after I get it to give me proper input on arduino).

Whatever you do for this type of capacitance switch, as soon as you change to battery power it probably won't work any more because your circuit will loose most of its capacitance to ground.

EDIT:
I managed to set it up using CapSense library - I made a dumb mistake before connecting things properly. In case someone has similar issues and this comes up in search, here's the video that helped me understand it: Arduino Basics: 3 - Capacitive Sensor - YouTube .
I still don't know how well will this work for my desired application (~200x200mm surface) so if anyone knows how to get it working with 555 as well - I'd be more than happy to find out (it's also a matter of general curiosity and need for understanding electronics). [/edit]

I do not intend powering anything on my circuit using a battery and it will be grounded properly (ground will go all the way from mains adapter) so that is not the case.
If someone has a sample of a working code with this one, please guide me in the right direction. When using this library I get errors in serial monitor - readings of -2.

The 555 circuit you linked to is not a capacitance detector. It is intended to work by using the 50/60Hz noise that you pick up on your body to trigger the 555. What that circuit leaves out is the other side of the circuit - ground. The circuit must either have its ground connected to an external ground, or have a large ground plane (such as a metal case) that you are not touching.

Using a capacitance measuring device, such as capsense, or a 555 wired in the proper way, the circuit still needs either to be connected to ground or a large metal object (metal case, large ground plane inside, etc) but in this case you -can- be touching ground, or in the middle of an empty field with no AC fields present.

The proper way to use a 555 timer as a capacitance sensor is to use it as a monostable or astable with the capacitive probe a part of the timing circuit. Then the Arduino can just measure the pulse width.

I used to build capacitance meters with 555 timers. Here is the main circuit. The first 555 is just a pulse generator to trigger the monostable. You could have the Arduino provide the triggering pulse, it requires a normally high, short low pulse to trigger. At the highest sensitivity scale with a 10M resistor, on the 200.0mV scale the resolution is 0.1pF. Timing is approximately t = 1.1RC.

You could smooth the output and use an analog input, although I suggest using the internal 1.1V reference, in that case.

Otherwise, 10pF with 10M is about 110uS pulse. How much more you get depends on your circuit's physical geometry.

Thank you! Took me a little bit until I understood what some parts of the circuit represented, but it's good now. There are no issues with grounding the circuit properly in my case, so I should be good with that.
As I mentioned in an earlier edit I got the CapSense working and will probably use it, but will still try and make this one too, since I've got all the parts on hand and will sure learn something in the process. Thanks again.

Glad I could help.