Very simple sketch not working as expected???

What you want is to compare the outcome of the digitalRead() to LOW. What you now do is compare the variable 'highbeam_IN' to LOW (which is a macro for 0) which is of course not true aka 0 and use that for the digitalRead() (aka, read pin 0) which is by default connected to the Tx of the Serial adapter. And guess what, the rest level of TTL serial is HIGH. Aka, the digitalRead() returns HIGH which is the same as true.

CJ_Diesel:
Good practice I suppose to make it habit though.

Exactly. Small programs are the place to start good habits. Not when you're neck deep into trouble with a big program :smiley: But the fact you use const and have a consistent naming scheme for variables is very good!