I am working on putting together an Arduino board that would read signals sent between two modules in a car. The signals are sent as 8V square waves.
An example of a message sent this way would be a sequence that is 12mS long consisting of a 8V high for 6mS then a 0V low for 9mS repeated back to back 14 times.
The problem I have is that if I put more than 5V into a digital pin on an Arduino I will blow the board. This gets worse because with this being in a car it is completely possible that the digital pin might accidentally see full automotive voltage of roughly 15V.
My thought was to use a voltage divider that would bring 15V down to 5V this way even if the digital pin saw the full 15 voltages it wouldn't hurt the Arduino. I would also look at Zener or other method for over-voltage protection.
My concern, though, is the timing is in milliseconds and I don't want the timing to be off or I won't be able to decode messages accurately. What I am really looking for is way to read these signal in real-time just at a lower voltage. Will this work or do I need to go a different direction?