We used LEDs to provide feedback. We started with a heartbeat LED that showed us that our sketch was running properly. We can easily add LEDs based on other conditions. For example, we might add red and green LEDs to show when the distance being measured is outside certain limits.
We'll need to add appropriate resistors for these LEDs. We'll also need to allocate two pins to control these LEDs.
We can convert the raw measurement into a distance with a simple calculation in the Arduino program. We might add code somewhat like this:
float next = debounce_ir(); float raw = next*w + (1-w)*current; float d = -0.12588*raw + 43.90;
This depends on a debounce_ir()
function that reads a single distance value from the IR device. This is a small change to our gather_data()
function. We want to return a value instead of update a global variable.
We used a EWMA algorithm to compute the weighted moving average of the sequence of raw values. This is saved in a global...