Hello, I am trying to decode the data from a digital tape measure. It is an eTape 16 which uses an incremental rotary encoder and an optical encoder with a metal tape. here's the protocol for the tape and here's the protocol for the rotary encoder. Here's a block diagram for the entire unit. I would like to display the eTape results on an OLED, I am new to Arduino and coding but I was able to put together Arduino code which can read a digital caliper, but not sure how to write the code to read this tape measure. Here Proto_G Engineering made a nice video of how to disassemble the exact same tape measure and how it works, which I was able to do and found +, -, clock and data pads on the circuit board which I soldered wires to, and brought them out of the case when I re-assembled the unit. I hooked it up to an oscilloscope and it looks like both the clock and data have a matching output with a series of Runt type pulses which I can't find a pattern to be able to design Arduino uno code to read them. The clock and data pulses don't seem to have a consistent bit sequence and I found it easier to look at the data when I have my scope on roll. I created a sketch to read the basic cheap 8" calipers but their 24 bit code is very straight forward and easy to read with the Arduino thanks to a video by Curious Scientist who does a great job explaining and showing the clock and data signal on an oscilloscope. I read the patent for the tape measure, so I know it uses the exact encoder primarily and the rotary encoder for re-confirmation every 3 inches but I am not sure how to modify the basic caliper code to work with this device. Does anyone have any advice on possible Arduino code to read a digital tape device? Any help would be appreciated.
Credit to Proto G for his video and comments on this tape and for finding the patent info.
Credit to Curious Scientist for his video showing the data stream info and a circuit using a logic level shifter and voltage regulator to be able to interface the lower voltage caliper with the Arduino.
Credit to cbm80amiga for his video showing the circuit using a level shifter and buck regulator as well as pinouts for basic caliper reading.
Again, I am trying to decode a digital tape (eTape 16) but decided to start with a caliper, as there is a lot of info out there for calipers and I needed to start somewhere. I will include the code below that I am using to decode my caliper. I started with a Johnson caliper but had issues with the clock and data wires getting yanked off so I switched to a Clockwise brand caliper as it has a micro usb data port which is easier to work with. My sketch shows the caliper in real time and a message at the top asking to enter a length and below that, a note that says "En = Enter" which is the first of two buttons that I am using. The point of the circuit and code is to mount the eTape to my compound miter saw and use it to measure boards to cut at different lengths. The Oled screen will be up by the handle and easier for me to read. When you press "En" the length will be placed on the screen above the active caliper reading and won't change until I press "Clr". I can still pull the tape out and re-check the measurement against the one I entered as the tape will continue to read in real time. After I cut the piece, I press "Clr" and start a new measurement on a new piece. Again, thanks to everyone in advance for help on this as I scoured the internet for any Arduino code info for digital tapes using an actual metal tape (not laser) but couldn't find anything. I apologize if my coding is not formatted correctly, I am still learning how and where to place the curly braces. Also, I have not posted before so I hope this is the correct place to post this.