We are building an outdoor snow melting system for the pavement. It would be nice if it could turn on itself only when it is needed: if there is snow, ice in the surface or the pavement is wet and the temperature is below the freezing point. Is there a good way to detect if the surface of something is snowy, icy or wet?
If the pavement is black, you could detect snow by infrared reflectivity. You might detect wet by resistivity. That leaves ice. Reflectivity might work there, too, at a different threshold. You'd need to experiment.
Another possibility might be a short-range sonar. If the measured distance changes, something is there. Ice would probably read as nearer. You'd probably need to average a number of measurements to increase the measurement resolution; you care about very thin ice coatings. Snow might well read as no return - but again, experiment.
A combination of the reflectivity and sonar might be the most reliable.
I may experiment with a simple photocell used to turn lights on or off, and a light source for night time. Mount the photocell so that its lens is upwards towards the sky, at night you'd need a light source shining on the photocell, I'm thinking a very low wattage led light to reduce power consumption, or even another photocell or astronomical time clock to turn the light source on or off, depending on how complex you'd want to make it. When the photocell can no longer detect light you know it is covered. You'd have to experiment with the opaqueness of the snow, and how much coverage would block out the light. Seems like a cheap, easy, pretty much "out of the box" solution for snow anyway.
cheap video camera with snow detection software. See this article for a start