Hello,
I am at the moment half-toying with one of those cheap "Chinese" parking sensor kits. The kind that can be had for about $15 from eBay.
There are tutorials on the Internet how to hack into the serial connection between the control unit and a display, see for example here:
http://www.underwaterrov.net/hacking-reverse-parking-sensors-with-an-arduino
http://hardware-rebirth.blogspot.de/2013/07/hacking-chinese-parking-assist-digging.html
However, my idea/goal is to try to get the parking sensors to work without the supplied control unit, i.e. connect them straight to the Arduino and get distance data from it.
Here's how I have rigged it up so far:
(I have replaced the horribly loud beeper with an LED, so my neighbors won't be annoyed)
On the back of it, I have soldered wires onto the connections for one of the sensors:
For testing purposes, I have also mounted all four sensors on a piece of plywood that faces up towards the celing:
After trying to get a reading with XOscillo didn't work, I had the idea of trying to get something via serial. And indeed, using the following sketch on an Arduino Uno board...
int incomingByte = 0;
void setup() {
Serial.begin(250000);
}
void loop() {
//checking serial connection for data
if (Serial.available() > 0) {
// reading incoming byte:
incomingByte = Serial.read();
// Output received data
Serial.print("Received: (BIN / DEC): \t\t\t");
Serial.print(incomingByte, BIN);
Serial.print("\t\t\t");
Serial.println(incomingByte, DEC);
}
}
... I am getting readings on the RX pin when connecting the red soldered-on wire to it:
Received: BIN DEC
10011111 159
11111111 255
10011111 159
11111111 255
11111 31
10011110 158
10011110 158
10011110 158
10011110 158
10011110 158
10011110 158
10011110 158
10111110 190
11111111 255
10011111 159
10011110 158
10011110 158
10011110 158
10011110 158
11110 30
11110 30
10011110 158
10011110 158
11110 30
11111110 254
11011111 223
11011111 223
11011111 223
11011111 223
10011110 158
11011111 223
11110 30
10011100 156
10011110 158
10011110 158
11100 28
11100 28
11100 28
11100 28
11100 28
11100 28
11111100 252
10111110 190
11001111 207
11011111 223
11011111 223
11011111 223
11011111 223
11001111 207
11001111 207
11001111 207
10011110 158
11111110 254
10111111 191
11011111 223
10111111 191
11111111 255
10011111 159
11111111 255
10111111 191
11111111 255
11111 31
10011110 158
10011110 158
10011110 158
10011110 158
10011110 158
10011110 158
10011110 158
10011110 158
10011110 158
11111110 254
10011111 159
10011110 158
10011110 158
10011110 158
10011110 158
10011110 158
10011110 158
11110 30
10011110 158
10011110 158
11111110 254
11011111 223
11011111 223
11011111 223
11111111 255
10011110 158
11001111 207
11111 31
10011110 158
10011110 158
11110 30
11110 30
11100 28
11100 28
11100 28
11100 28
11100 28
11111100 252
10011111 159
11011111 223
11011111 223
11011111 223
11011111 223
11011111 223
11001111 207
11001111 207
11001111 207
10001111 143
11111110 254
10111110 190
11011111 223
10111110 190
11111111 255
10011111 159
11111111 255
10111111 191
11111111 255
11111 31
10011110 158
10011110 158
10011110 158
10011110 158
10011110 158
10011110 158
10011110 158
10011110 158
10111110 190
11111110 254
10011111 159
10011110 158
10011110 158
10011110 158
10011110 158
10011110 158
11110 30
11110 30
10011110 158
10011110 158
11111100 252
11011111 223
11011111 223
11011111 223
11011111 223
10011110 158
11111111 255
Nothing on the black wire though when I connect it to RX.
I am trying to make sense of this data. At the moment, the module seems to give out error beeps when it is connected to the Arduino's serial pin. My guess is that the Arduino draws too much current away from the communication between sensor and circuit board. Waving my hand over the sensor also at the moment doesn't seem to have any effect on what I read via serial.
So is this data just random noise, or do you guys have any idea what this points to in terms of maybe getting the sensor to work directly with an Arduino?
I've also tried connecting the sensor to the Arduino, and tried to send a 50 kHz burst to it to get it to respond, as one of the above tutorials implies. But that didn't work so far.
Any thoughts?