Here’s the source code for the Arduino + PING))) + 7-Segment Shield ultrasonic distance sensor project I build for this video. It is the progenitor of my Arduino Nerf sentry gun code, which I’ll be posting soon. Warning: my code gets the job done, but isn’t elegant.
Distance Ping Alarm source

In the Maker Shed

PING))) sensor

7-Segment Shield

John Edgar Park

John Edgar Park

John Edgar Park likes to make things and tell people about it. He works at Disney Research and writes for Make and Boing Boing. He is training for American Ninja Warrior. You can find him at and twitter @johnedgarpark — if you like that sort of thing.

  • volkemon

    Going through the parts bins at the local Radio Shack, I see this PING sensor is for sale.

    @John, on your code.

    NICE commenting. You cleared up many mysteries for me. I am a cut-and-paste hack who is learning the language.

    • John Park

      Thanks Volkemon, I’m glad it’s helpful. What I lack in code efficiency I try to make up for in clear comments!

  • danny-u

    How would you use this to measure a package LxWxH.

  • danny-u

    How would you use this to measure a package LxWxH and take all the measurements at once ?

    • John Park

      Hi Danny, great question. Here’s one way that comes to mind: use three sensors arrayed in X, Y, and Z (or L, W, and H) directions, put the sensor inside the package with a delay of a few seconds before it takes the reading. Close the package, wait, then open it up. You’d need to add something to the code to cycle between the three readings, and maybe display the volume calculation. It would also need to stop trying to take continuous readings. Anyone have other ideas?

  • otokomatik

    hi John, first of all, thanks for your work.
    But, I have a question for you.
    I’m from Barcelona and as you know in europe usually the distances are in centimeters or meters.
    Are there any easy way to change inches for centimeters?
    I don’t have any experience in programming .
    any idea?
    thanks a lot in advance and congrats for the post

    • John Park

      Hi there. The code is already in there for figuring centimeters. It’s being printed to your serial terminal display, just not to the 7-segment display (and I’m doing all the averaging, etc. on inches). You should be able to convert it to using the cm pretty easily.
      There are a couple of places where I display “in.” which you could change to “cm”, too.
      Best of luck!

  • Markus Leben

    Hey, whatever happened to you posting the code for the Nerf Vulcan Sentry Gun?