And this is actually a way to get, pretty much, the most sensitivity/responsiveness/range out of this thing.
This is, of course, in exclusion of (or instead of) the Voltage Sensor module.
Also, it doesn't seem to be established if you're looking for an on/off effect, or if you want to measure levels.
If on/off, depending on whether there is enough light, in your application, to turn that phototransistor on enough to drive the voltage high enough for a defined HIGH condition, you may need to adjust the zener voltage (by using a different part) -- BUT, be sure the "Out" voltage never goes above the MAX Arduino Input Voltage. Probably best to test the open circuit voltages before connecting this to the Arduino.
Also, if on/off, then, of course, use a Digital Input ![]()
If analog levels is the goal, you may need to use more like a 1k resistor (instead of 2k2), to push the response into the more linear region of the Zener curve. If I was designing/making this, I would use a precision active zener, but the only one's I could find, are SMD and quite small and hard to work with.
I typically use the BZX84 line or lately, the ridiculously smaller BZT585BnnT series ['nn' being the zener voltage]. With these, the zener current can be MUCH lower -- even in the microamp range. And, the response is far more flat.