Assistance needed to modify/produce a Processing sketch to show a radar type plan display
Hi, as posted in the 'introduce yourself' section I've constructed an audible sound echo location system to demonstrate radar principles.
The system uses 2mS bursts of 8khz at 16 pulses per second fed to a tweeter as the transmitter (not the ultrasonic module used in many similar projects). The tweeter is set at the focal point of a repurposed satellite dish. This rotates at 4rpm.
The receiver is tuned to 8khz and consists of a small microphone (mounted in the tweeter) feeding amplifier and demodulation circuits for ongoing display on an oscilloscope. For demonstrating many radar principles the 'A scope' is sufficient but most people may be more familiar with a plan type of display (PPI). It's this type of display that's used by many of the ultrasonic systems on Youtube.
Despite many hours attempting to modify the numerous Processing sketches associated with the ultrasonic systems I haven't managed to produce a working laptop PPI display. I believe this in mainly due to my inability to get the sketch to recognise the four signals at the serial port fed from the Uno. As has been pointed out to me already it's difficult to modify a sketch if you don't fully understand what it's doing.
These signals produced from the system are-
1. Trigger pulse (+5v pulse at 16 pulses per second) Same time as transmit burst. Arduino pin 3.
2. 'Video' signal (this consists of 0v to +4v analogue echoes during the 60mS receive time). Arduino A0 pin.
3. Antenna count pulses (5v 360 pulses per rev). Arduino pin 5.
4. Antenna reset pulse (5v negative going at 1 pulse per rev) Arduino pin6.
The above are typical of a conventional radar system, albeit at a much slower rate, from which a PPi display can be produced. The Arduino sketch I'm using recognises the signals and can display them on the serial plotter.
Apologies for the onslaught of information but it's on the off chance that one of you knowledgeable folk may have attempted something similar.
I have only a very simple, probably flawed, concept of what you are trying to do, so I can't offer any detailed advice. However, if I am faced with a task that I am not familiar with, I usually try to break it down into more manageable chunks, often 'meandering' a bit away from the final destination whilst I try to get a grip of the whole project.
I don't have a very clear idea of what the system should look like, so the following is limited by my imagination, but I hope it is close enough to illustrate how you might break the problem down, so that you can adapt it to reality.
I haven't played with Processing either, but (oversimplifying to the level of my grey cell's capacity) I assume for each reflected 'pulse' received, it) will need to plot a 'dot' on a radius (proportional to time, at an angle (determined by the rotation position of the 'radar antenna)'. If this is 'roughly' correct then you need to get the Arduino to produce a flow of (r, theta) points to plot.
In this case, I think I would be tempted to look at the area in which the Arduino is trying to make sense of the signals being sent to it ... maybe initially one (or a pair if it the timing between two pulses) at a time, and doing something like printing the data to the Arduino IDE serial line screen. Can you get it to print the radius and angle information? I am guessing you may need to slow the pulse repetition and antenna revolution rates down to a 'crawl' to allow the simple printout system to keep up ... initially maybe have the antenna stationary and just try to interpret one line of echoes, then add in rotation/angle data.
(I have a concern, albeit without a shred of evidence or data to justify it, that the Arduino might be a bit slow for what you are asking it to do. However, even if my concern is justified, by simplifying/slowing down the task, it should be possible for you to make progress and observe the performance of the system. Then, you will be in position to do something about it.)
The second job would be to feed Processing this list of points, obviously with some other stuff like making the dots 'fade' with time, etc.. This will be a 'second' adventure, but (I imagine) could start with a very simple program that could be made increasingly realistic.
Apologies for being vague, but you have picked an unusual topic, albeit one with considerable scientific and historic interest, so few of us will have 1st hand experience at our fingertips. Hence, the more you can break the problem down, explain it clearly, the better the chance you can ask a more specific question .. e.g a fragment of code that is not playing nicely.... and maybe someone can help you.
Good luck ... keep going ... including asking questions.
Despite many hours attempting to modify the numerous Processing sketches associated with the ultrasonic systems I haven't managed to produce a working laptop PPI display.
The Arduino sketch I'm using recognises the signals and can display them on the serial plotter.
From that you are essentially saying your hardware works fine you just can't get the Arduino to communicate with the PC via the serial port?
It may help if you post your Processing sketch and Arduino Sketch (that outputs to the Arduino IDE Serial plotter correctly).